Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Salto – UC Berkeley’s Agile Jumping Robot (ieee.org)
108 points by sohkamyung on Dec 7, 2016 | hide | past | favorite | 38 comments


Hey it's my robot! I can field some questions if people are curious about anything in particular.


Any relation to J.B.S. Haldane? I remember in one of my order of magnitude physics classes going through a problem to prove that all animals have a maximum jumping height of ~1 meter. J.B.S. Haldane made that observation in his paper On Being the Right Size:

https://irl.cs.ucla.edu/papers/right-size.html


I do love that essay, but I'm no close relation of J.B.S.


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.


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


I think I'd run out of room pretty quick. It hits 4.4 m/s on the first jump so I'd only have room for a couple hops. It would also need a tether to run overnight, and that's a tough proposition for a little robot bouncing around.


Unleash a million of these on Mars, kind of like a scraper crawling websites for data.


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


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.


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...


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.


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.


That would certainly be fun to see! Make sure it ends up on HN again when you've got some more cool stuff to show us.


Just for reference, here is a video of the mention Boston Dynamics robot: https://www.youtube.com/watch?v=6b4ZZQkcNEo

Really cool.


Rather than working on the perfect landing I think a good enough landing would be sufficient (crash and get back into ready to jump posture). Mostly so that the scenario of back to back jumps can be tested (which would also be interesting for stress testing). I'd love to watch the wall jump over and over until the robot breaks/stops for example.

Edit: I see something similar is mentioned in future research. Cool :)


Rather than working on the perfect landing I think a good enough landing would be sufficient (crash and get back into ready to jump posture).

That's been done a few times. The first time was a mobile land mine developed at Sandia. It was a ball with a fuel-powered piston for jumping. After each jump, it used an interior weight to get itself positioned and aimed for the next jump. The plan was to drop a bunch of these from aircraft into enemy territory. When one of them detected a good target, like a convoy, all the mines nearby would converge on the target and blow it up.[1]

There's also this small fence-jumping, tracked robot from 2009.[2] Landing is uncontrolled, but it can survive crash landings and run upside down, so that doesn't matter too much.

[1] http://www.sandia.gov/LabNews/LN10-20-00/hop_story.html [2] https://www.youtube.com/watch?v=NjANAebfs6Q


by all means, please keep doing what you're doing. it's impressive work.

> I'm honestly surprised about how much interest there has been in a landing controller.

This is probably the most textbook example of hyperfocus I've ever seen since I was a teenager and kept jumping higher and higher until one day I hit my head on the ceiling!


That's targeted for future research. From the end of the article:

"You've probably noticed that Salto doesn't have a lot of sensing on it right now, and its jumping skills are all open-loop. In order to orient itself, it uses a rotary inertial tail, but it's not (yet) able to adapt to different surfaces on its own.

The next things that the researchers will be working on include investigating new modes of locomotion, and of course chaining together multiple jumps, perhaps with integrated sensing."


But that's the more challenging (and thus more impressive) part of it. I haven't spent any time in researching "jumping" and I'm sure this jumping robot is impressive to those in the know, but as a layman, this is like a self-driving car minus the self part.


Consider too the publication this research appeared in. Science Robotics is concerned with the scientific underpinnings of robotics, which in this case was the new ideas about how robots can jump.

I could slap an off the shelf stereo SLAM system on the robot, but that's just solving an integration problem instead of doing the science.


Engineering is a discipline of taking a problem you cannot solve, breaking it into component problems that you figure out how to solve.


Yes, a robot that can jump on top of a building in 1 jump sounds more useful to me, something like this one: https://www.youtube.com/watch?v=6b4ZZQkcNEo&t=0m14s .


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


More akin to backflip in Russian. :)


Ha. Neat.


In Italian too, JFYI.


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


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.


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.


> 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


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 [2] http://freefall.purrsia.com/ff2900/fc02895.htm


I think that neural networks work well in muscle memory applications - repetitive and fast motions. I think in this case, the robot could learn (in a similar manner to other systems [1][2]) some fundamental motion characteristics (primitives) for jumping. Then, combining and augmenting primitives in such a manner so as to vary its jumping and landing capability.

So, to me, it seemed that it was the kind of problem where a neural network would probably work well. I never said it was the correct, optimal, best or only answer. Maybe as the jumping capability and requirements become more complex, a neural network would be better?

It is likely that a specifically designed dynamical control system would work better for a limited series of simple jumping/landing tasks, but it would be interesting to see how well a neural network system would run for much more complex or varied tasks.

[1] http://ieeexplore.ieee.org/document/5686298/

[2] http://ieeexplore.ieee.org/document/4650953/


I think this is actually very constructive criticism and needs to be heard more on HN.


For anyone who doesn't get the quote, "high-interest credit card of technical debt" refers to a paper published by Google in 2014.

PDF link: http://static.googleusercontent.com/media/research.google.co...


Please be kind to everyone :) I think there are better ways to state your criticism that don't read so harshly. And in being kind, I think people are more receptive to criticism and suggestions. It can seem pretty silly from a purely rational perspective, but we're all real human beings, trying to learn and understand things together.


While i agree with both the parts. I like to ponder on "high interest credit cards". I believe, hacking in some form is also tinkering with the solved problems with a new approach. The optimal solution might not change but the approach gets refined thus lowering interest rates for something else.


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.


Very cool little robot, and a great article.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: