• No results found

Initial concepts to develop a semi-autonomous operator support technology for operating a novel forestry machine

N/A
N/A
Protected

Academic year: 2022

Share "Initial concepts to develop a semi-autonomous operator support technology for operating a novel forestry machine"

Copied!
65
0
0

Loading.... (view fulltext now)

Full text

(1)

Master thesis, 30 hp

Robotics and Control Programme , 120hp Aurumn term 2016

Initial concepts to develop a semi-autonomous

operator support

technology for operating a novel forestry machine

Dong xiaowei

(2)

Supervised by:

Pedro La Hera

R&D in SLU and Skogstekniska klustret Shafiq Urréhman

Associated professor in Umea University

(3)

Abstract

Forestry machines have the power to lift heavy logs, but they are not so smart at providing information, or help operators perform better work [3].

The main reason to this problem is the low level of technology applied to forestry machines, which has not changed so much since the forestry machines were first introduced in the 1960’s. But starting 2013, ma- chines manufacturers got inspired by developments in the automation and robotics industry, several of new technologies have been developed in the market - computerized hydraulics, feedback controllers for vibration damp- ing, sensor-based motion control systems, improvements in mechanical de- sign, smart suspension controller, etc [11]. Largely, this development is at- tributed to better hardware and software developed during the last decade by researchers of Scandinavian institutes.

In this thesis, we introduce a new type of forestry machine, the harwarder, which can perform the work of two machines (harvester and forwarder) by a single one. The forwarder is a forestry vehicle that carries big felled logs. The harvester is a type of heavy forestry manipulator employed in cut-to-length logging operations for felling, and bucking trees. Both the manipulator and vehicle should work synchronized to get the best out of this design. To benefit out of its design, in the first part of thesis we will an- alyze the kinematics and dynamics of machine, and design a time optimal coordinated motion via virtual holonomic constraints, to solve a particular task of forestry crane. The second part consists on applying optimization to reduce energy consumption during the motion.

Result of thesis work:1) By using coordinated motion, consequently the

energy consumptions are drastically reduced comparing to traditional

motion of the crane. 2) By applying optimization, the energy efficiency

is improved.

(4)

Acknowledgments

My deepest gratitude goes to my supervisor Pedro La Hera and his research group (Omar Mendoza Trejo and Daniel Ortiz Morales), and Co-supervisor Pro.Shafiq Ur Rehman, from Umeå University. Their suggestions, guid- ances, patience allow me to finish the thesis successfully.

To Pedro, thanks for navigating the way of exploring robotics ocean, giving me the direction when I was confused.

To Omar, thanks for providing hardware and technical support, and teach- ing me write thesis properly.

To Daniel, thanks for providing guidance of virtual holonomic approach.

To Shafiq, thanks for being my Co-supervisor in university, helping with administrative issues.

To my parents, thanks for encouraging me when I encountered difficulties.

At end, I want to express my deepest gratitude again for those people who

give me huge support during my thesis.

(5)

Contents

1 Introduction 8

1.1 Background . . . . 8

1.2 Motivation and objective . . . . 8

1.3 Structure of thesis . . . . 8

2 Kinematics 10 2.1 Robot forward kinematics . . . 10

2.1.1 Denavit-Hartenberg convention . . . 11

2.1.2 Assigning the coordinate frames . . . 11

2.1.3 Forward equation . . . 12

2.2 Robot inverse kinematics . . . 13

2.2.1 Analytical solution . . . 14

2.3 Log container forward kinematics . . . 15

2.4 Coordinate transformation . . . 20

2.4.1 Mapping between x

2

and q

2

. . . 20

2.4.2 Mapping between x

3

and q

3

. . . 22

2.4.3 Finding maximum joint velocity . . . 25

3 Dynamics 28 3.1 Euler-Lagrange equations . . . 28

3.1.1 Kinetic energy . . . 29

3.1.2 Potential energy . . . 30

3.1.3 Centrifugal and Coriolis forces . . . 30

3.1.4 Manipulator dynamics analysis . . . 30

3.2 Simulation results . . . 33

4 Path planning 37 4.1 Formulation of the path . . . 37

4.1.1 Algebraic polynomial . . . 37

4.1.2 Bézier polynomial . . . 38

4.2 Coordinated motion plan for new forestry machine . . . 39

5 Numerical trajectory optimization 42 5.1 Finding a stable initial configuration for crane . . . 42

5.2 Trajectory optimization with q

4

. . . 43

(6)

6 Virtual Holonomic Constraints 46 6.1 Basic concept of Virtual Holonomic Constraints . . . 46 6.2 Velocity phase plane: trajectory generator . . . 46 6.3 Designing feasible velocity curve in phase plane . . . 48 6.4 Apply virtual holonomic constraints with different paths . . . 49 7 Including a second performance index 54

8 Discussion 58

9 Conclusions 59

10Appendix A: Data sheet of forest crane 61

(7)

List of Tables

1 DH Table. . . 12

2 Joint variable limits. . . 13

3 DH table of end-point 2. . . 17

4 DH table of end-point 1 and 3. . . 18

