Walking Robot using "Spring Actuators"

Anything that doesn't fit our other forums goes here.
9 postsPage 1 of 1
9 postsPage 1 of 1

Walking Robot using "Spring Actuators"

Post by Orac » Sat Oct 03, 2009 10:01 am

Post by Orac
Sat Oct 03, 2009 10:01 am

OK, I have looked at the links, scratched my head a bit, but am still no wiser as to actually how these actuators work.

The motion they achieve looks very Biological and natural, but looking at how they are arranged, they don't seem to be able to support much weight.


http://www.ukrobotgroup.com/joomla/index.php?option=com_content&view=article&id=35:walker-using-spring-actuators&catid=2:website-news&Itemid=12
OK, I have looked at the links, scratched my head a bit, but am still no wiser as to actually how these actuators work.

The motion they achieve looks very Biological and natural, but looking at how they are arranged, they don't seem to be able to support much weight.


http://www.ukrobotgroup.com/joomla/index.php?option=com_content&view=article&id=35:walker-using-spring-actuators&catid=2:website-news&Itemid=12
Orac offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 299
Joined: Wed Feb 21, 2007 12:46 am
Location: UK, Near Aylesbury

Post by limor » Mon Oct 05, 2009 1:38 pm

Post by limor
Mon Oct 05, 2009 1:38 pm

quoted from the ebay page and from Bill's research site:
This is a simple demonstration of how programmable spring actuators can be used to create a set of robot legs with in-built stepping reflexes. The robot 'walks' when it is pulled along on its leash. All the behaviour is embedded in the actuators. When a leg is perturbed beyond a limit, the shoulder actuator sends a binary signal to the knee actuator, which lifts the leg off the ground. The leg drops back when it has swung forward far enough. When one leg takes a step it will also send a signal to suppress the stepping reflex in the other leg, which stops them both stepping at the same time.
For more details about Programmable Spring Actuators go to:
http://www.informatics.sussex.ac.uk/use ... S/PGS.html
And you can find a page about how this robot works via the Videos page on my site, or through here:
http://tinyurl.com/mtp7aa

..And he also has a blog: http://springservo.wordpress.com/
where he says that these servos may end up being manufactured and sold at retail price of around $150.

Image
quoted from the ebay page and from Bill's research site:
This is a simple demonstration of how programmable spring actuators can be used to create a set of robot legs with in-built stepping reflexes. The robot 'walks' when it is pulled along on its leash. All the behaviour is embedded in the actuators. When a leg is perturbed beyond a limit, the shoulder actuator sends a binary signal to the knee actuator, which lifts the leg off the ground. The leg drops back when it has swung forward far enough. When one leg takes a step it will also send a signal to suppress the stepping reflex in the other leg, which stops them both stepping at the same time.
For more details about Programmable Spring Actuators go to:
http://www.informatics.sussex.ac.uk/use ... S/PGS.html
And you can find a page about how this robot works via the Videos page on my site, or through here:
http://tinyurl.com/mtp7aa

..And he also has a blog: http://springservo.wordpress.com/
where he says that these servos may end up being manufactured and sold at retail price of around $150.

Image
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by limor » Mon Oct 05, 2009 1:53 pm

Post by limor
Mon Oct 05, 2009 1:53 pm

You can apply an arbitrary response profile (force and damping) to each angle.
There are 2 damping profiles. one for clockwise and one for counter-clockwise motion.
Image
Red for force, green for clockwise rotation damping and blue for counter-clockwise rotation damping.

You can also create conditions for switching between profiles. In this video you can see how the actuator tries to work against the finger like a spring, pushing it clockwise and counter-clockwise. But when it reaches a threshold, it then changes the response profile and swings the other way. (like a latch).
phpBB [media]


http://www.informatics.sussex.ac.uk/use ... trol2.html
You can apply an arbitrary response profile (force and damping) to each angle.
There are 2 damping profiles. one for clockwise and one for counter-clockwise motion.
Image
Red for force, green for clockwise rotation damping and blue for counter-clockwise rotation damping.

You can also create conditions for switching between profiles. In this video you can see how the actuator tries to work against the finger like a spring, pushing it clockwise and counter-clockwise. But when it reaches a threshold, it then changes the response profile and swings the other way. (like a latch).
phpBB [media]


http://www.informatics.sussex.ac.uk/use ... trol2.html
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by limor » Mon Oct 05, 2009 2:13 pm

Post by limor
Mon Oct 05, 2009 2:13 pm

