
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