| | Autonomous Systems Lab 151-0851-00 V Lecture: Tuesday 10:15 – 12:00 CAB G11 Exercise: Tuesday 14:15 – 16:00 every 2nd week Marco Hutter, Michael Blösch, Roland Siegwart, Konrad Rudin and Thomas Stastny 13.10.2015 Marco Hutter Robot Dynamcis - Legged Robots 1 Robot Dynamics Legged Robotics
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Legged robot = dynamically unstable, highly non-linear and hybrid system Floating base unactuated coordinates (c.f. flying machine) Multiple legs and arms complex and redundant system properties Changing contacts constraints and impacts
Some examples of kinematics and dynamics as learned in previous lectures Estimate body posture (position and orientation) Foot placement (inverse kinematics problem) Contact force to adjust net force/torque on main body (“sort of” inverse dynamics)
Null-Space KinematicsRecapitulation of singularity and redundancy
s sr J
s sr J
s srank length r length n J 1s s J J
1
2= minimizes T T
s s s s s sr J J J J J
1
2= minimizes while T T
s s s s s sr J J J J J
||Autonomous Systems Lab
In a redundant system, we can achieve multiple goals (instead of minimizing ) Use stacked Jacobian Task 1: end-effector velocity Task 2: end-effector rotation rate
Combined:
Inversion:
What happens if you choose too many tasks to be fulfilled?
There exist different formulations for “moving the foot (task1) while keeping the base position and orientation (task2)”. Write down the solution for A and B!
What is the difference? What happens in singular configs?
Task 1: contact constraints foot motionTask 2: base position base orientation
Various Robust GaitsFrom careful static walk to dynamic run
static walk trotting over slippery obstacles
gait transition (walk to trot) running trot (flight phase)
||Autonomous Systems Lab
Various Robust GaitsFrom careful static walk to dynamic run
bounding high jump
pronking long jump
||Autonomous Systems Lab
How to Control a (Legged) RobotOverview
Global Localization
Mapping
Terrain perceptionActuatorControlBehavior
GenerationBehaviorControl
Locomotion Controller
Where am I?What is my local environment?
How do I move?
How should I move the main body?Where should I step?
How can I avoid slippage?
How can I optimally achieve the desired behavior?
How do I control my actuator?
State estimation
||Autonomous Systems Lab
Motion Generation
1. Stepping sequence (timing) defined by gait pattern
2. Main body motion Base position/velocity Attitude and rotation rates
3. Stepping location
Walk Trot Gallop
, ,12
FBF HC des st R HC des HC HCr r T k r r h
, b bt t , b br t r t
||Autonomous Systems Lab
Kinematics and Dynamics in ControlInverse kinematics for swing leg control
Foot point in base frame
Expressed in world frame Expressed in body frame
=> inverse kinematics in body frame
{I}
* * *
estimated base configuration
,B OB Bx r
,
planned swing leg trajectory
I OF desr t
, ,*
OB B Os F desF der rr
,I BF I BF r br r
B BF B BF rr r
, , ,swing le*
g,*
I OFB BF des B BF desB OB B e rdBI srr r r R
||Autonomous Systems Lab
Kinematics and Dynamics in Control(simple) whole body control
Adjust joint torques to track the swing leg
to move the base
ensure contact constraint
fully defines the motion of the system12 actuated + 6 unactuated = 18 DOF6 motion + 9 constraints + 3 swing leg = 18
Inverse dynamics control
{I}
* * *
estimated base configuration
,B OB Bx r
, , ,
target base configuration
( ) ( ), ( )B des OB des B desx t r t t
, ( )B desB B B x tx J J
0s s sr J J
,
planned swing leg trajectory
I OF desr t
, ( )OF desOF F F r tr J J
ˆ ˆˆ ˆ ˆT T TS S des b g
N S N M
1
0
( )( )
F
B
F
des B B
s s
OF
xr t
t
J JJ JJ J
If more tasks, use pseudo-inverse
||Autonomous Systems Lab
Locomotion as Optimization Problem
Write inverse dynamics as constraint (prioritized) optimization
Step 1: move bases.t.
Step 2: move swing leg
s.t.
Last step: minimize e.g torque or tangential contact forces s.t. all other task are still fulfilled
, , 2i is n s tF F , ,minis n nF F
Ts sb g F M J S
, (min )B des B Bx t
J J
<= equation of motion holds<= minimal normal contact force<= contact force in friction cone
, (min )OF des F Fr t
J J
Ts sb g F M J S
, ,minis n nF F
, , 2i is n s tF F
1 , ( )B des B Bc x t J J <= higher priority task is not influenced<= equation of motion holds<= minimal normal contact force<= contact force in friction cone