$35
ROBOT MODELING AND CONTROL
ECE470S
LAB3 : Motion Planning for the PUMA 560 Manipulator
1 Purpose
The purpose of this lab is to develop a Matlab function the performs a motion planning algorithm. The
function will use artificial potential fields to find a path from an initial point and orientation in task space
to a final point and orientation in task space while avoiding obstacles modeled as cylinders and spheres.
2 Preparation
1. Your work from Lab 1 is required for Lab 3.
2. Read the textbook Chapter 5 of the 2006 edition (Chapter 7 of the 2020 edition) paying particular
attention to Sections 5.2 and 5.5 (7.3.2 and 7.5 of the 2020 edition).
3. Write neatly on paper the expressions for koi(q) − bk and oi(q) − b appearing in equations (5.6) and
(5.7) of the 2006 textbook (equation (7.5) of the 2020 textbook) in the two cases:
case 1: the obstacle is a sphere of radius R centred at c = (cx, cy, cz).
case 2: the obstacle is a cylinder of infinite height with the following specs: centre at c = (cx, cy);
axis parallel to the z0 axis; the radius is R.
4. Study this entire document ahead of the lab, so that you are prepared to complete all steps within the
lab period.
3 Experiment
In this lab you will write a Matlab function that performs the motion planning algorithm developed in
Chapter 5 of your textbook, and presented in class. This function will be used in Lab 4 of this course, so it
is important that you test your function accurately. You will use the robotics toolbox to define and plot the
robot configuration in three-space.
At the heart of the artificial potential method, there is the gradient descent algorithm
q
k+1 = q
k + αk
X
6
i=1
Joi
(q
k
)
⊤
Fi,att(o
0
i
(q
k
)) + Fi,rep(o
0
i
(q
k
))
, (1)
where
Joi
(q
k
) =
Jv1
· · · Jvi
| 03×(6−i)
, (2)
and
Jvj =
(
z
0
j−1
if joint j is P
z
0
j−1 × (o
0
i − o
0
j−1
) if joint j is R.
The vectors z
0
j−1
, o
0
i
, and so on are computed using forward kinematics with joint vector q
k
.
1