Lecture «Robot Dynamics»: Intro to Dynamics 151-0851-00 V lecture: exercise: CAB G11 HG E1.2 Tuesday 10:15 – 12:00, every week Wednesday 8:15 – 10:00, according to schedule (about every 2nd week) Marco Hutter, Roland Siegwart, and Thomas Stastny Robot Dynamics - Dynamics 1 | 17.10.2017 | 1 19.09.2017 26.09.2017 Intro and Outline Kinematics 1 Course Introduction; Recapitulation Position, Linear Velocity 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 10.10.2017 Kinematics 3 Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation Error; Multi-task Control 10.10.2017 Exercise 1b Differential Kinematics of the ABB arm Exercise 1c Kinematic Control of the ABB Arm 17.10.2017 Dynamics L1 Multi-body Dynamics 17.10.2017 24.10.2017 31.10.2017 Dynamics L2 Dynamics L3 Floating Base Dynamics Dynamic Model Based Control Methods 24.10.2017 31.10.2017 07.11.2017 14.11.2017 21.11.2017 Legged Robot Case Studies 1 Rotorcraft Dynamic Modeling of Legged Robots & Control Legged Robotics Case Study Dynamic Modeling of Rotorcraft & Control 07.11.2017 14.11.2017 21.11.2017 28.11.2017 05.12.2017 Case Studies 2 Fixed-wing Rotor Craft Case Study Dynamic Modeling of Fixed-wing & Control 28.11.2017 05.12.2017 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 Exercise 2a Dynamic Modeling of the ABB Arm Exercise 2b Dynamic Control Methods Applied to the ABB arm Exercise 3 Legged robot Exercise 4 Modeling and Control of Multicopter Exercise 5 Fixed-wing Control and Simulation Robot Dynamics - Dynamics 1 | 17.10.2017 | 2 Recapitulation of Kinematics Kinematics = description of motions Translations and rotations Various representations (Euler, quaternions, etc.) Instantaneous/Differential kinematics Jacobians and geometric Jacobians Inverse kinematics and control Floating base systems (unactuated base and contacts) Robot Dynamics - Dynamics 1 | 17.10.2017 | 3 Dynamics in Robotics Robot Dynamics - Dynamics 1 | 17.10.2017 | 4 Dynamics in Robotics Robot Dynamics - Dynamics 1 | 17.10.2017 | 5 Dynamics Outline b q, q g q τ J Tc Fc M q q Description of “cause of motion” Input τ Output q Force/Torque acting on system Motion of the system Principle of virtual work Newton’s law for particles Conservation of impulse and angular momentum q Generalized coordinates M q Mass matrix b q, q Centrifugal and Coriolis forces g q Gravity forces τ Generalized forces Fc External forces Jc Contact Jacobian 3 methods to get the EoM Newton-Euler: Free cut and conservation of impulse & angular momentum for each body Projected Newton-Euler (generalized coordinates) Lagrange II (energy) Introduction to dynamics of floating base systems External forces Robot Dynamics - Dynamics 1 | 17.10.2017 | 6 Principle of Virtual Work Principle of virtual work (D’Alembert’s Principle) Dynamic equilibrium imposes zero virtual work dFext external forces acting on element i r acceleration of element i variational parameter dm mass of element i r virtual displacement of element i Newton’s law for every particle in direction it can move r F r ma F ma r d F m v p dt p force dm Impulse or linear momentum Γ r dF S moment d m r v N dt N angular momentum Robot Dynamics - Dynamics 1 | 17.10.2017 | 7 Virtual Displacements of Single Rigid Bodies Rigid body Kinematics Applied to principle of virtual work Robot Dynamics - Dynamics 1 | 17.10.2017 | 8 Impulse and angular momentum Use the following definitions Conservation of impulse and angular momentum Newton A free body can move In all directions Euler External forces and moments Change in impulse and angular momentum Robot Dynamics - Dynamics 1 | 17.10.2017 | 9 1st Method for EoM Newton-Euler for single bodies Cut all bodies free Introduction of constraining force Apply conservation ܘand ۼto individual bodies Ψ ai System of equations 6n equation Eliminate all constrained forces (5n) Fi 2 Ω Fi1 mi vi Fg rOSi Pros and Cons + Intuitively clear + Direct access to constraining forces − Becomes a huge combinatorial problem for large MBS {I} Robot Dynamics - Dynamics 1 | 17.10.2017 | 10 Free Cut Cart pendulum example Find the equation of motion {I} mc , c g l m p , p Robot Dynamics - Dynamics 1 | 17.10.2017 | 11 Free Cut Cart pendulum Fy x Impulse / angular momentum cart mc xc Fx mc yc Fy Fl Fr mc g (1) cc Fr b Fl b (3) m p x p Fx (4) m p y p Fy m p g (5) pp Fx l cos p Fy l sin p (6) xc x (7) yc 0 (constraint) (8) c 0 (constraint) (9) x p x l sin (10a) x p x l cos 2l sin (10) y p l cos (11a ) y p l sin l cos (12a) p (11) p 2 Fx b (2) Impulse / angular momentum pendulum Kinematics mc , c Fl mc g Fr Fy Fx {I} y 6 equations, 6 unknowns resp. 12 equations, 12 unknowns (12) How many dimensions does the EoM have? g x l m p , p mp g Robot Dynamics - Dynamics 1 | 17.10.2017 | 12 Free Cut Cart pendulum Fy x (7),(10-12) in (1) and (4-6) mc x Fx mc , c Fx (13) m p x l cos 2l sin Fx (14) m p l sin 2l cos Fy m p g (15) p Fx l cos Fy l sin (16) Fl mc g Fr Fy From (13) and (14) remove Fx m p mc x m pl cos 2lm p sin 0 Fx {I} l Insert (13) and (15) in (16) to remove Fx and Fy p m p l 2 m p l cos x glm p sin 0 g m p , p mp g Robot Dynamics - Dynamics 1 | 17.10.2017 | 13 Free Cut Cart pendulum (7),(10-12) in (1) and (4-6) mc x Fx m p x l cos 2l sin Fx m p l sin 2l cos Fy m p g p Fx l cos Fy l sin (13) (14) mc xc Fx mc yc Fy Fl Fr mc g (1) cc Fr b Fl b (3) m p x p Fx (4) m p y p Fy m p g (5) pp Fx l cos p Fy l sin p (6) (15) xc x (7) yc 0 (constraint) (8) c 0 (constraint) (9) x p x l cos 2l sin (10) (16) From (13) and (14) remove Fx m p mc x m pl cos 2lm p sin 0 Fy (2) y p l sin 2l cos (11) p (12) x Fl mc , c Fx mc g Fr Fy Fx {I} l Insert (13) and (15) in (16) to remove Fx and Fy p m p l 2 m p l cos x glm p sin 0 g m p , p mp g Robot Dynamics - Dynamics 1 | 17.10.2017 | 14 Newton-Euler in Generalized Motion Directions For multi-body systems Express the impulse/angular momentum in generalized coordinates Virtual displacement in generalized coordinates With this, the principle of virtual work transforms to 0 W= qT q M q b q, q g q Robot Dynamics - Dynamics 1 | 17.10.2017 | 15 Projected Newton-Euler b q, q g q 0 M q q Equation of motion Directly get the dynamic properties of a multi-body system with n bodies For actuated systems, include actuation force as external force for each body If actuators act in the direction of generalized coordinates, ࣎ corresponds to stacked actuator commands Robot Dynamics - Dynamics 1 | 17.10.2017 | 16 Projected Newton-Euler Cart pendulum example Find the equation of motion {I} mc , c g l m p , p Robot Dynamics - Dynamics 1 | 17.10.2017 | 17 Projected Newton-Euler Cart pendulum example Kinematics cart and pendulum rOSc x q J Pc 0 0 0 0 dJ 0 l sin J Pp Pp dt 0 l cos drOSc 1 dq 0 0 dJ Pc dt 0 J Pc x x l sin rOS p l cos drOS p 1 l cos J Pp dq 0 l sin x 0 Equation of motion p J Rp p 0 1 q {I} mc , c g l m p , p mc m p lm p cos M J TPi mi J Pi J TRi i J Ri J TPc mc J Pc J TPp m p J Pp J TRp p J Rp 2 lm p cos m p l p b J mi J Pi q J TRi Θi J Ri q J Ri q Θi J Ri q T Pi 0 (planar system) 2 lm p sin J m p J Pp q 0 T Pp 0 0 T 0 g J Tsi Fig J TPc J m gl sin Pp m g m g p i 1 c p n Robot Dynamics - Dynamics 1 | 17.10.2017 | 18 3rd Method for EoM Lagrange II kinetic energy Lagrangian potential energy Lagrangian equation Since with U U q T T q, q T Mq q gravity vector inertial forces U d T T τ dt q q q T q q 1 M Mq 2 q T 1 2 T q T Mq M q q1 b q, q g q τ g M q q M q qn Robot Dynamics - Dynamics 1 | 17.10.2017 | 19 Lagrange II Kinetic energy Kinetic energy in joint space 1 2 T q T Mq Kinetic energy for all bodies From kinematics we know that Hence we get Robot Dynamics - Dynamics 1 | 17.10.2017 | 20 Lagrange II Potential energy Two sources for potential forces Gravitational forces Spring forces FE k j r r0 d 0 r r0 r r0 Robot Dynamics - Dynamics 1 | 17.10.2017 | 21 Lagrange II Cart pendulum example Find the equation of motion {I} mc , c g l m p , p Robot Dynamics - Dynamics 1 | 17.10.2017 | 22 Lagrange II Cart pendulum example Kinematics cart and pendulum x rOSc 0 x rSc 0 x l sin rOS p l cos x l cos rS p l sin x p p {I} Kinetic and potential energy 1 1 1 1 1 T r m r ω ω m x m x m l m 2 2 2 2 2 U m p gl cos 0-level can be chosen T Si i Si T i 2 i i c 2 p 2 p 2 p 1 cos 2 xl 2 mc , c g l m p , p Equation of motion d T T U 0 dt q q q mc x m p x m p l cos T 2 cos q m p l m p xl x m p x m p l cos m p l sin 2 d T mc sin xl cos m p xl dt q m p l 2 m p 0 T q m p xl sin 0 U m gl sin q p mc x m p x m p l cos m p l sin 2 0 2 xl cos m p gl sin m p l m p Robot Dynamics - Dynamics 1 | 17.10.2017 | 23 External Forces Given: Generalized forces are calculated as: Given: Generalized forces are calculated For actuator torques: Robot Dynamics - Dynamics 1 | 17.10.2017 | 24 External Forces Cart pendulum example Equation of motion without actuation 0 lm p cos mc m p 2 lm p sin q lm cos 0 2 sin m gl m l 0 p p p p M Add actuator for the pendulum Tp a Action on pendulum Tc a Reaction on cart b g a J Rp 0 1 J Rc 0 0 0 τ J TR ,i Ti J TRc Tc J TRp Tp a {I} x mc , c g a l Fx k x 2l sin xs m p , p l Add spring to the pendulum (world attachment point P, zero length 0, stiffness k) Fy k 2l cos ys Action on pendulum P xs , y s x 2l sin r Fx T 2l cos Fx τ J F Fs s 2l Fx cos Fy sin F 1 2 l cos r y Js s q 0 2l sin | 25 Robot Dynamics - Dynamics 1 | 17.10.2017 External Forces Cart pendulum example What is the external force coming from the motor x {I} mc , c M g l m p , p l Robot Dynamics - Dynamics 1 | 17.10.2017 | 26 External Forces Cart pendulum example What is the external force coming from the motor Action on cart Fact Fc Fact J Pc 1 0 F τ J T Fc act 0 {I} Fact x mc , c g l m p , p l Robot Dynamics - Dynamics 1 | 17.10.2017 | 27