5 DH table of base-point A and C. . . 18

6 DH convention of end-point 5 . . . 19

7 DH convention of end-point 4 and 6 . . . 19

8 DH convention of base-point D and F . . . 19

9 Hydraulic joint working range. . . 26

10 Comparing energy cost after optimization. . . 45

11 Energy consumptions of three paths at t

f

=40 s. . . 52

12 Different objective functions optimization for curve path with t

f

=40 s. . . 56

13 Inertia I

ci

of each link in body frame . . . 61

14 Center of mass of each link in joint initial frame . . . 61

15 Joint angular velocity limits . . . 61

(8)

List of Figures

1 Manipulator model. . . 10

2 Assign frames for forward kinematics. . . 12

3 Crane’s manipulator simulation . . . 13

4 The configuration of manipulator for deriving inverse kinematics. 14 5 Container bunk with yaw, roll, pitch angle. . . 16

6 Assign frames for container forward kinematics. . . 17

7 Simulation of container forward kinematics. . . 20

8 Schematics of measured angle q

2

with essential parts. . . 21

9 Geometry of the angle q

3

with the essential mechanical com- ponents. . . 22

10 Mapping function validation block diagram. . . 26

11 Maximum linear velocity x

2

and x

3

. . . 26

12 Integral of maximum linear velocity of second and third hy- draulic links. . . 27

13 Applying coordinate transformation to get range of q

2

and q

3

. 27 14 Differentiating q

2

and q

3

to get angular velocities ˙q

2

, ˙q

3

. . . 27

15 Joint variable profiles . . . 34

16 Joint velocity profiles . . . 34

17 Joint acceleration profiles . . . 35

18 Dynamics computation testing . . . 36

19 Two polynomials for standard path . . . 39

20 Three different types of motion between container and manip- ulator. . . 41

21 Different initial configurations of manipulator. . . 43

22 ˙θ-θ plane boundary . . . 48

23 The velocity curves in θ- ˙θ plane. . . 50

24 Three types of paths in Cartesian space. . . 51

25 Three types of energy consumptions for standard path. . . 51

26 Three types of energy consumptions for curve path. . . 52

27 Three types of energy consumptions for straight path. . . 52

28 Optimizing q

4

with objective function 

1

. . . 55

29 Optimizing q

4

with objective function 

2

. . . 55

30 Optimizing q

4

with objective function 

3

. . . 56

(9)

31 Optimizing q

4

with objective function 

4

. . . 56

(10)

1 Introduction

1.1 Background

In Sweden, a chain of university research groups and industry companies, are developing the novel idea of semi-autonomous forestry machines [4].

Since forestry machines are difficult to operate, in order to provide opera- tor with smart machines that can cope with difficult tasks, forest industry is trying to incorporate robotics and automation technologies in order to improve the performance of the cranes. Now, from the robotics point of view, many related works to improve systems performance have been done, including feedback controllers for vibration damping [8], sensor-based mo- tion control systems [15], and improvements in mechanical design.

1.2 Motivation and objective

As we have already mentioned, some improvements in forestry machines have been achieved. Nevertheless, the improvements are not significant in terms of trajectory planning, which can be done in many senses, for exam- ple, achieving time-efficient or energy-efficient improvements.

Although the energy and time costs are two important performance criteria for forestry machine, considering both of them together will lead to a com- plex optimization problem, specially when the robot´s model has several degrees of freedom. In this study, a method has been applied to improve the time and energy efficient respect to a particular task of new forestry crane. The main thesis work was broken into four parts : 1) Forestry crane mechanical analysis 2) Path planning for a particular task of crane 3) Design time optimal trajectory by virtual holonomic constraints method [12] 4) Include a second performance index for trajectory optimization.

1.3 Structure of thesis

To ease readability, this thesis has been structured as follows. Chapter 2 in-

troduces the kinematics of forestry crane. The mathematical relations used

for modeling the crane dynamics are presented in Chapter 3. The steps and

procedures used for path planning are described in Chapter 4. Numerical

trajectory optimization is introduced in Chapter 5, and virtual holonomic

(11)

constraints method based optimizations are introduced in Chapter 6 and 7

respectively. Finally, discussion and conclusions are presented in Chapter

8 and 9 respectively.

(12)

2 Kinematics

The manipulator (harvester) used for our project is a 3D-print model, which is made of three revolute joints q

1

, q

2

, q

3

, and one redundant prismatic joint q

4

[6], the joint variables form the vector of generalized coordinates as (2.1), viewed from Figure 1, the system resembles a serial kinematic chain with an end-effector in the last link. In this section, we will analyze the forward and inverse kinematics of crane (manipulator and container), besides, we derive the mapping relations between cylinder´s piston displacement and joint variables, x

2

⇔θ

2

and x

3

⇔θ

3

.

q = [q

1

, q

2

, q

3

, q

4

] (2.1)

z0 (q1)

z2 (q

2)

z4 (q

3)

z6 (q4)

Figure 1: Manipulator model.

2.1 Robot forward kinematics

By definition, forward kinematics is about determining the position and ori-

entation of the end-effector, when the values of joint variables are provided

