from motion planning to kinematic control of scara robot · from motion planning to kinematic...

6
From Motion Planning to Kinematic control of SCARA robot Ignacio Herrera-Aguilar, Oscar Sandoval-Gonzales, Raúl Pimentel-Cortés, Juan Manuel Jacinto-Villegas and Marco Vásquez-Beltrán Abstract The new technologies inside robotics, requires its systems becomes more intelligent day by day, for this reason, is important to incorporate different kind of sub-systems that allow a service robot get more capabilities of work in different areas. Thus developing in specific applications is needed. This paper shows an alternative way applied to manipulator robots by conjunction of different techniques of the robotics area such as: Motion planning, trajectory planning and control strategies. This involves a SCARA configuration robot and finally a simulated validation is performed. 1. INTRODUCTION Over the time the technology has grown potentially. Taking a look to robotics, there exist a lot of sophisticated applications in different industrial areas; however, now a days many challenges still exist to be covered. Humans routinely make decisions and often unconsciously, these decisions are inherent to the world around them. The fact of being able to give a robot the ability to make decisions of this type, let to create support systems that interact in complex environments and can be applied in various fields. A great problem to solve, is to make a robot be capable to move itself into an environments populated with obstacles and so do different types of task. Taking into account the problem described previously, this article is presented, which proposes the integration of different techniques such as motion planning, trajectory planning and control, applied to a robotic system. This application is a premise for a research which aims to integrate a robotic system for handling of agricultural products. 2. RELATED STUDY 2.1 Motion planning The motion planning problem exists from the presence of obstacles in a defined path, it means, we need to calculate a movement that allows a robot to perform a task, respecting the obstacles geometry as that of his own geometry as well [9]. The difficulty of motion planning depends on the complexity of the system, besides its intrinsic movement restrictions and external, that is, the application of algorithms that guarantee a solution, if it exists, or report "fail" if no solution exists. This is limited by the computational complexity involved. A basic example would be to plan for a free flying robot in an environment consisting of various obstacles. It is formed from the definition of the object A corresponding to the robot, the configuration of its starting point I, and the goal to be gotten G which belong to W, ergo into the workspace of the robot. Finally a collision-free path T between obstacles B1...BNobs is traced or reported if there is not exist one [3]. The figure 1 schematizes outlines the point described above. Figure 1. Simple graphical representation of motion planning. Within the development of motion planning is necessary geometric representation of objects that are inside the workspace (obstacle, robot). There are different techniques of geometric modeling. The selection of one of them depends on the application and the difficulty of the problem. In most cases there are 2 alternatives: 1) Boundaries representation and 2) Solids Representation. Ignacio Herrera-Aguilar [email protected] Oscar Sandoval-González [email protected] Raúl Pimentel-Cortés [email protected] J. Manuel Jacinto-Villegas [email protected] Marco Vásquez-Beltrán [email protected] Orizaba Institute of Technology, Oriente 9 No. 852, Col. Emiliano Zapata, Orizaba, Ver., México. ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico 66

Upload: doanthien

Post on 04-Jun-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

From Motion Planning to Kinematic

control of SCARA robot

Ignacio Herrera-Aguilar, Oscar Sandoval-Gonzales, Raúl Pimentel-Cortés,

Juan Manuel Jacinto-Villegas and Marco Vásquez-Beltrán

Abstract — The new technologies inside robotics,

requires its systems becomes more intelligent day by day,

for this reason, is important to incorporate different kind

of sub-systems that allow a service robot get more

capabilities of work in different areas. Thus developing in

specific applications is needed. This paper shows an

alternative way applied to manipulator robots by

conjunction of different techniques of the robotics area

such as: Motion planning, trajectory planning and control

strategies. This involves a SCARA configuration robot

and finally a simulated validation is performed.

1. INTRODUCTION

Over the time the technology has grown potentially.

Taking a look to robotics, there exist a lot of sophisticated

applications in different industrial areas; however, now a

days many challenges still exist to be covered. Humans

routinely make decisions and often unconsciously, these

decisions are inherent to the world around them.

The fact of being able to give a robot the ability to make

decisions of this type, let to create support systems that

interact in complex environments and can be applied in

various fields. A great problem to solve, is to make a

robot be capable to move itself into an environments

populated with obstacles and so do different types of task.

Taking into account the problem described previously,

this article is presented, which proposes the integration of

different techniques such as motion planning, trajectory

planning and control, applied to a robotic system. This

application is a premise for a research which aims to

integrate a robotic system for handling of agricultural

products.

2. RELATED STUDY

2.1 Motion planning

The motion planning problem exists from the

presence of obstacles in a defined path, it means, we

need to calculate a movement that allows a robot to

perform a task, respecting the obstacles geometry as that

of his own geometry as well [9]. The difficulty of

motion planning depends on the complexity of the

system, besides its intrinsic movement restrictions and

external, that is, the application of algorithms that

guarantee a solution, if it exists, or report "fail" if no

solution exists. This is limited by the computational

complexity involved. A basic example would be to plan

for a free flying robot in an environment consisting of

various obstacles. It is formed from the definition of the

object A corresponding to the robot, the configuration of

its starting point I, and the goal to be gotten G which

belong to W, ergo into the workspace of the robot.

Finally a collision-free path T between obstacles

B1...BNobs is traced or reported if there is not exist one

[3]. The figure 1 schematizes outlines the point described

above.

Figure 1. Simple graphical representation of motion planning.

Within the development of motion planning is necessary

geometric representation of objects that are inside the

workspace (obstacle, robot). There are different

techniques of geometric modeling. The selection of one of

them depends on the application and the difficulty of the

problem. In most cases there are 2 alternatives: 1)

Boundaries representation and 2) Solids Representation.

Ignacio Herrera-Aguilar [email protected] Oscar Sandoval-González [email protected]

Raúl Pimentel-Cortés [email protected]

J. Manuel Jacinto-Villegas [email protected] Marco Vásquez-Beltrán [email protected]

Orizaba Institute of Technology, Oriente 9 No. 852, Col. Emiliano

Zapata, Orizaba, Ver., México.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

66

Page 2: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

For this development, firstly the work space W must be

defined, for which there are two main options. The first is

to define a work space in 2 dimensions where W= R2,

second, define the work space in 3 dimensions where W=

R3 [5]. These 2 options are sufficient for most cases;

nevertheless, some cases can be analyzed more complex

workspaces. Generally there are 2 types of entities within

this workspace:

Obstacle. Space segment which is permanently

occupied.

Robots. Geometrically shaped bodies and are

controllable through motion planning.

Currently there are representations for systematic

construction of obstacles and robots, both must be

considered as part of the space W, where O is the region

of the obstacles in W (involving one or more obstacles),

therefore, O ⊆ W. Then, the robots will be defined in a

similar way; however, these involve geometric

transformations. To performance of this type of modeling

there are different methods; among them are polygonal

and polyhedral models, geometric models and semi-

algebraic models [5].

Subsequently in finding a solution to a collision-free path

of a robot, it is necessary to define the configuration space

(C-Space). Whereas W = RN, where N = 2 or N = 3, is a

workspace populated with obstacles, the configuration

space is the space of all possible configurations of the

robot and the correspondence of obstacles inside the same

space [9]. Thus the configuration space of an articulated

robot is given by the end effector and this is determined

by inverse kinematics, and, by placing obstacles in that

area, known configurations q's that would take the robot

to the end effector come into collision with the obstacle. It

should be noted that the configuration space of a robot has

many dimensions as degrees of freedom of the robot [7].

Figure 2 indicates the characteristics of the configuration

space for an articulated robot R = 2 and 2 degrees of

freedom, as shown by [7]:

Figure 2. Configuration space of an articulated arm 2 degrees of

freedom.

Considering all defined above, to find a collision free path

algorithms have been developed to solve this problem.

Sample-based approaches

The main idea is to avoid explicit construction of

configuration space obstacles (Cobs) for a searching that

perform the survey of C-Space with a sampling scheme.

The main idea is to avoid explicit construction of

configuration space obstacles (Cobs) for a search you

perform the survey of C-Space with a sampling scheme.

This survey is enabled by a detection module, which is

considered "black box ". This allows the development of

planning algorithms that are independent of the geometric

models. These algorithms have the disadvantage of

providing a weak guarantee that the problem will be

solved. An algorithm is considered complete whether

because of an entry, a solution is found in a finite time

period. If the solution exists, it must return a solution. If

not, report that there is no solution [5].

Figure 3. Scheme to block the sampling-based approach, using collision detection through a block that separates the motion

planning of geometric modeling [5]

These algorithms have proved their efficiency to solve

problems of motion planning in configuration spaces of

many dimensions; they capture the connectivity of the

collision-free regions of configuration space (Cfree). It

can be grouped into 2 main types. Those contained in

sampling techniques for the construction of a Roadmap in

Cfree; and those that use sampling incremental search

methods for exploring Cfree looking for particular path

[3].

Incremental Sampling method

These types of methods follow a model of a single

starting point and one ending point (single-query), which

is given once a robot in a single stage of obstacles. The

motion planning problem is considered as a kind of search

and knowing that G(V,E) is a graph where V is a set of

vertices and E is the set of paths that are mapped within

Cfree, most algorithms of this type are the following

methodology:

1. Initialization. Where G (V, E), V contains at least 1

vertex and E does not contain limits, usually V contains a

starting point (qi) and endpoint (qg). In general other

points in Cfree can be included.

2. Vertex selection method. Is selected a vertex qc V for

its expansion.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

67

Page 3: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

3. Local planning method. For configuring a new point qn

Cfree that may or may not be represented by a vertex in

V and attempts to to build a road Ts = [0,1] through Cfree

such that T(0) = qc and T(1)= qn, the result should be

evaluated to ensure that does not cause collision. If this

step fails to produce a road segment collision free, return

to step 2.

4. Insert an edge in the graph. Insert Ts in E as a limit

from qc to qn. If qc is not found yet in V, is then inserted.

5. Solution review. To determine whether G generates a

solution of the road.

6. Return to step 2. Iterate unless a solution has been

found or some termination conditions are done, in this

case the algorithm reports failure.

Between the range of algorithms of this type are:

Randomized Path Planner – RPP

Ariadne’s Clew Algorithm - ACA

Expansive-Space Tree – EST

Rapidly-exploring Random Tree – RRT

SBL[6]

Roadmap method

This method is applied to find the solution to the

problem of multiple points (multi-query) in motion

planning. The goal is to build a graph called Roadmap,

which efficiently solves the problem of motion

planning for multiple starting and final points [5].

Hence, knowing that taking into account the problem

of multiple points, the method is divided into two

phases: roadmap construction phase and phase query

[3]. The first is generated by a network of one-

dimensional curves capturing Cfree connectivity; it

means that G is constructed by concatenation of

curves. The second Phase captures the starting point

and ending point, each configuration must be

connected to G by using a local planner, then a search

is performed using algorithms for finding feasible

ways such as Dijkstra's algorithm [5]. Within this

method there are 2 main approaches commonly

applied: PRM and QRM [3].

2.2 Trajectory planning

The purpose of trajectory planning is to generate the

reference inputs for the motion control system to ensure

that the robot execute the planned route [9]. This consists

of generating a time sequence of the values obtained by

an interpolation function of the desired trajectory. It is

necessary to note that there are differences between path

and trajectory, so path is defined as the location of points

in the workspace where the robot has to run track. In

broad terms the road is pure geometric description of

motion. The representation of a trajectory must contain a

starting point, initial velocity and initial acceleration. Also

for a proper description of the final state is also required

endpoint, final velocity, final acceleration, performance

and time [1]. For most applications the final velocity and

final acceleration is equal to zero. Trajectory planning

transform a description of desired path to a trajectory

defining time sequence of intermediate configurations of

a robot from the point of origin to final destination [4] and

it presents the case one-dimensional path planning.

Figure 4. One-dimensional case of point to point trajectory planning with soft motion [4].

Usually there are 2 cases which present the trajectory

planning. First is the point to point motion, which

specifies the starting and ending point as well as working

time. On the other hand, is the movement through a

sequence of points or also known as multi-point motion,

where the path ahead contains more than two points, [9],

[4].

Point to Point motion

In this application, the robot has to move from a initial

configuration to a final configuration in a given time.

For this, an algorithm must generate a trajectory for the

general requirements and must also be able to optimize

performance when the robot moves from one

configuration to another

Multi-point Motion

It is an extension of point to point motion performed

iteratively, so it requires a sequence of points that the

robot will follow, where part of a starting point to a point

that is considered final part, which corresponds to the

second element of the sequence of points. Subsequently

update the initial condition, replacing the initial point with

the point considered as final, the end point is replaced

with the next point in the sequence given, this is

repeated until you have as an end point the last element

sequence of points.

Velocity profile

This is generated in order to control the robot's behavior

with respect to time. It is calculated one-dimensionally for

each degree of freedom of a robot. [1] describes a

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

68

Page 4: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

trapezoidal velocity profile which is computable from the

desired movement between two points. For its control

discontinuous pulses are applied in the domain of the

acceleration and speed is calculated. On the other hand

[4] presents an application where the pulses are

applied from the domain of Jerk, and by integration

generates a signal controlled trapezoidal acceleration.

Later through a second integration gives the velocity

profile. This application generates soft motion between

two points, within a sequence of points generated by as

motion planning algorithm.

3. TECHNOLOGICAL DEVELOPMENT

3.1 Motion Planning for SCARA robot

The first stage developed in our application, corresponds

to the motion planning, which was covered by the use of

software called MPK (Motion Planning Kit) [8], [6]

which allows the design stage populated by robots and

obstacles And then plan a collision-free path from a

starting point to a goal described by the user. For the

development of this section is modeled on a SCARA

robot configuration for a three-dimensional virtual scene,

as well as its stage which contains just one obstacle, and

then obtained a desired path. This route was subsequently

stored and sent for processing on a trajectory planning

system. Figure 5 shows how MPK solves the motion

planning problem for this manipulator robot.

Figure 5. Example of obtaining collision-free path. a) Route randomly

found, b) smoothed path, c) robot execution path

Calculated the route that allows free motion and knowing

the need for a system to follow a path through a

philosophy point to point (as described in the previous

section), it became necessary to implement a trajectory

planning subsystem.

3.2 Trajectory planning

Taking into account the applications developed by [1] and

[4], a simple velocity profile was generated, which

produces the profile by triangular signals of velocity, and

these supply the control system upon which the operation

of the robot. Figure 6 shows a simple example of

operation of the triangular velocity profile, which is

calculated according to Cartesian points, which are

provided by a previously calculated motion.

Figure 6. Triangular Velocity profile proposed

3.3 Control loop

SCARA robot has 4 degrees of freedom, of which 3 of

them are rotational and one prismatic or displacement

type as is shown in figure 7:

Figure 7. SCARA robot configuration

In order to supply each of them, implement a control loop

that converts the artesian velocities in angular

velocities and displacement for robot, using a block

that contains a transformation matrix called Jacobian

pseudoinverse [2], and allows the calculation described

previously; thus to integrate the angular velocity to give

angular values corresponding to the robot Cartesian

position. It also produces a feedback given by another

transformation matrix known as direct geometric model,

enables move from the angular plane to Cartesian plane

and be compared with the initially estimated positions by

integrating the Cartesian velocities given by the velocity

profile. This loop also provides signals to a block of

virtual reality for the further validation.

A mathematical process is presented below, wich allows a

kinematics control loop, from equation (1), (2) and (3):

Figures 8 and 9 show this control loop.

(1) Direct geometric model is obtained from this matrix product.

(2) Direct kinematic model.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

69

Page 5: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

(3) Inverse Jacobian matrix is obtained from inverse kinematic model.

Figure 8. Block diagram of control loop

Figure 9 Control loop built.

4. RESULTS

In this calculation section of collision-free path, first

proposed a sequence of points to calculate collision free

path by MPK, respecting the geometry of the robot.

Below in Figure 10 shows the path obtained and their

interpretation in coordinates for the next processing.

Figure 10. P obtained by MPK and its Cartesian representation

We performed the triangular velocity profile which

crudely provides the necessary signals for each degree of

freedom. This because is not necessary a more

sophisticated path planner due to the validation of this

system was made by simulation. For that reason we are

not restricted by the physical properties that might

present in the physical robot. The triangular velocity

profile for the SCARA robot is shown in Figure 11.

Figure 11. Velocity profile for SCARA robot.

Finally using the virtual reality module, the robot model

was animated and reproduced the conditions and showed

that the calculated route is really a collision-free path and

can be implemented in real-time systems. For this

assessment is presented in Figures 12 and 13.

Figure 12. Previous calculated route in MPK and real-time execution in a module for virtual reality.

Figure 13. Path traced during robot execution compared with path

wished.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

70

Page 6: From Motion Planning to Kinematic control of SCARA robot · From Motion Planning to Kinematic control of SCARA robot. ... robot be capable to move itself into an environments

5. CONCLUSION

Motion planning is a great field in the searching of more

intelligent systems using manipulator robots. In this way

Trajectory planning techniques let complex robotics

systems move themselves in a soft manner as Control

techniques do. This paper showed a satisfactory

combination of different techniques within the area of

robotics, so, the results give guidelines to continue further

work.

REFERENCES

[1] R. L. Andersson, Aggressive Trajectory Generator

for a Robot Ping-Pong Player, Holmdel, NJ: Staff at

AT&T Bell Laboratories, 1989.

[2] S. R. Buss, Introduction to Inverse Kinematics with

Jacobian Transpose, Pseudo Inverse and Damped

Least Squares Methods, San Diego, California, USA:

University of California, 2004.

[3] J. Cortés, Motion Planning Algorithms for General

Closed-Chain Mechanisms, PhD Thesis, Touluse,

France: LAAS-CNRS, 2003.

[4] I. Herrera, On-line Trayectory Planning of Robot

Manipulator’s End Effector in Cartesian Space Using

Quaternions, Touluse, France: LAAS-CNRS,

Université Paul Sabatier, 2006.

[5] S. M. Lavalle, Planning Algorithms, Book, Illinois,

USA: University of Illinois, 2006.

[6] G. Sanchéz, A Single-Query Bi-Directional

Probabilistic Roadmap Planner with Lazy Collision

Checking, ITESM, Campus Cuernavaca, Cuernavaca,

México 2002.

[7] T. Lozano-Peréz, A Simple Motion Planning

Algorithm for General Robot Manipulators,

Cambridge, Mass., USA: MIT Artificial

Intelligence Laboratory, 1986.

[8] J.C Latombe, Exact Collision Checking of Robot

Paths, Stanford, CA: Standford University, 1999.

[9] B. Siciliano, Robotic, Modeling, Planning and

Control, Book, Napoli, Italy: Dipartimento Di

Informatica e Sistemistica, Universita di Napoli

Federico II, 2009.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

71