from motion planning to kinematic control of scara robot · from motion planning to kinematic...
TRANSCRIPT
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
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
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
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
(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
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