[14]. This section is organized in the following manner: we first introduce

the Denavit-Hartenberg (DH) convention method [14], then we present the

procedures of assigning the coordinate frames based on DH convention, the

last step is to derive forward kinematics equations.

(13)

2.1.1 Denavit-Hartenberg convention

DH convention can simplify the analysis considerably in robotics applica- tions, each homogeneous transformation A

i

is represented as a product of four basic transformations [14].

A

i

=Rot

z,θi

T rans

z,di

T rans

x,ai

Rot

z,αi

=

cos(θ

i

) −sin(θ

i

)cos(α

i

) sin(θ

i

)sin(α

i

) a

i

cos(θ

i

) sin(θ

i

) cos(θ

i

)cos(α

i

) −cos(θ

i

)sin(α

i

) a

i

sin(θ

i

)

0 sin(α

i

) cos(α

i

) 0

0 0 0 1

. (2.2)

Four quantities θ

i

, d

i

, a

i

, α

i

are given names as, joint angle, link offset, link length, link twist, respectively. Since A

i

is a single variable function, which means three quantities are constant, and one revolute joint variable θ

i

or prismatic joint variable d

i

[14].

The link length a

i

is distance along x

i

from o

i

to the intersection of the axis of x

i

and the axis of z

i−1

.

The link length d

i

is distance along z

i−1

from o

i−1

to the intersection of the axis of x

i

and the axis of z

i−1

.

The link twist α

i

is the angle between z

i−1

and z

i

measured about x

i

. The Link angle θ

i

is the angle between x

i−1

and x

i

measured about z

i−1

. It is obvious that it is impossible to describe any arbitrary homogeneous transformation using these four quantities. In order to derive unique trans- formation, suppose the two frames satisfy next two additional rules [14]:

1. The axis x

1

is perpendicular to the axis z

0

. 2. The axis x

1

interacts the axis z

0

.

Following these two features, we claim that there exist unique transforma- tion between two frames.

2.1.2 Assigning the coordinate frames

Even though we have two extra constraints, the choice of assigning coor-

dinate frames is not unique. First of all, we determine the z-axis of each

joint frame, then we combine DH conventions to assign x and y axis of each

joint. Note that sometimes it is necessary to add virtual frame for off-set

point, so as to satisfy DH conventions.

(14)

In Figure 2, four red dots are the real joints, the last joint connects the end-effector, besides, there are three virtual frames. We establish the base frame x

0

y

0

z

0

, the direction of z-axis is vertical, the x-axis is arbitrary, but x

0

y

0

z

0

should follow right hand rule. Once the base frame is established, we begin an iterative process to define coming frame under conventions, till the end-effector frame x

e

y

e

z

e

.

Figure 2: Assign frames for forward kinematics.

2.1.3 Forward equation

After assigning the frames, we need to establish the DH table, which con- tains four quantities θ

i

, d

i

, a

i

, α

i

for each joint i.

Table 1: DH Table.

Link di θi ai αi

1 q1 H 0 0

1 0 0 −l0 π/2

2 q2+ π/2 0 l1 0

2 −π/2 0 l2 0

3 q3+ π/2 0 l3 π/2

3 0 l4 0 0

4 0 q4 0 0

According to Table 1, each row of parameters determines a homogeneous

transformation matrix A

i

. Then the position and orientation of the each

(15)

frame respect to base frame are given by (2.2), note that T

00

, T

20

, T

40

, T

60

rep- resent the transformation from base frame to joints, T

70

is transformation from base frame to end-effector, T

10

, T

30

, T

50

represent the transformation from base frame to off-set points.

T

n0

= A

1

(q

1

)...A

n

(q

n

), n = 1...7 (2.3) We can extract the last column of T

n0

, which is the position of each frame respect to the base frame. With these positions, we can plot the manipu- lator configuration when joint variables are provided, as shown in Figure 3, where all joint variables are zero.

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

x (m)

-0.5 0

0.5

y (m) -0.3

-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5

z (m)

T4 0 T5

0 T

6

0 T

7 0

T0 0 T2

0 T3

0

T1 0

Figure 3: Crane’s manipulator simulation

2.2 Robot inverse kinematics

By definition, inverse kinematics is concerned with finding the joint vari- ables in terms of the end-effector’s position and orientation [14]. Actually, we could find different configurations reaching the same goal point. To avoid that, we provide q

4

for inverse kinematic calculation, and Table 2 redefine the working range of each joint variable, in this way, the unique inverse kinematics solution can be obtained.

Table 2: Joint variable limits.

q1(rad) q2(rad) q3(rad) q4(m) [0, 2π] (0,π2) (−π, 0) [0, 0.1]

(16)

2.2.1 Analytical solution

In Figure 4, the end-effector position (X

c

, Y

c

, Z

c

) and links length l

0

, l

1

, l

2

, l

3

, l

4

are given, assuming corresponding joint variables are q

1

, q

2

, q

3

, q

4

.

Figure 4: The configuration of manipulator for deriving inverse kinematics.

First, we project end-effector onto the x

0

-y

0

plane as shown in Figure 4.

q

1

:

q

