Path and trajectory planning Up till now Path and trajectory planning

13
Path and trajectory planning Lecture 5 Mikael Norrlöf PhDCourse Robot modeling and control Lecture 4 Up till now § Lecture 1 Rigid body motion Representation of rotation Homogenous transformation § Lecture 2 Kinematics • Position Velocity via Jacobian DH parameterization § Lecture 3 Lagrange’s equation (Newton Euler) Parameter identification Experiment design Model structure § Lecture 4 Robot Motion Control Overview Current and Torque Control Control Methods for Rigid and Flexible Robots Interaction with the environment PhDCourse Robot modeling and control Lecture 4 Outline § Path vs trajectory § Standard path planning techniques in industrial robots § Trajectory generation – an introduction to the problem § More general path planning algorithms Potential field approach An introduction to Probabilistic Road Maps (PRMs) § Lab session: date/time to be decided PhDCourse Robot modeling and control Lecture 4 Path and trajectory planning What is the difference between path and trajectory? Compare: kinematics versus dynamics. Path: Only geometric considerations. The way to go from config a to b. Trajectory: Include time, i.e., consider the dynamics.

Transcript of Path and trajectory planning Up till now Path and trajectory planning

Page 1: Path and trajectory planning Up till now Path and trajectory planning

Path and trajectory planning

Lecture 5Mikael Norrlöf

PhDCourse Robot modeling and controlLecture 4

Up till now

§ Lecture 1� Rigid body motion� Representation of rotation� Homogenous transformation

§ Lecture 2� Kinematics

• Position• Velocity via Jacobian• DH parameterization

§ Lecture 3� Lagrange’s equation� (Newton Euler)� Parameter identification

• Experiment design• Model structure

§ Lecture 4� Robot Motion Control

Overview� Current and Torque Control� Control Methods for Rigid

and Flexible Robots� Interaction with the

environment

PhDCourse Robot modeling and controlLecture 4

Outline

§ Path vs trajectory§ Standard path planning techniques in industrial

robots§ Trajectory generation – an introduction to the

problem§ More general path planning algorithms

� Potential field approach� An introduction to Probabilistic Road Maps (PRMs)

§ Lab session: date/time to be decided

PhDCourse Robot modeling and controlLecture 4

Path and trajectory planning

What is the difference between path and trajectory?

Compare: kinematics versus dynamics.

Path: Only geometricconsiderations. The way togo from config a to b.

Trajectory: Include time,i.e., consider the dynamics.

Page 2: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Path planning

§ In industrial robot applications two path planningmodes can be identified� Change configuration

� Perform an operation

PhDCourse Robot modeling and controlLecture 4

Path planning

§ In industrial robot applications two path planningmodes can be identified� Change configuration

In RAPID (ABB’s programming language)MoveJ p10, v1000, z10, tool;

� Perform an operationMoveL p20, v50, z1, tool;

MoveC p30, p40, v25, fine, tool;

PhDCourse Robot modeling and controlLecture 4

Rapid, robot motion instructions

§ Linear in� joint space: MoveJ� Cartesian space: MoveL

§ Circle segment� MoveC

PhDCourse Robot modeling and controlLecture 4

Via points

§ Point-to-point (fine points in Rapid). Robot has tostop.

§ Via points (zones in Rapid). Robot does not reach theprogrammed position.

p10

p20

p30

p40

p10

p20

p30

p40

Page 3: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Geometric description

0.70.8

0.91

0

0.1

0.2

0.3

0.4

0.5

1.15

1.2

1.25

1.3

1.35

1.4

1.45

y

x

z

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

lc

q(lc

)

4 2 4

Inversekinematics

One possibleparameterization iscubic splines.

See MSc theses, “Path planning forindustrial robots” by Maria Nyström and“Path generation in 6-DOF for industrialrobots” by Daniel Forssman.

Chap 5 in “Modeling and Control of RobotManipulators”, Sciavicco and Siciliano

PhDCourse Robot modeling and controlLecture 4

Orientation interpolation

§ The orientation along the path is interpolated to get asmooth change of orientation.

§ Given initial orientation (as a quaternion), q0 and finalorientation q1 compute

q01 = q1q0-1

and interpolate the angle a from 0 to q01 inqip(a) = <cos(a/2), sin(a/2) s01>

where (q01,s01) is the angle-axis representation of q01

§ The interpolation scheme is often referred to as slerpinterpolation

PhDCourse Robot modeling and controlLecture 4

The trajectory generation problem

Optimal control!

q0

qf

PhDCourse Robot modeling and controlLecture 4

The trajectory generation problem

Optimal control!

The path is parameterized insome index s Þ qr(s) whichintroduces additionalconstraints.

q0

qf

Page 4: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

The trajectory generation problem

Resulting optimization problemComplexity:

• 6 joints/actuators

• A robot can have > 100constraints

• Multiple robots possible

Complexity:

• 6 joints/actuators

• A robot can have > 100constraints

• Multiple robots possible

PhDCourse Robot modeling and controlLecture 4

00.1

0.20.3

0.4

0.20.4

0.60.8

10.9

0.95

1

1.05

1.1

1.15

xy

z

xx

Trajectory generation problem

vd = 500 mm/s

vd = 1000 mm/s

PhDCourse Robot modeling and controlLecture 4

00.1

0.20.3

0.4

0.20.4

0.60.8

10.9

0.95

1

1.05

1.1

1.15

xy

z

xx

Trajectory generation problem

vd = 1000 mm/s

vd = 500 mm/s

PhDCourse Robot modeling and controlLecture 4

0 0.5 1 1.5 2 2.5-1

-0.5

0

0.5

1

1.5

Time [sec]

q(t)

OPTI

MIZATION

OPTI

MIZATION

Dynamisk optimering

00.1

0.20.3

0.4

0.20.4

0.60.8

10.9

0.95

1

1.05

1.1

1.15

xy

z

00.1

0.20.3

0.4

0.20.4

0.60.8

10.9

0.95

1

1.05

1.1

1.15

xy

z

xx

vd = 1000 mm/s

vd = 500 mm/s

q(t)

Page 5: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Solution

PhDCourse Robot modeling and controlLecture 4

Dynamic scaling of trajectories

§ The dynamic model can be rewritten in the form

§ Let r = ct (time scaling). The original speed/acc deptorque is

If time scaling is applied

and with linear time scaling

t=++G

)q(gq)q,q(Cq)q(D]qq)[q(

43421&&&&

&&

]qq)[q(q)q(Ds &&&& G+=t

)r(q))r(q(Drr ss ¢+= &&& tt 2

ss c tt 2=

PhDCourse Robot modeling and controlLecture 4

Application to a robot system

Use more than one robot toincrease the flexibility in anapplication.

Here with application arcwelding.

PhDCourse Robot modeling and controlLecture 4

A more general path planning scheme

Page 6: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Configuration space

A complete specification of the location of every pointon the robot is a configuration (Q).

The set of all configurations is called the configurationspace.

q + kinematics give configuration.

PhDCourse Robot modeling and controlLecture 4

Obstacles

The workspace of the robot is W. The subset of Woccupied by the robot is A(q).

The configuration space obstacle is defined as

with

The collision free configurations are

{ }ƹÇÎ= O)q(AQqQO

iOO È=

QO\QQ =free

PhDCourse Robot modeling and controlLecture 4

Collision detection

§ A number of packages exists on the internet:� One example is from the group “team gamma” at Berkley

http://gamma.cs.unc.edu/research/collision/packages.html� Another at University of Oxford

http://web.comlab.ox.ac.uk/people/Stephen.Cameron/distances/� See also wikipedia

http://en.wikipedia.org/wiki/Collision_detection

§ An application where collision detection is used canbe found in MSc thesishttp://www.control.isy.liu.se/student/exjobb/xfiles/2050.pdf

PhDCourse Robot modeling and controlLecture 4

General formulation of the path planning problem

Find a collision free path from an initial configuration qsto a final configuration qf.

More formallywith g (0) = qs and g (1) = qf.

Examples of methods:§ Path planning using potential fields§ Probabilistic road maps (PRMs)

free10 Q],[: ®g

Page 7: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Slide from: http://ai.stanford.edu/~latombe/

PhDCourse Robot modeling and controlLecture 4

Artificial potential field

§ Idea: Treat the robot as a point particle in theconfiguration space, influenced by an artificialpotential field. Construct the field U such that therobot is attracted to the final configuration qf whilebeing repelled from the boundaries of QO.

§ In general it is difficult/impossible to construct a fieldwithout having local minima.

PhDCourse Robot modeling and controlLecture 4

Construction of the field U

§ U can be constructed as an addition of an attractivefield and a second component that repels the robotfrom the boundary of QO

U(q) = Uatt(q) + Urep(q)§ Path planning can be treated as an optimization

problem, finding the global minimum of U(q). Onesimple approach is to use a gradient descentalgorithm.Let )q(U)q(U)q(U)q( repatt Ñ--Ñ=-Ñ=t

PhDCourse Robot modeling and controlLecture 4

Construction of the field U

Comments§ In general difficult to construct the potential field in

configuration space (the field is often based on thenorm of the min length to the obstacles)

§ Easier to define the field in the robot workspace

§ For an n-link manipulator a potential field isconstructed for each DH-frame

§ The link between workspace and configuration spaceis the Jacobian

Page 8: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

The attractive field

§ Conic well potential (Uatt,i(q) = ||oi(q) - oi(qf)||)§ Parabolic well potential (Uatt,i(q) = ½ xi ||oi(q) - oi(qf)||2)§ Parabolic well potential with upper bound

and

ïî

ïí

ì

>---

£--=

d)q(o)q(o,d)q(o)q(od

d)q(o)q(o,)q(o)q(o)q(U

fiiifiii

fiifiii

i,attzz

z22

2

21

21

( )

ïî

ïí

ì

>--

-£---

=d)q(o)q(o,

)q(o)q(o)q(o)q(o

d

d)q(o)q(o,)q(o)q(o)q(F

fiifii

fiii

fiifiii

i,att z

z

PhDCourse Robot modeling and controlLecture 4

The repulsive field

Criteria for the repulsive field to satisfy,§ Repel the robot from obstacles (never allow the robot

to collide)§ Obstacles should not affect the robot when being far

away

PhDCourse Robot modeling and controlLecture 4

Path planning – obstacle free path

Notice:Including only the origin of the DH-frames does not guaranteecollision free path. (Additional points can however be added.)

PhDCourse Robot modeling and controlLecture 4

The repulsive field

One possible choice

with

If the obstacle region is convex and b is the closest point to oi

ïî

ïí

ì

>

£÷÷ø

öççè

æ-=

0

0

2

021

0

11

rr

rrrr

h

))q(o(,

))q(o(,))q(o()q(U

i

ii

ii,rep

))q(o())q(o())q(o(

)q(F iii

ii,rep rrrr

h Ñ÷÷ø

öççè

æ-= 2

0

111

,b)q(o))q(o( ii -=r

b)q(ob)q(o)x(

i

i)q(ox i -

-=Ñ

=r

Page 9: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Comment, the “convex assumption”

§ The force vector has adiscontinuity

§ Distance function notdifferentiable everywhere

Can be avoided if repulsivefields of distinct obstaclesdo not overlap.

PhDCourse Robot modeling and controlLecture 4

Mapping the workspace forces into joint torques

If a force is exerted at the end-effector

The Jacobian can be derived in all the points oi.

Notice that the full Jacobian can be used when mappingforces and torques from workspace to torques inconfiguration space.

t=FJ Tv

PhDCourse Robot modeling and controlLecture 4

§ Build the path using the resulting configuration space torquesand an optimization algorithm

Gradient descent algorithm

Design parameters, ai, zi, hi, r0.

Typical problem: Can get stuck in local minima.

Path construction in configuration space

PhDCourse Robot modeling and controlLecture 4

Escape local minima using randomization

When stuck in a local minimum execute a random walk

New problems:§ Detect when a local minimum is reached§ Define how the random walk should behave (how many steps,

define the random terms, variance, distribution, …)

Page 10: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

§ The cost of computing an exact representation of theconfiguration space of a multi-joint articulated object is oftenprohibitive.

§ But very fast algorithms exist that can check if an articulatedobject at a given configuration collides with obstacles.

à Basic idea of Probabilistic Roadmaps (PRMs):Compute a very simplified representation of the freespace by sampling configurations at random.

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

A more systematic way to build collision free paths

PhDCourse Robot modeling and controlLecture 4

free spaceSpace Ân forbidden space

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

Configurations are sampled by picking coordinates at random

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

Configurations are sampled by picking coordinates at random

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

Page 11: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Sampled configurations are tested for collision (in workspace!)

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

The collision-free configurations are retained as “milestones”

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

Each milestone is linked by straight paths to its k-nearest neighbors

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

Each milestone is linked by straight paths to its k-nearest neighbors

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

Page 12: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

The collision-free links are retained to form the PRM

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

s

g

The start and goal configurations are included as milestones

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

The PRM is searched for a path from s to g

s

g

Probabilistic Roadmap (PRM)

Slid

efro

m:h

ttp://

ai.s

tanf

ord.

edu/

~lat

ombe

/

PhDCourse Robot modeling and controlLecture 4

Comments

§ In industrial robotic applications the path planningproblem is very much left to the user

§ New ideas from mobile robotics (potential fieldalgorithms, PRMs, etc. could be applied)

§ Automatic planning algorithms highly complex

§ The trajectory generation problem can be solved byapplying optimal control techniques

§ Conceptually easy to solve the offline problem§ Difficult to implement online

Page 13: Path and trajectory planning Up till now Path and trajectory planning

PhDCourse Robot modeling and controlLecture 4

Comments

§ Other planning requirements in many applications

PhDCourse Robot modeling and controlLecture 4

Lab session

§ Suggestion� Jan 31 – Time 9-15 (?)� Explore the possibilities in Rapid/RobotStudio� Exercise based on the previous lab but including multiple

frames and also including moving frames (additionalmechanical units)

PhDCourse Robot modeling and controlLecture 4

Projects

§ Kinematic redundancy§ Estimation and control§ Modeling and Identification§ Path planning and trajectory generation

� Energy optimal� Sensor control (conveyor tracking)� …

§ Daignosis

§ ROS – Robot operating system§ Further develop the robot from the exercises – modeling

and control§ Further explore the DH parameterization and the

possibility to use it in RobotStudio§ …