Purpose

FK-ssm enables to compute all the solutions of the forward kinematics of a Gough platform parallel robot, with special constraints on the positions of the joint's centers.

Availability

Free source codes are available under Free Software Society conventions through anonymous ftp (download here).

This software is provided "as is" without warranty of any kind. In no event shall INRIA be liable for any loss of profits, loss of business, loss of use or data, interruption of business, or for indirect, special, incidental, or consequential damages of any kind, arising from any error in this software.

Implementation features

Window system: none
Type: sources
Language: C
Number of lines: 3000
Size of binary: 1.73 Mo
Output: solutions of the forward kinematics
History:
version 0.1:8/6/1995
version 0.2:10/10/1996 patched on 25/3/1997

User's manual

Introduction

FK-ssm enables to compute all the solutions of the forward kinematics of a Gough platform parallel robot, with special constraints on the positions of the joint's centers.

The general geometry of the robot is presented in figure 1.

  figure19
Figure 1:   The geometry of the robot

The forward kinematics problem is to find the position/orientation of the moving platform for a given set of leg lengths.

If xai,yai,zai denote the coordinates of the centers of the joints on the base they should fulfill the following constraints:

  1. zai=0 for all joints
  2. xa1= -xa2, ya1=ya2
  3. xa3= -xa6, ya3=ya6
  4. xa4= -xa5, ya4=ya5
  5. ya1+ya3= -ya4
The same constraints apply for the position of the joint's centers on the moving platform.

The geometry of such a robot is defined in a file in which the 12x3 coordinates of the centers are given, first for the base, then for the platform. For example a valid file is:

 
-9.758000 9.098000 0.0 
9.758000 9.098000 0.0 
12.758000 3.902000 0.0 
3.000000 -13.000000 0.0 
-3.000000 -13.000000 0.0 
-12.758000 3.902000 0.0

-3.000000 7.300000 0.0
3.000000 7.300000 0.0
7.821800 -1.052000 0.0
4.821800 -6.248000 0.0
-4.821800 -6.248000 0.0
 -7.821800 -1.052000 0.0
in which the 6 first lines define the coordinates of the base joints, and the 6 last lines the coordinates of the platform joint.

This program is an implementation of the algorithm described in [2],[1]. To run the program use the command:

 
FK-ssm [mechanism file]
The program will then ask you:
  1. if you want to compute the solution of the forward kinematics for the leg lengths corresponding to a given position/orientation of the platform. A position/orientation is defined by 6 numbers, the three first one being the coordinates of the center of the platform, the three last one being the Euler's angles (in degree) defining the orientation. The Euler's angle define first a rotation around the z axis, then a rotation around the new x axis, then a rotation around the new z axis.
  2. if you want to compute the configuration of the platform directly from a set of leg lengths. Here you will have to give the 6 leg lengths
  3. a step size for the search along the tex2html_wrap_inline119 Euler's angle. The default value is 1 degree which is usually sufficient. Running with a lower step size may be necessary if two solutions are very close.
  4. theoretically you cannot find more than 40 solutions. In some case however you may find more as you may run into a singular configuration (in which there is an infinite number of solutions). By default we don't display singular solutions. But you may override this choice.
The program will then print the solutions of the forward kinematics by giving the coordinates of the center and the Euler's angle in degree. If you have defined the leg lengths by giving a configuration of the robot you should find the configuration among the solutions. If you have given leg lengths there may be no solution.

Acknowledgment: I am indebted to Imme Ebert-Uphoff which has found a bug in this program, leading to the implementation of version 0.2

References

1
Merlet J-P. An algorithm for the forward kinematics of general parallel manipulators. In ICAR, pages 1131-1135, Pise, DATEJanuary, February, March, April, May, June, July, August, September, October, November, December, Summer 19-22, 1991.

2
Merlet J-P. An algorithm for the forward kinematics of general 6 d.o.f. parallel manipulators. Research Report 1331, INRIA, DATEJanuary February March April May June July August September October November December Summer 1990. GET IT!.


Jean-Pierre Merlet@Tue Mar 25 15:32:32 MET 1997