1

= Atan2(y

c

, x

c

), (2.4) in which Atan2(x, y) represents the two arguments arctangent function.

According to geometry relation (2.5), in order to calculate q

2

, we need to calculate three angles α

4

, α

5

, α

7

respectively:

q

2

= α

4

+ α

5

+ α

7

− π

2 (2.5)

α

4

= Atan2(l

2

, l

1

) (2.6)

α

5

= arccos( a

2

+ c

2

− b

2

2ac ), (2.7)

(17)

where a = pl

21

+ l

22

, b = pl

23

+ (l

4

+ q

4

)

2

, c = √

r

2

+ s

2

.

α

7

= Atan2(s, r), (2.8)

where r

0

= px

2c

+ y

c2

, r = r

0

+ l

0

, s = z

c

− H . The geometry relation of q

3

is indicated as (2.9).

q

3

= π

2 + α

0

(2.9)

In order to compute α

0

, we need to calculate angles α

1

, α

2

, α

3

respectively:

α

1

= π

2 − α

4

(2.10)

α

2

= arccos( a

2

+ b

2

− c

2

2ab ), (2.11)

where a = pl

21

+ l

22

, b = pl

23

+ (l

4

+ q

4

)

2

, c = √

r

2

+ s

2

.

α

3

= Atan2((l

4

+ q

4

), l

3

) (2.12) α

0

= π − (α

1

+ α

2

+ α

3

) (2.13)

2.3 Log container forward kinematics

Next we consider the container vehicle, which cooperates with manipulator

to store logs. The motion of container can be described by Euler angles [5],

in later section, we will discuss how to design the coordinated motion be-

tween manipulator and container. In Figure 5, there are six fixed cylinders

installed on the platform plane, to avoid collision during the coordinated

motion with manipulator, we should be able to control cylinder’s position

and orientation. For each cylinder in Cartesian space, we can describe it

as a straight line which is connected between base-point and end-point.

(18)

Figure 5: Container bunk with yaw, roll, pitch angle.

Initially, we can use forward kinematics to calculate base-points A, B, C

and end-points 1, 2, 3. Due to geometric symmetry, then we can derive

the base-points D, E, F and end-points 4, 5, 6 position and orientation. As

shown in Figure 6, we assign frames for A, B, C, 1, 2, 3 respectively.

(19)

Figure 6: Assign frames for container forward kinematics.

DH table of end-point 2 is shown in Table 3, the homogeneous transforma- tion matrix T

e2

and T

B

are given by (2.15) and (2.16).

Table 3: DH table of end-point 2.

Link di θi ai αi

1 π/2 + yaw H 0 π/2

2 π/2 + roll 0 0 π/2

3 pitch H2 H3 0

(20)

A

i

= Rot

z,θ

T rans

z,d

T rans

x,a

Rot

z,α

(2.14) T

e2

=

3

Y

i=1

A

i

(2.15)

T

B

=

2

Y

i=1

A

i

(2.16)

After we know the T

e2

respect to base frame, the homogeneous matrix T

e1

, T

e3

can be obtained by adding one more homogeneous transformation based on T

e2

, corresponding DH table is shown in Table 4. Similarly, T

A

, T

C

can be obtained by adding one more homogeneous transformation based on T

B

, corresponding DH table is shown in Table 5.

Table 4: DH table of end-point 1 and 3.

Homogeneous matrix di θi ai αi

Ae1 π/2 0 −d1 π/2

Ae3 π/2 0 d2 π/2

T

e1

= T

e2

∗ A

e1

(2.17)

T

e3

= T

e2

∗ A

e3

(2.18)

Table 5: DH table of base-point A and C.

Homogeneous matrix di θi ai αi

Aa π/2 0 −d1 π

Ac π/2 0 d1 π

T

A

= T

B

∗ A

a

(2.19)

T

C

= T

B

∗ A

c

(2.20)

After deriving half side of base-points and end-points, the other half points

can be found by following same process before. According to Table 6, we

determine end-point 5 and base-point E, then based on Table 7 and Table

8, we can obtain end-points 4, 6 and base-points D, F respectively.

(21)

Table 6: DH convention of end-point 5

Link di θi ai αi

1 π/2 + yaw H 0 π/2

2 π/2 + roll 0 0 π/2

3 pitch −H2 H3 0

T

e5

=

3

Y

i=1

A

i

(2.21)

T

E

=

2

Y

i=1

A

i

(2.22)

Table 7: DH convention of end-point 4 and 6

Homogeneous matrix d θ a α

Ae4 π/2 0 −d1 π/2

Ae6 π/2 0 d2 π/2

T

e4

= T

e5

∗ A

e4

(2.23)

T

e6

= T

e5

∗ A

e6

(2.24)

Table 8: DH convention of base-point D and F

Homogeneous matrix di θi ai αi

Ad π/2 0 −d1 π

Af π/2 0 d2 π

T

D

= T

E

∗ A

d

(2.25)

T

F

= T

E

∗ A

f

(2.26)

After we obtain all base-points and end-points position and orientation, we

simulate essential part of container in software, as shown in Figure 7, 7(a)

