Camelot

The initial idea for Camelot was to create a robot to carry laundry from my college dorm room to the laundry room so I wouldn't have to carry it the whole way. The project really go started when some friends and I found a discarded wheelchair base. We initially tried to get the motors running with some relays as part of a hackathon but the end result was some burnt relay boards and a poorly functioning wheelchair base. For next years hackathon we knew we had to do better. I discovered that most of our problems were due to one motor drawing way to much current and only spinning at half the speed of the other. I ordered some new motors, a proper control board and the next year we got to building.

We reused the wheel and batteries from the original wheelchair but the rest was new. The frame is built with 80/20 aluminum extrusion and the motors are controlled through a 30V motor controller with a raspberry pi. The vertical joystick axes are mapped to the speed for each motor giving it tank drive. While bringing Camelot to life we realized that this could be a super useful platform for helping carry things if it had a mode to follow a person. We imagined that this could be especially helpful as a following robot for those in a wheelchair as they navigated city sidewalks. We added a camera and began writing a program to have the robot follow AprilTags. While we didn't end up completing this feature before the hackathon completed, we had built a functioning remote control robot from a pair of motors and some aluminum, capable of carrying over 300 pounds, in under 24 hours. The judges loved the project and we ended up getting third place. Here is a link to the devpost we made for the hackathon.

Since the hackathon, the original team graduated from college and is now spread across the country but Camelot lives on with me. I am excited to keep adding features and eventually making it a useful robot for everyday tasks.

Updates and Improvements

  • Following AprilTags

    During May, I finished what we had started at the hackathon and programmed Camelot to follow AprilTags. I am using the ROS apriltags package which reports back the position of the AprilTag in a coordinate frame relative to the camera. Then I am running two proportional controllers. One to regulate the distance to the tag and another to keep the tag centered in the camera frame. The result is a little jerky since the robot stops immediately if it doesn’t see the tag in the camera which happens from time to time. Overall, it is a good first step and I plan to come back to this project after I add some more sensors.