train : Educational Platform for Learning Controls
TA Project for Feedback Controls Course at UPenn
Fall 2015 - Spring 2016
When I worked as a Teaching Assistant for ESE 505 Feedback Control Design and Analysis, my responsibility was to work with the professor to develop the class lab projects. I designed and manufactured an intuitive, durable and versatile platform to allow sixty graduates and undergraduates to experiment with closed-loop control and chain stability in a fun and engaging environment.



The assignment is to develop a digital feedback controller to keep a train car following an IR-remote controlled Lego lead car. Once the students design a controller for one car, they will add as many cars as possible and modify their controller to maintain stability. Students are provided with starter code (Arduino IDE) so they can focus on designing the control loop. Follower cars use the Adafruit Pro Trinket microcontroller with ultrasonic range finders to sense distance to the next car and latching hall-effect sensors to measure current speed. Each car also logs data to a micro-SD card for later analysis and tuning. The cars are powered by portable USB chargers, which contain internal charging circuitry for safe and reliable use. The chassis consists of five pieces of laser-cut acrylic, each of which can be easily swapped out with a single Allen key if damaged.

CONVOY OF NINE CARS FOLLOWING EACH OTHER AROUND THE TRACK
The first version of the lab was successfully implemented in the Fall and Spring semesters (see student videos links below). Before passing on the project for development in Summer 2016, I developed a method for IR serial communication between successive trains to expand control possibilities.