by BillBigge » Mon Nov 09, 2009 12:27 pm
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.