depicts the initial state of container, 7(b) shows the container configuration

rotating with yaw = π/2.

(22)

0 0.5 0.2

y (m) 0.4

0

z (m)

0.6

x (m) 0.4 0.6

0 0.2 -0.5 -0.2

(a) yaw = 0; roll = 0; pitch = 0

0 0.5 0.2 0.4

z (m)

y (m)

0.6

0 0.4

x (m) 0.6

0 0.2 -0.5 -0.2

(b) yaw =π2; roll = 0; pitch = 0 Figure 7: Simulation of container forward kinematics.

2.4 Coordinate transformation

In hydraulic robotics, electrical driven motor cannot provide enough power to lift such heavy links, for our manipulator, the rotation of joints 2, 3 are powered by cylinder´s piston displacement, so it is necessary to establish the relation between x

2

⇔θ

2

and x

3

⇔θ

3

.

The trigonometric mapping between linear cylinder’s piston displacement and corresponding joint angle can be found based on the geometry of the manipulator. Those mapping q

2

(x

2

) and q

3

(x

3

) functions are used for de- riving the joint torques and computing joint angular velocities when linear velocities of cylinder are given.

2.4.1 Mapping between x2 and q2

In order to calculate the cylinder´s piston displacement x

2

as a function

of the joint angle q

2

, we draw geometry of essential mechanical parts, the

link length parameters r

1

, r

2

, r

3

, r

4

, r

5

, l

0

are known, as shown in Figure 8.

(23)

Figure 8: Schematics of measured angle q2 with essential parts.

In order to calculate q

2

, we need to derive β

1

, β

4

by law of cos.

β

1

= arccos( (r

23

+ r

12

− r

22

)

(2r

3

r

1

) ) (2.27)

β

2

= arccos( (r

32

+ r

42

− x

22

)

(2r

3

r

4

) ) (2.28)

β

3

= arcsin( r

5

r

4

) (2.29)

β

4

= β

2

− β

3

(2.30)

q

2

= −(π/2 − β

1

− β

4

) (2.31) Inverse calculation, given q

2

to calculate x

2

:

β

3

= arcsin( r

5

r

4

) (2.32)

(24)

β

1

= arccos( (r

23

+ r

12

− r

22

)

(2r

3

r

1

) ) (2.33)

β

2

= β

3

+ π/2 − β

1

+ q

2

(2.34) x

2

=

q

(r

32

+ r

42

− 2r

3

r

4

cos(β

2

)) (2.35) The relation (2.31) and (2.35) establish the mapping between x

2

and q

2

.

2.4.2 Mapping between x3 and q3

In Figure 9, we draw the simplified manipulator, the essential part of sec- ond hydraulic cylinder is a four-bar linkage system (polygon C-O-D-E) [9], which contains the important geometry relations for deriving mapping functions between x

3

and q

3

.

Figure 9: Geometry of the angle q3with the essential mechanical components.

Mapping relation q

3

(x

3

):

In triangle AA

1

C , we represent x

3p

by x

3

.

∠AA C = ∠AA B + ∠BA C, (2.36)

(25)

where ∠BA

1

C = arccos(

d29+x2d23−d21

9x3

) , ∠AA

1

B = arccos(

d29+d2d210−d24

9d10

) . x

3p

=

q

x

23

+ d

210

− 2x

3

d

10

cos(∠AA

1

C) (2.37) In triangle AOC, we calculate m by law of cos.

∠OAC = ∠BAC − ∠BAO, (2.38)

where ∠BAC = arccos(

d24+x2d423px3p−d21

) , ∠BAO = arccos(

d24+d2d425d−d5 22

) . m =

q

(x

23

+ d

25

− 2x

3

d

5

cos(∠OAC)) (2.39) Next, in triangle COD and DOE, we can calculate ∠COD and ∠DOE respectively.

d

7

= q

d

23

+ l

32

(2.40)

∠COD = arccos( m

2

+ d

27

− d

20

2md

7

) (2.41)

∠DOE = Atan2(d

3

, l

3

) (2.42)

∠COE = ∠COD + ∠DOE (2.43)

Final step, the angle relation of q

3

is described as (2.46), before that we need to calculate ∠EOF by (2.45).

∠COA = arccos( m

2

+ d

25

− x

23

2md

5

) (2.44)

∠EOF = π − ∠COA − ∠COE (2.45)

q

3

= π/2 − ∠EOF (2.46)

Mapping relation x

3

(q

3

) :

Inversely, the essential step is to derive length m. Now we have already

known the link length CO and CD in triangle COD, in order to apply law

(26)

of cos, we need to derive ∠CDO as follow:

∠EOF = π/2 − q

3

(2.47)

In triangle AOB, AB = d

4

, AO = d

5

, BO = d

2

, according to law of cos:

∠AOB = arccos( d

25

+ d

22

− d

24

2d

5

d

2

) (2.48)

d

2x

= −d

2

cos(∠AOB) (2.49)

d

2y

= −d

2

sin(∠AOB) (2.50)

∠AOE = π − ∠EOF (2.51)

∠BOE = ∠AOE + ∠AOB = π/2 + q

