J. Zhang, L. Einig 277 / 307 MIN Faculty Department of Informatics Lecture 8 Jianwei Zhang, Lasse Einig [zhang, einig]@informatik.uni-hamburg.de University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems June 02, 2017
J. Zhang, L. Einig 278 / 307 Outline Dynamics Introduction Coordinate systems Kinematic Equations Robot Description Inverse Kinematics for Manipulators Differential motion with homogeneous transformations Jacobian Trajectory planning Trajectory generation Dynamics Forward and inverse Dynamics Dynamics of Manipulators Newton-Euler-Equation Langrangian Equations
J. Zhang, L. Einig 279 / 307 Outline (cont.) Dynamics General dynamic equations
J. Zhang, L. Einig 280 / 307 Dynamics of multibody systems Dynamics - Forward and inverse Dynamics A multibody system is a mechanical system of single bodies connected by joints, influenced by forces The term dynamics describes the behavior of bodies influenced by forces Typical forces: weight, friction, centrifugal, magnetic, spring,... kinematics just models the motion of bodies (without considering forces), therefore it can be seen as a subset of dynamics
J. Zhang, L. Einig 281 / 307 Forward and inverse Dynamics Dynamics - Forward and inverse Dynamics We consider a force F and its effect on a body: F = m a = m v In order to solve this equation, two of the variables need to be known.
J. Zhang, L. Einig 282 / 307 Forward Dynamics Dynamics - Forward and inverse Dynamics If the force F and the mass of the body m is known: a = v = F m Hence the following can be determined: velocity (by integration) coordinates of single bodies forward dynamics mechanical stress of bodies
J. Zhang, L. Einig 283 / 307 Forward Dynamics (cont.) Dynamics - Forward and inverse Dynamics Input τ i = torque at joint i that effects a trajectory Θ. i = 1,..., n, where n is the number of joints. Output Θ i = joint angle of i Θ i = angular velocity of joint i Θ i = angular acceleration of joint i
J. Zhang, L. Einig 284 / 307 Inverse Dynamics Dynamics - Forward and inverse Dynamics If the time curves of the joint angles are known, it can be differentiated twice. This way, internal forces and torques can be obtained for each body and joint. Problems of highly dynamic motions: models are not as complex as the real bodies differentiating twice (on sensor data) leads to high inaccuracy
J. Zhang, L. Einig 285 / 307 Inverse Dynamics (cont.) Dynamics - Forward and inverse Dynamics Input Θ i = joint angle i Θ i = angular velocity of joint i Θ i = angular acceleration of joint i i = 1,..., n, where n is the number of joints. Output τ i = required torque at joint i to produce trajectory Θ.
J. Zhang, L. Einig 286 / 307 Dynamics of Manipulators Dynamics - Dynamics of Manipulators Forward dynamics: Input: joint forces / torques; Output: kinematics; Application: Simulation of a robot model. Inverse Dynamics: Input: desired trajectory of a manipulator; Output: required joint forces / torques; Application: model-based control of a robot. τ(t) direct dynamics q(t) inverse dynamics τ(t) q(t), ( q(t), q(t)) Unlike kinematics, the inverse dynamics is easier to solve than forward dynamics
Dynamics of Manipulators (cont.) Dynamics - Dynamics of Manipulators Two methods for calculation: Analytical methods based on Lagrangian equations Synthetic methods: based on the Newton-Euler equations Computation time Complexity of solving the Lagrange-Euler-model is O(n 4 ) where n is the number of joints. n = 6: 66,271 multiplications and 51,548 additions. J. Zhang, L. Einig 287 / 307
J. Zhang, L. Einig 288 / 307 Lagrangian equations Dynamics - Dynamics of Manipulators The description of manipulator dynamics is directly based on the relations between the kinetic and potential energy of the manipulator joints. Here: constraining forces are not considered deep knowledge of mechanics is necessary high effort of defining equations can be solved by software
J. Zhang, L. Einig 289 / 307 Recursive Newton-Euler Method Dynamics - Dynamics of Manipulators Determine the kinematics from the fixed base to the TCP (relative kinematics) The resulting acceleration leads to forces towards rigid bodies The combination of constraining forces, payload forces, weight forces and working forces can be defined for every rigid body. All torques and momentums need to be in balance Solving this formula leads to the joint forces Especially suitable for serial kinematics of manipulator
J. Zhang, L. Einig 290 / 307 Influencing factors to robot dynamics Dynamics - Dynamics of Manipulators Functional affordance trajectory and velocity of links load on a link Control quantity velocity and acceleration of joints forces and torques Robot-specific elements geometry mass distribution
J. Zhang, L. Einig 291 / 307 Aim of determining robot dynamics Dynamics - Dynamics of Manipulators Determining joint forces and torques for one point of a trajectory (Θ, Θ, Θ) Determining the motion of a link or the complete manipulator for given joint-forces and -torques (τ) To achieve this the mathematical model is applied.
J. Zhang, L. Einig 292 / 307 Formulation of robot dynamics Dynamics - Dynamics of Manipulators Combining the different influence factors in the robot specific motion equation from kinematics (Θ, Θ, Θ) Practically the Newton-, Euler- and motion-equation for each joint are combined Advantages: numerically efficient, applicable for complex geometry, can be modularized
J. Zhang, L. Einig 293 / 307 Interim Conclusions Dynamics - Dynamics of Manipulators We can determine the forces with the Newton-equation The Euler-equation provides the torque The combination provides force and torque for each joint.
J. Zhang, L. Einig 294 / 307 Example: A 2 DOF manipulator Dynamics - Newton-Euler-Equation Dynamics of a multibody system, example: a two joint manipulator. R m 2 l 2 θ 2 m 1 l 1 θ 1
J. Zhang, L. Einig 295 / 307 Newton-Euler-Equations for 2 DOF manipulator Dynamics - Newton-Euler-Equation Using Newton s second law, the forces at the center of mass at link 1 and 2 are: F 1 = m 1 r 1 F 2 = m 2 r 2 where r 1 = 1 2 l 1(cos θ 1 i + sin θ 1 j) r 2 = 2r 1 + 1 2 l 2[cos(θ 1 + θ 2 ) i + sin(θ 1 + θ 2 ) j]
J. Zhang, L. Einig 296 / 307 Newton-Euler-Equations for 2 DOF manipulator (cont.) Dynamics - Newton-Euler-Equation Euler equations: τ 1 = I 1 ω 1 + ω 1 I 1 ω 1 τ 2 = I 2 ω 2 + ω 2 I 2 ω 2 where I 1 = m 2 1l 1 12 + m 1R 2 4 I 2 = m 2 2l 2 12 + m 2R 2 4
J. Zhang, L. Einig 297 / 307 Newton-Euler-Equations for 2 DOF manipulator (cont.) Dynamics - Newton-Euler-Equation The angular velocities and angular accelerations are: ω 1 = θ 1 ω 2 = θ 1 + θ 2 ω 1 = θ 1 ω 2 = θ 1 + θ 2 As ω i I i ω i = 0, the torques at the center of mass of links 1 and 2 are: τ 1 = I 1 θ 1 τ 2 = I 2 ( θ 1 + θ 2 ) F 1, F 2, τ 1, τ 2 are used for force and torque balance and are solved for joint 1 and 2.
Lagrangian Equations Dynamics - Langrangian Equations The Lagrangian function L is defined as the difference between kinetic energy K and potential energy P of the system. L = K P Theorem The motion equations of a mechanical system with coordinates q Θ n and the Lagrangian function L is defined by: d L L = F i, dt q i q i i = 1,..., n where q i : the coordinates, where the kinetic and potential energy is defined; q i : the velocity; F i : the force or torque, depending on the type of joint (rotational or linear) J. Zhang, L. Einig 298 / 307
J. Zhang, L. Einig 299 / 307 Example: A two joint manipulator Dynamics - Langrangian Equations Y X θ 1 d 1 m 1 d 2 m 2 θ 2
J. Zhang, L. Einig 300 / 307 Langragian Method for two joint manipulator Dynamics - Langrangian Equations The kinetic energy of mass m 1 is: The potential energy is: The cartesian positions are: K 1 = 1 2 m 1 d 1 2 2 θ 1 P 1 = m 1 g d 1 cos(θ 1 ) x 2 = d 1 sin(θ 1 ) + d 2 sin(θ 1 + θ 2 ) y 2 = d 1 cos(θ 1 ) d 2 cos(θ 1 + θ 2 )
J. Zhang, L. Einig 301 / 307 Langragian Method for two joint manipulator (cont.) Dynamics - Langrangian Equations The cartesian components of velocity are: The square of velocity is: ẋ 2 = d 1 cos(θ 1 ) θ 1 + d 2 cos(θ 1 + θ 2 )( θ 1 + θ 2 ) The kinetic energy of link 2 is: ẏ 2 = d 1 sin(θ 1 ) θ 1 + d 2 sin(θ 1 + θ 2 )( θ 1 + θ 2 ) The potential energy of link 2 is: v 2 2 = x 2 2 2 + y 2 K 2 = 1 2 m 2v 2 2 P 2 = m 2 gd 1 cos(θ 1 ) m 2 gd 2 cos(θ 1 + θ 2 )
J. Zhang, L. Einig 302 / 307 Langragian Method for two joint manipulator (cont.) Dynamics - Langrangian Equations The Lagrangian function is: L = (K 1 + K 2 ) (P 1 + P 2 ) The force/torque to joint 1 and 2 are: τ 1 = d dt τ 2 = d dt L θ L 1 θ 1 L L θ 2 θ 2
Langragian Method for two joint manipulator (cont.) Dynamics - Langrangian Equations τ 1 and τ 2 are expressed as follows: τ 1 =D 11 θ1 + D 12 θ2 + D 111 θ2 1 + D 122 θ2 2 + D 112 θ 1 θ 2 + D 121 θ 2 θ 1 + D 1 where τ 2 =D 21 θ 1 + D 22 θ 2 + D 211 θ 2 1 + D 222 θ 2 2 D ii : the inertia to joint i; + D 212 θ 1 θ 2 + D 221 θ 2 θ 1 + D 2 D ij : the coupling of inertia between joint i and j; D ijj : the coefficients of the centripetal force to joint i because of the velocity of joint j; D iik (D iki ): the coefficients of the Coriolis force to joint i effected by the velocities of joint i and k; D i : the gravity of joint i. J. Zhang, L. Einig 303 / 307
J. Zhang, L. Einig 304 / 307 General dynamic equations of a manipulator Dynamics - General dynamic equations τ = M(Θ) Θ + V (Θ, Θ) + G(Θ) M(Θ): the position dependent n n-mass matrix of a manipulator For the example given above: M(Θ) = [ ] D11 D 12 D 21 D 22 V (Θ, Θ): an n 1-vector of centripetal and coriolis coefficients For the example given above: V (Θ, Θ) = [ ] D111 θ2 1 + D 122 θ2 2 + D 112 θ1 θ2 + D 121 θ2 θ1 D 211 θ 2 1 + D 222 θ 2 2 + D 212 θ 1 θ 2 + D 221 θ 2 θ 1
J. Zhang, L. Einig 305 / 307 General dynamic equations of a manipulator (cont.) Dynamics - General dynamic equations a term such as D 111 θ 1 2 is caused by coriolis force; a term such as D 112 θ1 θ2 is caused by coriolis force and depends on the (math.) product of the two velocities. G(Θ): a term of velocity, depends on Θ. for the example given above G(Θ) = [ ] D1 D 2
J. Zhang, L. Einig 306 / 307 Bibliography Dynamics - General dynamic equations [1] K. Fu, R. González, and C. Lee, Robotics: Control, Sensing, Vision, and Intelligence. McGraw-Hill series in CAD/CAM robotics and computer vision, McGraw-Hill, 1987. [2] R. Paul, Robot Manipulators: Mathematics, Programming, and Control : the Computer Control of Robot Manipulators. Artificial Intelligence Series, MIT Press, 1981. [3] J. Craig, : Pearson New International Edition: Mechanics and Control. Always learning, Pearson Education, Limited, 2013. [4] J. F. Engelberger, Robotics in service. MIT Press, 1989. [5] W. Böhm, G. Farin, and J. Kahmann, A Survey of Curve and Surface Methods in CAGD, Comput. Aided Geom. Des., vol. 1, pp. 1 60, July 1984.
J. Zhang, L. Einig 307 / 307 Bibliography (cont.) Dynamics - General dynamic equations [6] J. Zhang and A. Knoll, Constructing fuzzy controllers with B-spline models-principles and applications, International Journal of Intelligent Systems, vol. 13, no. 2-3, pp. 257 285, 1998. [7] M. Eck and H. Hoppe, Automatic reconstruction of b-spline surfaces of arbitrary topological type, in Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH 96, (New York, NY, USA), pp. 325 334, ACM, 1996.