Document Sample

Trajectory Generation Amirkabir University of Technology Computer Engineering & Information Technology Department Introduction How to compute a trajectory in multidimensional space which describes the desired motion of a manipulator? How to move a manipulator from its initial position to some desired goal position in a smooth manner? Trajectory A time history of position, velocity, and acceleration for each DOF. The system (not the user) will decide the exact shape of the path to get to the goal, the duration, the velocity profile, and other details. A sequence of desired via points (frames which specify position and orientation of tool) can be given. Path points include all the via points plus the initial and final points. General Considerations Each path point is specified in terms of a desired position and orientation of {T} relative to {S}. Each of these points is converted into a set of desired joint angles. (Inverse kinematics). A smooth function is found for each of the n joints which pass through the via points and end at the goal point. The time required for each segment is the same for each joint. Why Smooth Motion? Increased wear on the mechanism Vibrations A smooth function is continuous and has a continuous first (and second) derivatives. Joint Space Scheme The path is specified in the joint space. Easy to compute. No problems with singularities. Each path point is usually specified in terms of desired position and orientation of tool frame {T}. Each of these via points is converted into a set of desired joint angles by inverse kinematics. Then a smooth function is fond so that all joints will reach the via point at the same time. Several Possible Path Shapes for a Single Joint Goal position Initial position Cubic Polynomials 4 constraints on (t ) (0) 0 , (t f ) f , : initial and final values (0) 0, (t f ) 0. : the function is continuous in velocity These 4 constraints can be satisfied by a polynomial of at least third degree. (t ) a0 a1t a2t a3t 2 3 (t ) a1 2a2t 3a3t 2 Cubic Polynomials 0 a0 , : combining with constraints f a0 a1t f a t a t , 2 2 f 3 3 f 0 a1 , 0 a1 2a2t f 3a3t 2 . f a0 0 , The cubic polynomial that a1 0, connects any initial joint angle position with any desired final 3 a2 2 ( f 0 ), position when the joint starts and finishes tf at zero velocity. 2 a3 3 ( f 0 ). tf Example 7.1 A single-link robot with a rotary joint: Move the joint in a smooth manner from =15 to =75 in 3 seconds a 0 15.0 a 1 0.0 a 2 20.0 a 3 4.44 (t ) 15.0 20.0 t 2 4.44 t 3 (t ) 40.0t 13.33 t 2 (t ) 40.0 26.66t Cubic Polynomials for a Path With Via Points Each via point is specified in terms of a desired position and orientation of {T} relative to {S}. Each of these via points is converted into a set of desired joint angles. (Inv. Kinematics). Consider the problem of computing cubics which connect the via point values for each joint together in a smooth way. Cubic Polynomials for a Path With Via Points (0) 0 , (t f ) f . : some known velocity at the via points 0 a0 , f a0 a1t f a2t 2 a3t 3 , f f : the four equations 0 a1 , describing general cubic f a1 2a2t f 3a3t 2 . f Cubic Polynomials for a Path With Via Points Solving for ai we obtain a0 0 , a , 1 0 3 a2 2 f 0 2 0 1 f , tf tf tf 2 a3 3 tf f 0 12 f 0 . tf Connects any initial and final positions with any initial and final velocities How to Specify Desired Velocity at the Via Points? Several ways: The user specifies the desired velocity at each via point in terms of a Cartesian linear and angular velocity of {T} at that instant. The system automatically chooses the velocities at the via points. The system automatically chooses the velocities at the via points in such a way as to cause the acceleration at the via points to be continuous. A simple heuristic Tangents to the curve at each via points If the slope of these lines changes sign at the via point, choose zero velocity, if the slope of these lines does not change sign, choose the average of the two slopes as the via velocity. Higher Order Polynomials If we wish to be able to specify the position, velocity, and acceleration at the beginning and end of a path segment, a quintic polynomial is required. (t ) a0 a1t a2t 2 a3t 3 a4t 4 a5t 5 , Higher Order Polynomials (t ) a0 a1t a2t 2 a3t 3 a4t 4 a5t 5 , 0 a0 , :the constraints are given as f a0 a1t f a2t 2 a3t 3 a4t 4 a5t 5 , f f f f 0 a1 , f a1 2a2t f 3a3t 2 4a4t 3 5a5t 4 , f f f 0 2a2 , f 2a2 6a3t f 12a4t 2 20a5t 3 . f f Higher Order Polynomials The solution for a linear set of equations with six unknowns: a 0 0 a 1 0 a 0 2 2 20 f 20 0 ( 8 12 )t f ( 3 )t 2 f a3 f 0 0 f 2t 3 f 30 0 30 f ( 14 16 )t f ( 3 2 )t2 f a4 f 0 0 f 2t 4 f 12 f 12 0 ( 6 6 )t f ( )t 2 f f 0 0 f a 2t 5 5 f Linear Interpolation Another choice of path is linear: Discontinuous velocity increase at the beginning and discontinuous velocity decrease at the end of the motion, requiring infinite acceleration. Linear Function With Parabolic Blends Constant acceleration The linear function and the two parabolic functions are splined together so that the entire path is continuous in position and velocity. Linear Function With Parabolic Blends b The parabolic blends have the same duration, are symmetric about the halfway point in time, and the halfway point in position. Linear Function With Parabolic Blends h b The velocity at the end of the tb , blend region must equal the t h tb velocity of the linear section. 1 2 b 0 tb . :One choice is. 2 t 2t h tb2 ttb ( f 0 ) 0 t 2t 2 4( f 0 ) tb 2 2 4( f 0 ) . : the constraints t2 on acceleration When equality occurs, the linear portion has shrunk to zero length. Example 7.3 Two possible choice of linear path with parabolic blends for the path described in example 7.1 Linear Function With Parabolic Blends for a Path With Via Points Linear function connects the via points and parabolic blend regions are around each via point Linear Function With Parabolic Blends for a Path With Via Points For 3 neighboring path points: j,k,l t k : duration of blend region at K t jk : duration of linear region between j,k t djk : overall duration of segment connecting j,k jk : velocity during linear portion j : acceleration during the blend Linear Function With Parabolic Blends for a Path With Via Points We can compute the blend time: k j , jk tdjk k SGN ( kl jk ) | k |, kl jk tk , k 1 1 t jk tdjk t j tk . 2 2 Linear Function With Parabolic Blends for a Path With Via Points The first and the last segments might be t 2 1 handled slightly different since an entire 1 1 t1 t d 12 2 1 blend region must be counted in the segment’s time duration: This can be solved for blend 1 SGN ( 2 1 ) 1 2 time at initial point as: 2( ) t t 1 d 12 t d 12 2 1 1 2 1 1 12 2 t d 12 2 t1 1 t12 t d 12 t1 t 2 2 The Path Generator The results of computations constitute a plan for the trajectory. At execution time the path generator will use these numbers to compute , , Use of Pseudo Via Points to Create a Through Point Via points are not actually reached unless manipulator comes to stop. If we wish exactly passing through a point without stopping, the system may replace via point with 2 pseudo via points. A path point through which we force the manipulator to pass exactly! Cartesian Space Schemes We can specify the spatial shape of the path between path points. (Straight, circular, sinusoidal, …). Each path point is specified in terms of position and orientation of tool frame relative to station frame. This scheme is more computationally expensive because inverse kinematics must be solved at the path update rate. Cartesian Straight Line Motion A spatial path which causes the tip of the tool to move through space in a straight line can be defined By: Choosing many via points close together on a line. or Using Cartesian motion functions to specify a path. Cartesian Straight Line Motion We may use a spline of linear function with parabolic blends for Cartesian motion. However as a rotation matrix must be composed of orthonormal columns and this condition would not be guaranteed if constructed by linear interpolation. Angle-axis Representation Angle-axis representation can be used to specify an orientation with 3 numbers. ( for example Euler angles) If we combine this representation with Cartesian position we will have a 6x1 matrix: S S P AORG A S KA Now we can describe spline functions which smoothly move these 6 quantities from path point to path point as function of time Angle-axis representation Note: Angle-axis representation is not unique Constraints: The blend time for each degree of freedom must be the same to ensure that the motion of all dof will be straight line in space. Hence we specify blend time and then compute the acceleration. Geometric Problems With Cartesian Paths Cartesian path are prone to various problems related to work space and singularities. Intermediate points unreachable High joint rate near singularity Start and goal reachable in different solutions Cartesian Path Problem Type I Intermediate points unreachable Moving from A to B Workspace violation would be no problem in joint space, but the straight path contains un- reachable points in Cartesian motion. Cartesian Path Problem Type II High joint rate near singularity Near singular configuration Cartesian Path Problem Type III Start and goal reachable in different solutions Joint limits Next Course: Robot Programming Amirkabir University of Technology Computer Engineering & Information Technology Department

DOCUMENT INFO

Shared By:

Categories:

Tags:

Stats:

views: | 13 |

posted: | 3/8/2012 |

language: | English |

pages: | 39 |

OTHER DOCS BY ert554898

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.