The mechanics behind this magic are not clear. From the picture it looks like there's the usual motor and gears and a control PCB (which would make it an OpenServo with a more comprehensive approach to response profiles).
However, there may be some real springs or elastic bands in there.
Bill's mechanical alchemy has not been disclosed yet as he may plan to commercialize it.
The mechanics behind this magic are not clear. From the picture it looks like there's the usual motor and gears and a control PCB (which would make it an OpenServo with a more comprehensive approach to response profiles).
However, there may be some real springs or elastic bands in there.
Bill's mechanical alchemy has not been disclosed yet as he may plan to commercialize it.
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by billyzelsnack » Mon Oct 05, 2009 7:07 pm

Post by billyzelsnack
Mon Oct 05, 2009 7:07 pm

billyzelsnack offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by limor » Mon Oct 05, 2009 11:07 pm

Post by limor
Mon Oct 05, 2009 11:07 pm

Image

thanks billyzelsnack i missed that diagram and now I think i get it. :idea:

You can actually see in the robot picture, a small turquoise colored coin shaped object near the axis' output. This is probably a spring. the motor is connected to a set of gears (as in an rc servo) and the final gear shaft is connected to a spring which is then connected on the other side to the payload.

so if the final gear is stiff (either due to friction or to typical rc servo holding-angle pwm), the output shaft behind the spring behaves like the spring.

But if the final gear rotates, then the output shaft is no longer a pure F=kX spring. All the great functionality and flexibility that is demonstrated in these actuators' response profiles are thanks to clever rotation of the motor/gears in conjunction with feedback signals from both the output shaft and final gear (the displacement angle between them X, is proportional to the force F=kX where k's is constant or of known profile).
Image

thanks billyzelsnack i missed that diagram and now I think i get it. :idea:

You can actually see in the robot picture, a small turquoise colored coin shaped object near the axis' output. This is probably a spring. the motor is connected to a set of gears (as in an rc servo) and the final gear shaft is connected to a spring which is then connected on the other side to the payload.

so if the final gear is stiff (either due to friction or to typical rc servo holding-angle pwm), the output shaft behind the spring behaves like the spring.

But if the final gear rotates, then the output shaft is no longer a pure F=kX spring. All the great functionality and flexibility that is demonstrated in these actuators' response profiles are thanks to clever rotation of the motor/gears in conjunction with feedback signals from both the output shaft and final gear (the displacement angle between them X, is proportional to the force F=kX where k's is constant or of known profile).
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

how it works

Post by BillBigge » Mon Nov 09, 2009 12:27 pm

Post by BillBigge
Mon Nov 09, 2009 12:27 pm

Hi all, a bit about the actuators first:

