Lecture Notes Multibody Dynamics B, wb1413

Similar documents
Lecture Notes Multibody Dynamics B, wb1413

Chapter 8 Lecture Notes

Lecture 38: Equations of Rigid-Body Motion

Chapter 3 Numerical Methods

Forces of Constraint & Lagrange Multipliers

Nonholonomic Constraints Examples

AB-267 DYNAMICS & CONTROL OF FLEXIBLE AIRCRAFT

Chapter 1 Lecture 2. Introduction 2. Topics. Chapter-1

Classical Mechanics III (8.09) Fall 2014 Assignment 3

Lecture 38: Equations of Rigid-Body Motion

Institute of Geometry, Graz, University of Technology Mobile Robots. Lecture notes of the kinematic part of the lecture

12. Rigid Body Dynamics I

Control of Mobile Robots Prof. Luca Bascetta

We define angular displacement, θ, and angular velocity, ω. What's a radian?

Advanced Dynamics. - Lecture 4 Lagrange Equations. Paolo Tiso Spring Semester 2017 ETH Zürich

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1.

ON THE INTERPRETATION OF THE LAGRANGE MULTIPLIERS IN THE CONSTRAINT FORMULATION OF CONTACT PROBLEMS; OR WHY ARE SOME MULTIPLIERS ALWAYS ZERO?

Exercise 1b: Differential Kinematics of the ABB IRB 120

Circular Motion, Pt 2: Angular Dynamics. Mr. Velazquez AP/Honors Physics

Mechanics Lecture Notes

Karlstads University Faculty of Technology and Science Physics. Rolling constraints. Author: Henrik Jackman. Classical mechanics

Physics 351 Wednesday, April 4, 2018

Assignment 2. Goldstein 2.3 Prove that the shortest distance between two points in space is a straight line.

Lecture 37: Principal Axes, Translations, and Eulerian Angles

ME 230: Kinematics and Dynamics Spring 2014 Section AD. Final Exam Review: Rigid Body Dynamics Practice Problem

Lecture Note 8: Inverse Kinematics

Torque and Rotation Lecture 7

Review for 3 rd Midterm

Physics 106a, Caltech 4 December, Lecture 18: Examples on Rigid Body Dynamics. Rotating rectangle. Heavy symmetric top

Lecture Note 7: Velocity Kinematics and Jacobian

DYNAMICS OF PARALLEL MANIPULATOR

Momentum. The way to catch a knuckleball is to wait until it stops rolling and then pick it up. -Bob Uecker

Advanced Robotic Manipulation

Multibody simulation

Approach based on Cartesian coordinates

Dynamics 12e. Copyright 2010 Pearson Education South Asia Pte Ltd. Chapter 20 3D Kinematics of a Rigid Body

8 Velocity Kinematics

Phys 7221 Homework # 8

Robot Dynamics Lecture Notes. Robotic Systems Lab, ETH Zurich

Solar Sailing near a collinear point

Lecture D16-2D Rigid Body Kinematics

1 Kalman Filter Introduction

Lab #4 - Gyroscopic Motion of a Rigid Body

Lecture 9: Modeling and motion models

Numerical Methods for Rigid Multibody Dynamics

Lecture Note 4: General Rigid Body Motion

z 0 > 0 z = 0 h; (x, 0)

CE 530 Molecular Simulation

Constraints. Noninertial coordinate systems

6. 3D Kinematics DE2-EA 2.1: M4DE. Dr Connor Myant

The Jacobian. Jesse van den Kieboom

Physics 312, Winter 2007, Practice Final

Designing Information Devices and Systems I Spring 2015 Note 3

DIFFERENTIAL KINEMATICS. Geometric Jacobian. Analytical Jacobian. Kinematic singularities. Kinematic redundancy. Inverse differential kinematics

Inertial Odometry using AR Drone s IMU and calculating measurement s covariance

Balancing of the skateboard with reflex delay

Lecture 9 - Rotational Dynamics

Kinematics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Kinematics Semester 1, / 15

Rotational & Rigid-Body Mechanics. Lectures 3+4

Physical Dynamics (PHY-304)

Generalized coordinates and constraints

Generalized Coordinates, Lagrangians

CEE 271: Applied Mechanics II, Dynamics Lecture 28: Ch.17, Sec.2 3

