A project of the Robotics Club at Carnegie Mellon University.
Buggy (also called Sweepstakes) is a race held annually since 1920 at Carnegie Mellon. Teams of 5 athletes (the pushers) push an un-motorized vehicle (a buggy) containing a driver around a 0.84 mile course in a relay format where the vehicle serves as the baton. Roughly half of the course is uphill, during which the pushers run and shove the buggy uphill. During the other - downhill - half, drivers are on their own to navigate tight turns at speeds of up to 35mph.
Borrowed from the CMU Buggy Alumni Association. Visit them to find out more.
In the robotics club we seek to help out robot overlords automate everyone and everything, so we're trying hard to replace a traditional buggy driver with our AI. Alice (the AI) successfully rolled on Raceday for the first time during Carnival 2017!
Team picture from Raceday 2015.
Trevor pushing Singularity on Hill 4 during early morning rolls.
Looking for more technical docs? Check out the wiki!
+-----------------+
| Follow Car |
| + |
| Safety Driver |
+-----------------+
||
||
\/
+------------------+ +-------------------------+
| Radio Receiver | | Alice (AI) |
+------------------+ +-------------------------+
|| /\
|| ||
\/ \/
+------------------------------------------------+
| IO and Safety Controller |
| (Arduino++) |
+------------------------------------------------+
/\
||
\/
+------------------------------------------------+
| Electromechanical |
| (Servo, Solenoids, Pots, Encoders) |
+------------------------------------------------+
/\
||
||
____ ||
\ \/
\ _____________________
_\./ \______/ \__\
< ___o_________________o___\
--------------------------------------------------
System block diagram.
Our system architecture keeps a human in the loop all the time, even just to hit the emergency stop button. The human driver can either be sending drive commands (for AI training) or monitoring the AI. The command signals from the AI and human are mixed together (depending on operating mode) in the IO controller. Here we also do last level safety checks like stop on disconnection. The IO controller interfaces directly with the electromechanical systems to make braking, steering, and sensing happen. Find more information in the source directories below.
The software system is separated into two main directories (sections):
- Software -> code executed in real-time on the buggy at a high level, as well as offline and other tools
- Electrical -> code executing on the low-level systems of the buggy, as well as electrical specifications and eCAD
This folder also contains:
- Pictures for this readme file
- configuration files
We have a contributions guide to get you started.
Special thanks to NVidia for providing Jetsons for us to host Alice on!
Think this project is cool? Please support the Robotics Club at CMU!