My system is based on the Series Elastic Actuator idea developed at MIT (http://yobotics.com/) and basically uses an instrumented spring between the motor and the output, and a control loop that tries to maintain a user defined spring deflection - basically this translates into control over the force at the output, when you specify zero deflection the actuator will behave as if there is no motor or gearbox and go 'limp',

What I have done is add an extra layer of control and an angle sensor so you can specify arbitrary forces for every angle, and damping for every angle and direction. This means you can create arbitrary spring damping systems that the actuator will try and emulate.

These 'profiles' for force and damping are combined with some other widgets, like thresholds that can be assigned to check various system variables and methods of modulating the spring damping profiles, to create what I termed a 'profile group'. Each actuator can have up to 8 profile groups and can swap between them on user defined conditions. So basically you can design a compliant joint, and actuate by moving the spring dampers around, and also instantly swap to different joints properties on certain conditions.

Now on to the robot ...

The bot is basically demonstrating how my control system and the swappable / modulatable springs can be used to embed reflexes in a robots joints, and how the force control system can also help create reactive behavior by allowing the motors to respond dynamically to external forces.

I am cheating with the robot to a certain degree in that it does not uses the active force control described above (I couldn't afford to make enough actuators with this feature) but instead it relies on a low ratio gearbox - basically the motor and gearbox has low impedance so it is easy to move it with an external force - this is good enough for the purpose of demonstrating the control system in this context (for my PhD thesis) but the drawback is that the motors don't deliver enough torque (then need a bigger gear reduction) and you can see in the video that I had to add a large counterweight to the back because the knee motors can't lift enough weight - the wheels on the end of the legs also help by reducing sliding friction.

The overall point of what I'm doing is that traditional servos use stiff positional control techniques and it is almost impossible to use this approach to generate some of the dynamic adaptive behavior found in nature (google Passive Dynamic Walking for more info) In order to make more natural (and, ironically, easier to control) robots you need to start with force control so you can control the stiffness of each joint, and then add angle sensing at the higher level. The goal of my project then is to re-invent the robot servo using the idea of controlled compliance and making it as cheap as existing servos - The Series Elastic Actuators that you can get at the moment cost several thousand pounds, I'm aiming for a hobby servo sized device for less than one hundred pounds.
Hi all, a bit about the actuators first:

My system is based on the Series Elastic Actuator idea developed at MIT (http://yobotics.com/) and basically uses an instrumented spring between the motor and the output, and a control loop that tries to maintain a user defined spring deflection - basically this translates into control over the force at the output, when you specify zero deflection the actuator will behave as if there is no motor or gearbox and go 'limp',

What I have done is add an extra layer of control and an angle sensor so you can specify arbitrary forces for every angle, and damping for every angle and direction. This means you can create arbitrary spring damping systems that the actuator will try and emulate.

These 'profiles' for force and damping are combined with some other widgets, like thresholds that can be assigned to check various system variables and methods of modulating the spring damping profiles, to create what I termed a 'profile group'. Each actuator can have up to 8 profile groups and can swap between them on user defined conditions. So basically you can design a compliant joint, and actuate by moving the spring dampers around, and also instantly swap to different joints properties on certain conditions.

Now on to the robot ...

The bot is basically demonstrating how my control system and the swappable / modulatable springs can be used to embed reflexes in a robots joints, and how the force control system can also help create reactive behavior by allowing the motors to respond dynamically to external forces.

I am cheating with the robot to a certain degree in that it does not uses the active force control described above (I couldn't afford to make enough actuators with this feature) but instead it relies on a low ratio gearbox - basically the motor and gearbox has low impedance so it is easy to move it with an external force - this is good enough for the purpose of demonstrating the control system in this context (for my PhD thesis) but the drawback is that the motors don't deliver enough torque (then need a bigger gear reduction) and you can see in the video that I had to add a large counterweight to the back because the knee motors can't lift enough weight - the wheels on the end of the legs also help by reducing sliding friction.

The overall point of what I'm doing is that traditional servos use stiff positional control techniques and it is almost impossible to use this approach to generate some of the dynamic adaptive behavior found in nature (google Passive Dynamic Walking for more info) In order to make more natural (and, ironically, easier to control) robots you need to start with force control so you can control the stiffness of each joint, and then add angle sensing at the higher level. The goal of my project then is to re-invent the robot servo using the idea of controlled compliance and making it as cheap as existing servos - The Series Elastic Actuators that you can get at the moment cost several thousand pounds, I'm aiming for a hobby servo sized device for less than one hundred pounds.
BillBigge offline
Newbie
Newbie
Posts: 2
Joined: Mon Nov 09, 2009 11:56 am

Post by limor » Tue Nov 10, 2009 11:07 pm

Post by limor
Tue Nov 10, 2009 11:07 pm

Thanks for providing more information. This has great potential to open a new world of "compliance enabled" servos for hobby robotics.
So do you actually use a spring in your actuators or are those turquoise objects close to the payload side pots/encoders ?
Thanks for providing more information. This has great potential to open a new world of "compliance enabled" servos for hobby robotics.
So do you actually use a spring in your actuators or are those turquoise objects close to the payload side pots/encoders ?
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by BillBigge » Wed Nov 11, 2009 10:42 am

Post by BillBigge
Wed Nov 11, 2009 10:42 am

The actuators used in the robot don't have spring sensors so if you are referring to the photo of the robot then they are probably the angle pots. Because the robot was intended to demonstrate the way you could couple actuators together to trigger changes in their spring profiles, and because I had no real budget, I just used low reduction motors (30:1) which were sufficiently low impedance to behave in a compliant way without the need for active force control but, as I said above, this sacrificed torque which means the actuators aren't really good for anything except this demo.

I have made various versions with active force control using various types of spring sensor in an attempt to come up with something that is simple and easy to manufacture -the photo below shows a part built version and the barrel on the output shaft contains the spring sensor - this version used rubber bushes which on paper ought to be good except for the problem of hysteresis and compression set - if you squash the rubber for a period it becomes permanently deformed and the sensor needs re-calibration. I've got some better versions now but I'm keeping the design to myself whilst I try and commercialise it.

Image
The actuators used in the robot don't have spring sensors so if you are referring to the photo of the robot then they are probably the angle pots. Because the robot was intended to demonstrate the way you could couple actuators together to trigger changes in their spring profiles, and because I had no real budget, I just used low reduction motors (30:1) which were sufficiently low impedance to behave in a compliant way without the need for active force control but, as I said above, this sacrificed torque which means the actuators aren't really good for anything except this demo.

I have made various versions with active force control using various types of spring sensor in an attempt to come up with something that is simple and easy to manufacture -the photo below shows a part built version and the barrel on the output shaft contains the spring sensor - this version used rubber bushes which on paper ought to be good except for the problem of hysteresis and compression set - if you squash the rubber for a period it becomes permanently deformed and the sensor needs re-calibration. I've got some better versions now but I'm keeping the design to myself whilst I try and commercialise it.

Image
BillBigge offline
Newbie
Newbie
Posts: 2
Joined: Mon Nov 09, 2009 11:56 am


9 postsPage 1 of 1
9 postsPage 1 of 1