3

+ ∠AOB (2.52) In triangle DOE, DE = d

3

, OE = l

3

, ∠OED =

π2

, so we can get

∠DOE = Atan2(d

3

, l

3

) (2.53)

∠BOD = ∠BOE − ∠DOE (2.54)

In triangle BOD, BO = d

2

, OD = d

7

= pl

23

+ d

23

, according to law of cos:

BD = q

d

22

+ d

27

− 2d

2

d

7

cos(∠BOD) (2.55) In triangle CBD, CB = d

1

, CD = d

0

, BD = d

8

, according to law of cos:

∠CDB = arccos( d

20

+ d

28

− d

21

2d

0

d

8

) (2.56)

OD

x

= l

3

sin(q

3

) − d

3

cos(q

3

) (2.57) OD

y

= l

3

cos(q

3

) + d

3

sin(q

3

) (2.58)

∠3 = Atan2(OD

y

, OD

x

) (2.59)

(27)

BD

x

= l

3

sin(q

3

) − d

3

cos(q

3

) − d

2x

(2.60) BD

y

= l

3

cos(q

3

) + d

3

sin(q

3

) − d

2y

(2.61)

∠1 = Atan2(BD

y

, BD

x

) (2.62)

∠BDO = ∠3 − ∠1 (2.63)

∠CDO = ∠CDB + ∠BDO (2.64)

m = q

d

20

+ d

27

− 2d

0

d

7

cos(∠CDO) (2.65) In triangle BOC, BO = d

2

, BC = d

1

, CO = m, according to law of cos:

∠BOC = arccos( d

22

+ m

2

− d

21

2d

2

m ) (2.66)

∠AOC = ∠BOC − ∠AOB (2.67)

In triangle AOC, AO = d

5

, AC = x

3

, CO = m, according to law of cos:

x

3p

= q

m

2

+ d

25

− 2md

5

cos(∠AOC) (2.68)

∠A

1

AC = ∠A

1

AB − ∠CAB, (2.69)

where ∠CAB = arccos(

x23p2x+d3p24d−d4 21

) , ∠A

1

AB = arccos(

d2102d+d24−d29

10d4

) . x

3

=

q

d

210

+ x

23p

− 2d

10

x

3p

cos(∠A

1

AC) (2.70) The relation (2.46) and (2.70) establish the mapping between x

3

and q

3

.

2.4.3 Finding maximum joint velocity

From previous section, we obtained mapping functions q

2

(x

2

) and q

3

(x

3

) ,

which are used for computing joint angular velocity given linear velocity of

cylinder. According to q

2

, q

3

range in Table 2 and mapping functions, the

(28)

range of x

2

and x

3

are shown in Table 9.

Table 9: Hydraulic joint working range.

units x2 x3

m [0.04947, 0.1447] [0.103, 0.1561]

In Figure 10, the block chain describes how to verify the result of our map- ping function. For example, we can choose θ

2

as sin wave, and check the output error signal.

q q → x x → q − scope

Figure 10: Mapping function validation block diagram.

The hydraulic links of our 3D model have the same maximum linear veloc- ity 0.01 m/s. Based on mapping functions, we can determine the maximum angular velocity value of ˙q

2

, ˙q

3

, the corresponding sketch diagram is shown in Figure 11:

max

Z x → q d

dt scope

Figure 11: Maximum linear velocity x2 and x3.

First we integrate ˙x

max

from x

min

to x

max

, representing the motion that hydraulic cylinders move from fully-closed to fully-open. The hydraulic cylinder’s piston displacement x

2

and x

3

during the motion are shown in Figure 12 (a) and Figure 12 (b) respectively.

Afterwards, we apply mapping functions q

2

(x

2

) and q

3

(x

3

) , the results

indicate that q

2

∈ (0,π/2), q

3

∈ (0,-π) during that motion, as shown in Figure

13. Simultaneously, by differentiating q

2

and q

3

, we get angular velocity

profiles, as shown in Figure 14, the maximum magnitude of ˙q

2

, ˙q

3

, are

0.2671 rad/s and 1.011 rad/s respectively.

(29)

(a) x2 (b) x3

Figure 12: Integral of maximum linear velocity of second and third hydraulic links.

(a) q2 (b) q3

Figure 13: Applying coordinate transformation to get range of q2and q3.

(a) ˙q2 (b) ˙q3

Figure 14: Differentiating q2and q3 to get angular velocities ˙q2, ˙q3.

(30)

3 Dynamics

In this section we deal with 4-link robot manipulators dynamics. The dy- namics of robot describes the relation between torque and motion, which is essential equation for trajectory optimization and control design. There- fore, we introduce the so-called Euler-Lagrange equations, which describe the motion of a mechanical system in terms of Holonomic constraints.

3.1 Euler-Lagrange equations

The Lagrangian L can describe the motion of a manipulator which repre- sents its dynamic behavior [14]:

d dt ( ∂L

∂ ˙q ) − ∂L

∂q = τ, L = K − U (3.1)

