CS 452/652 Fall 2019 - Lecture 32
November 22, 2019
TC2 Demo Review
Observations and clarifications for those still completing TC2, as well as the final demo.
- type of conflicts
- same direction: stop/start (or slow)
- opposite direction: stop/start (or slow) or reroute
- stationary obstacle: reroute
- determine new path using full graph excluding current reservation
- determine alternative path using Dijkstra previous hop table
- computationally cheaper
- alternative path might include loop → not necessarily a problem
- deadlock should be impossible assuming:
- all turnouts intact
- routing includes reverse direction
Separation of Concerns
- run train without destination or route
- determine location and reserve track segments
- stop/reverse at entry/exit points
- conflicts: stop/start (or slow), reverse instead of reroute
- reserve stop distance
- reserve until next branch/merge?
- preconfigure loop
- run two trains in same direction
- test/show location, sensors, reservation without routing!
- block turnout switching based on estimated train location (+ error margin)
- treat blocked turnout as (transiently) failed turnout and continue...
- it should not be necessary to fidget much with the Märklin box
- press Stop+Go for a few seconds to reset the box
- use train lights and init command to determine initial direction
- think about commands useful for the demo, such as:
- 'dest' to record a destination, but don't start yet
- 'loop' to send a train along a particular loop
- most importantly, make a plan for the demo!