
Salto – UC Berkeley’s Agile Jumping Robot - sohkamyung
http://spectrum.ieee.org/automaton/robotics/robotics-hardware/uc-berkeley-salto-is-the-most-agile-jumping-robot-ever
======
DHaldane
Hey it's my robot! I can field some questions if people are curious about
anything in particular.

~~~
FeepingCreature
What happens if you take one, put it in a shock-absorbent coating (bubble
wrap?) so it can take a bit of a fall, add a tiny low-res camera and hook it
up to a neural network with the goal to maximize distance moved per second...
then leave it alone in a room overnight?

Or can it not get up on its own yet?

[edit] If you add a thin piece of string to the top and connect it to the top
of the room, I bet you can make a mechanism to set it upright when it falls
over. Then it has all the time in the world to learn to land on its feet.

~~~
grmarcil
See Animats' answer [1] to a similar NN suggestion in this thread.

There are some research groups trying robotic control with black box neural
networks (pixels in, control commands out), afaik with limited success so far,
particularly with this many degrees of freedom.

Deep learning has yielded some really incredible results the last 5+ years,
but those results have been concentrated in a few areas (computer vision,
speech recognition, game decision, ...). So there is a tendency to think NNs
can do anything, but really a) setting up a NN to work with a problem is non-
trivial (architecture design, data collection, data labeling, feature
selection) and b) very much an open research topic for many problems, ie not
guaranteed to work at all.

[1]:
[https://news.ycombinator.com/item?id=13121158](https://news.ycombinator.com/item?id=13121158)

------
jstrieb
I question the benefit of any jumping robot that is designed for continuous
hops if there is no evidence that it can land.

~~~
DHaldane
I'm honestly surprised about how much interest there has been in a landing
controller. I always thought it was a bit less interesting than getting the
robot bouncing around doing new things.

I could see how being able to stop gracefully could be useful in some
scenarios, but there are some other jumping tasks in the queue before I work
on that.

~~~
tgb
I'm honestly surprised that you're surprised - it's hard to judge what makes
the problem difficult if you don't include landing. There's lots of ways to
get something to 'jump' (like these toys [1]) that aren't too useful.

This isn't meant to be a criticism of your work, but an explanation of the
impression it made in me. If it had been presented as "here's a new approach
to jumping with these advantages", I'd have been impressed. Billing it as "the
most agile jumping robot ever" while not being able to land it is setting your
audience up for disappointment. My touchstone for jumping robots is that
Boston Dynamics robot that can jump onto a building, and then I saw yours
needing safety nets to jump a meter - you just don't want to set me up for
that comparison. On the other hand, your video did get me excited to see where
you go in the next few years - I definitely do want to see chain jumps
exectued, even in controlled evironments.

[1] [https://s-media-cache-
ak0.pinimg.com/originals/2e/87/10/2e87...](https://s-media-cache-
ak0.pinimg.com/originals/2e/87/10/2e8710fe2ee3b60b262f9e4e66a4751d.jpg)

~~~
DHaldane
OK, I see where you're coming from. The sandflea is a very practical,
application-driven platform, and our robot is just a simple scientific tool
meant to test new ideas about jumping. We were interested in the science of
the new modes of locomotion so there wasn't much value in developing the
landing for this work. We'll try to stick the landing next time.

~~~
jstrieb
That makes more sense; I, too originally read the post with a different type
of robot in mind. After re-watching the video and re-reading the article (and
of course reading these HN discussions), I'm appreciating Salto more for what
it is: an excellent example of well-engineered biomimicry with a lot of
potential for future robots.

------
clamprecht
Salto means "I jump", or just "jump" in Spanish.

~~~
serg_chernata
More akin to backflip in Russian. :)

~~~
DHaldane
Ha. Neat.

------
aresant
I love the nod to biomimicry in the video - inspiration from animal strategies
and adaptations is an unfair advantage in robotics design.

~~~
hugs
I realized this many years ago when I was working with underwater robotics. I
learned that fish swim in a pattern that looks like a sine wave, and so I
started to design robots to fit that pattern. Anyway, biomimicry is a
fascinating field -- it's one of those things I wish I even knew existed
before I had to pick a major in college.

------
elementalest
This is a clever novel design and shows lots of potential. The next step would
be attaining the ability to right itself and land on its foot. Some kind of
machine learning (NN) would probably work well.

~~~
wyager
> Some kind of machine learning (NN) would probably work well.

This isn't exactly a constructive criticism, but that is essentially the most
useless comment you could possibly make here. "This very general class of
algorithms that I've heard about a lot would probably work here.". That is
true! It's sort of like saying "Some kind of processor (Intel) would probably
work well". It's completely incidental to the problem at hand, and most likely
not worth saying.

It's also just a bad suggestion, because you almost certainly don't need to
resort to the "high-interest credit card of technical debt" for what is a
control and kinematics problem. Even if there's not a nice closed-form
solution, there are 100 other approaches that are more appropriate for this
sort of thing than just jumping straight to a neural network. I'm not going to
go into an explanation of control theory, but "use a neural network" is not
the universal answer to every problem in engineering and computer science.
/rant

~~~
Animats
You can set up landing from a jump as a two-point boundary value problem. It's
like orbital rendezvous - there are both position and velocity goals, and more
degrees of freedom in the goal than actuators. This is called an under-
actuated system. So you have to exert changing forces and torques during the
period of control. This is rocket science, which is good, because rocket
science has been well-studied.

I used to work on this stuff.[1] Raibert's insight was that balance dominates
gait. My insight was that slip control dominates balance. On flat surfaces,
slip control isn't a big issue, but on hills, it dominates the problem.

Here's a simple example of a two-point boundary value problem. Suppose you
want to accelerate an stationary object so that at time T1 it has velocity V1
and position P1. Your only controllable variable is acceleration, but you can
change that over time. No constant acceleration will do this. You're going to
need a changing acceleration. For this particular problem, there are closed-
form solutions. Look up "shooting method" for how to solve this in general.

An appropriate use of machine learning here would be to correct for small
errors. You can calculate an idealized solution from the dynamics, and when
you use it on a real robot, it will probably be somewhat off. That's when it's
appropriate to use machine learning, or at least hill-climbing, to tweak the
tuning parameters until it's on target.

Obligatory Freefall: [2]

[1] [https://www.youtube.com/watch?v=kc5n0iTw-
NU](https://www.youtube.com/watch?v=kc5n0iTw-NU) [2]
[http://freefall.purrsia.com/ff2900/fc02895.htm](http://freefall.purrsia.com/ff2900/fc02895.htm)

------
kahrkunne
This is the third time I've read this title and the third time I got the
meaning of "agile" wrong... HN is doing things to my brain.

------
M_Grey
Very cool little robot, and a great article.

