Cruise control
#191
Posted 12 May 2023 - 06:31 AM
#192
Posted 13 May 2023 - 04:11 PM
Anyway, I used this to have go at simulating an energy management system for freight trains, like GE's trip optimizer or EMD's LEADER. These aren't strictly cruise control systems, as the speed is decided automatically, but they have the interesting quirk of only using throttle and dynamic brakes, requiring the operator to manually add in train braking at certain points (however, it knows when it will need train brakes and will inform the operator of this-I think in the future even the automatic brake part will become automated). With this fix, it is possible to set a speed, let the system use dynamic brakes, then add a minimum reduction when dynamic brakes aren't enough and the system will then balance speed using the dynamics. It's quite effective and interesting to watch, I'm tempted to record a video to demonstrate considering it flawlessly took a bulky 145 TOB train down a 2% grade with a minimum set. Now I just want to check how it interacts with distributed power. If anyone would like to experiment with this, here's the list of parameters I settled on:
ORTSCruiseControl ( MaxForceSteps ( 8 ) Comment ( Throttle controls cruise control force, and the throttle has 8 notches. ) SpeedIsMPH ( True ) MinimumSpeedForCCEffect ( 10mph ) Comment ( System does not work unless train is already moving. ) NominalSpeedStep ( 1 ) SpeedSelectorStepTimeSeconds ( 0.1 ) UseThrottleAsForceSelector ( True ) Comment ( The throttle sets the maximum power the cruise control will use. ) UseThrottleInCombinedControl ( True ) Comment ( Required for locomotives which have a combined throttle and dynamic brake. ) ModeSwitchAllowedWithThrottleNotAtZero ( True ) Comment ( This system allows throttle to be applied while changing mdoes. ) StartReducingSpeedDelta ( 0.01 ) Comment ( Set very low to make acceleration more conservative. Should avoid overshoots. ) StartReducingSpeedDeltaDownwards ( 0.05 ) Options ( "RegulatorManual, RegulatorAuto, EngageForceOnNonZeroSpeed" ) ThrottleFullRangeIncreaseTimeSeconds ( 30 ) ThrottleFullRangeDecreaseTimeSeconds ( 30 ) DynamicBrakeFullRangeIncreaseTimeSeconds ( 30 ) DynamicBrakeFullRangeDecreaseTimeSeconds ( 30 ) TrainBrakeCommandHasPriorityOverCruiseControl ( False ) Comment ( Applying the train brake manually won't disable cruise control. ) DynamicBrakeCommandHasPriorityOverCruiseControl ( False ) Comment ( Applying dynamic brake manually won't interfere with automatic braking. ) KeepSelectedSpeedWhenManualModeSet ( True ) Comment ( Set speed is 'remembered' even when cruise has been turned off. ) DoComputeNumberOfAxles ( True ) Comment ( No manual entering of axle information. ) )
I noticed one thing it will not do is stretch brake (apply forward traction while the train brakes are applied). I would assume most cruise control systems do not try to stretch brake, but there's probably a system out there that does.
Also, the "SkipThrottleDisplay" is something I didn't see on the Genesis that manifested itself when I moved over to a locomotive with split throttle/dynamic brake. It seems unintentional that the throttle display wasn't skipped when a combined throttle/dynamic brake was used. Also this is yet another thing I'd like to control, as the throttle display should not be skipped on the systems I'm making because the throttle is used as the force selector.
#193
Posted 24 May 2023 - 01:15 AM
your suggested fix for TrainBrakeCommandHasPriorityOverCruiseControl is present also in ORNYMG 142.1. I have now created a quick patch for the same release, that allows to disable the use of the dynamic brake for the CC, as you asked for the Genesis.
Attached you have the patch, to be uncompressed in ORNYMG 142.1.
To disable the use of the dyn brake, you have to add following line to the CruiseControl() block in the .eng file
UseDynBrake ( False )
Default for such new parameter is True.
A feedback from your side about the effectiveness of the patch is welcome.

Number of downloads: 273
#194
Posted 24 May 2023 - 04:15 AM
#195
Posted 24 May 2023 - 06:15 AM
I'll have a look at the dynamic brake patch when I'm back home, if there's a way to break it I'll probably find it, but I can't imagine it's that risky.
#196
Posted 24 May 2023 - 03:54 PM
#197
Posted 27 May 2023 - 11:07 PM
Little off topic but now these days trip optimizers have been integrated into the PTC systems for controlling and judging upcoming speed limits, acceleration, deceleration, downhill speed calculations to reduce brake fading etc. PTC is just example of the track monitor but horizontal judging by the projected speed distance. By rule PTC knows auto trip optimizing is disabled when passing a approach signal as it doesn't want to get blamed if passing a stop indication or restricted limits so operator takes full control and if not PTC will calculate all available brakes distance to penalty or emergency to stop on a dime from passing stop indication
#198
Posted 30 May 2023 - 05:25 AM
UseDynBrake ( True )
default: true; when false the CC doesn't use Dynamic Brake (CC may only generate tractive force)
TrainBrakeCommandHasPriorityOverAcceleratingCruiseControl ( True ): default: true.
This parameter is needed when
TrainBrakeCommandHasPriorityOverCruiseControl (False), and allows to have a train brake action by the driver disabling CC generating tractive force, but not CC generating dynamic brake force.
#199
Posted 31 May 2023 - 02:27 AM
#200
Posted 31 May 2023 - 05:18 PM
#201
Posted 31 May 2023 - 10:38 PM
TrainBrakeCommandHasPriorityOverCruiseControl (True)
TrainBrakeCommandHasPriorityOverAcceleratingCruiseControl (True) : the Cruise control action is fully inhibited when there is a manual train braking.
TrainBrakeCommandHasPriorityOverCruiseControl (False)
TrainBrakeCommandHasPriorityOverAcceleratingCruiseControl (True) : Cruise control generating tractive effort is inhibited when there is a manual train braking; cruise control activating dynamic braking is not inhibited.
The combination you are testing, that is at one side a manual train braking action and at the other side the cruise control trying to accelerate (that is generating forces in opposite directions) has not been tested, because I wonder if it is of practical use. However I'll have a test.
#202
Posted 31 May 2023 - 11:37 PM
Quote
I assume the use case is starting with brakes applied when climbing a hill. For some systems CC applies engine or train brakes automatically when starting to prevent a reverse movement.
The traction interlocking system has something to say here too. If DoesBrakeCutPower is active, you cannot apply traction when brakes are active, either in Auto or Manual mode.
#203
Posted 01 June 2023 - 03:50 AM
I've found how to modify the code to allow train braking and CC traction to operate at the same time, but I really doubt that this is a wise modification.
#204
Posted 01 June 2023 - 05:16 AM
#205
Posted 01 June 2023 - 01:58 PM
But as rule changes so do software changes when handling in certain conditions or something has happened for company to require software updates to clear problems or glitches. Updates now these days where I work now want the engineer to be responsible in certain areas or if T-O can't handle it and panicks on certain conditions automaticly throws on operator to takeover manually.
So away from the T-O TCS route and fuel smart systems, what will ORTS do in CC when there are no dynamics to control target speed?