2 views

Uploaded by Erick Garcia

- sammath..
- EEE 212 Lab documents.pdf
- numerical analysis
- engineering maths3 2014 question paper
- MTH 215 MATH 215 mth215 math 215 QUANTITATIVE REASONING I
- Profile Benchmark Calculator Short
- Electronics & Communication
- 6 04 Interpolasi Spline Sjk
- GIIJ-10 ganoderma
- CHE Syllabi
- Ref2
- MAT495_CHAPTER_3
- How to Read Tyre Data-Proceedings of the Institution of Mechanical Engineers
- Calculus Concepts and Applications Paul A Foerster
- q
- Summer 2012 Precalculus Section 1.2 Lecture Notes
- August2013solutions.pdf
- NCERT Solutions Class 12 Maths Chapter 9 Differential Equations
- SOL Dinamica Riley 2ED
- leastsqrs.pdf

You are on page 1of 6

M. Nystrom1 , M. Norrlof2

Department of Electrical Engineering,

Linkoping University, SE-581 83 Linkoping, Sweden

1. e-mail: nystrom@isy.liu.se

2. e-mail: mino@isy.liu.se

Abstract

motion while in many real applications where industrial robots are used the complete path must

be specified. In [3] the Cartesian path is approximated by line segments. From line segments it

is easy to take the step to represent the path using

general splines, this is discussed in e.g. [7]. To

control the manipulator it is necessary to transform the Cartesian path into a joint space representation. This step can also include the dynamic

optimization as described in [3, 2].

idea of using lines and arcs to create general paths is

presented. To make smooth paths in Cartesian space

zones are introduced and two different ways to interpolate zones are given. An algorithm for transforming

a Cartesian path into a cubic spline representation in

joint space is presented and also evaluated in an example. An important aspect of the proposed algorithm

is that the resulting path in joint-space has a bounded

Cartesian space error.

In the first part of this contribution path generation in Cartesian space using lines and circle

segments is discussed. One problem in Cartesian

space is how the lines and circles should be connected to each other to create a smooth path. The

solution is based upon the introduction of zones

in which an interpolation between the two lines,

the two circles or the circle and the line can be

done.

Introduction

There is a growing interest in academia and industry for new algorithms, methods and tools in generation and optimization of trajectories for industrial robots [4]. This development is motivated by

the increasing need for improved motion performance in several robot applications such as laser

cutting, laser welding, machining, assembly and

material handling.

The trajectory generation problem can be divided into two separate problems. The first,

which is covered here, deals with the path planning or path generation. This is a strictly geometrical problem but since it serves as an input

to the next step, the trajectory planning and optimization, it does have an impact on the resulting

trajectory. The two problems are often considered as one, see for example [4, 1, 2, 6]. Many of

the early contributions only covers point-to-point

the generation of paths in joint space. This includes transforming the Cartesian path to joint

space using the kinematic model [10, 8] of the

robot and also to interpolate a path in joint space

using splines. An algorithm for spline interpolation is presented and ideas on how to adjust

the length of the splines in order to keep a certain level of path accuracy in Cartesian space are

given.

Finally an example is presented where the algorithms for path generation are applied to a Cartesian line-circle path. This paper is based upon the

results presented in [8], [9], and [7].

This work was supported by the VINNOVA Competence Center ISIS at Linkoping University

used. This means that each segment is given a

new index l, where l [0, 1]. In the intersection

point with zone j, index for segment i, li , has the

value lizj where j = i or j = i 1.

The path inside the zone j uses an internal index lzj , which is based on the normalized index

of the second segment of the zone. For zone 1 in

Figure 1 this means that lz is based on the normalized index for segment 2. In general for a zone j:

lzj [l(j+1)zj , l(j+1)zj ].

If the robot was programmed to stop at the connection point of two adjacent segments, then the

distance from the beginning of the zone to the

connection point could be seen as a braking distance. The distance from the connection point to

the end of the zone could similarly be considered

as acceleration distance. If the braking and the acceleration take place simultaneously during a time

i,1 should be reached on the first

, then a point p

(i+1),1 on the second segsegment and a point p

ment. If these two points are seen as vectors from

the connection point of the two segments, the corresponding point on the interpolated path is given

i,1 + p

(i+1),1 , see Figure 2. This procedure

by p

continues until, on the first segment, the connection point is reached, and on the second segment,

the end point of the zone is reached.

in Cartesian space. Here it will be assumed that

the robot has only 3 degrees of freedom (DOF)

and therefore only the position of the path is considered.

2.1

Path primitives

tool) is in general composed by connecting a

number of lines and arcs, where each line and

arc is referred to as a segment. Each segment has

a parametric representation p(lc ) where lc is the

length of the segment (in m). A line segment is

represented by a first order spline and the arc is

p(lc ) where

represented by p(lc ) = T

T

(lc ) = r cos(lc /r) r sin(lc /r) 0 1

p

(1)

(lc ) is expressed in a local coordinate frame

and p

with origin in the center of the circle. r is the radius of the circle and lc is the index varying from

zero to the length of the arc. T is a homogeneous

transformation matrix (see e.g. [10]) expressing

the coordinate transformation between the local

coordinate frame and the global coordinate frame.

2.2

Introduction of zones

is introduced around the intersection points of every two adjacent segments, as shown in Figure 1.

Within this zone, the path is allowed to deviate

from the segments as long as the path does not

leave the zone. The actual path is interpolated

from the two adjacent segments.

segment 1

p1,1

z0

x0 O

0

p2,1

y0

p2

zon 2

zon 1

Clearly does not correspond to time in practice but the idea of deceleration and acceleration

along the path can be used as an interpretation of

the process of interpolation. The index and the

index lzj of zone j are related through

segment 3

segment 2

The two zones used in the interpolation of a

smooth path are shown as dashed circles.

=1+

lzj

l(j+1)zj

(2)

2

zone j = i the normalized index for each segment, li and li+1 , are computed through integradli+1

i

tion of dl

d and d . Two different choices of

these derivatives will be presented below.

0.9

0.8

0.7

0.6

0.5

2.3

0.4

0.3

the zone path is that the resulting path should be

continuous with continuous derivative and preferably a continuous second derivative. These requirements can be transformed into requirements

2

2

on the second derivatives ddl2i and d dli+1

2 .

To get a continuous second derivative of the

path at the beginning and the end of the zone,

the second derivatives of l should be close to zero

near these points. Also, to minimize the acceleration of the robot end effector along the path, the

second derivative of l should be kept small within

the zone.

A constant second derivative of index l, with

respect to , gives the first derivatives of index l as

the solid lines shown in Figure 3. This method of

zone interpolation will be referred to as Method

1. The values of the normalized indices li and li+1

are given by the integrations

Z 2

dli

li = 1

dx,

(3)

dx

Z

dli+1

dx .

(4)

li+1 =

dx

0

0.2

0.1

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

2

2

(dashed) choice of ddl2i and d dli+1

(described in

2

(5), (6), and (7)).

l(i+1)zi x

+ l(i+1)zi

2

0

!

1

x

x

2 (cos( 2 + ) + 1) 2

dx

( )

li+1 =

(6)

order polynomials.

when 1

k 2 + 1

(7)

( ) =

k( 2)2 + 1 when > 1

A small value of k in (7) gives a deeper zone path

with smaller discontinuities, but with a larger second derivative. By changing the function ( ),

different zone paths can be created.

[0, l(i+1)zi ]. As a result of the nonzero value of

the second derivative of the index at = 20 and

p(lc )

,

= 2, the second derivative of the path, d dl

2

c

will not be continuous at the beginning and the

end of the zone. A smaller discontinuity can be

achieved with the derivative of the index as the

dash-dotted lines shown in Figure 3 and this interpolation method will be referred to as Method

