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