How do you like to go up in a swing,
Up in the air so blue?
Oh, I do think it the pleasantest thing
Ever a child can do!
Child’s Garden of Verses by Robert L. Stephenson
The Swinging Blind Juggler
Ongoing research project
If you’ve ever been a child, chances are that you’ve spent some of your childhood on a swing. And at some point during that time you have probably found out how to move your arms, legs, and body to go higher and higher, without any external help from a friend or parent pushing you – you learned how to pump a swing.
Flavio Fontana, Master student at the ETH Zurich’s Institute for Dynamic Systems and Controls, has taken this concept and used it to control a robot. To make things more challenging, his robot does not just swing, but simultaneously juggles a ball. And, using some neat math to push the idea even further, he and his supervisors Philipp Reist and Raffaello D’Andrea have designed the robot to swing and juggle without cameras – and without ever dropping the ball.
The result of their research is the Swinging Blind Juggler, a robot that juggles a ball from side to side with an actuated paddle attached to a pendulum. The robot is called “blind”, because it has no cameras to “see” the ball. In fact, the Swinging Blind Juggler has no sensors to detect the ball at all.
Here is what Flavio has to say about his video:
In this video, we propose an elegant control strategy for a Swinging Blind Juggler. The key idea is to exploit the dynamic coupling between the motion of the paddle and the pendulum. Children on a swing intuitively use this dynamic coupling to control their amplitude. In a similar way, we control the pendulum with appropriate paddle motions.
So how does this work?
Flavio explains that four conditions must be met for successful juggling:
- First, the paddle used to juggle the ball must have a specific concave shape. This shape will always push the ball back towards the ideal flight path if the ball impact happens to be off-center.
- Second, the paddle has to decelerate as it strikes the ball. This helps to keep the ball bouncing at a consistent height: If the ball flies too high, it will hit the paddle later and hence at a lower speed. Conversely, if the ball flies too low, it will hit the paddle earlier and hence increase the ball’s height on the next bounce.
- Third, the paddle always has to strike the ball at right angles. This ensures that the ball always flies off into the right direction, towards the other side of the swinging motion.
- And fourth, the pendulum must be synchronized to the ball motion. In other words, the pendulum has to reach the peak of its swinging motion at the right time to strike the ball.
To guarantee all of the above, the researchers first derived a mathematical model of the desired motion. Based on these models, they came up with a hardware design that includes a parabolic plate to stabilize the ball’s impact points on the paddle (the first condition), a decelerating paddle motion that stabilizes the ball height (the second condition), and a mechanical mechanism based on four linked bars that automatically tilts the paddle to the right angle for all juggling amplitudes (condition number three).
To meet condition four (to swing back and forth at the right rhythm to hit the ball) the robot can use the same linear motor used to create the decelerating paddle motion for condition two – as long as it still strikes the ball with the right decelerating motion at its peaks. Similar to a child on a playground swing, the robot must raise its body as the swing passes through the lowest point and lower it near the extremes of the motion to pump the swing and swing higher.
The result of the precisely designed hardware setup and control algorithms is a complex motion that’s beautiful to watch – and that blindly juggles a ball from side to side.
To learn more about blind juggling robots, have a look at www.blindjuggler.org.
Note: This post is part of a series that decribes robots developed in Switzerland. If you’d like to contribute a robot to this (or another country’s) series, get in touch at info[@]robohub.org. Like this series? Read more about Swiss Robots!