One target of the package is to find closed form solutions such that direct substitutions are
made when parameters are entered. This requires determining which parameters should be
variables and which should be constants. Variables could be robot parameter configuration
variables or state variables. The former are variables that define the structure of the
manipulator, so they are constants for the same robot (i.e. a's,
's, dynamic parameters...etc.).
The latter
describe the state of the robot (Joint Variable). Thus
may be a state
variable if i-th joint is revolute otherwise, it is a configuration variable.
When the program is run, it will ask for the configuration of the robot (one of those listed in
Table 2). Then the program will decide what the robot configuration variables are and ask
the user to enter them one after another. According to the task the program is asked to run, it
will ask for the state variables. For example if the program is asked to calculate the Inverse
Kinematics, the program will ask for the target Cartesian position and orientation to get the
values of q's as an output. When the front user asks to do a task, the program
calls the task handler. The task handler is a huge set of equations that are invoked when the
front user enters the required input, and displays the results rapidly.
Figure 6 shows the task flow chart.
The next few sections give a few examples of how we managed to do the mathematics for the different tasks .