EEL6667 Course Materials and Schedule

Many of the lecture examples in this class are contained in Mathematica notebooks. If you have access to Mathematica, you can run all the experiments contained therein. If you do not have access to Mathematica, you can still view the notebooks through MathReader available for free from Wolfram for the Linux, Windows and Macintosh operating systems.

Topic Subtopics & materials
Course introduction
8/26, 8/28
Syllabus
Course syllabus, Fall 2003, EEL6667 (2 pages, 6 kb).

Introduction to robot manipulators
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 1: Introduction, pp. 1-18, Addison-Wesley, Reading, MA, 1989.

State of the art robotics
Proc. of the 2002 IEEE/RSJ Conf. on Intelligent Robots and Systems (IROS 2002), Lausanne, Switzerland, October, 2002.
(Conference CD available upon request)
3D rotations & transformations
9/2, 9/4
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 2: Spatial Descriptions and Transformations, pp. 19-67, Addison-Wesley, Reading, MA, 1989.
Rotation conventions: slides, Fall 2003, EEL6667 (4 slides, 1.5 Mb).

Mathematica illustration: Chapter 2 textbook examples, Fall 2003, EEL6667 (44 kb).
Mathematica illustration: Chapter 2 textbook examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Quaternions 9/9, 9/11 Introduction to quaternions
Introduction to quaternions, Fall 2003, EEL6667. (9 pages, 120 kb) updated 9/29
Quaternions: slides, Fall 2003, EEL6667. (10 pages, 38 slides, 2.3 Mb) updated 9/29
Mathematica illustration: Quaternion math, Fall 2003, EEL6667 (48 kb).
Mathematica illustration: Quaternion math, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Quaternion interpolation
Rotation interpolation: quaternions vs. Euler angles, Fall 2003, EEL6667 (1.8 Mb).
Rotation interpolation: quaternions vs. Euler angles, Fall 2003, EEL6667 (web version of above Mathematica notebook).
E. B. Dam, M. Koch and M. Lillholm, Quaternions, Interpolation and Animation, DIKU-TR-98/5, Technical Report, Department of Computer Science, University of Copenhagen, 1998. (103 pages, 1.4 Mb)
Forward manipulator kinematics 9/23, 9/25 Introduction to manipulator kinematics
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 3: Manipulator kinematics, pp. 68-112, Addison-Wesley, Reading, MA, 1989.
Forward kinematics introduction: slides, Fall 2003, EEL6667 (11 slides, 2.7 Mb).
Denavit-Hartenberg (DH) parameters (summary from text), Fall 2003, EEL6667 (1 page, 36 kb).

Forward kinematics case studies
Puma 560 forward kinematics: slides, Fall 2003, EEL6667 (15 slides, 2.1 Mb).
Mathematica illustration: forward kinematics examples, Fall 2003, EEL6667 (2 Mb).
Mathematica illustration: forward kinematics examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Inverse manipulator kinematics 9/30-10/7 Inverse manipulator kinematics
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 4: Inverse manipulator kinematics, pp. 113-151, Addison-Wesley, Reading, MA, 1989.