The torques which are applied to the actuator of each joint via the La- grangian involving the kinetic energy K and potential energy U. Since the potential energy always depends on the height of center of mass, we can write the potential energy as a function of the joint variables q, U = U(q).

Using the fact that the potential energy is independent of the time we can separate it from the kinetic energy:

d

dt ( ∂K

∂ ˙q ) − ∂K

∂q + ∂U

∂q = τ (3.2)

Now we calculate each element in equation (3.2) K = 1

2 ˙q

T

M (q) ˙q (3.3)

∂K

∂ ˙q = M (q) ˙q (3.4)

d

dt ( ∂K

∂ ˙q ) = M ¨ q + ˙ M ˙q (3.5) G(q) = ∂U

∂q (3.6)

∂K

∂q = 1

2 ˙q

T

∂M

∂q ˙q (3.7)

(31)

By replacing equations (3.3) to (3.7) in equation (3.2), we get the following expression:

M q + ˙ ¨ M ˙q − 1

2 ˙q

T

∂M

∂q ˙q = τ − G(q) (3.8)

The left hand side of equation (3.8) represents the inertial forces of the ma- nipulator. Furthermore, the dynamics of a robotic manipulator ignoring the friction forces usually can be represented as [14]:

M

n×n

(q)¨ q

n×1

+ V

n×1

(q, ˙q) + G

n×1

(q) = τ

n×1

(3.9) We can see from the above derivations that an important step to compute the mass matrix M is to calculate the kinetic energy from our analysis.

From the kinetic energy, we should be able to directly find the mass matrix M . If we have the mass matrix M it is easy to compute the V (q, ˙q) which represents the centrifugal and Coriolis forces.

3.1.1 Kinetic energy

By definition, kinetic energy is the work done by external forces in such a way to bring the system from rest to its current state [1].

Consider a manipulator which can perform linear or rotational motions:

K

v

= 1

2 m

i

v

iT

v

i

(3.10)

K

w

= 1

2 w

iT

I

i

w

i

(3.11)

where m

i

is the mass of the link i, v

i

is the linear velocity of the link i, w

i

is the angular velocity of the link i and I

i

is the inertia tensor of the link i. Please note that each parameter is calculated from the base to center of mass (COM) of each link. Thus the kinetic energy for the link i is:

K

linki

= 1

2 w

iT

I

i

w

i

+ 1

2 m

i

v

iT

v

i

(3.12) Then, according to the Jacobian matrix for each link:

v

i

= J

vi

˙q (3.13)

w

i

= J

wi

˙q (3.14)

(32)

By substituting the above equations (3.13) to (3.14) into (3.12), we got:

1

2 ˙q

T

M ˙q = 1 2 ˙q

T

4

X

i=1

(w

Ti

I

i

w

i

+ m

i

v

iT

v

i

) ˙q (3.15)

3.1.2 Potential energy

By definition, potential energy is possessed by an object because of its position in a gravitational field [1].

The total potential energy of a manipulator depends on its configuration:

U =

4

X

1

U

i

=

4

X

1

m

i

(−g

T

P

icog

), (3.16) where m

i

is mass of each link, P

icog

is the position of each link’s COM, g is gravity vector.

3.1.3 Centrifugal and Coriolis forces

In the general dynamic equation (3.9), V (q, ˙q) represents the Centrifugal and Coriolis forces. By definition, the Coriolis force is an inertial force that acts on objects that are in motion relative to a rotating reference frame. The centrifugal force is an inertial force directed away from the axis of rotation that appears to act on all objects when viewed in a rotating reference frame [1].

V (q, ˙q) = C(q)

n×n

[ ˙q

2

]

n×1

+ B(q)

n(n−1)2

[ ˙q

n

˙q

n−1

]

n(n−1)

2 ×1

(3.17)

3.1.4 Manipulator dynamics analysis

Guidelines for deriving the dynamic equations:

1. Calculate the center of mass (COM) for each rigid link respect to base frame.

We already know the each link’s center of mass represented in each initial joint frame (without rotation) c

n

, as shown in Appendix A, Table 14. When joint rotating around z axis, the center of mass (COM) respect to each initial joint frame (without rotation) will change according to:

c

0n

= R

z

n

) × c

n

(n = 0, 2, 4), (3.18)

(33)

where R

z

n

) is the rotation matrix.

If joint is prismatic, for instance the crane telescope, the center of mass c

6

is represented in initial joint 4 frame (without translation), when telescope extending with q

4

:

c

06

= c

6

+ q

4

(3.19)

According to the crane forward kinematics, we have already derived each joint’s initial joint frame respect to base frame, represented by homoge- neous matrix T

00

, T

20

, T

40

, T

60

. So the COM of each link’s homogeneous matrix can be expressed respect to base frame:

COM

n

1



= T

n0

c

0n

1



(n = 0, 2, 4, 6). (3.20) 2. Calculate velocity Jacobian J

vi

and angular velocity J

wi

from the base frame to the COM of each link i (i=1, ..., n).

J

v1

= [ ∂COM

1

∂q

1

, 0

3×1

, 0

3×1

, 0

3×1

], (3.21) J

v2

