Max Luo and Aruni Kacker
Due to a variety of reasons, including switching partners and missed flights, we decided to repurpose our walker from Project 2 to fulfill the requirements to Project 1. The robot itself is modeled loosely after the heavy walker from Star Wars: the Last Jedi with the head and vaguely ape-shaped feet. It is a four-legged, two-actuator robot, where a gear train and careful joints convert rotational motion into linear motion.
The above image demonstrates the two-motor, four-legged configuration. It also shows an unpowered rear support wheel/leg; its sole purpose is to provide balance and does not contribute to the robot's forward motion.
The above image shows the position of the ultrasonic sensor. There were two different operating methods coded: a bang-bang, and a proportional control. The bang-bang program made the robot come to a complete stop from a given initial speed when it came within a defined distance of a wall, while the proportional control made the robot slow down upon entering a certain threshold until it came within a minimum distance. Furthermore, if the robot were to turn while within that threshold (i.e., the wall was removed), the robot would regain its initial speed until encountering another wall. Both code files are uploaded at the end of this post.
Bang-bang control: the robot comes to a complete stop when it senses the wall at a fixed distance
Proportional control: The robot slows down proportional to its distance from the wall, until it comes to a complete stop at 5 cm away from the wall.
Proportional control: the robot slows as it approaches a wall, but returns to the original speed when it is moved away from the wall, and slows to a stop at a second wall.
The above screenshot is the Python code for the bang-bang operating method.
The above screenshot is the Python code for the proportional control operating method.