2. The indices are here calculated according to (5)

and (6).

Z 2

x

(1 lizi )(1 ) + (1 lizi )

li = 1

2

!

1

x

x

2 (cos( 2 ) + 1) (1 2 )

dx

( )

space into a path in joint space. The path in joint

space is here supposed to be represented using cubic splines.

joint space

The general algorithm is given by Algorithm 1

(from [7, 8]).

Algorithm 1 requires that index lc is used. As

described in Section 2.3, index lz , which is based

on the normalized index l [0, 1] is used in the

(5)

3

n = number of breakpoints in each spline

lc = 0

hlc = distance between breakpoints

while not end of section do

for i = 0 to n 1 do

Compute pi for index lc + hlc i and compute the corresponding joint angle qi with

inverse kinematics.

end for

dq(n1)

0

Calculate dq

dlc and

dlc .

(lc ).

Compute the complete cubic spline q

Adjust the spline interpolation length based

c ) P(lc )k.

upon the computed error kP(l

end while

given by

max

xi xxi+1

lc =

kP(lz + lz ) P(lz )k .

|f (4) (x)| M ,

(9)

xi x xi+1 .

(10)

Using the upper bound of the error in (9) algorithms, such as Algorithm 2, for adjusting the

length of the spline can be constructed.

Large values of and in Algorithm 2 result

in a smaller value of h, i.e. a shorter length between the breakpoints, when the current deviation

is close to the specified maximum value, .

Algorithm 2 Adjust the spline length.

c )k

= kP(lc ) P(l

= maximum value of

x = /

if x > 1 then

i = x1/4

if i > then

h = h i

else

keep h

end if

else

1

r = x1/4

if r > then

h = h r

else

h=h

end if

end if

(8)

lz lz

Since no inverse function of (8) can be found easily, this equation also, by iterations, gives the solution to an index lz for a specific lc . In order for

the transformation to succeed, it is important that

the approximation error in (8) is kept small.

In Algorithm 1 the maximum deviation of the

actual path from the desired path is used to evaluate each computed spline. This deviation can

be approximated with the deviation in between

each two adjacent breakpoints of the spline funch

tion, i.e. points given by index lc + 2lc , . . . , lc +

h

(2n 3) 2lc . The joint angles corresponding

to these indices are transformed into Cartesian

space using forward kinematics, and then compared to the desired Cartesian path. To compute

the splines in joint space a complete spline is

used, see e.g. [5].

4

3.2

5

M h4 ,

384

4 times continuously differentiable on [xi , xi+1 ]

and

between index lc and lz can be approximated by

X

An example

be applied to a Cartesian line-circle path. A threelink robot with the Denavit Hartenberg [10] parameters according to Table 1 will be used. For

more details on the robot and the kinematics see

[8].

the length of each spline must be adjustable. This

adjustment can be made in many ways. The complete cubic spline used here, has a maximum error

4

i

[rad]

/2

0

/2

Link/joint

i

1

2

3

ai

[m]

0.15

0.6

0.72

i

[rad]

0

/2

0

q(lc )

using the two zone interpolathe resulting d dl

2

c

tion methods from Section 2.3 is shown. Method

1 has a lower peak value of the second derivative

with respect to lc while method 2 gives a continuous second derivative. In Figure 7 the path error is

evaluated for the two different interpolation methods and it is shown that the error is kept inside the

upper bound, 105 meter, along the path in both

cases. Notice that since the interpolated path is

different in the zone the total length of the path is

different in the two cases.

di

[m]

0.475

0

0

three-link robot.

The line is defined by a start and end point, p1

and p2 , while the circle is defined by a start point,

p2 , an intermediate point, p3 , and an end point,

p4 . The points have the following coordinates:

p1 = 1 0.02 0.5

p2 = 0.7 0.2 0.5

(11)

p3 = 0.85 0.35 0.5

p4 = 0.74 0.49 0.5

2.5

1.5

q(lc)

0.5

0.5

1.5

types of zone paths, can be seen in Figure 4.

The dotted zone path is generated according to

interpolation method 1 and the solid zone path

is generated with method 2. The path is next

0.1

0.2

0.3

lc

0.4

0.5

0.6

0.7

in joint space for the zone interpolation according

to method 1.

0.48

Conclusions

0.46

0.44

The idea of dividing the trajectory generation problem into two sub-problems, path

planning/generation

and

dynamic

planning/optimization, is presented.

The first

problem is solved and is shown how it is possible

to create a general path using lines and arcs. The

generation of a smooth path in Cartesian space is

discussed and two different approaches to zone

interpolation are presented. An algorithm for

path generation in joint-space is formulated based

upon the idea of representing the joint path with

cubic splines. Finally an example shows how a

Cartesian path can be generated and transformed

into a spline representation in joint-space.

0.42

0.4

0.38

0.36

0.34

0.5

0.4

1

0.95

0.3

0.9

0.85

0.2

0.8

0.75

0.1

0.7

0.65

of zone paths.

transformed into cubic spline functions in joint

space (Algorithm 1) using two breakpoints in every spline function [8]. The maximum allowed

deviation error is set to 105 meters. The results

of the transformation can be seen in Figures 5

to 7. In Figure 5 the knots for the splines generated by the algorithm in joint space is shown

when the zone is generated according to interpolation method 1, a similar result but with some

more knots is achieved for method 2. In Figure 6

References

[1] Bobrow, J., Dubowsky, S., and Gibson, J.

(1985). Time-optimal control of robotic manipulators along specified paths. The Interna5

80

x 10

60

0.9

40

0.8

20

0.7

0

0.6

20

0.5

40

0.4

60

0.3

80

0.2

100

0.1

120

0.1

0.2

0.3

lc

0.4

0.5

0.6

0.7

(a) Method 1.

0.1

0.2

0.3

lc

0.4

0.5

0.6

0.7

100

5

x 10

0.9

50

0.8

0.7

0.6

0.5

50

0.4

0.3

100

0.2

150

0.1

0.2

0.3

lc

0.4

0.5

0.6

0.1

0.7

0.1

0.2

0.3

lc

0.4

0.5

0.6

0.7

(b) Method 2.

(b) Zone interpolation method 2.

2

q(lc )

Figure 6: d dl

for the line-circle path using the

2

c

two zone interpolation methods from Section 2.3.

c)

