Bio Inspired Robot
Design for Innovation is a project based course offered at IIT. It explores the fundamentals of engineering design including concept generation, analysis, and computer aided design. Here, I go over the course’s final project of designing a bio inspired robot to climb a peg board wall.
The robot was designed around the following functional requirements set by the professor:
Autonomously travels climbs up a pegboard wall with pegs spaced 6” horizontally and 4” vertically
Bio-inspired, an animal must be explicitly chosen for design inspiration
Can be disassembled. All servos and electronics must be capable of being disassembled. No glue on servos, servo horns, or electronics
The biggest challenge in designing this robot was deciding how it would make its way up the wall. Bio inspiration did help with climbing gates (gates are a term for an animal’s walking motion), but these motions needed to be simplified for a small scale project. From studying primate’s and reptile’s climbing motions, I knew that four limbs would be sufficient. However, I also knew that there were other restraints created by the peg wall that would require an additional joint on each leg. Some of the resultant design features included retractable limbs to clear each peg, smaller outer limb servos to reduce weight and size, and a fixed vertical center of gravity relative to the wall regardless of position.
Sketched below is the concept drawing:
Analysis was simple for this assignment. Given the max output torque of each servo, it was ensured that the require torque based on the limbs length would not exceed the servos capability. A Hildebrand Gait plot which describes the contact phase of each limb through the gait cycle was also developed to prove the robot could maintain static stability.
Prototype design in Autodesk Inventor:
All parts were printed using Simplify3D:
For a basic servo powered robot, there are three components necessary to power and control the servos: a power supply, a power source, and a micro controller. Because the robot utilized 8 servos, I knew the 5v power supply in the arduino nano could not handle the current drawn by the servos so a bulky 20 amp rated YEP BEC from hobby king and a custom 300mah 3s lipo for extra power were used. A pcb with servo pins was also constructed so I could easily switch around servo connections. Another key feature are bearings at each arm pivot point directly below the servo’s rotational axis.
The biggest challenge in developing the arduino code was ensuring that the retracted leg opposite to the one in motion and fixed to the peg would clear the peg as the robot moved to its next position. This was done with “for” loops that retracted the smaller limb to a specified angle during the fixed leg’s climb motion. Its difficult to see in the video, but there is a slight movement in the smaller servo fixed to the peg that gives the opposite leg just enough clearance to make it to its next cycle position. My friend Matt who has been developing a working arduino based multi rotor flight controller had to help we with this one as I am no coding master.
Pictured below are the “for” loops for each outer servo that work based on the position of the main servos. The main servos were connected in parallel (diagonal to one another) and are defined as servo1 and servo2.
Overall, the robot could have been made significantly lighter weighing in at around 450 grams. Each climb put a lot of stress on the servos, and required a 12v lipo pack for enough power to make it to the top of the wall which is unusual for a servo powered robot. Additionally, delays had to be built into the code as the servos did not reach their programmed position fast enough, significantly reducing climb rate. The robot made it up the wall in approximately 45 seconds.