Lecture Note 7: Velocity Kinematics and Jacobian

MEAM 520. More Velocity Kinematics

Physical Dynamics (SPA5304) Lecture Plan 2018

Free rotation of a rigid body 1 D. E. Soper 2 University of Oregon Physics 611, Theoretical Mechanics 5 November 2012

Integration of Constraint Equations in Problems of a Disc and a Ball Rolling on a Horizontal Plane

Solutions to homework assignment #3 Math 119B UC Davis, Spring = 12x. The Euler-Lagrange equation is. 2q (x) = 12x. q(x) = x 3 + x.

Handout 7: Torque, angular momentum, rotational kinetic energy and rolling motion. Torque and angular momentum

2.003 Engineering Dynamics Problem Set 4 (Solutions)

Robot Control Basics CS 685

Physics 121, March 25, Rotational Motion and Angular Momentum. Department of Physics and Astronomy, University of Rochester

Solving high order nonholonomic systems using Gibbs-Appell method

Robotics & Automation. Lecture 25. Dynamics of Constrained Systems, Dynamic Control. John T. Wen. April 26, 2007

ESM 3124 Intermediate Dynamics 2012, HW6 Solutions. (1 + f (x) 2 ) We can first write the constraint y = f(x) in the form of a constraint

PLANAR KINETIC EQUATIONS OF MOTION (Section 17.2)

Rotational Motion and Torque

Assignments VIII and IX, PHYS 301 (Classical Mechanics) Spring 2014 Due 3/21/14 at start of class

Physics 351 Monday, April 3, 2017

UAV Coordinate Frames and Rigid Body Dynamics

Phys101 Lectures 19, 20 Rotational Motion

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

A motion planner for nonholonomic mobile robots

COMP 558 lecture 18 Nov. 15, 2010

(W: 12:05-1:50, 50-N202)

Robotics I. Figure 1: Initial placement of a rigid thin rod of length L in an absolute reference frame.

Real-time Motion Control of a Nonholonomic Mobile Robot with Unknown Dynamics

ROBOTICS: ADVANCED CONCEPTS & ANALYSIS

A MULTI-BODY ALGORITHM FOR WAVE ENERGY CONVERTERS EMPLOYING NONLINEAR JOINT REPRESENTATION

Noninertial Reference Frames

PLANAR KINETIC EQUATIONS OF MOTION: TRANSLATION

Lecture AC-1. Aircraft Dynamics. Copy right 2003 by Jon at h an H ow

Robot Dynamics Instantaneous Kinematiccs and Jacobians

P321(b), Assignement 1

Position and orientation of rigid bodies

Advanced Dynamics. - Lecture 1 Constraints. Paolo Tiso Spring Semester 2017 ETH Zürich

Multibody simulation

Non-holonomic constraint example A unicycle

Moment of Inertia Race

Transcription:

Lecture Notes Multibody Dynamics B, wb1413 A. L. Schwab & Guido M.J. Delhaes Laboratory for Engineering Mechanics Mechanical Engineering Delft University of Technolgy The Netherlands June 9, 29

Contents 1 Notes on the Bicycle Project 2 1.1 The Model.............................. 2 1.2 Constraints.............................. 7 1

Chapter 1 Notes on the Bicycle Project 1.1 The Model This is a recipe for making a full 3D dynamic model of a bicycle. Figure 1.1: bicycle model Start with some counting to see the number of degrees of freedom in the coordinate space and in the velocity space. The no-slip conditions are conditions in the velocities which can not be expressed in terms of the coordinates only. These type of constraints are called nonholonomic, opposed to the regular or holonomic constraints. 4 bodies 4 6 = 24 coordinates 3 hinges 3 5 = 15 constraints on coordinates, holonomic constraints 2 contact 2 1 = 2 constraints on coordinates, holonomic constraints points 2 2 = 4 constraints on velocities, nonholonomic constraints So we have in total 24 coordinates, 17 constraints on the coordinates (and the velocities), and an additional 4 constraints on the velocities only. Which leaves 24 17 = 7 degrees of freedom in the coordinates, and 24 21 = 3 degrees of freedom in the velocities, the so-called mobility. 2

