Interlocking Towers with AI

harmarsox

Member
I've been trying to determine how I might use interlocking towers in an automated session. The Forum and Wiki material gives a good idea of how to use IT in a manual environment but I've found nothing for AI use.

I have set up a test route to try to emulating pick up and deliveries for a steel mill operation (at this there is no industry, only a trackmark called "steel mill"). Coal is delivered from one direction, iron ore from a second, and steel enter and exit from a third. I have the entry/exit path defined for each product using the Enhanced Interlocking Tower from pguy. Consists are generated using CPC and CPC Emit Train on Trigger. I was hoping to use IT to route the various consists in and out of the steel industry area, and with the use of triggers continue repeating the process automatically. What happens however is the first consist correctly enters and exits the steel mill area, but then the other consists drive to their corresponding entrance signal and then just stop. No matter how long the session runs, nothing more happens. I have tried various methods of assigning the defined IT paths including assigning by driver name, engine name, and inserting as part of the driver commands. No luck with any of these.

Hopefully someone has some suggestions.

Thanks
 
Are you also using pguy's tower manager rule? If so, you can open the Tower Manager display in driver mode and this may give you an indication as to why the IT paths are not being activated for the subsequent consists. Documentation on the TM can be found on the Trainz wiki (there's a link to it from the Enhanced IT documentation).

Regards,
John
 
Hi Harmarsox.

John is right that enhanced interlocking towers manager rule (available on DLS) has in driver mode an included run time monitor that gives some feedback on the paths current states, which train owns the path and which trains are waiting for the path and why. This may help a lot finding why a path does not activate.

My other question would be on how you assign a path to your train. Using n3v path assignment rule ? Use ITSetPathXXXX driver command ? May be that in your case ITSetPath driver command followed by an AutoDrive to your trackmark driver command should be the easiest method to use ...

Regards.
Pierre.
 
John and Pierre

Thanks for the tips. I added IT Towers Manager and revised the ITSetPath commands. The IT manager lead me to revise the IT paths I had defined. The session now runs as intended. So far I have been able to run 3 AI consists indefinitely without a problem. I am now experimenting with more consists, tracks and paths to see how complex the system can be before it fails.


Harold
 
Hi Harold

Once you are comfortable with AI and the EITs can I suggest that you have a look at the MissionCode manager and associated commands that Pierre has produced to work with the ITs. Once set up for a route it makes it very easy to add other similar consists. I have a 120Km route all set up with EITs and mission codes and it is a simple matter to run a consist the whole length of the route through some very complicated yards and stations with just three commands, Set Mission Code, Assign Next Path and Autodrive to trackmark xxx.

Regards

Brian
 
Thanks - I will do that. Where do i find Mission Code Manager information?

Harold

Information is available in the wiki at http://online.ts2009.com at the pages :

Enhanced Interlocking Tower for enhanced interlocking tower functionalities
Enhanced Interlocking Tower Manager Rule for the manager rule
MIssionCodes Manager for the mission code manager rule

you can also use the following links :

http://online.ts2009.com/mediaWiki/index.php/Enhanced_Interlocking_Tower
http://online.ts2009.com/mediaWiki/index.php/Enhanced_Interlocking_Tower_Manager_Rule
http://online.ts2009.com/mediaWiki/index.php/MissionCodes_Manager

Hope this helps.
Regards.

Pierre.
 
Hi Harmarsox.

My other question would be on how you assign a path to your train. Using n3v path assignment rule ? Use ITSetPathXXXX driver command ? May be that in your case ITSetPath driver command followed by an AutoDrive to your trackmark driver command should be the easiest method to use ...

Regards.
Pierre.

Pierre--

I've been using your enhanced interlocking towers and am delighted with the results, particularly with being able to control complex junctions including multiple diamond crossings. So far everything seems to work, except for an occasional train that stops in mid path at a green signal. This seems to be a result of another train locking a junction, hence the question below.

I've tried your suggestion above of using Autodrive to Trackmark, but the only one I find on the DLS dates from 2011 and gives me Russian text in my driver commands menu (<KUID2:400260:423240:1>). Is there another Autodrive to Trackmark I should look for? There is an AutoDriveViaTrackmark command (<KUID2:131986:1055:1>) but the description states it is for non-AI trains, and I run AI trains exclusively.

I have tried the Autopilot command with (so far) better results, but am unable to find any documentation for it. When entering it in a schedule, should the command Autopilot->stop at trackmark->[trackmark name] replace the actual trackmark in the schedule or just precede it?

(Example: Drive via trackmark CP EL W Leavittsburg EB -> ITSetPath Leavittsburg Tower*Garretsville2Cortland -> Autopilot stop at CP EL E Leavittsburg EB -> Drive via trackmark CP EL E Leavittsburg EB -> CP EL Cortland EB [etc.])

Any clarification of Autopilot vs. Autodrive to trackmark would be appreciated, or if I should be using a different AutoDrive command.

Thanks,
Lamont
 
The command you need is <kuid2:192081:4:4> Autodrive. It has options for Drive To and Drive Through (Drive via).

Autopilot is very similar but doesn't offer the Drive via option.

With both of these commands, junctions are never switched. Other means of setting the path are needed to arrive at a destination.

Furthermore, using these commands, the train will never reverse direction. Use Change Train Direction driver command to drive backwards.

Autodrive should replace the standard Drive via command.
 
Last edited:
Hi Lamont.

