Jon's Place

Sunday, December 3, 2006

Series Elastic Actuators

In this post, I'm going to talk about series elastic actuators, and why I think they are important.

Many robots, including some of the most advanced bipeds out there, use gearmotors of one kind or another for actuators. Well-made gearmotors can make for some fantastically precise robot joints, but they all suffer from a common problem - they are rigid, and they make rigid joints. These properties make a robot good at repeatable tasks in a prefectly controlled environment, but not so good in the real world, where we operate. If you look at a lot of the servo-actuated humanoids out there, the actuators are almost all positional. You move a joint by specifying a new position for the servo, and it does its best to move to that exact spot. Once again, this makes for good repeatability, but not good flexibility.

A person's muscles are very stretchy, and provide a natural level of shock absorption. The other important feature of muscles is they are what I call "force-driven" rather than positional. You don't move your arm to a specific position - you apply force to the appropriate muscles, and use a visual or tactile feedback mechanism to control determine how much or how little force to use. Once you've performed a specific action enough times, the nerves that control the muscles gain "muscle memory", which allows you to do the same motion with virtually no feedback required.

Series Elastic Actuators were invented in the MIT Leg Lab, and the company Yobotics has been spun off to commercialize the technology. SEAs are force-driven, and force-driven actuators have this really interesting property - If you set the desired force to be zero, the limb being controlled by the actuator goes "limp", and you can move it around manually, all the while sampling the amount of force being applied to the actuator in order for you to move it to its new position. Using SEAs gives your robot a natural flexibility that rigid servo-based or gearmotor-based robots don't have. I believe the combination of these two attributes (force driven and flexibile) will allow, with the right software and sensors behind it, the ability to walk with much more natural gaits, and also to do more advanced things like running, jumping, etc.

With the Bioloid AX-12 servos, I've heard that you can set up the compliance parameters to have a certain amount of "springiness", and by using the torque feedback to control them, you get a poor-man's series elastic actuator. I will be trying this once I get the two AX-12 servos I ordered, and will of course post the results here.


  • Hi Jon,

    I've been reading about SEAs since you've mentioned them and see their promise in humanoids. These, coupled with some balancing techniques should allow humanoids to walk in some fairly rough terrain.

    Have you actually built an SEA to test yet?

    BTW, I've tried to achieve some of that AX-12+ springiness that Limor referred to in his post but didn't have much luck.

    By Anonymous Anonymous, At December 20, 2006 at 3:52 PM  

  • Hey Harry,

    I haven't built one yet, although it is on the list of things to do. As soon as I get my AX-12s working again (for some reason, they became non-responsive), I'm going to be playing with them a lot more, now that my admin user interface is done and working.

    By Blogger Unknown, At December 20, 2006 at 3:57 PM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home