The forward kinematics are required at start up to turn the motor positions into Cartesian positions.
The problem of forward kinematics is to determine the pose of, say, a hexapod platform with respect to its base, given the leg lengths. This must be done at the start of a motion program, working from the commanded leg lengths, to ensure that the programmed moves of the pose start from the correct position. It must also be done any time reporting of the present pose is desired, usually working from actual leg lengths to compute the actual pose.
Conceptually speaking, forward-kinematic equations are the mathematical inverse of the inverse-kinematic equations. However, the inverse-kinematic equations are strongly non-linear and not easily invertible. For most parallel-link configurations, there are no practical closed-form solutions that are solvable in real time thus, an iterative solution is employed.
Using the Turbo PMAC, the forward-kinematic algorithm is implemented in a dedicated program buffer for the coordinate system. The inputs are the command positions for the motors and the outputs are the resulting platform pose coordinates. Turbo PMAC automatically calls the forward-kinematic program buffer every time a motion program is started. It will also call this program any time a “position-match” command is given, necessary if the relationship between motor positions and payload programmed pose is changed during a motion program. A position reference must be established for all motors, usually through a “homing-search” move, before a valid computation of the forward kinematics can be done.