More Inverse Kinematics: MEAM 520
More Inverse Kinematics: MEAM 520
This assignment is due on Thursday, September 27 (updated), by 5:00 p.m. sharp. You should aim
to turn the paper part in during class that day. If you don’t finish until later in the day, you can turn it
in to Professor Kuchenbecker’s office, Towne 224. The code must be emailed according to the instructions
at the end of this document. Late submissions of either or both parts will be accepted until 5:00 p.m. on
Friday, but they will be penalized by 25%. After that deadline, no further assignments may be submitted.
You may talk with other students about this assignment, ask the teaching team questions, use a calculator
and other tools, and consult outside sources such as the Internet. To help you actually learn the material,
what you write down should be your own work, not copied from a peer or a solution manual.
1
Solutions to Homework 2
MEAM 520
Introduction to Robotics
University of Pennsylvania
Professor Kuchenbecker
Fall 2012
Joint and Task Coordinates
3 (x,y)
3
2
_
2
θ 1 , θ2 , θ3 x, y, α
2 Inverse Kinematics (IK)
Due on Tuesday, October 9, by 5:00 p.m.
Homework 3:
DH Parameters and Inverse Kinematics
MEAM 520, University of Pennsylvania
Katherine J. Kuchenbecker, Ph.D.
September 30, 2012
This assignment is due on Tuesday, October 9, by 5:00 p.m. sharp. You should aim to turn the paper
part in during class that day. If you don’t finish until later in the day, you can turn it in to Professor
Kuchenbecker’s office, Towne 224. The code must be emailed according to the instructions at the end of
this document. Late submissions of either or both parts will be accepted until 5:00 p.m. on Wednesday, but
they will be penalized by 25%. After that deadline, no further assignments may be submitted.
You may talk with other students about this assignment, ask the teaching team questions, use a calculator
and other tools, and consult outside sources such as the Internet. To help you actually learn the material,
what you write down should be your own work, not copied from a peer or a solution manual.
x6
θ6
a = 13.0 in. f
b = 3.5 in.
c = 8.0 in. θ5
d = 3.0 in.
e = 8.0 in.
f = 2.5 in.
θ4
e
d
c
b
θ3
θ2
θ1
a
z0
x0
The schematic above on the right shows the zero configuration we have chosen for use in this class (a different
pose from the drawing at the left). The joint angle arrows show the positive direction for each revolute joint
(θ1 to θ6 ). All of the joints are shown at θi = 0. The diagram also gives the measurements for the constant
dimensions (a to f ), all in inches.
1
z6
x6
θ6
•Assign coordinate frames
a = 13.0 in. f
b = 3.5 in.
c = 8.0 in. θ5 •Determine DH parameters
d = 3.0 in.
e = 8.0 in.
f = 2.5 in.
•Update dh_starter.m
θ4
• A = dh_yourpennkey(a, alpha, d, theta);
e
d • Angles are in degrees, so use sind and cosd
b
c
•Update puma_robot_starter.m
θ3
• Calculate all six of the Puma’s A matrices
θ2
using dh_yourpennkey.m
• Calculate the position of the origin of each
θ1
a
frame (o1 through o6) for plotting.
z0
Z (m)
0 0
Inverse Kinematics (30 points)
These
ï1
questions both deal with inverse kinematics of 3-DOF
ï1
robots.
Your job is to update this script so that the SCARA draws a circle in a plane parallel to the x-z plane,
as shown above right. The desired radius, y offset, x center, and z center are defined in the code
(feel free to change these), along with the desired trajectory of the robot’s tip. The provided starter
code functions much as the code for Homework 2 did, except it provides you with ox, oy, and oz instead
of the joint coordinates. You need to calculate theta1 (in radians), theta2 (in radians), and d3 (in
meters) from a1, a2, ox, oy, and oz. You should only need to update the code between the two lines of
stars. Note that these angles are in radians, while the ones in the PUMA 260 problem are in degrees.
Once you get this to work, spend some time playing with the circle parameters to improve your under-
standing of inverse kinematics. Instructions for submitting your code are at the end of this assignment.
B. SHV 3-12 – Inverse Kinematics for the Planar RPR (18 points)
Make sure to answer all of the questions stated in SHV 3-11. Here is a somewhat embellished list of the
questions you should answer:
a. Given a desired position of the end effector, how many solutions are there to the inverse kinematics
of the three-link planar arm shown in Figure 3.33? How does the number of solutions depend on
the desired position, if at all?
b. If the orientation of the end effector is also specified, how many solutions are there? How does the
number of solutions depend on the desired position and orientation, if at all?
c. Use the geometric approach to find the inverse kinematic solution(s) for the case when both the
position and orientation of the end effector are specified as ox , oy , and α, remembering the concept
of kinematic decoupling.
Do this problem in pencil on paper, and submit it with the other paper parts of this assignment.
Learn how to derive the inverse kinematics for a manipulator.
3
Questions ?
Inverse
Kinematics
wrist center
tip of robot
position
(origin of tool frame)
orientation
The RPP Cylindrical Robot – Inverse Kinematics
d3
z3
x3
y3
d2
How could
I check my
1 answers?
z0
y0 c1 0 −s1 −s1 d3
0
s1 0 c1 c1 d3
x0 T3 =
0 −1 0 d1 + d2
0 0 0 1
A More Complicated Example – Planar RR Robot
Do these
answers
look
familiar?
step to do this. Note that the robot’s measurements
SCARA Robot by Katherine J. Kuchenbecker (Solution)
are already defined for you as a through f.
SCARA Robot Drawing a Circle by Katherine J. Kuchenbecker (Solution)
Then calculate the position of the origin of each frame (o1 through o6) in the base frame; o0 is done
for you. All seven origin locations should be put together in the variable points to plot in order,
with the origin of frame 6 as the last column. Use the seven available motion modes to test your
2
calculations, and fix everything that you notice is not2 correct. You are welcome to add more motion
modes to test othert =trajectories
10.00 s as needed, but please don’t modify the ones that
t = 6.28 s are already defined.
1 1
Instructions for turning in your MATLAB files appear at the end of this document.
Z (m)
Z (m)
0 0
Inverse Kinematics (30 points)
These
ï1
questions both deal with inverse kinematics of 3-DOF
ï1
robots.
orientation
wrist center
tip of robot
position
(origin of tool frame)
orientation
An Even More Complicated Example – Planar RRR Robot
wrist center
orientation