Lecture «Robot Dynamics»: Dynamics and Control 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) Marco Hutter, Roland Siegwart, and Thomas Stastny Robot Dynamics - Dynamics 2 24.10.2017 1
19.09.2017 Intro and Outline Course Introduction; Recapitulation Position, Linear Velocity 26.09.2017 Kinematics 1 Rotation and Angular Velocity; Rigid Body Formulation, Transformation 26.09.2017 Exercise 1a Kinematics Modeling the ABB arm 03.10.2017 Kinematics 2 Kinematics of Systems of Bodies; Jacobians 03.10.2017 Exercise 1b Differential Kinematics of the ABB arm 10.10.2017 Kinematics 3 Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation Error; Multi-task Control 10.10.2017 Exercise 1c Kinematic Control of the ABB Arm 17.10.2017 Dynamics L1 Multi-body Dynamics 17.10.2017 Exercise 2a Dynamic Modeling of the ABB Arm 24.10.2017 Dynamics L2 Floating Base Dynamics 24.10.2017 31.10.2017 Dynamics L3 Dynamic Model Based Control Methods 31.10.2017 Exercise 2b Dynamic Control Methods Applied to the ABB arm 07.11.2017 Legged Robot Dynamic Modeling of Legged Robots & Control 07.11.2017 Exercise 3 Legged robot 14.11.2017 Case Studies 1 Legged Robotics Case Study 14.11.2017 21.11.2017 Rotorcraft Dynamic Modeling of Rotorcraft & Control 21.11.2017 Exercise 4 Modeling and Control of Multicopter 28.11.2017 Case Studies 2 Rotor Craft Case Study 28.11.2017 05.12.2017 Fixed-wing Dynamic Modeling of Fixed-wing & Control 05.12.2017 Exercise 5 Fixed-wing Control and Simulation 12.12.2017 Case Studies 3 Fixed-wing Case Study (Solar-powered UAVs - AtlantikSolar, Vertical Take-off and Landing UAVs Wingtra) 19.12.2017 Summery and Outlook Summery; Wrap-up; Exam Robot Dynamics - Dynamics 3 31.10.2016 2
Recapitulation 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, M q qb q q g S q M q T T q τ JF c c Generalized coordinates Mass matrix bqq, Centrifugal and Coriolis forces g q τ S F J c c Gravity forces Generalized fores c Selection matrix/jacobian External forces Contact Jacobian Robot Dynamics - Dynamics 3 31.10.2016 3
Position vs. Torque Controlled Robot Arms Robot Dynamics - Dynamics 3 31.10.2016 4
Setup of a Robot Arm System Control Actuator Control ( U, I) τ qqq,, Actuator (Motor + Gear) Robot Dynamics Robot Dynamics - Dynamics 3 31.10.2016 5
Classical Position Control of a Robot Arm q, q High Actuator gain Control PID ( U, I) Actuator (Motor + Gear) τ Robot Robot Dynamics qqq,, 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 3 31.10.2016 6
Joint Torque Control of a Robot Arm q, q τ Actuator Control ( U, I) Actuator (Motor + Gear) τ Robot Dynamics qqq,, Torque Sensor Position Sensor Integrate force-feedback Active regulation of system dynamics Model-based load compensation Interaction force control Robot Dynamics - Dynamics 3 31.10.2016 7
Setup of Modern Robot Arms Modern robots have force sensors Dynamic control Interaction control Safety for collaboration Robot Dynamics - Dynamics 3 31.10.2016 8
FRANKA an example of a force controllable robot arm Robot Dynamics - Dynamics 3 31.10.2016 9
ANYpulator An example for a robot that can interact Special force controllable actuators Dynamic motion Safe interaction position force motor gear spring link Series Elastic Actuator Robot Dynamics - Dynamics 3 31.10.2016 10
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 3 31.10.2016 11
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 3 31.10.2016 12
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 for velocity control) Same priority, multi-task inversion Hierarchical Robot Dynamics - Dynamics 3 31.10.2016 13
Task Space Dynamics Joint-space dynamics End-effector dynamics w e F e {E} Torque to force mapping Inertia-ellipsoid Kinematic relation Substitute acceleration {I} Robot Dynamics - Dynamics 3 31.10.2016 14
End-effector Motion Control Determine a desired end-effector acceleration Note: a rotational error can be related to differenced in representation by Determine the corresponding joint torque E R χ R χ R w t e Trajectory control w e F e {E} {I} Robot Dynamics - Dynamics 3 31.10.2016 15
Robots in Interaction There is a long history in robots controlling motion and interaction Robot Dynamics - Dynamics 3 31.10.2016 16
Operational Space Control Generalized framework to control motion and force Extend end-effector dynamics in contact with contact force F c Introduce selection matrices to separate motion force directions w e F e F c {I} Robot Dynamics - Dynamics 3 31.10.2016 17
Operational Space Control 2-link example Given: Find, s.t. the end-effector r accelerates with exerts the contact force T edes, 0 a y, 0 T contact des Fc F 1 y O l x l r edes, 0 a y P 2 F contact, des F 0 c Robot Dynamics - Dynamics 3 31.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 3 31.10.2016 20
How to Find a Selection Matrix Selection matrix in local frame Rotation between contact force and world frame Robot Dynamics - Dynamics 3 31.10.2016 21
Sliding a Prismatic Object Along a Surface Assume friction less contact surface Σ Mp Σ Fp 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 Σ Σ Mr Σ Fr 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 Robot Dynamics - Dynamics 3 31.10.2016 22
Inserting a Cylindrical Peg in a Hole Find the selection matrix (in local frame) Σ Mp Σ Fp 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 Σ Σ Mr Σ Fr 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 Robot Dynamics - Dynamics 3 31.10.2016 23
Inverse Dynamics of Floating Base Systems Robot Dynamics - Dynamics 3 31.10.2016 24
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 Jq s Jq s and use support null-space projection Support consistent dynamics Inverse-dynamics Multiple solutions Robot Dynamics - Dynamics 3 31.10.2016 25
Some Examples of Using Internal Forces Robot Dynamics - Dynamics 3 31.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 3 31.10.2016 27
Internal Forces extreme example Robot Dynamics - Dynamics 3 31.10.2016 28
Robot Dynamics - Dynamics 3 31.10.2016 29
Least Square Optimization some notes on quadratic optimization Ax b 0 x=a b min Ax b min x 2 2 x x1 x1 Ax 1 1b Ax min 2 2 = A1 A2 b A1 A2 b x1, x2 x2 x 2 2 min x x 1 2 2 Axb 0 1 1 Axb 0 2 2 Equal priority A1 b 1 1 1 x= x x A 2 b 2 2 2 2 min A b min x 2 A b Hierarchy x A b N A x 1 1 1 0 N Axb A Ab A x b 0 2 2 2 1 1 1 0 2 x A A b A A b min x min x st.. Axb 1 1 2 Axb 2 2 2 Axb c 0 2N 1 1 1 1 2 2 1 1 Robot Dynamics - Dynamics 3 31.10.2016 30
Least Square Optimization Application to Inverse Dynamics Mq b g τ Jq Jq w * e e e q M I bg 0 τ * J 0 Jq w e q τ e Single task min qτ, M Iq bg J 0 τ Jq w * e e q * min Je 0 Jq w e qτ, τ Priority 2 q st..m I bg0 τ 2 Robot Dynamics - Dynamics 3 31.10.2016 31
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 3 31.10.2016 32
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 3 31.10.2016 33
Behavior as Multiple Tasks Robot Dynamics - Dynamics 3 31.10.2016 34
Quasi-static: Virtual Model Control Pratt 2001 No dynamic effects Add virtual external forces to pull/support the robot Static equilibrium of forces and moments From principle of virtual work it follows directly that Robot Dynamics - Dynamics 3 31.10.2016 35
Next Time Application of this technique for locomotion control of legged robots Robot Dynamics - Dynamics 3 31.10.2016 36
Robot Dynamics - Dynamics 3 31.10.2016 37