= [ ∂COM

2

∂q

1

, ∂COM

2

∂q

2

, 0

3×1

, 0

3×1

], (3.22) J

v3

= [ ∂COM

3

∂q

1

, ∂COM

3

∂q

2

, ∂COM

3

∂q

3

, 0

3×1

], (3.23) J

v4

= [ ∂COM

4

∂q

1

, ∂COM

4

∂q

2

, ∂COM

4

∂q

3

, ∂COM

4

∂q

4

], (3.24) where 0

3×1

represents 3x1 matrix whose elements are all 0.

From homogeneous transformation T

00

, T

20

, T

40

, T

60

, we extract the columns of z

n0

component by ρ

n

T

n0

(1 : 3, 3) . ρ

n

z

n0

will be components of the full Jacobian matrix. ρ

n

= 1 for prismatic joint, otherwise is 0.

J

w1

= [ρ

1

T

00

(1 : 3, 3), 0

3×1

, 0

3×1

, 0

3×1

], (3.25)

J

w2

= [ρ

1

T

00

(1 : 3, 3), ρ

2

T

20

(1 : 3, 3), 0

3×1

, 0

3×1

], (3.26)

J

w3

= [ρ

1

T

00

(1 : 3, 3), ρ

2

T

20

(1 : 3, 3), ρ

3

T

40

(1 : 3, 3), 0

3×1

], (3.27)

(34)

J

w4

= [ρ

1

T

00

(1 : 3, 3), ρ

2

T

20

(1 : 3, 3), ρ

3

T

40

(1 : 3, 3), ρ

4

T

60

(1 : 3, 3)], (3.28) where 0

3×1

represents 3x1 matrix whose elements are all 0.

3. With Jacobian matrix, mass m

i

and moment of inertia I

i

, we can state the mass matrix M using following equation:

M =

4

X

i=1

(m

i

J

vT

i

J

vi

+ J

wT

i

I

i

J

wi

)(i = 1, ..., 4), (3.29) where

I

i

=

I

ixx

I

ixy

I

ixz

I

iyx

I

iyy

I

iyz

I

izx

I

izy

I

izz

 .

Note that inertia I

i

in equation is relative to link i body frame.

4. Calculate the centrifugal C(q)

n×n

and Coriolis B(q)

(n−1)n

2

matrix. For simplification, we introduce Christoffel’s symbols (3.30) and (3.31) [14], then we formulate elements in C(q)

n×n

and B(q)

(n−1)n

2

with Christoffel’s symbols.

C(q)

4×4

=

b

111

b

122

b

133

b

144

b

211

b

222

b

233

b

244

b

311

b

332

b

333

b

344

b

411

b

422

b

433

b

444

 .

B(q)

4×6

=

2b

112

2b

113

2b

114

2b

123

2b

124

2b

134

2b

212

2b

213

2b

214

2b

223

2b

224

2b

234

2b

312

2b

313

2b

314

2b

323

2b

324

2b

334

2b

412

2b

413

2b

414

2b

423

2b

424

2b

434

 .

b

ijk

= 1/2(m

ijk

+ m

ikj

− m

jki

) (3.30) m

ijk

= ∂m

ij

∂θ

k

; m

ikj

= ∂m

ik

∂θ

j

; m

jki

= ∂m

jk

∂θ

i

, (3.31)

(35)

where m

ij

is the elements from mass matrix.

5. Calculate the potential energy with each rigid link’s COM:

U =

n

X

1

m

i

(−g

T

COM

i

), g = [0, 0, 9.81], (3.32) where COM

i

is COM position of each link respect o base frame, g is grav- ity vector. m

i

is mass of each link.

G

4×1

(q) = ∂U

∂q

i

(i = 1, ..., 4), (3.33) Alternative method is:

G

4×1

(q) =

4

X

1

m

i

J

vTi

g(i = 1, ..., 4) (3.34)

3.2 Simulation results

In order to verify the dynamics model we got, we make a comparison be-

tween data obtained from the real machine and the simulation result. In

Figure 15, 16, 17, same position, velocity, acceleration profiles are shared

by real machine and our simulation.

References

Related documents

Among all of the experiments that is done, except experiment 2, the most accurate classifier was Random forest classification algorithm, from the third experiment which provided

By integrating a combustion engine with a linear electric machine into one unit, a system that is called Free Piston Energy Converter (FPEC) is achieved.. The FPEC is suitable for

There were two sides of the objective of this study: (1) to investigate if and how the current travel time estimates based on road network data could be improved by the inclusion

Theorem 1: In case of using only average channel state information, the minimum total energy E required for a trans- mission of a packet of size D with probability of successful...

A life cycle inventory analysis is conducted based on the data collected in the environmental BOM, the company survey, the user study and the EVA-EMP energy measurements.. LCI-data

For this thesis, those metrics are further divided into those suitable for gaining macro-level information on the status of energy access in a region or a country and those which

The aim of this thesis project was to investigate if a punching bar changer will be a proprietary purpose-build machine or an industrial robot. An investigation of both cases has

The models created in these experiments all performed poorly with only achieving 4-11% mAP on the test set. Earlier testing of these architectures shows that they have