One of the things that we love about UC Berkeley’s Salto jumping robot is just how much better it gets, year after year. And these changes aren’t just incremental—the little robot’s capabilities seem to improve by leaps and bounds, as it were. The latest upgrade, presented at Virtual ICRA 2020 this week, is particularly impressive, since Salto has learned how to very precisely stop jumping exactly where you want it to.
As far as we know, the best way of getting Salto to stop jumping without destroying itself has been for someone with exceptional timing to try and snatch it directly out of the air mid-bounce. While amazing at jumping, Salto hasn’t been particularly good at not-jumping. That is, at landing. Until now! Just watch this:
Crazy, right? But what makes it crazy is that this incredibly dynamic little robot is landing on this teeny tiny foot. In the video, you can see Salto landing on its essentially one-dimensional bar foot, but according to the ICRA paper it’s also capable of landing on just a point foot, although its thrusters do struggle a bit to keep it upright. Most of the work on the landing is done by the robot while it’s in mid air, using the same hardware from the previous iteration—namely, a spinning inertial tail plus a couple of propeller thrusters for multi-axis stability.
As impressive as the landing is, it’s just half of what’s new here. As you saw in the video, the other thing is the better control that Salto now has over where it’s going, enabling it to target its jumps to specific places. This capability derives from the combination of precise leaping to targets and balanced landing; they allow Salto to have much finer control of its next jump since it gets a chance to land and accurately aim for its target, as opposed to when it’s bouncing. The robot has been able to reduce the standard deviation from its landing target from 9 centimeters all the way down to 1.6 cm, meaning that it can now handle small targets like tree branches—we can’t wait to see that in action.
For more details, we spoke with lead author Justin Yim via email. And remember, since this is an ICRA paper, you can view Justin’s video presentation and ask him questions in a dedicated Slack channel here.
IEEE Spectrum: What’s hard about landing, and why is it a big deal that Salto can land now?
Justin Yim: When jumpers land at an angle, their falling motion can be transferred into a huge amount of angular momentum. Salto’s landing angle must be very accurate, or the angular momentum will be too much for its reaction wheel tail to negate. Falling from 1 meter (3 feet), Salto only has about 2.3 degrees of wiggle room forwards and backwards if it is to stick its landing. Gymnasts “sticking a landing” with feet together face this same challenge. If their angular momentum is wrong, they have to take a step to keep their balance. However, taking a step isn’t possible with only one leg (as Salto has) or when landing on a narrow ledge or beam. A person landing on a beam or ledge will pinwheel their arms the same way Salto spins its reaction wheel tail.
Now that Salto can land, it can stop jumping and stand still. Salto can spend more time in stance phase preparing for its next jump so it can now make much more accurate leaps to narrow targets. Combined with the ability to stick a landing on a narrow support, we hope this research will enable robots like Salto to jump around on narrow footholds like ledges and tree branches.[shortcode ieee-pullquote quote=""Combined with the ability to stick a landing on a narrow support, we hope this research will enable robots like Salto to jump around on narrow footholds like ledges and tree branches"" expand=1]
Some of the earlier versions of Salto had much larger foot, and the paper mentions that this version can land on its point foot but that the bar foot is more stable. What do you think an optimal foot design for Salto might look like going forward, especially as its capabilities increase and its operating environments diversify?
I think designing clever foot mechanisms that engage the ground will be important. We started Salto bouncing on a point foot since that is very easy to model and control. As long as it doesn’t slide or shift, a point foot always behaves like a ball and socket joint whereas a more complicated foot will push and twist in different ways depending on the shape of the ground. However, with only one point of contact, a point foot can’t apply torques on the ground to balance and can’t latch onto different portions of the ground if that one spot is slippery or crumbling. Currently, we have replaced the bar foot with a point foot again, but we have added two more toes to Salto’s leg that touch the ground only when Salto is crouched. This way Salto can run around on its point foot when bouncing, but gets the benefit of a bar foot that applies roll torques when it is landing. We are also working on other passive foot designs for Salto to run on other surfaces.
Salto now has more precise control over where it’s going, enabling it to target its jumps to specific places.Image: UC Berkeley
How much of a difference does motion capture make to this iteration of Salto?
Salto can jump and land without motion capture, but it is more consistent with motion-capture tracking. Salto operating without motion capture is like running around blindfolded; you can still keep your balance and get around, but it’s harder to do. The motion capture information we send to Salto are its velocity and some instructions to get to the tape marks in the sequence of precision jumps. Salto now keeps its balance without any motion capture information.
Salto was originally shown jumping off of a vertical surface—is that a capability that you’d like to get back to?
We would love to get Salto back to jumping off of vertical surfaces! The earlier flight-phase control would struggle to jump accurately enough to hit the wall at just the right angle for a wall jump. If Salto jumps too far into the wall, it will crash. If it doesn’t jump into the wall enough, it will slide down the wall instead of jumping off of it. The new stance-phase launch gives Salto the accuracy to start wall jumping again. You might have noticed that Salto originally used stance-phase motions to direct its early wall jumps. However, back then before the new balance control, we had to manually tune Salto’s motion very carefully for every jump setup. With the new controller, Salto is better able to precisely go where we want without all the tuning.
The paper suggests a bunch of potential directions for future work. What are you most excited about?
There are so many exciting directions! I am most excited about doing things robots haven’t been good at before! This might be jumping on branches or mimicking other things that animals can do but robots have struggled to follow.