following components:
• Parametric path function
• Path coordinates
• Optimization technique
• Cost function
• Constraints
2.1 Parametric Path Function
Selection of the parametric path function is the first
step of the trajectory optimization technique.
Generally in optimization, a small number of
parameters is preferred without restricting the
motion space. Also, for manipulator motions, the
trajectory function has to be at least twice
differentiable in order to provide smooth and
continuous accelerations.
In this study, a fourth order B-spline function is
used to define joint motions because of its simplicity
and computational efficiency (De Boor, 1978), see
(Qin, 2000) for details. A fourth order B-spline
function consists of nine parameters. Three of them
are used for the start condition (position, and its first
and second derivatives). Three parameters are used
for the end condition (position, and its first and
second derivatives). The remaining three free
parameters are calculated by the optimization
algorithm.
2.2 Path Coordinates
Trajectory planning can be done either in the joint-
space or Cartesian-space. Planning a trajectory in the
joint-space has a significant advantage that the
control system will be acting on the robot joints
rather than on the end effector. In this case, it is
easier to set the necessary trajectory in terms of the
design requirements. However, the trajectory of the
end effectors will not be easily predictable (Niku,
2001). On the other hand, Cartesian-space
trajectories are more realistic and very simple to
visualize, but these have to be converted to joint
space for control purposes. In this paper, joint space
trajectories are used. However, the method can
handle Cartesian-space trajectories if required.
2.3 Optimization Technique
The selection of the optimization technique is
important as a large number of parameters and
coefficients may adversely affect the results of
optimization, and computational efficiency (Garg
and Kumar, 2002). In the proposed method, there is
no need to use computationally intensive
optimization techniques such as genetic algorithms.
Therefore, a sequential quadratic programming
technique (the default method in""
function in MatLab (The Mathworks, 2007) is used.
2.4 Cost Function
In the literature, the most common objectives to be
optimized are minimum travelling time, minimum
energy (or actuator effort, e.g. torque), and minimum
jerk (Gasparetto and Zanotto, 2007).
Minimum energy consumption was taken into
account here, but other quantitative indicators could
be considered according to design objectives. The
cost function of actuator effort (or torque)
minimization is described by:
=
()
(1)
where is the actuator cost function,
the actuator
torques/forces applied at joint along the trajectory,
K the number of actuators, and the total travelling
time between initial and final positions. Calculation
of the cost function in Eq. (1) requires the solving of
the inverse dynamic model for T seconds. Three free
parameters of the B-spline function are used to
optimize each joint trajectory.
2.5 System Constraints
Robot manipulators will have some physical
constraints such as the limits of the position,
velocity, acceleration and torque. Using these
constraints, unrealistic or unreachable motions of the
manipulator are automatically avoided in the
optimization procedure. Other constraints can also
be added (such as obstacle avoidance, singularity
avoidance) to the optimization algorithm for
trajectory planning.
The cost function calculations involve running
the inverse dynamic model, which is time
consuming. In conventional methods the constraint
equations are handled separately, and the cost
function is called regardless of whether the
constraints are satisfied or not. In order to improve
computational efficiency in the proposed method,
constraints are handled within the cost function
calculations and the inverse dynamic analysis is only
evaluated when these constraints are satisfied. In
order to achieve this, an alternative cost function is
formulated to handle constraints as follow:
1. A variable, c, is created to count the number of
cost function calls where the parameters do
ICINCO 2011 - 8th International Conference on Informatics in Control, Automation and Robotics
106