|
1 | 1 | RoboBuggy
|
2 | 2 | ==============
|
3 | 3 |
|
4 |
| - |
| 4 | +A project of the [Robotics Club at Carnegie Mellon University](https://roboticsclub.org/). |
5 | 5 |
|
6 | 6 | [<img src="https://travis-ci.org/CMU-Robotics-Club/RoboBuggy.svg?branch=master">](https://travis-ci.org/CMU-Robotics-Club/RoboBuggy/builds)
|
7 | 7 |
|
8 |
| -To clone repo run git clone https://github.com/CMU-Robotics-Club/RoboBuggy.git |
| 8 | +> Buggy (also called Sweepstakes) is a race held annually since 1920 at Carnegie Mellon. Teams of 5 atheletes (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. |
9 | 9 |
|
10 |
| -note java 8 is requriered |
| 10 | +Borrowed from the [CMU Buggy Alumni Association](http://cmubuggy.org/reference/What_is_buggy%3F). Visit them to find out more. |
| 11 | + |
| 12 | +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) isn't quite ready to take command of Singularity or Transistor, but we still take her out for training during morning practice rolls. Keep on reading to find out more, or just enjoy these team pictures. |
| 13 | + |
| 14 | + |
| 15 | +_Team picture from Raceday 2015._ |
| 16 | + |
| 17 | + |
| 18 | +_Trevor pushing Singularity on Hill 4 during early morning rolls._ |
| 19 | + |
| 20 | +## The Buggies |
| 21 | + |
| 22 | +<table> |
| 23 | +<thead> |
| 24 | +<tr> |
| 25 | +<th align="center" width="50%">Singularity</th> |
| 26 | +<th align="center" width="50%"><del>Toothless</del> Transistor</th> |
| 27 | +</tr> |
| 28 | +</thead> |
| 29 | +<tbody> |
| 30 | +<tr> |
| 31 | +<td align="center"><img src="readme_singularity.jpg" alt="Singularity the Buggy with Alice the AI" style="max-width:100%;"></td> |
| 32 | +<td align="center"><img src="readme_transistor.jpg" alt="Transistor the Buggy" style="max-width:100%;"></td> |
| 33 | +</tr> |
| 34 | +<tr> |
| 35 | +<td align="center">Inherrited from a past incarnation of this project, Singularity has been rolling since 1999. She features a bolted aluminum frame that was originally built around a desktop computer. These days, she features a stylish mount for a Surface on top with the control electronics inside.</td> |
| 36 | +<td align="center">Transistor was built for the 2015 season using modern carbon fiber shell technology. She was built to be accessable and maintainable as a platform for the futrue of Robobuggy. Debate within the team on what style she would wear was so fierce we chose to paint her chalkboard black, complete with a new chalking each race.</td> |
| 37 | +</tr> |
| 38 | +</tbody> |
| 39 | +</table> |
| 40 | + |
| 41 | +Looking for more technical docs? [Check out the wiki!](https://github.com/CMU-Robotics-Club/RoboBuggy/wiki) |
| 42 | + |
| 43 | +## System Overview |
| 44 | + |
| 45 | +``` |
| 46 | ++-----------------+ |
| 47 | +| Follow Car | |
| 48 | +| + | |
| 49 | +| Safety Driver | |
| 50 | ++-----------------+ |
| 51 | + || |
| 52 | + || |
| 53 | + \/ |
| 54 | ++------------------+ +-------------------------+ |
| 55 | +| Radio Receiver | | Alice (AI on Surface) | |
| 56 | ++------------------+ +-------------------------+ |
| 57 | + || /\ |
| 58 | + || || |
| 59 | + \/ \/ |
| 60 | ++------------------------------------------------+ |
| 61 | +| IO and Safety Controller | |
| 62 | +| (Arduino++) | |
| 63 | ++------------------------------------------------+ |
| 64 | + /\ |
| 65 | + || |
| 66 | + \/ |
| 67 | ++------------------------------------------------+ |
| 68 | +| Electromechanical | |
| 69 | +| (Servo, Solenoids, Pots, Encoders) | |
| 70 | ++------------------------------------------------+ |
| 71 | + /\ |
| 72 | + || |
| 73 | + || |
| 74 | + ____ || |
| 75 | + \ \/ |
| 76 | + \ _____________________ |
| 77 | + _\./ \______/ \__\ |
| 78 | + < ___o_________________o___\ |
| 79 | +-------------------------------------------------- |
| 80 | +
|
| 81 | +``` |
| 82 | +_System block diagram._ |
| 83 | + |
| 84 | +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. |
| 85 | + |
| 86 | +AI: [real_time/surface_src](real_time/surface_src) |
| 87 | + |
| 88 | +IO Controller: [real_time/arduino_src/radio_buggy_mega](real_time/arduino_src/radio_buggy_mega) |
| 89 | + |
| 90 | +## Sponsors |
| 91 | + |
| 92 | +Special thanks to Microsoft for providing Alice a host interface on a Surface Pro 3! |
| 93 | + |
| 94 | +Think this project is cool? Please support the [Robotics Club at CMU](https://roboticsclub.org/sponsors/)! |
11 | 95 |
|
12 |
| -We have a wiki: [https://github.com/CMU-Robotics-Club/RoboBuggy/wiki](https://github.com/CMU-Robotics-Club/RoboBuggy/wiki) |
|
0 commit comments