Methodology

Though the criteria for optimizing a manipulator can
be infinite, in defining a methodology for fast synthesis based on task
descriptions, we begin with a set of minimum kinematic performance
criteria. The manipulator's ability to easily reach every task point and
be able to attain required orientations at these task points without
being in a singular pose is a necessary requirement for any robotic
application. Consider a manipulator task that requires the manipulator
to reach certain task point with specific orientations. Fig. 1 is an
example of such a manipulator task where the end-effector is required to
have multiple orientations about a set of task points. The task
descriptions can be specified in terms of the task points p that the
manipulator is supposed to reach with a specified orientation.

Fig.
2 shows the flow chart of
the proposed methodology. Random configurations are generated by the SA
algorithm and tested for the existence of the inverse solutions within
the joint limits range. In case a solution exists within the joint
constraints, we further test the configurations for singular postures.
All reachable structures are stored, and the best reachability structure
is always updated. Additional constrains can be added to methodology to
further select suitable configurations.

Fig. 2: Methodology Flow Chart

In this case, the objective or cost function is the
*reachability* function - does not have a direct analytical
expression, and is computationally expensive to calculate as it depends
on the inverse kinematic solutions. It is also important to note here
that this problem does not have a formulation for a function derivative
or any function gradient data. The objective function will have multiple
local and global minima points where the function value attains the
desirable value. The search space is also very exhaustive. Keeping in
mind the above factors we chose to implement the problem using Simulated
Annealing (SA) algorithm. The simulated annealing method is a heuristic
algorithm.

Beginning with a high temperature the SA algorithm with every
iterative step gradually lowers the temperature simulating the annealing
process. And, after every fixed number of iterations, known as the
annealing period, the temperature is back raised again. Higher
temperatures mean greater randomization of the input variables.
Therefore, a slow annealing method that lowers the temperature gradually
will explore the search space to a greater extent that a fast annealing
method that lowers the temperature quickly. At lower temperatures the
search space is exploited while at high temperature the algorithm
explores the search space. The algorithm stops when there is no change
in the objective function for a certain number of consecutive
iterations. SA algorithm remembers the best inputs throughout its run.
SA also works well with high dimensionality problems even when the
search space is extensive.

The video below shows how random configurations are generated
to be tested for reachability: