Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Unbelievable balancing robot - stabilizes an articulated inverted pendulum (hackaday.com)
211 points by JonnieCache on Nov 29, 2010 | hide | past | favorite | 48 comments


The guy whose thesis this was comments on it here: http://www.reddit.com/r/math/comments/ebql6/double_inverted_...

I had guessed they were using visual sensing because of how the two halves of the pendulum were painted in contrasting, bright colors, but I was wrong. There are angular sensors at the joints of the pendulum, and a position sensor in the wagon at the bottom. The control system also needs the velocities of the parts of the pendulum, which it gets through a state observer (http://en.wikipedia.org/wiki/State_observer).

The interesting part for me was how the control system stands the pendulum up: it figures out the potential energy the pendulum will have when upright, then jerks the wagon around to add that amount of energy into the system as kinetic energy, then guides the system around a constant-energy landscape until it's upright. Pretty clever!


I wonder if the frequency of the "jerking around" is hard-coded for the lengths of this particular pendulum. It would be cool if it could automatically determine which movement patterns add energy to the system after trying for a while.


The visual sensing is quite impossible due to the high speed of its movement. Any camera that can capture the color information at that speed is expensive.


So how much would it cost to build one of those robots?


It looks like a big linear motor like in the video is probably $1000 to $2000 dollars. Angle sensors are pretty cheap (just a few bucks). Then you'd need an A/D-D/A board to control it with ($500 to $1000).


And a smart PHD student, which are pretty cheap I hear ;)


Although the 'smart' ones are something of an endangered species


don't worry, one day some smart PhD student will create a robot that's smart enough to replace smart PhD students


Allow me to draw your attention to this astounding diagram my friend showed me: http://en.wikipedia.org/wiki/File:All.png

"The colour of each pixel indicates whether either pendulum of a double pendulum flips within 10 (green), within 100 (red), 1000 (purple) or 10000 (blue). Those that don't flip within 10000 are plotted white. The angle that the upper pendulum makes with the vertical initially ranges from -3 at the left-hand side of the plot to +3 at the right-hand side. The angle that the lower pendulum initial makes with the vertical ranges from -3 at the top to +3 at the bottom."

Mathematics people: Does this image represent the landscape this robot walks in any way?


That diagram is showing something related, but not really directly applicable. The important extra feature the controller has is the ability to add energy to the pendulum - which is akin to being able to move between locations on the plot. However, the graph doesn't suggest anything about the results of any particular move by the controller, so (even using an extended version of the plot, dealing with upright target positions) this doesn't really a way to solve for the controller's actions.

What the plot shows is how complex the behaviour of a double pendulum is : small changes can result in wildly different outcomes, even though it's deterministic.


within 10 (green), within 100 (red), 1000 (purple) or 10000 (blue)

What are the units being discussed here - "within 10" of what?


on the wiki page it says "oscillations"


My controls lab in college (University of Washington, Aeronautics & Astronautics) had an inverted pendulum. I designed a controller to balance it and maintain position along the track for a controls class. We took a picture of Gumby standing on top of it for our report. It used rotary optical encoders to measure the angle, and a motor driven belt to move the base along the track. Somebody in our department developed a controller to flip the inverted pendulum up and balance it. Another stabilized a jointed pendulum in various configurations (both arms up, one up & one down, one down & one up). All are non-trivial problems. Combining them is commendable.


Original video: http://vimeo.com/2952236


My hunch is that balancing a real inverted double pendulum in that way is not possible (and that the clip is a hoax -- perhaps using servos at the middle joint to hold it relatively straight at the right time). Would love to be proven wrong though.


The forces involved in double pendulums are very well studied. As other posters have pointed out the robot has sensors on the two pivot points which makes it straight forward to counter the movement (once you have a precise robot, the right force equations and a PHD in physics) once the pendulum enters the required state.

ps I voted you up from you negative state, I don't see a reason for a downvote in your comment.


I know a little physics, and understand that the physics of double-pendulums is well studied (the case where it hangs with a stationary base is a standard grad school dynamics problem), but what little intuition I have tells me it can't work and would just collapse. Would love to see an illustrative/graphical/animated example of how it works.



I love the way the 150 second trial behaves... It makes the task seem effortless. Swinging the arm slowly and deliberately until the double pendulum is above the plane of motion, then quick small motions keep the system straight while longer slower motions swing the now straight system up to equilibrium...

I think it might be possible to do by hand now that I have seen it done like that.


This reminds me considerably of the "Pole Balancing Problem"[1] which was tackled by neural networks for a long time. It's since been solved by them. Seeing a real-world version of that problem is pretty cool, though.

[1] The pole-balancing problem isn't exactly like this problem. A single pole is balanced, rather than two; and even in the double-pole balancing problem, the two poles both rise from the base, not one pole atop the other. That should be a minor variation to it.


Apparently, it's an application of this: http://en.wikipedia.org/wiki/Kalman_filter


I would immagine that almost every non-trivial robot you find in a research lab today includes a Kalman filter somewhere.

I know the balancer I worked on (https://collab.cc.gatech.edu/humanoids/node/1241) certainly does, although from that project I can also tell you that most Kalman filter implementations are probably incorrect. It's fairly easy to implement a filter which behaves quite well but does not actually behave like a Kalman filter.


That's one piece that's often used in control systems, but the clever thing here is the control of the 2-link pendulum, by reaching a desired energy first to limit the search space.


Note that this experiment (balancing an inverted pendulum, then moving on to balancing an articulated inverted pendulum) is one of the examples from the original Papert LOGO papers of neat robotics problems which grade schoolers can understand and start working on (using the LOGO turtle or similar), but which can be refined as far as the student wishes to take it.


A crucial difference is that a 2-link pendulum is a chaotic system. It's much harder from a control-theory point of view.


I agree. While the inverted pendulum is fairly straight forward to implement with a PI controller, the 2-link pendulum is quite an accomplishment.


Does anyone know if a human has ever done that?


I'm pretty sure it's impossible for a human. On the other hand we can do amazing feats of balance that no robot can do, like walking quickly on two legs across an uneven surface. It's all a matter of specialisation.


I think you vastly underestimate people, concider the two tricks at 3:30 http://www.youtube.com/watch?v=uHDnGp1_W8c flip something from foot and then balance it on your head without using your hands. Note unlike the example pendilum it needs to balance in two directions.

Even more flips, http://www.youtube.com/watch?v=w6NgAPmSCKM&feature=relat...


"On the other hand we can do amazing feats of balance that no robot can do" yet.

I think it's just a matter of time - a few years maybe.


What makes you say it's impossible? Consider the feats that top athletes are capable of - it's easy to forget just how impressive the skills of a professional golfer, quarterback or pitcher are because we see them performed on television every day.


It's pretty easy to balance one inverted pendulum. Especially if it's long or heavy. Two though - that would be hard.


The smaller the pendulum the harder it is to balance, so I'm sure a human could be trained to do this if the setup is large enough.



Neat. Reminds me of something I built in college: http://www.youtube.com/watch?v=Lfh9upwZWA0

I must admit that mine was quite a bit simpler.


That's pretty awesome. Actually, I'd like to see it balance itself on a (double) pendulum.


Could make a camera tri-pod (in this case, "mono-pod") that fits in your pocket.


The title is a little bit exaggerated... But the robot is very interesting.


To those of us without a background in hard mathematics or engineering but with enough knowledge to know what it means that a double pendulum is a chaotic system, this video is initially quite staggering. Perhaps it doesnt fit the literal semantic meaning of "unbelievable," but then if we all spoke completely literally language wouldn't be much fun.


OK. The robot is impressive. It's just that the title felt... Digg-ish...


Now that you mention it you're right, it does have that SUPERLATIVE NOUN - VERBS AN ADJECTIVE NOUN! structure doesn't it. I shall have to take a long look in the mirror.


:-)


Pencil balancer in 2D, using very fast silicon retina cameras:

http://www.ini.uzh.ch/~conradt/Projects/PencilBalancer/

(The cameras: http://siliconretina.ini.uzh.ch )


This is a very interesting article, with technical details and amazing videos. You should submit it.


Saw a lecture by Tobi Delbruck at my uni last month and was really impressed by this application among others. Seems like some really interesting technology. Can post a link to the lecture recording (audio) if anyone wants it?


That'd be great!


http://www.deityproject.com/Delbruck.WMA

also of interest,

http://www.deityproject.com/Kuipers.WMA

Ben Kuipers takes us through his investigations to date on the subject of robotic cognition - using some very adorable footage of a "research student" (actually the students 2yo son) to show just how far we have yet to go. Focusses on the "grasp" function of human object interaction. Bit slow in places as it's just audio and the slides were important, but could help someone find further information.

Sorry for WMA, it's the native format my dictaphone uses =S

There is another up there for linguists - Geoff Ketland discusses his notion of language as platonic solids... I found it VERY interesting stuff.

Note: I'll keep them up for a week or two in case anyone is interested, but I'll be using the domain for something soon, so can't provide permanent links.


It's pretty cool, but I've been running it for two hours and it still has not found a solution.




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

Search: