Lecture «Robot Dynamics»: Dynamics 2

Lecture «Robot Dynamics»: Dynamics 2
151-0851-00 V
lecture:
CAB G11
Tuesday 10:15 – 12:00, every week
exercise:
HG E1.2
Wednesday 8:15 – 10:00, according to schedule (about every 2nd week)
office hour:
LEE H303
Friday 12.15 – 13.00
Marco Hutter, Roland Siegwart, and Thomas Stastny
Robot Dynamics - Dynamics 2
|
25.10.2016
|
1
20.09.2016
27.09.2016
28.09.2016
04.10.2016
05.10.2016
11.10.2016
Topic
Intro and Outline
Kinematics 1
Exercise 1a
Kinematics 2
Exercise 1b
Kinematics 3
L1
L2
E1a
L3
L3
L4
12.10.2016
18.10.2016
19.10.2016
25.10.2016
26.10.2016
01.11.2016
08.11.2016
15.11.2016
16.11.2016
22.11.2016
29.11.2016
30.11.2016
06.12.2016
07.12.2016
13.12.2016
20.12.2016
Exercise 1c
Dynamics L1
Exercise 2a
Dynamics L2
Exercise 2b
Legged Robots
Rotorcraft 1
Rotorcraft 2
Exercise 3
Case Studies 2
Fixed-wing 1
Exercise 4
Fixed-wing 2
Exercise 5
Case Studies 3
Summery and Outlook
E1b
L5
E2a
L6
E2b
L7
L8
L9
E3
L10
L11
E4
L12
E5
L13
L14
Title
Course Introduction; Recapitulation Position, Linear Velocity, Transformation
Rotation Representation; Introduction to Multi-body Kinematics
Kinematics Modeling the ABB arm
Kinematics of Systems of Bodies; Jacobians
Differential Kinematics and Jacobians of the ABB Arm
Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation
Error; Multi-task Control
Kinematic Control of the ABB Arm
Multi-body Dynamics
Dynamic Modeling of the ABB Arm
Dynamic Model Based Control Methods
Dynamic Control Methods Applied to the ABB arm
Case Study and Application of Control Methods
Dynamic Modeling of Rotorcraft I
Dynamic Modeling of Rotorcraft II & Control
Modeling and Control of Multicopter
Rotor Craft Case Study
Flight Dynamics; Basics of Aerodynamics; Modeling of Fixed-wing Aircraft
Aircraft Aerodynamics / Flight performance / Model derivation
Stability, Control and Derivation of a Dynamic Model
Fixed-wing Control and Simulation
Fixed-wing Case Study
|
Robot Dynamics - Dynamics 2 |
25.10.2016
Summery; Wrap-up; Exam
2
Recapitulation
  b  q, q   g  q   J Tc Fc  τ
M q q
 We learned how to get the equation of motion in joint space
 Newton-Euler
 Projected Newton-Euler
 Lagrange II
 Introduction to floating base systems

q
Generalized accelerations
M q
Mass matrix
b  q, q 
Centrifugal and Coriolis forces
g q
Gravity forces
τ
Generalized forces
Fc
External forces
Jc
Contact Jacobian
 Today:
 How can we use this information in order to control the robot
Robot Dynamics - Dynamics 2
|
25.10.2016
|
3
Position vs. Torque Controlled Robot Arms
Robot Dynamics - Dynamics 2
|
25.10.2016
|
4
Setup of a Robot Arm
System Control
Actuator
Control
(U , I )
Actuator
(Motor + Gear)
τ
Robot
Dynamics
q, q , q
Robot Dynamics - Dynamics 2
|
25.10.2016
|
5
Classical Position Control of a Robot Arm

Robot

q , q
Actuator
Actuator
High
gain (U , I )
Control
(Motor + Gear)
PID
τ
Robot
Dynamics
q, q , q
Position Sensor
 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
Robot Dynamics - Dynamics 2
|
25.10.2016
|
6
Joint Torque Control of a Robot Arm
q  , q 
τ
Actuator
Control
(U , I )
Actuator
(Motor + Gear)
τ
Robot
Dynamics
q, q , q
Torque Sensor
Position Sensor
 Integrate force-feedback
 Active regulation of system dynamics
 Model-based load compensation
 Interaction force control
Robot Dynamics - Dynamics 2
|
25.10.2016
|
7
Setup of Modern Robot Arms
 Modern robots have force sensors
 Dynamic control
 Interaction control
 Safety for collaboration
Robot Dynamics - Dynamics 2
|
25.10.2016
|
8
ANYpulator
An example for a robot that can interact
 Special force controllable actuators
 Dynamic motion
 Safe interaction
Robot Dynamics - Dynamics 2
|
25.10.2016
|
9
Joint Impedance Control
 Torque as function of position and velocity error
 Closed loop behavior
 Static offset due to gravity
 Impedance control and gravity compensation
Estimated gravity term
Robot Dynamics - Dynamics 2
|
25.10.2016
|
10
Inverse Dynamics Control
 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
Robot Dynamics - Dynamics 2
|
25.10.2016
|
11
Inverse Dynamics Control with Multiple Tasks
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
Robot Dynamics - Dynamics 2
|
25.10.2016
|
12
Task Space Dynamics
e
w
Fe
 Joint-space dynamics
End-effector dynamics
{E}
Inertia-ellipsoid
 Torque to force mapping
 Kinematic relation
 Substitute acceleration
{I}
Robot Dynamics - Dynamics 2
|
25.10.2016
|
13
End-effector Motion Control
e
w
Fe
 Determine a desired end-effector acceleration
{E}
 e t 
w
Note: a rotational error can be related
  ER  χ R  χ R
to differenced in representation by
Trajectory control
 Determine the corresponding joint torque
{I}
Robot Dynamics - Dynamics 2
|
25.10.2016
|
14
Robots in Interaction
There is a long history in robots controlling motion and interaction
Robot Dynamics - Dynamics 2
|
25.10.2016
|
15
Operational Space Control
Generalized framework to control motion and force
e
w
Fe
 Extend end-effector dynamics in contact with contact force
Fc 
Fc
 Introduce selection matrices to separate motion force directions
{I}
Robot Dynamics - Dynamics 2
|
25.10.2016
|
16
Operational Space Control
2-link example
 Given:
 Find ࣎, s.t. the end-effector
 accelerates with
 exerts the contact force
re,des   0 a y 
Fcontact ,des   Fc
y
T
O
0
x
T
1
l
re,des
l
0
 
 ay 
2 P
F 
Fcontact ,des   c 
0
Robot Dynamics - Dynamics 2
|
25.10.2016
|
17
Operational Space Control
2-link example
 Given:
 Find ࣎, s.t. the end-effector
 accelerates with
 exerts the contact force
y
re,des   0 a y 
Fcontact ,des   Fc
T
O
0
T
1
 End-effector position and Jacobian
 lc1  lc12
 ls  ls12 
J

rE   1
e
 ls  ls

12
 1
 lc1  lc12 
lc12 
ls12 
 Desired end-effector dynamics

ˆ 
τ  Jˆ Te Λ
re ,des  μˆ  pˆ  Fcontace,des

x
Λ   J e M 1J Te 
re,des
l
0
 
 ay 
1

μ  ΛJ e M 1b  ΛJq
p  ΛJ e M 1g
l
2 P
F 
Fcontact ,des   c 
0
Robot Dynamics - Dynamics 2
|
25.10.2016
|
18
How to Find a Selection Matrix
 Selection matrix in local frame
1: it can move
0: it can apply a force

Rotation between contact force and world frame
Robot Dynamics - Dynamics 2
|
25.10.2016
|
19
How to Find a Selection Matrix
 Selection matrix in local frame

Rotation between contact force and world frame
Robot Dynamics - Dynamics 2
|
25.10.2016
|
20
Sliding a Prismatic Object Along a Surface
 Assume friction less contact surface
1
Σ Mp  0

0
0
Σ Fp  0

0
0 0
1 0

0 0
0 0

0 0

0 1
Σ Mr
0 0 0
 0 0 0


0 0 1
1 0 0
Σ Fr  0 1 0


0 0 0
Robot Dynamics - Dynamics 2
|
25.10.2016
|
21
Inserting a Cylindrical Peg in a Hole
 Find the selection matrix (in local frame)
0
Σ Mp  0

0
1
Σ Fp  0

0
0 0
0 0

0 1
0 0

1 0

0 0
Σ Mr
0 0 0
 0 0 0


0 0 1
1 0 0
Σ Fr  0 1 0


0 0 0
Robot Dynamics - Dynamics 2
|
25.10.2016
|
22
Inverse Dynamics of Floating Base Systems
Robot Dynamics - Dynamics 2
|
25.10.2016
|
23
Recapitulation: Support Consistent Dynamics
 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 J s q   J s q and use
support null-space projection
 Support consistent dynamics
Robot Dynamics - Dynamics 2
|
25.10.2016
|
24
Inverse Dynamics of Floating Base Systems
 Equation of motion of floating base systems
 Support-consistent
 Inverse-dynamics
 Multiple solutions
Robot Dynamics - Dynamics 2
|
25.10.2016
|
25
Some Examples of Using Internal Forces
Robot Dynamics - Dynamics 2
|
25.10.2016
|
26
Recapitulation: Quadrupedal Robot with Point Feet
 Floating base system with 12 actuated joint and 6 base coordinates (18DoF)
Total constraints
0
3
6
9
12
Internal constraints
0
0
1
3
6
Uncontrollable DoFs
6
3
1
0
0
Robot Dynamics - Dynamics 2
|
25.10.2016
|
27
Some Examples of Using Internal Forces
Robot Dynamics - Dynamics 2
|
25.10.2016
|
28
Operational Space Control as Quadratic Program
A general problem
 We search for a solution that fulfills the equation of motion
 Motion tasks:
 Force tasks:
 Torque min:
min τ
2
Robot Dynamics - Dynamics 2
|
25.10.2016
|
29
Solving a Set of QPs




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)
Robot Dynamics - Dynamics 2
|
25.10.2016
|
30
Behavior as Multiple Tasks
Robot Dynamics - Dynamics 2
|
25.10.2016
|
31