HOT ROD
Hot Rod was a semi-autonomous drivable robot project I completed with another student. The goal was to create a robot that could be controlled through the internet to fit the following requirements:
Part 1:
The robot must be able to ascend a ramp
The robot must not fall off the ramp
The robot must be controlled wirelessly through the internet
The robot cannot be touched during its ascent
Part 2:
The robot must communicate with another robot
The robot, in conjunction with another robot, must push a cylinder up the ramp
The robot can only receive a start command; everything else is autonomous
The robot must be able to work with any other robot
Part 1:
We decided to use two 12V motors and one rear wheel to drive the robot, and make the body a laser cut box to contain the many components such as the Raspberry Pi, battery packs for the Pi and H-bridge, and breadboard wiring.
We connected the Raspberry Pi to the internet and created a user-friendly control interface using Python and HTML. By entering the Pi’s IP address into a browser, users could access buttons that sent commands to the Pi. These commands adjusted the digital pin outputs to control the motor PWM, allowing the user to steer the robot.
A challenge we ran into besides classic debugging was attempting to create a wheel out of parts that we could find around our makerspace. We decided to create a laser cut wheel and give it traction with a rubber band, while rudimetary, it gave us the solution we were looking for!
Finally, we were able to test the robot!
Part 2:
This part added a few new challenges to the project. We needed to create:
a) a way for the Hot Rod to control itself up the ramp
- We added hinged guardrails to the front of the robot. These guardrails could deploy as needed, with wheels on the edges to prevent them from acting as pivot points that could lift our wheels off the ground.
b) A way for Hot Rod to communicate with ANY partner robot concerning the start speed and start time.
- We solved this by programming the Pi to send a request to the partner robot’s IP. This request suggested a start delay and speed, and the two Pi’s “talked” to each other to converge on a shared value for both parameters.
c) A way to ensure that we wouldn’t be ahead or behind the other robot while pushing the pipe up the ramp.
- We installed buttons on the guardrails to detect misalignment. For example, if the left button was pressed while on the right ramp, it indicated that we were ahead, as the tube would only trigger that button. The same logic applied to the right button, both buttons, or neither button, allowing the Hot Rod to adjust itself accordingly.
Thanks for reading! Check out the video below!!
Skills & Knowledge Developed
〰️
Skills & Knowledge Developed 〰️
Wiring & electronics
Internet of Things
Hardware integration
Control systems
Motor control
Prototyping
Debugging
Laser cutting
Embedded systems
Web development