Home
Project Description
2016 DC Pankratz
Computer Controlled Railroad Simulator
Project Developer: John Ward
The Computer Controlled Railroad (CCR) is an HO scale model railroad that is controlled by a PC using robotic techniques. It is currently used in computer science classes like Operating Systems and Machine Organization to help students visualize concepts like multi-tasking, racing conditions and interrupt processing. Several student projects have used the CCR to learn about robotics, client-server processing and real-time processing. Unfortunately, there are only two physical railroad layouts for students to test their designs and algorithms. Development is also slowed by issues like trains derailing, damaged track and power loss. A CCR simulator would allow several students to be working on the railroad at the same time and whenever and wherever they want. Project Description: Develop an application that simulates a CCR allowing applications to plug into the actual CCR without major modifications.
General Requirements:
1. Design a track definition protocol so that users can define their own layouts.
2. Develop a track editor that allows the user to design their own layouts.
3. Layout designs can be saved, loaded, and modified.
4. A layout supports turnout switches and train detection sensors.
5. Users can adjust a train’s speed, direction, lights, horn, etc.
6. Support multiple trains.
7. Detect collision.
8. Develop an API that allows application programs to send and receive information
to the simulator.
9. Develop a graphical interface that dynamically shows the current state of the
CCR.
10. Simulate error conditions such as broken trains and hardware failure.
11. Develop a simple user interface that can run the simulator.
Source Code
Application
Program
Previous Versions
Documentation
*ATTENTION*
All folders are zipped
Application only runs on a 64 bit Windows Machine
Must have Microsoft Visual Studio 2015 to run Program
INSTRUCTIONS
DOWNLOAD
1) Click a link to download
2) Unzip the folder
3) Open the About.txt and follow instructions
Check Out My Presentation
<
>