Squirrel videos
These last few weeks of fall weather, we rented a GoPro and went out in the morning trying to catch footage of campus squirrels. With some roasted peanut encouragement, the squirrels were eager to help.
We tied a clear plastic box with a few peanuts onto the tree, then wrapped a sheet of wax paper above it. The roasted peanut aroma usually attracts a few squirrels within minutes, and they gather at the base of the tree to demonstrate their tree-climbing abilities. The paper prevents the squirrels from hanging face down above the box, so they make multiple trips from the base of the tree to take individual peanuts and allow us to get more slow-mo footage :)
Watching the squirrels is a combination of inspiration, context, and encouragement, and its great that we have this awesome resource just outside.
Spring testing
After some theory and optimizations last time, we decided to go down the route of series-elastic actuators and storing energy in a spring for the jump. The past few weeks were heavily focused on choosing a suitable spring that can store enough energy without breaking, while being compact and convenient to mount. Assuming the entire squirrel robot is around 500g, we’ll need an absolute minimum of 5J of energy to jump up to 1 meter. Realistically, looking at other jumping robots, about half of that energy will be lost and we’ll reach around 0.5 m. Using the spring tester developed previously, we tested carbon fiber, fiberglass, and latex rubber in compression and tension to find their force profile and energy capacity.
Pultruded carbon fiber strips buckle in compression, and their force profile look like the plot below: a rapid rise in force, then a gradual linear increase in force as displacement increases.
This force vs. displacement relationship can be simply modeled by an Euler buckling beam1. Unlike a spring that follows Hooke’s Law and has linear force profile that passes through the origin, these Euler springs follow a line with some positive y-intercept, which is the critical buckling load. The area underneath the force vs. displacement curve represents the work done to compress the spring, and the possible energy storage capacity.
The slope of the line and buckling load depends on the thickness and length of the carbon fiber strip. We tried 0.6 mm and 1 mm thick, finding that the 0.6 mm strip could compress more before breaking (though with less force) and could store more energy safely. Below is a plot of 0.6 mm thick and 5mm wide strips at 48 mm, 96 mm, and 200 mm in length. Of these three, 96 mm (green) could store the most energy (≈0.5J) and is also a convenient size for the hind leg, so we will likely move forward with this. We’ll need around 5 of these strips in parallel for each hind leg to reach the target of 5J total energy storage. This is a reasonable width of 25mm, but still quite a lot more than we expected. It is going to be a challenge to fit the spring elegantly into the leg linkage.
Along the way, we also tried fiberglass, latex tubing, and rubber bands.
The Skippy project, a similar but larger scale jumping robot is able to effectively use fiberglass springs in series with their leg linkage. However, the fiberglass sheet we got was not stiff enough to store much energy and also was prone to plastic deformation without much displacement. Next time, we might try getting a thicker fiberglass and pay attention to the composition used.
Latex tubing is promising because it is able to deform an extreme amount without breaking. The force profile is close to a linear spring but has a noticeable amount of hysteresis, so the amount of energy released will be lower than the energy used to stretch the spring. This effect is reduced when the rubber is immediately released after stretching (Youtube), so it could still work well for our fast-acting leg application. Latex torsion springs also a good alternative because they are very compact and in Salto’s case, can store up to 2.4J.

Another consideration with latex is that is a linear spring, so there will likely be higher forces in the system compared to the carbon fiber compression spring for the same energy storage and displacement. To get the motor to stay at the maximum power point, we’d also need a special linkage.
Mechanism Ideas
There is still some work before we have a concrete design for the new leg mechanism. We have some ideas involving combining two latched series elastic actuators in parallel to get pitch and leg extension to actuate cooperatively, but we need to make it more compact and verify that the latch can handle the high elastic forces, especially when amplified by long lever arms.
FOC
Finally got FOC implemented!
Red, yellow, and green plots show the duty cycle of each motor phase, and you can see the space vector modulation (SVM) waveform change magnitude or frequency depending on the desired current and speed of the motor.Â
Plotted in blue and purple are the direct and quadrature currents, and the 20kHz control loop is able to roughly track å desired quadrature current as it increases in magnitude.
The controller doesn’t entirely work yet—at higher target currents there is an overflow somewhere and the motor immediately starts spinning much faster than desired. But it spins! (and with less torque ripple)
Thanks so much for following the project!
Euler Spring Collision Protection for Flying Robots
Buckling beam model (our carbon fiber strips in compression)