This Open Source Robotic Leg Performs Jumps and Walks All on Its Own
Although it might look a bit weird on its own, the Overleap robotic leg is capable of some incredible things.
A quick overview
Aaron de los Santos has created an extremely weird backyard decoration: a single robotic leg that hops around in a circle. But do not let this simple premise fool you, as the device called Overleap has some serious engineering put into it. The leg is able to able to jump quickly in rapid succession while remaining very accurate. It can also make small adjustments whilst it hops that causes it to almost run in a circular pattern.
Designing the Overleap
This single leg robot uses a set of of quasi-direct drive actuators for movement, or in simpler terms, a pair of brushless DC motors are used to both sense the current being consumed for position tracking and move the robot. This type of configuration means the robot's joints will have far more torque, especially when combined with a 9:1 reduction ratio, than a typical servo can provide. As can be seen in a series of technical drawings within the GitHub repository, the leg is comprised of several long panels that rotate whenever the timing belt coming off the motor begins to move. The "foot" of the robot has a force-sensing band tucked just behind a rubber pad that sends a signal whenever it makes contact with the ground.
Assembling the leg
The Overleap is quite simple when looking at the circuitry required to run everything onboard. There is an Arduino microcontroller that performs the necessary positioning calculations and sends those commands via UART to an ODrive Motor Controller. This device has drivers that work with a pair of rotary encoders to move the two brushless DC motors with great accuracy. Power comes from a 14V LiPo battery pack, and the previously mentioned force sensitive resistor foot pad connects to the Arduino with just one GPIO pin.
Programming
Programming each movement into a series of motor speeds and positions was no easy task, as everything from the current consumption to the max velocity must be factored in. The code de los Santos wrote starts by performing a couple of prechecks that essentially calibrate the robot's position to a known home, or 'zero'. From here, methods within his custom Overleap class can set force profiles, make the leg hold its current position, and also set the current phase.
When combined in creative ways, these commands are able to make the leg hop around a central post. However, this will most likely get boring after a short amount of time, so there are plans to create three more of these and build them into a proper quadruped robot.