0% found this document useful (0 votes)
98 views

More Inverse Kinematics: MEAM 520

This document contains instructions for homework assignments on manipulator kinematics and inverse kinematics for a graduate robotics course. It includes instructions for written problems on kinematics of the Baxter robot and a 3-link Cartesian robot. It also provides instructions for programming forward kinematics analysis of the PUMA 260 robot using Denavit-Hartenberg parameters. Students are asked to determine the DH parameters, write code to calculate the transformation matrices between frames, and calculate the positions of each frame's origin for plotting.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

More Inverse Kinematics: MEAM 520

This document contains instructions for homework assignments on manipulator kinematics and inverse kinematics for a graduate robotics course. It includes instructions for written problems on kinematics of the Baxter robot and a 3-link Cartesian robot. It also provides instructions for programming forward kinematics analysis of the PUMA 260 robot using Denavit-Hartenberg parameters. Students are asked to determine the DH parameters, write code to calculate the transformation matrices between frames, and calculate the positions of each frame's origin for plotting.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

MEAM 520

More Inverse Kinematics


Katherine J. Kuchenbecker, Ph.D.
General Robotics, Automation, Sensing, and Perception Lab (GRASP)
MEAM Department, SEAS, University of Pennsylvania

Lecture 8: October 2, 2012


Homework 2:
Manipulator Kinematics and DH Parameters
MEAM 520, University of Pennsylvania
Katherine J. Kuchenbecker, Ph.D.
September 18, 2012

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.

Written Problems (30 points)


The first set of problems are written, including two from the textbook, Robot Modeling and Control by Spong,
Hutchinson, and Vidyasagar (SHV). Please follow the extra clarifications and instructions when provided.
Write in pencil, show your work clearly, box your answers , and staple your pages together.

1. Custom problem – Kinematics of Baxter (5 points)


Rethink Robotics recently released a new robot named Baxter. Watch YouTube videos of Baxter (e.g.,
http://www.youtube.com/watch?v=rjPFqkFyrOY) to learn about its kinematics. Draw a schematic
of the serial kinematic chain of Baxter’s left arm (the one the woman is touching in the picture above.)
Use the book’s conventions for how to draw revolute and prismatic joints in 3D.

2. SHV 3-7, page 113 – Three-link Cartesian Robot (10 points)


Your solution should include a schematic of the manipulator with appropriately placed coordinate
frames, a table of the DH parameters, and the final transformation matrix. Then answer the following
question: What are the x, y, and z coordinates of the tip of the robot’s end-effector in the base frame
(as a function of the robot parameters and the joint coordinates)?

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 Joint Coordinates Task Coordinates


3 Forward Kinematics (FK)
1

θ 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.

Forward Kinematics of the PUMA 260 (30 points)


The first two problems center on the forward kinematics of the PUMA 260. We will be using this robot for
the hands-on manipulator labs in this class. It is an articulated robot (RRR) with lateral offsets, plus a
spherical wrist (RRR). The drawing below on the left shows the robot and the arrangement of its joints.
z6

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

Reinforce and refine your understanding of homogeneous


x0 transformations, forward kinematics, and DH parameters
Questions ?
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.

A. Making the SCARA Draw a Vertical Circle (12 points)


ï2
Read Example 3.10 on pages 108–109 of the textbook. ï2 It derives the inverse kinematics of a SCARA
2 2
manipulator with the goal of placing the end-effector at [ox oy oz ]T . The provided solution includes
1 2 1 2
formulas for θ2 , θ1 , and d3 (as well as
1
θ 4 , which we will be ignoring), but unfortunately 1
it includes
0 0
two mistakes. Furthermore, the book’s
0 convention is to list the arguments to the atan2 0 function in the
ï1 ï1
opposite order from MATLAB,
ï1 which is confusing; I prefer to show the numerator
ï1 and denominator
ï2 ï2 ï2 ï2
of theY (m)
tangent in a fraction. Finally,
X (m) note that d1 = 0 in Y this
(m) analysis. The corrected answers are as
X (m)
follows:
o2x + o2y − a21 − a22
cos θ2 = (1)
2a1 a2
! √ 2
"
± 1 − cos θ2
θ2 = atan2 (2)
cos θ2
! " ! "
oy a2 sin θ2
θ1 = atan2 − atan2 (3)
ox a1 + a2 cos θ2
d3 = −oz (4)

Understand the usefulness of inverse kinematics.


2
Questions ?
1 2 1 2
0 1 0 1
0 0
−1 −1
−1 −1
Y (m) −2 −2 Y (m) −2 −2
X (m) X (m)

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

Some slides created


by Jonathan Fiene
A helpful approach for 6-DOF robots:
Kinematic Decoupling

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.

A. Making the SCARA Draw a Vertical Circle (12 points)


ï2
Read Example 3.10 on pages 108–109 of the textbook. ï2 It derives the inverse kinematics of a SCARA
2 2
manipulator with the goal of placing the end-effector at [ox oy oz ]T . The provided solution includes
1 2 1 2
formulas for θ2 , θ1 , and d3 (as well as
1
θ 4 , which we will be ignoring), but unfortunately 1
it includes
0 0
two mistakes. Furthermore, the book’s
0 convention is to list the arguments to the atan2 0 function in the
ï1 ï1
opposite order from MATLAB,
ï1 which is confusing; I prefer to show the numerator
ï1 and denominator
ï2 ï2 ï2 ï2
of theY (m)
tangent in a fraction. Finally,
X (m) note that d1 = 0 in Y this
(m) analysis. The corrected answers are as
X (m)
follows:
o2x + o2y − a21 − a22
cos θ2 = (1)
2a1 a2
! √ 2
"
± 1 − cos θ2
θ2 = atan2 (2)
cos θ2
! " ! "
oy a2 sin θ2
θ1 = atan2 − atan2 (3)
ox a1 + a2 cos θ2
d3 = −oz (4)

Understand the usefulness of inverse kinematics.


2
Questions ?
An Even More Complicated Example – Planar RRR Robot

Discuss with a partner.

Given a desired position of the end effector, how many


solutions are there to the inverse kinematics for this robot?
Infinitely many solutions if the target position is in the workspace
1 solution if the target position is on the workspace boundary
0 solutions if the target position is outside the workspace
An Even More Complicated Example – Planar RRR Robot
wrist center

orientation

Discuss with a partner.

If the orientation of the end effector is also specified, how


many inverse kinematics solutions are there?
A helpful approach for 6-DOF robots:
Kinematic Decoupling

wrist center

tip of robot
position
(origin of tool frame)

orientation
An Even More Complicated Example – Planar RRR Robot
wrist center

orientation

Discuss with a partner.

If the orientation of the end effector is also specified, how


many inverse kinematics solutions are there?
2 solutions if the wrist center is inside the 2-link workspace
1 solution if the wrist center is on the 2-link workspace boundary
0 solutions if the wrist position is outside the 2-link workspace
Infinitely many solutions if the wrist center is the origin
Questions ?

You might also like