No Title
22C:161 Introduction to Robotics Spring 1995
Homework 6 - Due Friday, March 31
In this homework assignment, you will implement the (inverse
dynamics) algorithm of Chapter 6. The code will be similar
to the velocity propagation you did in HW 5 for Chapter 5.
Here you start from the base and work outward to calculate
link accelerations, then work back inwards to get the joint torques
required to produce the commanded joint trajectories.
- Implement the Newton-Euler dynamics algorithm of
Section 6.5. The routines should be implemented in a form
that will work for any robot (not just for the 6-link
Puma).
- Demonstrate your implementation by printing out (or better,
displaying on a graph) the joint torques over time for motions
of the PUMA using the MOVE command you implemented in HW4.
NOTE: In case you didn't quite implement the HW4 MOVE command in a
way that fits
this problem, here's how to go about it:
suppose you command the robot to move from some start position
(x,y,z, and orientation at current time, ts), to an end
position at time te. From inverse kinematics you can get the
the joint angles at ts, theta_i_ts, and at te, theta_i_te.
To implement the MOVE command
you just need to generate a number of configuration intermediate
between the starting and ending one, and display them as an animation.
We'll assume CONSTANT VELOCITY for this problem (we'll do
more realistic move in homework for Chapter 7). Choose some
delta-t for you animation step. Then you need
to generate configurations for ts + delta_t, ts + 2 * delta_t,
etc., up to te. Since we've assumed constant velocity,
and you know theta_i_te and theta_i_ts for each i,
you can easily compute joint angle increments,
delta_theta_i, that will allow you to generate intermediate configuration.
Joint angle velocities, clearly, can be computed as
theta-dot-i, from (theta_i_te - theta_i_ts)/(te - ts).
Finally then, from the joint angles and joint angle velocities
at each intermediate point, you can run the dynamics algorithm
to determine the joint torques that generate the motion.
Note that the dynamics algorithm requires joint accelerations
as input, too. Here, given the assumptions above, that's trivial
to specify (but left for you to figure out). As you should
see in your output, even though the accelerations are simple,
the computed torques should be interesting.
class - Jim Cremer
Fri Mar 10 1995