* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Dynamics
Tensor operator wikipedia , lookup
Center of mass wikipedia , lookup
Faster-than-light wikipedia , lookup
Bra–ket notation wikipedia , lookup
Specific impulse wikipedia , lookup
Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup
Classical mechanics wikipedia , lookup
Four-vector wikipedia , lookup
Relativistic mechanics wikipedia , lookup
Routhian mechanics wikipedia , lookup
Coriolis force wikipedia , lookup
Laplace–Runge–Lenz vector wikipedia , lookup
Inertial frame of reference wikipedia , lookup
Jerk (physics) wikipedia , lookup
Mechanics of planar particle motion wikipedia , lookup
Frame of reference wikipedia , lookup
Centrifugal force wikipedia , lookup
Newton's laws of motion wikipedia , lookup
Seismometer wikipedia , lookup
Derivations of the Lorentz transformations wikipedia , lookup
Moment of inertia wikipedia , lookup
Fictitious force wikipedia , lookup
Relativistic angular momentum wikipedia , lookup
Equations of motion wikipedia , lookup
Classical central-force problem wikipedia , lookup
Velocity-addition formula wikipedia , lookup
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department Introduction Robot arm dynamics deals with the mathematical formulations of the equations of robot arm motion. They are useful as: An insight into the structure of the robot system. A basis for model based control systems. A basis for computer simulations. Equations of Motion The way in which the motion of the manipulator arises from torques applied by the actuators, or from external forces applied to the manipulator. Forward and Inverse Dynamics , and , Given a trajectory point, , find the required vectors of joint torques, . : problem of controlling the manipulator Given a torque vector, , calculate the resulting motion of the manipulator, , and . , : problem of simulating the manipulator Two Approaches Energy based: Lagrange-Euler. Simple and symmetric. Momentum/force approach:NewtonEuler. Efficient, derivation is simple but messy, involves vector cross product. Allow real time control. Newton-Euler Algorithm Newton-Euler method is described briefly below. The goal is to provide a big picture understanding of these methods without getting lost in the details. Newton-Euler Algorithm Newton-Euler formulations makes two passes over the links of manipulator Velocities, Accelerations Gravity Forces, moments Newton-Euler Algorithm Forward computation First compute the angular velocity, angular acceleration, linear velocity, linear acceleration of each link in terms of its preceding link. These values can be computed in recursive manner, starting from the first moving link and ending at the end-effector link. The initial conditions for the base link will make the initial velocity and acceleration values to zero. Newton-Euler Algorithm Backward computation Once the velocities and accelerations of the links are found, the joint forces can be computed one link at a time starting from the end-effector link and ending at the base link. Differentiation of position vectors Derivative of a vector: dB Q(t t ) Q(t ) VQ Q lim t 0 dt t B B B We are calculating the derivative of Q relative to frame B. Differentiation of position vectors A velocity vector may be described in A terms of any frame: d V dt A B We may write it: V A B Q A B B Q B Q Speed vector is a free vector R VQ . Special case: Velocity of the origin of a frame relative to some understood universe reference frame V U C V C ORG Example 5.1 Both vehicles are heeding in X direction of U 100 mph A fixed universal frame 30 mph U dU PCORG U VCORG vC 30 Xˆ . dt C U ( VTORG )C vT UC RvT UCR(100 Xˆ )CU R 1100 Xˆ . ( VCORG )TC RT VCORG UC RUT RT VCORG CU R 1UT R70 Xˆ . C T Angular velocity vector: Linear velocity attribute of a point Angular velocity attribute of a body Since we always attach a frame to a body we can consider angular velocity as describing rational motion of a frame. Angular velocity vector: A B describes the rotation of frame {B} relative to {A} direction of B indicates instantaneous axis of rotation A B Magnitude of indicates speed of rotation A In the case which there is an understood reference frame: U C C Linear velocity of a rigid body We wish to describe motion of {B} relative to frame {A} A B If rotation R is not changing with time: VQ VBORG R VQ . A A A B B Rotational velocity of a rigid body Two frames with coincident origins The orientation of B with respect to A is changing in time. Lets consider that vector Q is constant as viewed B from B. VQ 0 A B {B} {A} B Q Rotational velocity of a rigid body |Q| Is perpendicular to A B and A Q Magnitude of differential change is: A A (| Q | sin )(| B | t ) |Q| AVQ A B A Q Vector cross product Rotational velocity of a rigid body In general case: VQ A ( BVQ ) A B AQ A VQ R VQ B R Q. A A B B A A B B Simultaneous linear and rotational velocity VQ VBORG R VQ B R Q. A A A B B A A B B We skip 5.4! Motion of the Links of a Robot Written in frame i At any instant, each link of a robot in motion has some linear and angular velocity. Velocity of a Link Remember that linear velocity is associated with a point and angular velocity is associated with a body. Thus: The velocity of a link means the linear velocity of the origin of the link frame and the rotational velocity of the link Velocity Propagation From Link to Link We can compute the velocities of each link in order starting from the base. The velocity of link i+1 will be that of link i, plus whatever new velocity component added by joint i+1. Rotational Velocity Rotational velocities may be added when both w vectors are written with respect to the same frame. Therefore the angular velocity of link i+1 is the same as that of link i plus a new component caused by rotational velocity at joint i+1. Velocity Vectors of Neighboring Links i 1 ˆ i1 i Ri1 Zi1. i i i i 1 Velocity Propagation From Link to Link i 1 Note that: i 1 i 1 Z i 1 0 0 i 1 By premultiplying both sides of previous equation to: i 1 R i i 1 i i 1 ˆ R i 1 R i R R i 1 Z i 1. i 1 i i i i 1 i i i 1 i 1 ˆ i 1 R i i 1 Z i 1. i 1 i 1 i i Linear Velocity The linear velocity of the origin of frame {i+1} is the same as that of the origin of frame {i} plus a new component caused by rotational velocity of link i. Linear Velocity Simultaneous linear and rotational A A A B A A B velocity: V V R V R Q. Q BORG i B Q B B vi 1 vi i Pi 1. i i i By premultiplying both sides of previous equation to: i 1 R i i 1 i R vi 1 R( vi i Pi 1 ). i 1 vi 1 R( vi i Pi 1 ). i 1 i i i 1 i i i i i i i Prismatic Joints Link For the case that joint i+1 is prismatic: i1 R i , i 1 i 1 i i i 1 ˆ vi1 R( vi i Pi1 ) di 1 Z i 1. i 1 i 1 i i i i Velocity Propagation From Link to Link Applying those previous equations successfully from link to link, we can compute the rotational and linear velocities of the last link. Example 5.3 Calculate the velocity of the tip of the arm as a function of joint rates? A 2-link manipulator with rotational joints Example 5.3 Frame assignments for the two link manipulator Example 5.3 We compute link transformations: c1 s1 s c1 1 0 1T 0 0 0 0 0 0 1 0 0 0 , 0 1 c2 s 2 1 T 2 0 0 s2 c2 0 0 0 0 1 0 l1 0 , 0 1 1 0 2 3T 0 0 0 1 0 0 0 l2 0 0 . 1 0 0 1 Example 5.3 Link to link transformation 0 1 1 0 , 1 0 1 v1 0, 0 c2 s2 0 0 l1s21 2 v2 s2 c2 0 l11 l1c21 , 0 0 1 0 0 l1s21 l s 0 1 2 3 1 v3 l1c21 l2 (1 2 ) . l1c2 l2 l2 2 0 0 2 2 0 , 1 2 3 2 2 , 3 Example 5.3 Velocities with respect to non moving base c12 s12 0 s . 0 0 1 2 R R R R c 0 3 1 2 3 12 12 0 0 1 l1s11 l2 s12 (1 2 ) l1s1 l2 s12 0 0 3 v3 3 R v3 l1c11 l2 c12 (1 2 ) l1c1 l2c12 0 l2 s12 1 . l2 c12 2 Derivative of a Vector Function If we have a vector function r which represents a particle’s position as a function of time t: r rx ry dr drx dt dt rz dry dt drz dt Vector Derivatives We’ve seen how to take a derivative of a vector vs. A scalar What about the derivative of a vector vs. A vector? Acceleration of a Rigid Body Linear and angular accelerations: VQ (t t ) VQ (t ) dB VQ VQ lim , t 0 dt t A A d ( t t ) B (t ) A A B B B lim . t 0 dt t B B B Linear Acceleration VQ BAR BVQ A B BA R BQ. : origins are coincident. d A B ( B R Q) BAR BVQ A B BA R BQ. dt : re-write it as. A d A B d A B A A B A VQ ( B R VQ ) B B R Q B ( B R Q) : by differentiating. dt dt A R BQ A ( AR BV A A R BQ) BAR BVQ A B BA R BVQ A B B B B Q B B A A R BQ A ( A A R BQ). BAR BVQ 2 A B BA R BVQ A B B B B B Linear Acceleration the case in which the origins are not coincident AR BQ VQ AVBORG BAR BVQ 2 A B BAR BVQ A B B A B ( B R Q). A A VQ VQ 0. B B A B B : when BQ is constant AR BQ. VQ AVBORG A B ( A B BAR BQ) A B B A : the linear acceleration of the links of a manipulator with rotational joints. Angular Acceleration B is rotation relative to A and C is rotating relative to B A A C A B BAR B C . d A B A C B B R C . dt AR B A AR B . A B B C B B C : the angular acceleration of the links of a manipulator. Inertia If a force acts of a body, the body will accelerate. The ratio of the applied force to the resulting acceleration is the inertia (or mass) of the body. If a torque acts on a body that can rotate freely about some axis, the body will undergo an angular acceleration. The ratio of the applied torque to the resulting angular acceleration is the rotational inertia of the body. It depends not only on the mass of the body, but also on how that mass is distributed with respect to the axis. Mass Distribution Inertia tensor- a generalization of the scalar moment of inertia of an object Moment of Inertia The moment of inertia of a solid body with density (r ) w.r.t. a given axis is defined by the volume integral I (r )r 2 dv, where r is the perpendicular distance from the axis of rotation. Moment of Inertia This can be broken into components as: I jk mi ri 2 jk xi , j xi ,k for a discrete distribution of mass i I jk (r ) r jk x j xk dV V 2 y2 z2 I ( x, y, z ) xy V xz for a continuous distribution of mass xy z 2 x2 yz dxdydz. x 2 y 2 xz yz Moment of Inertia The inertia tensor relative to frame {A}: I xx I xy I xz A I I xy I yy I yz , I xz I yz I zz Mass moments of inertia x x z dv, y dv, I xx y 2 z 2 dv, V I yy I zz 2 V 2 V 2 2 Mass products of inertia I xy xydv, I xz xzdv, I yz yzdv. V V V Moment of Inertia If we are free to choose the orientation of the reference frame, it is possible to cause the products of inertia to be zero. Principal axes. Principal moments of inertia. Example 6.1 {C} m 2 2 l h 3 m A I wl 4 m hw 4 m 2 2 12 h l C I 0 0 m wl 4 m 2 w h2 3 m hl 4 m 2 l w2 3 m hw 4 m hl 4 0 m 2 w h2 12 0 0 m 2 l w2 12 0 Parallel Axis Theorem Relates the inertia tensor in a frame with origin at the center of mass to the inertia tensor w.r.t. another reference frame. A I zz C I zz m xc2 yc2 , A I xy C I xy mxc yc , A I C I m PCT PC I 3 PC PCT . Measuring the Moment of Inertia of a Link Most manipulators have links whose geometry and composition are somewhat complex. A pragmatic option is to measure the moment of inertia of each link using an inertia pendulum. If a body suspended by a rod is given a small twist about the axis of suspension, it will oscillate with angular harmonic motion, the period of which is given I by. T 2 k , where k is the torsion constant of the suspending rod , i.e., the constant ratio between the restoring torque and the angular displacement. Newton’s Equation F mvC Force causing the acceleration Euler’s Equation N I I C C Moment causing the rotation Iterative Newton-Euler Dynamic Formulation Outward iterations to compute velocities and accelerations The force and torque acting on a link Inward iterations to compute forces and torques The Force Balance for a Link i Fi if i i i 1 R i 1 f i 1 The Torque Balance for a Link i N i ni ni 1 ( PCi ) f i ( Pi 1 PCi ) f i 1 i i i i i i i Force Balance Using result of force and torque balance: i N i i ni i 1iR i 1 ni 1 iPCi i Fi i Pi 1i 1i R i 1 f i 1 In iterative form: i f i iFi i 1iR i 1f i 1 i ni iNi i 1iR i 1ni 1 iPCi i Fi iPi 1i 1i R i 1f i 1 The Iterative Newton-Euler Dynamics Algorithm 1st step: Link velocities and accelerations are iteratively computed from link 1 out to link n and the NewtonEuler equations are applied to each link. 2nd step: Forces and torques of iteration and joint actuator torques are computed recursively from link n back to link 1. Outward iterations i:0 5 i 1 ˆ i1 R i i1 Z i1 , i 1 i1R i i1R i i 1 i 1 i i 1 i i i i i i 1 Zˆi 1 i 1 i 1Zˆi 1 , i 1 vi 1 i i1R i i i Pi 1 ii (ii i Pi 1 ) ivi , i 1 vCi1 i 1 i 1i 1PCi1 i 1i 1 i 1 i 1 Fi 1 mi 1 vCi1 , i 1 N i 1 I i 1 i 1i1PC i1vi1 , i 1 i 1 Ci 1 Ci 1 i 1 i 1 i1 i 1 I i1 i1. i 1 i 1 Inward iterations i : 6 1 i fi i1iRi1fi1 iFi , i ni iNi i1iRi1ni1 iPCi i Fi iPi1i 1i R i1fi1 , i n Zˆi . i Ti i Inclusion of Gravity Forces The effect of gravity loading on the links can be included by setting 0 v G , where G is the 0 gravity vector. The Structure of the Manipulator Dynamic Equations V (, ) G () : state space equation M ( ) : mass matrix M () : n n ) : n 1 V (, G () : n 1 : centrifugal and Coriolis terms : gravity terms B() C () 2 G () : configuration space M ( ) B() : n n(n 1) / 2 : matrix of Coriolis coefficients C () : n n : centrifugal coefficients 2 T : n(n 1) / 2 1, : n 1, 2 2 1 22 1 2 1 3 n T n1 n Coriolis Force A fictitious force exerted on a body when it moves in a rotating reference frame. FCoriolis 2m(v ) Lagrangian Formulation of Manipulator Dynamics An energy-based approach (N-E: a force balance approach) N-E and Lagrangian formulation will give the same equations of motion. Kinetic and Potential Energy of a Manipulator 1 1 i T Ci i T ki mi vCi vCi i I i i , 2 2 n k ki . Total kinetic energy of a manipulator i 1 ui mi 0 g T 0 PCi urefi , n u ui . i 1 Total potential energy of a manipulator Lagrangian Is the difference between the kinetic and potential energy of a mechanical system ) k (, ) u(). L (, The equations of motion for the manipulator d L L dt d k k u dt n 1 vector of actuator torque Example 6.5 : variable The center of mass of link 1 and link 2 Manipulator Dynamics in Cartesian Space V (, ) G ( ) M ( ) Joint space formulation V (, ) G ( ) F M x ( ) X x x Cartesian space formulation J TV (, ) J T G (), J T J T M () J TV (, ) J T G (), F J T M () J X J X J J 1 J J 1 X J T M () J 1 J J TV (, ) J T G (). F J T M () J 1 X Expressions for the terms in the Cartesian dynamics: M x () J T () M () J T (), ) J T () V (, ) M () J 1 () J () , V (, x Gx () J T ()G (). The Cartesian configuration space torque equation: V (, ) G () J T () M x ( ) X x x 2 J () M x () X Bx () Cx () G (), T Bx () : n n(n 1) / 2 : n(n 1) / 2 1, C x ( ) : n n 2 : n 1, :Coriolis coefficients 1 2 1 3 n1n T :Centrifugal coefficients 2 2 2 T 1 2 n . Dynamic Simulation: (Euler Integration) Simulation requires solving the dynamic equation for acceleration V (, ) G () F (, ) M () Nonrigid body effects: friction M 1 () V (, ) G () F (, ) 0 : Given initial conditions ( 0) , 0 We apply numerical integration to compute positions and velocities: (t t ) (t ) (t )t , 1 (t t ) (t ) (t )t (t )t 2 . 2 Next Course: Trajectory Generation Amirkabir University of Technology Computer Engineering & Information Technology Department