226 (7) Manip-June 1983
226 (7) Manip-June 1983
[7] J. Bobrow, S. Dubowsky, and J. Gibson, "On the Optimal Control of Robotic Manip-
ulators with Actuator Constraints," Proceedings of the American Control Conference,
June 1983.
[8] K. Shin and N. McKay, "Ivlinimum-Time Control of Robotic Manipulators with Geo-
metric Path Constraints," IEEE Transactions on Automatic Control, June 1985.
[9] T. Lozano-Perez, "Spatial Planning: A Configuration Space Approach," AT Memo
605, MIT Artificial Intelligence Laboratory, Cambridge, IVIA, 1980.
[10] T. Lozano-Perez, "A Simple Motion Planning Algorithm for General Robot Manip-
ulators," IEEE Journal of Robotics and Automation, Vol. RA-3, No. 3, June 1987.
[11] R. Brooks, "Solving the Find-Path Problem by Good Representation of Free Space,"
IEEE Transactions on Systems, Man, and Cybernetics, SMC-13:190—197, 1983.
[12] 0. Khatib, "Real-Time Obstacle Avoidance for Manipulators and Mobile Robots,"
The International Journal of Robotics Research, Vol. 5, No. 1, Spring 1986.
[13] R.P. Paul, "Robot Manipulators: Mathematics, Programming, and Control," MIT
Press, Cambridge, MA, 1981.
[14] R. Castain and R.P. Paul, "An Online Dynamic Trajectory Generator," The Interna-
tional Journal of Robotics Research, Vol. 3, 1984.
[15] C.S. Liii and P.R. Chang, "Joint Trajectory of Mechanical Manipulators for Cartesian
Path Approximation," IEEE Transactions on Systems, Man, and cybernetics, Vol.
SMC-13, 1983.
[161 C.S. Lin, P.R. Chang, and J.Y.S. Luh, "Formulation and Optimization of Cubic Poly-
nomial Joint Trajectories for Industrial Robots," IEEE Transactions on Automatic
Control, Vol. AC-28, 1983.
[17] L. Kavraki, P. Svestka, J.C. Latombe, and M. Overmars, "Probabilistic Roadmaps for
Path Planning in High-Dimensional Configuration Spaces," IEEE Transactions on
Robotics and Automation, 12(4): 566—580, 1996.
[18] J. Barraquand, L. Kavraki, J.C. Latombe, T.Y. Li, R. Motwani, and P. Raghavan,
"A Random Sampling Scheme for Path Planning," International Journal of Robotics
Research, 16(6): 759—774, 1997.
EXERCISES
7.1 [8] How many individual cubics are computed when a six-jointed robot moves
along a cubic spline path through two via points and stops at a goal point? How
many coefficients are stored to describe these cubics?
7.2 [13] A single-link robot with a rotary joint is motionless at9 = It is desired to
move the joint in a smooth manner to 8 = 80° in 4 seconds. Find the coefficients
of a cubic which accomplishes this motion and brings the arm to rest at the goal.
Plot the position, velocity, and acceleration of the joint as a function of time.
7.3 [14] A single-link robot with a rotary joint is motionless at 9 = —5°. It is desired
to move the joint in a smooth manner to 8 = 80° in 4 seconds and stop smoothly.
Compute the corresponding parameters of a linear trajectory with parabolic
blends. Plot the position, velocity, and acceleration of the joint as a function of
time.
7.4 [30] Write a path-planning software routine that implements (7.24) through (7.28)
in a general way for paths described by an arbitrary number of path points. For
example, this routine could be used to solve Example 7.4.
228 Chapter 7 Trajectory generation
7.18 [12] A single cubic trajectory is given by
and is used over the time interval from t = 0 to t 1. What are the starting and
final positions, velocities, and accelerations?
7.20 [15] A single cubic trajectory is given by
and is used over the time interval from t = 0 to t = 2. What are the starting and
final positions, velocities, and accelerations?
where
These four quantities are inputs, and "cc", an array of the four cubic coefficients,
is the output.
Your program should accept up to (at least) five via-point specifications—in the
form of tool frame, {T}, relative to station frame, (SI—in the usual user form:
(x, y, To keep life simple, all segments will have the same duration. Your system
should solve for the coefficients of the cubics, using some reasonable heuristic for
assigning joint velocities at the via points. Hint: See option 2 in Section 7.3.
2. Write a path-generator system that calculates a trajectory in joint space based
on sets of cubic coefficients for each segment. It must be able to generate the
multisegment path you planned in Problem 1. A duration for the segments will
be specified by the user. It should produce position, velocity, and acceleration
information at the path-update rate, which will also be specified by the user.
3. The manipulator is the same three-link used previously. The definitions of the {T)
and {S} frames are the same as before:
0.2 30.0],
= [x y 8] = [0.0 0.0 0.0].