Figure 1.2: numbering of the bodies of the bicycle model Look at the different bodies and number them. Pick a space fixed coordinate system O xyz located at the rear contact point. Label a number of interesting points A, B, C,. Figure 1.3: Unconstrained rigid body The equations of motion for a single unconstrained rigid body are: Newton Σf = m v G Euler ΣM G = J G ω + ω (J G ω ) where G is the centre of mass of the rigid body. The state is described by the position and orientation of the centre of mass of the rigid body (x G, p), where p are either Euler Angles or Cardan Angles or Euler parameters or, and the velocities of the centre of mass (v G, ω ), where the angular velocities ω are expressed in the body fixed coordinate system. 3

For the description of the orientation of the rigid bodies we will use the following z x y or 3-1-2 Euler Angles denoted by p = (φ, θ, ψ), and where the recipe is given by, φ rotate about z axis: heading or yaw θ rotate about the rotated x axis: bank or lean ψ rotate about the rotated y axis: pitch but are of course best be depicted by the cans-in-series, see Figure 1.4 Figure 1.4: Definition Euler Angles by cans-in-series Now why this choice? Look at a wheel, Figure 1.5. The yaw motion can be large so we put this rotation at the end or the beginning, in this case the beginning. The singular configuration is at a lean angle of θ = ±9 o which we try to avoid in cycling, so that will be the middle hinge. Figure 1.5: Definition of the coordinate system of a running wheel First derive the rotation matrices for this definition and the angular velocities. x = R φ R θ R ψ x 4

with: R φ = R ψ = cos (φ) sin (φ) sin (φ) cos (φ) 1 cos (ψ) sin (ψ) 1 sin (ψ) cos (ψ)., R θ = 1 cos (θ) sin (θ) sin (θ) cos (θ) and Figure 1.6: Definition of the rotation matrix and the angular velocities Now the angular velocities in terms of the Euler angles p and their time derivatives ṗ. First for the space fixed angular velocities, ω x ω y ω = φ + R φ ω = A (p) ṗ θ + R φ R θ cos (φ) sin (φ) cos (θ) φ = sin (φ) cos (φ) cos (θ) θ ω z 1 sin (θ) ψ ω = A (p) ṗ Next the body fixed angular velocities, ω = ψ ω = A (p) ṗ + R T ψ θ + R T ψr T θ ψ φ ω x sin (ψ) cos (θ) cos (ψ) φ ω y = sin (θ) 1 θ ω z cos (ψ) cos (θ) sin (ψ) ψ ω = A (p) ṗ 5

