CS 452/652 Train Tracking Part 1
(to be done in groups)
Write a train tracking system that runs on your real-time
operating system. Your system will be an extension of your application from
assignment 1, which you will have re-implemented on your kernel by the end
of your final kernel submission. In addition to the features already provided
by this application, you will add the following:
- the location of each train to the nearest cm
- the speed of each train in cm/s
- each train's estimated time until next sensor
- the command init train_number, which
auto-detects the location of the given train
For this assignment, emphasis will
be put on accuracy of the train location and on error-recovery.
You will only be required to track a single train for this assignment.
You may decide the point on the train from which its location will be measured,
but you must state this design choice at the beginning of the demo.
Any point on the track can be distinguished from another through the following format:
Track location format
Here is data for the tracks created by former students:
Track Data
Evaluation
This assignment will be evaluated during a short demo.
Demo time slots will be 10 minutes in length. You will be given 3 minutes
for start-up and calibration, and then 5 minutes for the actual demo.
The init command will be used to find the train
The tr/sw commands will be used to drive the train
The train will be stopped at some point
Marks will be based on the accuracy of the train location your
system displays
The instructor and/or TA's may attempt to confuse your tracker while the
train is running. You are expected to be able to recover from a modest amount
of abuse.