lecture «robot dynamics»: dynamics 2 - eth zürich · how can we use this information in order to...
TRANSCRIPT
||
151-0851-00 Vlecture: CAB G11 Tuesday 10:15 – 12:00, every weekexercise: HG E1.2 Wednesday 8:15 – 10:00, according to schedule (about every 2nd week)office hour: LEE H303 Friday 12.15 – 13.00Marco Hutter, Roland Siegwart, and Thomas Stastny
25.10.2016Robot Dynamics - Dynamics 2 1
Lecture «Robot Dynamics»: Dynamics 2
||
Topic Title20.09.2016 Intro and Outline L1 Course Introduction; Recapitulation Position, Linear Velocity, Transformation27.09.2016 Kinematics 1 L2 Rotation Representation; Introduction to Multi-body Kinematics 28.09.2016 Exercise 1a E1a Kinematics Modeling the ABB arm04.10.2016 Kinematics 2 L3 Kinematics of Systems of Bodies; Jacobians05.10.2016 Exercise 1b L3 Differential Kinematics and Jacobians of the ABB Arm11.10.2016 Kinematics 3 L4 Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation
Error; Multi-task Control12.10.2016 Exercise 1c E1b Kinematic Control of the ABB Arm18.10.2016 Dynamics L1 L5 Multi-body Dynamics19.10.2016 Exercise 2a E2a Dynamic Modeling of the ABB Arm25.10.2016 Dynamics L2 L6 Dynamic Model Based Control Methods26.10.2016 Exercise 2b E2b Dynamic Control Methods Applied to the ABB arm01.11.2016 Legged Robots L7 Case Study and Application of Control Methods08.11.2016 Rotorcraft 1 L8 Dynamic Modeling of Rotorcraft I15.11.2016 Rotorcraft 2 L9 Dynamic Modeling of Rotorcraft II & Control16.11.2016 Exercise 3 E3 Modeling and Control of Multicopter22.11.2016 Case Studies 2 L10 Rotor Craft Case Study29.11.2016 Fixed-wing 1 L11 Flight Dynamics; Basics of Aerodynamics; Modeling of Fixed-wing Aircraft30.11.2016 Exercise 4 E4 Aircraft Aerodynamics / Flight performance / Model derivation06.12.2016 Fixed-wing 2 L12 Stability, Control and Derivation of a Dynamic Model07.12.2016 Exercise 5 E5 Fixed-wing Control and Simulation13.12.2016 Case Studies 3 L13 Fixed-wing Case Study20.12.2016 Summery and Outlook L14 Summery; Wrap-up; Exam 25.10.2016Robot Dynamics - Dynamics 2 2
||
We learned how to get the equation of motion in joint space Newton-Euler Projected Newton-Euler Lagrange II
Introduction to floating base systems
Today: How can we use this information in order to control the robot
25.10.2016Robot Dynamics - Dynamics 2 3
Recapitulation
, Tc c M q q b q q g q J F τ
Generalized accelerations Mass matrix
, Centrifugal and Coriolis forces
Gravity forces Generalized forces
External forcesContact Jacobian
c
c
qM q
b q q
g qτFJ
|| 25.10.2016Robot Dynamics - Dynamics 2 5
Setup of a Robot Arm
Actuator(Motor + Gear)
Robot Dynamics
ActuatorControl
( , )U I τ , ,q q q
System Control
||
Position feedback loop on joint level Classical, position controlled robots don’t care about dynamics High-gain PID guarantees good joint level tracking Disturbances (load, etc) are compensated by PID => interaction force can only be controlled with compliant surface
25.10.2016Robot Dynamics - Dynamics 2 6
Classical Position Control of a Robot Arm
Actuator(Motor + Gear)
Robot Dynamics
ActuatorControl
( , )U I τ
Position Sensor
, ,q q q ,q q
Robot
High gainPID
||
Actuator(Motor + Gear)
Robot Dynamics
ActuatorControl
( , )U I τ
Position Sensor
Torque Sensor
, ,q q q ,q q
τ
Integrate force-feedback Active regulation of system dynamics Model-based load compensation Interaction force control
25.10.2016Robot Dynamics - Dynamics 2 7
Joint Torque Control of a Robot Arm
||
Modern robots have force sensors Dynamic control Interaction control Safety for collaboration
25.10.2016Robot Dynamics - Dynamics 2 8
Setup of Modern Robot Arms
||
Special force controllable actuators Dynamic motion Safe interaction
25.10.2016Robot Dynamics - Dynamics 2 9
ANYpulatorAn example for a robot that can interact
||
Torque as function of position and velocity error
Closed loop behavior
Static offset due to gravity
Impedance control and gravity compensation
25.10.2016Robot Dynamics - Dynamics 2 10
Joint Impedance Control
Estimated gravity term
||
Compensate for system dynamics
In case of no modeling errors, the desired dynamics can be perfectly prescribed
PD-control law
Every joint behaves like a decoupled mass-spring-damper with unitary mass
25.10.2016Robot Dynamics - Dynamics 2 11
Inverse Dynamics Control
||
Motion in joint space is often hard to describe => use task space
A single task can be written as
In complex machines, we want to fulfill multiple tasks (As introduced already in for velocity control)
Same priority, multi-task inversion
Hierarchical
25.10.2016Robot Dynamics - Dynamics 2 12
Inverse Dynamics Control with Multiple Tasks
||
Joint-space dynamics
Torque to force mapping
Kinematic relation
Substitute acceleration
25.10.2016Robot Dynamics - Dynamics 2 13
Task Space Dynamics
{I}
{E}
eFew
End-effector dynamics
Inertia-ellipsoid
||
Determine a desired end-effector acceleration
Determine the corresponding joint torque
25.10.2016Robot Dynamics - Dynamics 2 14
End-effector Motion Control
{I}
{E}
eFew
e twTrajectory control R R RE χ χNote: a rotational error can be related
to differenced in representation by
|| 25.10.2016Robot Dynamics - Dynamics 2 15
Robots in InteractionThere is a long history in robots controlling motion and interaction
||
Extend end-effector dynamics in contact with contact force
Introduce selection matrices to separate motion force directions
25.10.2016Robot Dynamics - Dynamics 2 16
Operational Space ControlGeneralized framework to control motion and force
{I}
eFew
cFc F
||
Given: Find , s.t. the end-effector accelerates with exerts the contact force
25.10.2016Robot Dynamics - Dynamics 2 17
Operational Space Control2-link example
, 0T
e des yar
, 0 Tcontact des cFF
1
2 P
O
, 0c
contact des
F
F
,
0e des
ya
r
x
y
l
l
||
Given: Find , s.t. the end-effector accelerates with exerts the contact force
End-effector position and Jacobian
Desired end-effector dynamics
25.10.2016Robot Dynamics - Dynamics 2 18
Operational Space Control2-link example
, 0T
e des yar
, 0 Tcontact des cFF
1
2 P
O
, 0c
contact des
F
F
,
0e des
ya
r
1 12
1 12E
ls lslc lc
r 1 12 12
1 12 12e
lc lc lcls ls ls
J
, ,ˆˆ ˆˆe des contace des
Te
Fτ J μ prΛ
11
1
1
Te e
e
e
Λ J M J
μ ΛJ M b ΛJq
p ΛJ M g
x
y
l
l
||
Selection matrix in local frame
Rotation between contact force and world frame
25.10.2016Robot Dynamics - Dynamics 2 19
How to Find a Selection Matrix
1: it can move0: it can apply a force
||
Selection matrix in local frame
Rotation between contact force and world frame
25.10.2016Robot Dynamics - Dynamics 2 20
How to Find a Selection Matrix
||
Assume friction less contact surface
25.10.2016Robot Dynamics - Dynamics 2 21
Sliding a Prismatic Object Along a Surface
1 0 00 1 00 0 0
Mp
Σ
0 0 00 0 00 0 1
Fp
Σ
0 0 00 0 00 0 1
Mr
Σ
1 0 00 1 00 0 0
Fr
Σ
MpΣ MrΣ
FpΣFrΣ
||
Find the selection matrix (in local frame)
25.10.2016Robot Dynamics - Dynamics 2 22
Inserting a Cylindrical Peg in a Hole
0 0 00 0 00 0 1
Mp
Σ0 0 00 0 00 0 1
Mr
Σ
1 0 00 1 00 0 0
Fp
Σ1 0 00 1 00 0 0
Fr
Σ
MpΣ MrΣ
FpΣFrΣ
||
Equation of motion (1) Cannot directly be used for control due to the occurrence of contact forces
Contact constraint
Contact force Back-substitute in (1),
replace and use support null-space projection
Support consistent dynamics
25.10.2016Robot Dynamics - Dynamics 2 24
Recapitulation: Support Consistent Dynamics
s s J q J q
||
Equation of motion of floating base systems
Support-consistent
Inverse-dynamics
Multiple solutions
25.10.2016Robot Dynamics - Dynamics 2 25
Inverse Dynamics of Floating Base Systems
||
Floating base system with 12 actuated joint and 6 base coordinates (18DoF)
25.10.2016Robot Dynamics - Dynamics 2 27
Recapitulation: Quadrupedal Robot with Point Feet
Total constraints
Internal constraints
Uncontrollable DoFs
0
0
6
3
0
3
6
1
1
9
3
0
12
6
0
||
We search for a solution that fulfills the equation of motion
Motion tasks:
Force tasks:
Torque min:
25.10.2016Robot Dynamics - Dynamics 2 29
Operational Space Control as Quadratic ProgramA general problem
2min τ
||
QPs need different priority!! Exploit Null-space of tasks with higher priority Every step = quadratic problem with constraints Use iterative null-space projection (formula in script)
25.10.2016Robot Dynamics - Dynamics 2 30
Solving a Set of QPs