Mec.E. 555 Assignment #4
Robot Dynamics

Date due: Friday, March 29, 1996, 12:00 noon


Questions?

Send a message to roger.toogood@ualberta.ca


This assignment concerns the simple 2R robot shown in the figure below. The dynamic model has been considerably simplified by considering the mass of each link as concentrated at the center of gravity at the midpoint of each link. Note that the robot is in a vertical plane with gravity acting downward. The link masses are 2m and m, respectively, and both have length l.

  1. Derive the equations of motion for this manipulator using the Lagrangian analysis. Once you have these equations developed, carefully examine every term to try to verify your equations.

  2. In the equations of motion, identify the following contributions to the joint torques T_1 and T_2:

  3. We want to compute the joint torques required to move the robot between two points in the work cell. In order to ensure smooth motion between start and end points, we will require that the position of each joint change according to the following normalized displacement function (shown in blue):

    The figure shows a plot of a function s(t*) versus t*, a normalized time obtained using

    where T_seg is the total real time (in seconds) required for the move. This function must have the following properties:

    t* = 0t* = 1
    position, s01
    velocity, s dot00
    acceleration, s ddot00

    You will have to determine what kind of function to use for this. I suggest a polynomial of some kind, in which case you must find the coefficients in order to satisfy the end conditions stated in the table.

    Once you know what the motion function s(t*) is, you can compute the position, velocity, and acceleration of each joint (separately) using the following relations:

    On the left are the desired kinematic parameters for calculating the joint torques. The T_seg appears on the right hand side because the derivatives of s are with respect to t*.

    Once you have all that in place, you can compute the required joint torques to move the robot from the initial position (30,-60) to the final position (80, -30) (all angles in degrees) in a period of 3 seconds. You will need the values m = 20kg and l=0.75m.

    As this motion is being computed, store the torque values and then plot them versus actual time.

    How much does the maximum required torque change if we try to accomplish this move in 1 second instead of 3?

    If you are feeling ambitious, you can separate the total torque on each joint into inertia, coriolis, centrifugal, and gravity terms and plot each of these separately.

  4. If you are feeling particularly ambitious, you can try to create an animation of the robot. This is definitely not required for this assignment, but would not be too difficult and would be interesting to watch.

SPECIAL HINT

I have put a MATLAB routine to compute the inverse dynamics on the network. This was created by NEDYN, one of the symbolic generators based on a Newton-Euler algorithm, and converted from FORTRAN into an M-file. The file is called r2idyn.m. You can use this routine to check the results of your own inverse dynamics routine, which I still expect you to develop as described above. Although it would be feasible to reverse engineer r2idyn.m, I wouldn't suggest it - you'd probably do the same amount of work (or more!) as developing the equations from scratch. Out of curiosity, you might compare the flop count of your routine and the symbolically generated one.


THE END
P.S. This is the last assignment!

Return to Assignment List