Figure 7: Evaluation of path error, kP(l

P(lc )k, for line-circle path.

17.

planning for mechanical manipulators. Transactions of the ASME, 102:142150.

Constrained time-efficient and smooth cubic spline trajectory generation for industrial

robots. In IEE Proceedings Control Theory

and Applications, volume 144, pages 467

475.

optimization using splines. Technical Report

LiTH-ISY-R-2490, Department of Electrical

Engineering, Linkopings universitet.

[8] Nystrom, M. (2003). Path generation for industrial robots. Masters thesis, Linkoping Institute of Technology (LiTH), Linkoping, Sweden. In Swedish.

(1992). On-line approximate cartesian path

trajectory planning for robotic manipulators.

IEEE Transactions on Systems, Man and Cybernetics, 22(3):542 547.

[4] Chernousko, F. (1994). Optimization in control of robots. International Series of Numerical Mathematics, 115:1928.

bangenereringsalgoritmer.

Technical Report LiTH-ISY-R-2505, Institutionen for Systemteknik, Linkopings universitet.

Splines. Springer-Verlag.

Robot Dynamics and Control. Wiley.

6

- sammath..Uploaded byMehak Aggarwal
- EEE 212 Lab documents.pdfUploaded byJamie Nolito
- numerical analysisUploaded byJoshua Cook
- engineering maths3 2014 question paperUploaded byBikram Singh
- MTH 215 MATH 215 mth215 math 215 QUANTITATIVE REASONING IUploaded byBestMATHcourse
- Profile Benchmark Calculator ShortUploaded bySahil Pal
- Electronics & CommunicationUploaded bysuhaspatel84
- 6 04 Interpolasi Spline SjkUploaded byzi
- GIIJ-10 ganodermaUploaded bybenzzzx
- CHE SyllabiUploaded byArvind Jalwal
- Ref2Uploaded byoscar
- MAT495_CHAPTER_3Uploaded byMuhamadSadiq
- How to Read Tyre Data-Proceedings of the Institution of Mechanical EngineersUploaded byNemish Kanwar
- Calculus Concepts and Applications Paul A FoersterUploaded byBerto
- qUploaded byJohnSocash
- Summer 2012 Precalculus Section 1.2 Lecture NotesUploaded bys_scribd1160
- August2013solutions.pdfUploaded byLorena Strechie
- NCERT Solutions Class 12 Maths Chapter 9 Differential EquationsUploaded byVidyakul
- SOL Dinamica Riley 2EDUploaded byChris Roy Azaña Fernandez
- leastsqrs.pdfUploaded byprieten20006936
- Geometry and ArchitectureUploaded byRabela Junejo
- Electronics (BTECH) DCRUST MurthalUploaded byDevansh Jain
- Subjects Form 4jUploaded byAlifahIlyana
- Polynomial CalculatorUploaded byapi-3746949
- Related RatesUploaded byCarlo Caniedo
- slope lesson plan spring 2014Uploaded byapi-259980544
- 12_MATHSs_2009_set1Uploaded byanil.gelra5140
- 02 DifferentcdfiationUploaded bySun Java
- parentletterccgpsunit31Uploaded byapi-208514376
- Wide-Area Detection of Voltage Instability From Synchronized Phasor Measurements - Part I - PrincipleUploaded bymosh08

- Lectut CHN-102 PDF Eq StateUploaded byTanmaysaini
- ETPSmartGrids EnergyRetailers WhitePaper Final v1.0Uploaded byAtul Sasane
- Does Hot Water Freeze First - Phillip BallUploaded bydamtson
- Sure Servo Pf CablesUploaded bySonia Vm
- EBO 4 Grid EditUploaded by13670319
- Peter Ragnar the Awesome Science of LuckUploaded byJames T-rex
- Answer KeyUploaded byChethan K Narayan
- Performance Evaluation of Radio Propagation Model For Vehicular Ad Hoc Networks Using VanetMobiSim and NS-2Uploaded byijdps
- Series30i-B(E)_03_s.pdfUploaded bydanielstancu883296
- 10.1016j.petrol.2006.11.009Uploaded byCharlos Malino
- 1617 Level M Applied Math Exam Related Materials T2 Wk6Uploaded byAndrew
- AlgebraUploaded byMomo Itachi
- L.N. Pyatnitsky- A Concept of TurbulenceUploaded byWhiteLighte
- Manual Vector VP 100Uploaded byJJ Monroy
- Configuration Scrubbing Architectures for High-Reliability FPGAsUploaded byCihat
- 70421801Uploaded byJose Meza Mf
- Chapter 6 Mekanik RujukUploaded byHas San
- Clinker FormationUploaded byanon_665535262
- haber villain or heroUploaded byapi-221979538
- Seismic Analysis and Design of Hospital Building-libreUploaded bypaarth93
- Institute of Solar Technology KotdwaraUploaded byIST Kotdwara
- Atomic NucleusUploaded bysudha24_7
- Chemical BondingUploaded byizazjan
- PTC Thermistors(EPCOS)Uploaded byengjohn
- RaptHelp.pdfUploaded bytotololomomo
- Edwards AGC D386!55!880 IssueRUploaded byChau
- Blasters Digital OhmeterUploaded byDewi Hanisa
- Graders.pdfUploaded byvasu
- Polymer Blend'sUploaded byMohsin Alam
- 4 Pressure BuoyancyUploaded bythinkiit