Personally, the driver commands I used for autopilot mode are either Autodrive <kuid:192081:4> by Brummfondel or Autopilot <kuid:71155:60001> by _Mutton_ . Both commands are full replacement for DriveTo/DriveVia/NavigateTo/NavigateVia. Though not having used them, I believe you could also use AutodrivePastJunction and AutodriveViaTrigger that should also work fine.

The main advantage of these auto drive commands is that they do not look at the route and junctions you will go through, but only at the signals and they drive the train forward as long as the signals authorize to do that, which is what you want in general for a train when a path has been already set. When using the traditional DriveTo/DriveVia/NavigateTo/NavigateVia along an activated path, you may encounter a problem if at a junction the driver command, for any reason, want to go in another direction that what the path has established. The driver command will then try to change the junction direction, will fail and depending on the command you may encounter a train stuck deadlock ... Normally, there shouldl be no conflict between the path set by the AI auto path assignment interlocking tower routine and where the command wants to go and so everything works fine in the best of the worlds, but if for any reason (like a recalculation by the AI driver command of the direction to follow after saving and restoring a driver session) there is a conflict between the path and the driver command you will get in trouble ... With auto drive commands, this cannot happen as auto drive will always follow the path assigned and set as long as the signals are not red ...

But you need to take care that with auto drive driver commands, the interlocking tower will no longer assign any path to your AI train. With auto drive command you need to explicitly assign the path to follow using ITSetPathXXXX driver commands before starting the auto drive, or you need to use MissionCode Manager rule to do auto path assignment based on mission code for your train.

Regards.
Pierre.
 
Hi

One thing to note - the brummfondel Autodrive command will only "see" trackmarks pointing in the direction of travel. Trackmarks pointing towards the train are ignored. I use this command exclusively with ITs and have never found this behaviour to be a problem (once I'd realised how it works).

Regards

Brian
 
Hi

One thing to note - the brummfondel Autodrive command will only "see" trackmarks pointing in the direction of travel. Trackmarks pointing towards the train are ignored. I use this command exclusively with ITs and have never found this behaviour to be a problem (once I'd realised how it works).

Regards

Brian

Hi Brian

I am also using brummfondel's Autodrive command and I have not come across this scenario. Are you using <kuid2:192081:4:4>?

Peter
 
Hi Peter

Yes that is the version that I'm using. The route that I'm currently working with requires some trackmarks to be facing into the siding and the loco can see them entering the siding but can't see them when leaving it. I have had to add a trackmark pointing out of the siding which it can see when it is leaving.

I know that when using brummfondels path setting rule in TS12 and early versions of T:ANE, the path would only show trackmarks pointing in the direction of travel so I assumed that this behaviour with Autodrive was connected with that.

Regards

Brian
 
Thank you Trevor, Pierre, Brian and Peter for these clarifications, which are invaluable. I've printed them out (yes, I actually still use paper!) for future reference. I wonder if some condensation of them ought to be added to the IT Wiki page?

Thanks,
Lamont
 
Hi Peter

Yes that is the version that I'm using. The route that I'm currently working with requires some trackmarks to be facing into the siding and the loco can see them entering the siding but can't see them when leaving it. I have had to add a trackmark pointing out of the siding which it can see when it is leaving.

I know that when using brummfondels path setting rule in TS12 and early versions of T:ANE, the path would only show trackmarks pointing in the direction of travel so I assumed that this behaviour with Autodrive was connected with that.

Regards

Brian[/QUOTE

Hi Brian

I agree with you on brummfondels path control, they are directional but I didn't think that was the case with autodrive. I am using a single trackmark at the entrance to a loco shed that is approached from both directions and it can be seen by the AI. I also have trackmarks at other locations that can be approached from both directions without any trouble.

Peter
 
Purpose of "Assignment" field in path definition

A quick question regarding the Enhanced Interlocking Towers: What is the purpose of the "Assignment" field in the individual path definitions? Options appear to be Automatic or Manual. I only use AI trains, and it was my impression that a path is activated when the ITSetPath command is reached in a schedule. Does this option affect that? I've been leaving it set at the default, which is Automatic. This field does not appear to be mentioned in the Trainz Wiki documentation.

Many thanks,
Lamont
 
A quick question regarding the Enhanced Interlocking Towers: What is the purpose of the "Assignment" field in the individual path definitions? Options appear to be Automatic or Manual. I only use AI trains, and it was my impression that a path is activated when the ITSetPath command is reached in a schedule. Does this option affect that? I've been leaving it set at the default, which is Automatic. This field does not appear to be mentioned in the Trainz Wiki documentation.

Many thanks,
Lamont

Hi Lamont

'Automatic' means that the IT looks for trains approaching 0.5kms away and then allocates the path according to the priority you have set in the IT
'Manual' means that the approaching train sets the path it wants according to its schedule. Much more reliable when you have a lot of paths in an IT.

I always use manual and I only use AI drivers. No wandering trains :D

Peter
 
Hi Lamont

'Automatic' means that the IT looks for trains approaching 0.5kms away and then allocates the path according to the priority you have set in the IT
'Manual' means that the approaching train sets the path it wants according to its schedule. Much more reliable when you have a lot of paths in an IT.

I always use manual and I only use AI drivers. No wandering trains :D

Peter


Thank you, Peter.

--Lamont
 
Pierre

I am continuing my experimenting with your towers and manager rules and have a question I'm not able to solve. Within the Tower Manager there is an option "set tower path assignment" to ai only. I only see this option when trainz (and tower manager) is running. Is there a way to make "ai only" the default while editing/creating a session?

Thanks

Harold
 
Back
Top