And for the space fixed angular velocities the inverse, ṗ = (A (p)) 1 ω φ sin (ψ) cos (ψ) ω x θ 1 = cos (θ) cos (ψ) cos (θ) sin (ψ) ω cos (θ) y ψ sin (θ) sin (ψ) cos (θ) sin (θ) cos (ψ) ω z Note the singularity at θ = π/2 ± kπ! Recall that the state of the system is described by the coodinates of the cm, x Gi, the Euler angles, p i, the velocities of the cm of the bodies, v Gi, and the angular velocities of the bodies expressed in the body fixed frame, ω i. Then the state equations are, first for the coordinates and Euler angles, ẋ Gi = v Gi ṗ i = (A (p i )) 1 ω i } for each body i = 1 4 (1.1) and next for the velocities, that is the constrained Equations of Motion for the complete system, m 1 I 3 J G 1 m 2 I 3 D T D J G 2... v G1 ω 1 v G2 ω 2. λ 1 λ 2 : λ 21 Σf 1 ΣM 1 ω 1 ( ) J G 1 ω 1 Σf 2 ΣM 2 ω 2 ( ) J G 2 ω 2 =.. : : g i : (1.2) where g i = D 2 (v Gi, ω i ) (v G i, ω i ) are the convective terms. The( matrix) D is the Jacobian D h,j from the holonomic constraints ɛ h = D h xgj, p j, and the ) Jacobian from the additional nonholonomic constraints, ɛ nh = D nh (ẋgj, ṗ j, which are... wait and see! 6

1.2 Constraints Revolute Joint = 2 Points coincide 3 2 hinge axes parallel 2 - Total # of constraints 5 Figure 1.7: Revolute Joint constraint First look at two points coincide: ɛ = x A2 x A1 = ɛ x ɛ y ɛ z ɛ = x 2 + x A/2 x 1 x A/1 ɛ = x 2 + R 2 x A/2 x 1 R 1 x A/1 with R 1 = R(p 1 ), R 2 = R(p 2 ) and where x A/2, x A/1 are constant vectors. Figure 1.8: Two Points Coincide Velocities: Accelerations: ɛ = ẋ 2 + ω 2 x A/2 ẋ 1 ω 1 x A/1 = v 2 + ω 2 x A/2 v 1 ω 1 x A/1 ɛ = v 2 + ω 2 x A/2 v 1 ω 1 x A/1 +ω 2 (ω 2 x A/2 ) ω 1 (ω 1 x A/1 ) These last equations are the constraint equations we have to add to the equations of motion but... we work in a body fixed ω instead of space ω. Velocities: ɛ = v 2 + R 2 (ω 2 x A/2 ) ( ) v 1 R 1 ω 1 x A/1 Which we can write in a matrix vector expression by using the tilde matrix for the cross product. or in matrix-vector form: ɛ = v 2 R 2 x A/2 ω 2 v 1 + R 1 x A/1 ω 1 [ ] ɛ = I R 1 x A/1 I R 2 x A/2 v 1 ω 1 v 2 ω 2 7

The matrix R 1 x A/1 is the Jacobian of the constraints, D. The constraint on the accelerations is now: [ ] ɛ = I R 1 x A/1 I R 2 x A/2 v 1 ω 1 v 2 ω 2 + g where the convective terms g can be calculated from the state as: g = ω 2 (ω 2 x A/2 ) ω 1 (ω 1 x A/1 ) Next look at the two hinge axes being parallel constraints. We want the two Figure 1.9: Hinge axis being parallel (left), and a bending mode of the hinge (right). hinge axis ê x1 and ê x2 to be parallel or in other words: ê x2 ê y1 and ê x2 ê z1. ɛ 1 = ê T y 1 ê x2 ( like bending about ê z1 ) ɛ 2 = ê T z 1 ê x2 ( like bending about ê y1 ) or with R 1 = R (p 1 ) and R 2 = R (p 2 ) and referring to the body fixed prime vectors which are constant: ɛ 1 = ( ) R 1 ê T ( ) y 1 R2 ê x 2 = ê T y 1 R T 1 R 2 ê x 2 ɛ 2 = ( ) R 1 ê T ( ) z 1 R2 ê x 2 = ê T z 1 R T 1 R 2 ê x 2 Velocities: here we use the rule that the time derivative of a unit vector is omega cross this unit vector, as in ê i = ω i ê i, making ɛ 1 = ê T y 1 ê x2 + ê T y 1 êx2 = (ω 1 ê y1 ) T ê x2 + ê T y 1 (ω 2 ê x2 ) But we prefer the body fixed coordinate system with ω. ɛ 1 = ( ( )) R 1 ω 1 ê T ( ( )) y êx2 1 + ê T y 1 R2 ω 2 ê x 2 ɛ 1 = ê T x 2 R 1 ê y1 ω 1 ê T y 1 R 2 ê x2 ω 2 8

Apparently the Jacobian matrix D is: Accelerations: ɛ 1 ω 1 = ê T x 2 R 1 ê y1 and ɛ 1 ω 2 = ê T y 1 R 2 ê x2 ɛ 1 = ( ω 1 ê y1 ) T ê x2 + ê T y 1 ( ω 2 ê x2 ) + (ω 1 (ω 1 ê y1 )) T ê x2 + (ω 1 ê y1 ) T (ω 2 ê x2 ) + (ω 1 ê y1 ) T (ω 2 ê x2 ) + ê T y 1 (ω 2 (ω 2 ê x2 )) Be aware that the convective term g 1 goes to the right-hand side of the Equations of motion. and of course g 1 = (ω 1 (ω 1 ê y1 )) T ê x2 + (ω 1 ê y1 ) T (ω 2 ê x2 ) + (ω 1 ê y1 ) T (ω 2 ê x2 ) + ê T y 1 (ω 2 (ω 2 ê x2 )) ɛ 1 ω 1 = ɛ 1 ω 1 so this Jacobian of the acceleration constraint is the same as the one for the velocities constraint, always! Wheel contact constraints The velocity of contact point c is ẋ c = ẋ G + ω r No slip means: ẋ c =. Actually we have one holonomic contact condition z G = r cos (θ), and two nonholonomic or no-slip conditions ẋ c = ẏ c =. But... I like to think in a moving coordinate system. Now with ẋ ẏ c c Figure 1.1: Definition coordinate systems for the wheel contact constraint zero longitudinal slip zero lateral slip ẋ c = ẋ G + ω r ẋ G = R T φ ẋg and ( ω r ) = R θ R ψ (ω r ). 9

Figure 1.11: r,r and the radius vector in the local reference frame, see Figure 1.11, r = r sin(ψ) r cos(ψ) we can evaluate ẋ c (which is tedious so use Matlab symbolic toolbox or Maple!). We end up with the linear equations for the velocities of the contact point c in terms of the coordinates and velocities of the wheel, ẋ ẏ ż c = ẋ ẏ ż ω x ω y ω z cos (φ) sin (φ) r sin (φ) cos (φ) r cos (θ) cos (ψ) r cos (θ) sin (ψ) 1 r sin (θ) cos (ψ) r sin (θ) sin (ψ) The last entry, ż, is the holonomic constraint ż = ż + r sin (θ) θ = (Check this with θ from ṗ = (A (p)) 1 ω in terms of ω i.e. θ = cos (ψ)ω x +sin (ψ)ω z), which comes from the holonomic contact condition, ɛ 1 = z r cos (θ). The first two ẋ and ẏ are the two nonholonomic constraints, or no-slip conditions, in the longitudinal and lateral direction of the wheel, ɛ 2 = cos (φ)ẋ + sin (φ)ẏ rω y ( longitudinal slip ) ɛ 3 = sin (φ)ẋ + cos (φ)ẏ + rω x cos (θ) cos (ψ) + rω z cos (θ) sin (ψ) ( lateral slip ) Now we only have to find the convective terms for the wheel constraint. First substitute ω in terms of p and ṗ in the ɛ equations. ɛ 1 ɛ 2 ɛ 3 = ẋ ẏ ż φ θ ψ 1 r sin (θ) cos (φ) sin (φ) r sin (θ) r sin (φ) cos (φ) r cos (θ) Next differentiate with respect to time, and forget all terms, this gives us the convective terms, g 1 r cos (θ) θ 2 g 2 = sin (φ)ẋ φ + cos (φ)ẏ φ r cos (θ) φ θ g 3 cos (φ)ẋ φ sin (φ)ẏ φ r sin (θ) θ 2 1

Finally we can use numerical integration on the accelerations from the equations of motion and on the velocities to find the motion in time. You can use any method, but I prefer RK4 with a fixed stepsize. This is a fast and accurate method. The only problem is to find a reasonable stepsize which gives fast and accurate results. Start with h =.1 sec and decrease or increase according to the results. Use the Coordinate Projection Method to minimize the constraint errors after each numerical integration step. In this scheme we use the Moore- Penrose pseudo-inverse D + of the Jacobian of the constraints D, as in D + = ɛ (x i,p i ) D ( T DD ) T 1. Where the Jacobian D =, is the partial derivatives of the constraints with respect to the state variables x i and p i. This is not equal to the D which we have used in the constraint equations of motion, since there we had the partial derivatives of the velocities with respect to the state variable v i and ω i as in D = ɛ (v i,ω i) the former with the matrices (A (p i )) since ω i ṗ i [ ɛ (x i, p i ) = ɛ ɛ (ẋ i, ṗ i ) =, v i. But given the latter we can easily transform to = (A (p i )) and thus get, ɛ ω i ] A (p i ) As an example the two points coincide constraint, for the velocity constraint equations we derived v 1 [ ] ɛ = I R 1 x A/1 I R 2 x ω 1 A/2 v 2. ω 2 which then transforms to small changes in the coordinates and Euler angles as x 1 [ ] ɛ = I R 1 x A/1 (A 1) I R 2 x A/2 (A 2) p 1 x 2 p 2 Note that this Coordinate Projection Method only operates on the holonomic constraints, in our case the 17 constraints. Finally we have to find speeds, v i and ω i which fulfil the velocity constraints. So now we include our non-holonomic constraints. To minimize the velocity constraint errors we use the Coordinate Projection Method again but since we work in this velocity space we can use the Jacobian D as derived for the constrained equations of motion. Since the equations are linear in the speeds this is a one step iteration! SUCCES! 11