ME 482/582 (Robot Engineering) Class Information
ME 482/582 (Robot Engineering) Class Information
Department of Mechanical Engineering
1. Syllabus and misc. info.
A concise
syllabus
for ME 482/582 is available for download as a PDF file.
Here is an MTTC Map so you can find
my MTTC office and the lab when we have projects to show. My office is
in Suite 235 (to the left of where the MTTC Cafe used to be) but that
door may be locked.
It's best to phone me (272-7156) from outside the door, or knock on the
glass with a metallic object (now discouraged). If
I'm there I will hear you.
The text for the class has some errors: here is an
errata sheet for the book,
courtesy of Ellen Applebaum.
2. Mailing List.
There is a mailing list (listserv) titled
ME 582-L for this class. You may sign up at any time.
HOW TO SUBSCRIBE TO THE LIST:
Individuals can subscribe to the list by sending a message to:
listserv@list.unm.edu
Leave the Subject field blank.
In the body of message type (with no
other text):
subscribe ME582-L Firstname
Lastname
Once the subscribe
request is approved,
a notification will
be emailed to the
person.
3. MATLAB.
Here is a
MATLAB Tutorial
prepared by the UNM Math Department (PDF file).
You can also go to the Mathworks'
MATLAB Tutorial...click on the "View Tutorial" below the MATLAB
Tutorial heading. There is a lot more information here, which may
or may not be more helpful.
Here are MATLAB functions for the three rotation matrices
rotx,
roty, and
rotz.
4. Homework Submission and Grading."
I tried out "self-graded"
homework last semester in Digital Control, and it was largely successful.
Here are some grading guidelines
for your homework.
5. Homework "hints and answers."
Here are PDF and M-files
containing
hopefully helpful hints, some answers, and other information
for the homework
and programming assignments.
The MATLAB M-files will not download, but
will display so you can "cut and paste" into the MATLAB Editor if you wish.
- Chapter 2 Hints
(including format for the two MATLAB functions for the Programming
Exercises)
- Here is a brief discussion of
pre- and postmultiplication
using transformation operators.
- chpt2.m, the "Chapter 2" script
(main program) I will use to test your "utoi" and "itou" functions.
- Chapter 3 Hints
(also including format for the two MATLAB functions for the Programming
Exercises)...got the hints posted as fast as I could.
- chpt3.m, the "Chapter 3" script
(main program) I will use to test your "kin" and "where" functions.
The transforms {T} relative to {W} and {S} relative to {B} are "hard-coded"
in the script, but feel free to change them if you want to try other
situations.
- Chapter 4 Hints
(including format AND PARTIAL RESULTS for the two MATLAB
functions for the Programming
Exercises).
- chpt4.m, the "Chapter 4" script
(main program) I will use to test your "kin" and "where" functions.
This script uses "structures" in MATLAB to simplify things a little.
Don't worry, you don't have to understand this script to use it!
- Chapter 5 Hints, including
a discussion of the MATLAB Exercise in which the inverse Jacobian is
used to move a 3R robot at given Cartesian velocities. You will be
writing (and emailing me) two M-files: function jacob.m and script
rmrc.m. Remember
to use a smaller time step than given: 0.05 or smaller.
This HW is due on Friday, October 30.
- simr.m, a function which is the line-drawing
simulator for the MATLAB Exercise.
Its syntax is: simr(theta),
where theta is the Nx3 array of joint angles (radians).
This should be portable across various computers, although I seem
to recall some screensize problems in the past.
- Chapter 6 Hints (including the
manipulator dynamics problem I made up, and Programming Exercise (Part 6).
I changed my mind BACK and am NOT going to have you do
MATLAB Exercise 6A. I do have some suggestions (and the EOMs) for the
Programming Exercise in these hints.
- chpt6.m, the "Chapter 6" script. It
prompts you to enter initial position (initial velocity
is fixed
at zero; input torque is also fixed at zero), then simulates the
motion for a desired amount of time. The "display period" is also
user-selectable. The resulting data are written out to the workspace.
- simd.m, a script which is an animated
dynamic simulator for the Chapter 6 Programming Exercises (uses update.m).
The initial position, final time, and "display period" are all selectable.
Some of the window parameters may not work on a given computer, so good luck.
- draw_robot.m, which "simd"
needs to draw the simulated robot.
- Chapter 7 Hints; note that we
are doing the "MATLAB EXERCISE 7" instead of the "Programming Exercises."
And this time you don't email me anything; include the results of MATLAB
EXERCISE 7 along with your Chapter 7 HW. NOTE: The time durations
of the two motion segments in Problem 6 have been changed.
- Trajectory Demo; This discusses the
trajectories we will see in the lab. This will include 1st, 3rd-order
(cubic),
and 5th-order (quintic) polynomials; also "L-shaped" motions using (1)
Cubic splined using "specified velocity" at the via point, and (2) cubics
splined using "continuous acceleration" at the via point.
6. Homework and Programming Solutions.
Here are PDF and M-files containing
the entire homework and programming solutions.
Again, the PDF files will download, but the MATLAB M-files will
appear on the screen; you can then "copy and paste"...
- Chapter 2 HW solution (including
listings of the MATLAB functions).
- utoi.m, the "utoi" function which converts
from user form [x y theta_deg] to internal [T matrix] form.
- itou.m, the "itou" function which converts
the other way.
- euler2R.m, a function which converts
from ZYZ Euler angles to a 3x3 R matrix (MATLAB Exercise 2A part (a)).
- R2euler.m, a function which converts
from a 3x3 R matrix to ZYZ Euler angles (MATLAB Exercise 2A part (b)).
- Chapter 3 HW Solution,
(including sketch of planar robot).
- kin.m, the "kin" function for the Programming
Exercises.
- where.m, the "where" function for the
Programming Exercises.
- Chapter 4 HW Solution, including a
screenshot of the ADAMS model of the 3-link RRR robot of the Programming
Exercises.
- invkin.m, the "invkin" function for the
Programming Exercises.
- solve.m, the "solve" function for the
Programming Exercises.
- unwrap.m, the "unwrap" function
I used to keep joing angles within +/-pi
(this must be in your current directory to avoid conflict with
the MATLAB "unwrap" function).
- invkin.m, the "invkin" function for
HW problem 4.11.
- kin.m, the "kin" function for
HW problem 4.11.
- Chapter 5 HW Solution, including
the plots from the MATLAB Exercise, but not the code.
- rmrc.m, the "rmrc" script for the Chapter
5 MATLAB Exercise. It contains parameters for both the "text" motion and
the longer "demo" motion I should in class (use comments to select the one
you wish to use).
- simr.m, the "simr" function for the Chapter
5 MATLAB Exercise. This animates the manipulator, and---like rmrc.m---has
parameters for both trajectories. I thought I had posted this before, but
I guess not. Sorry.
- jacob.m, the "jacob" Jacobian function
for the Chapter 5 MATLAB Exercise.
- update.m, the "update" function; used
to advance the robot joint state (theta, thetadot) one time step. It
accepts a vector of joint torques, and uses an integration time step
of 0.001 seconds.
- Chapter 6 HW Solution. Hopefully all
mistakes corrected.
- Chapter 7 HW Solution,
including the vector/matrix formulation needed for Problem 6(b) when the
durations of the two segments are NOT equal.
7. Midterm Exam.
I will post a solution for the midterm exam here. Or maybe not...
8. Midterm Project.
- Here is the problem statement for the
Midterm Project,
now with object trajectory defined. I have tried the trajectory, and it's
duration must be extended to 4*pi seconds (it's too fast for the robots).
I've modified the project statement to reflect that. The coefficients for
the parameter "gamma" have changed, and the resulting trajectories are now
twice as long. Not a big deal.
NOTE: Due date is Monday, October 19, 2009. We will meet in the lab
on Wednesday, October 21 to execute your trajectories on the Staubli robots.
- Here are
File Submission Guidelines
for the Midterm Project. Now changed to reflect 4*pi second duration.
- Here are some tips on
Generating the Trajectory
for the Midterm Project. Now changed to reflect 4*pi second duration.
9. Final Project.