Inverse kinematics case study
Mathematica illustration: Puma 560 inverse kinematics solution, Fall 2003, EEL6667 (72 kb).
Mathematica illustration: Puma 560 inverse kinematics solution, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Redundant manipulator examples
Mathematica illustration: kinematic redundancy examples, Fall 2003, EEL6667 (4.2 Mb).
Mathematica illustration: kinematic redundancy examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Velocity manipulator kinematics 10/7-10/16 Velocity manipulator kinematics
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 5: Jacobians: Velocities and static forces, pp. 152-186, Addison-Wesley, Reading, MA, 1989.
Velocity propagation: lecture slides, Fall 2003, EEL6667 (3 slides, 88 kb).
Mathematica illustration: velocity kinematics definitions (needed for all velocity and Jacobian Mathematica examples below), Fall 2003, EEL6667 (32 kb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Velocity iteration (propagation): examples
Mathematica illustration: velocity kinematics definitions (requires velocity kinematics definitions notebook above), Fall 2003, EEL6667 (20 kb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Jacobian computation: examples
Mathematica illustration: velocity kinematics definitions (requires velocity kinematics definitions notebook above), Fall 2003, EEL6667 (28 kb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Singularity analysis: examples
Mathematica illustration: velocity kinematics definitions (requires velocity kinematics definitions notebook above), Fall 2003, EEL6667 (8 kb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Inverse Jacobian mappings: examples
Mathematica illustration: velocity kinematics definitions (requires velocity kinematics definitions notebook above), Fall 2003, EEL6667 (3.1 Mb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Static forces to torques mapping
Mathematica illustration: velocity kinematics definitions (requires velocity kinematics definitions notebook above), Fall 2003, EEL6667 (16 kb).
Mathematica illustration: velocity kinematics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Manipulator dynamics 10/21-11/6 Derivation of manipulator dynamics
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 6: Manipulator dynamics, pp. 187-226, Addison-Wesley, Reading, MA, 1989.
Iterative general dynamic model for serial-link manipulators, Fall 2003, EEL6667. (16 pages, 952 kb)
Iterative general dynamic model for serial-link manipulators: slides, Fall 2003, EEL6667. (43 slides, 11 pages, 1.9 Mb)
Mathematica illustration: manipulator dynamics definitions (needed for all Mathematica dynamics examples below), Fall 2003, EEL6667 (44 kb).
Mathematica illustration: manipulator dynamics definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Manipulator dynamics examples
Mathematica illustration: introductory dynamics examples (requires manipulator dynamics definitions notebook above), Fall 2003, EEL6667 (3.4 Mb).
Mathematica illustration: introductory dynamics examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Mathematica illustration: dynamic model iteration example (requires manipulator dynamics definitions notebook above), Fall 2003, EEL6667 (45 kb).
Mathematica illustration: dynamic model iteration example, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Mass distributions of rigid bodies
Mathematica illustration: inertia tensor examples, Fall 2003, EEL6667 (184 kb).
Mathematica illustration: inertia tensor examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Trajectory generation 11/11 Complete manipulator definitions
Mathematica illustration: complete manipulator definitions (needed for all Mathematica examples below this entry), Fall 2003, EEL6667 (124 kb).
Mathematica illustration: complete manipulator definitions, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Trajectory generation
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 7: Trajectory generation, pp. 227-261, Addison-Wesley, Reading, MA, 1989.
Mathematica illustration: trajectory generation examples (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (2.2 Mb).
Mathematica illustration: trajectory generation examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Introduction to control 11/13-11/18 Need for closed-loop control
Mathematica illustration: Open-loop "control" example (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (2.0 Mb).
Mathematica illustration: Open-loop "control" example, Fall 2003, EEL6667 (web version of above Mathematica notebook).

SISO control
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 9: Linear control of manipulators, pp. 299-315, Addison-Wesley, Reading, MA, 1989.
J. J. Craig, Introduction to Robotics: Mechanics and Control, 2nd ed., Chapter 10: Nonlinear control of manipulators, pp. 332-338, Addison-Wesley, Reading, MA, 1989.
Introduction to control: slides, Fall 2003, EEL6667 (6 slides, 896 kb).

SISO point control
Mathematica illustration: SISO point control (regulation) examples, Fall 2003, EEL6667 (800 kb).
Mathematica illustration: SISO point control (regulation) examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).

SISO trajectory-following control
Mathematica illustration: SISO trajectory-following control examples (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (2.8 Mb).
Mathematica illustration: SISO trajectory-following control examples, Fall 2003, EEL6667 (web version of above Mathematica notebook).
Manipulator control Big picture
Complete robot system diagram, Fall 2003, EEL6667 (1 slide, 8 kb).

Manipulator control examples
Mathematica illustration: partitioned control with imperfect model (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (3.5 Mb).
Mathematica illustration: partitioned control with imperfect model, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Additional manipulator control experiments (C-code generated), Fall 2003, EEL6667.

C-code generation examples
C-code generation: two-link, point-mass assumption (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (44 kb).
C-code generation: two-link, point-mass assumption, Fall 2003, EEL6667 (web version of above Mathematica notebook).

C-code generation: two-link, cylindrical links (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (44 kb).
C-code generation: two-link, cylindrical links, Fall 2003, EEL6667 (web version of above Mathematica notebook).

C-code generation: four-link, point-mass assumption (requires complete manipulator definitions notebook above), Fall 2003, EEL6667 (92 kb).
C-code generation: four-link, point-mass assumption, Fall 2003, EEL6667 (web version of above Mathematica notebook).

Last updated November 18, 2003 by Michael C. Nechyba