Goal Directed Design of Manipulators Based on Task Descriptions

Sarosh Patel
Tarek Sobh



Inverse Kinematics


Publications & Presentations




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.

task description

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: