cuikaddjacobian.c File Reference

Detailed Description

dot_inline_dotgraph_56.png

Note that this only works if the system representation is not DOF-based.

Takes as input a cuik file resulting from cuiksingequations and adds equations to detect then rank deficiency of the Jacobian for a given set of variables.

The result of this application is a system of equations that encodes a given set of singularities for the mechanism in the initial world file.

In most of the cases it would be better to use cuikaddjacobian on the simplification (via cuiksimplify) of the system derived from cuiksingequations. Thus the whole process will be

which will produce a name_sing_simp_J.cuik file.

The process of generating singularity equations is splitted in two parts since, in principle, equations introduced by cuiksingequations are necessary independently of the type of singularities to analyze whereas the Jacobian equations affects different sets of variables according to the singularity set to study (end effector, actuator, etc).

See examples/WSSingularities for examples of how to use this application.

IMPORTANT: The automatic generation of equations to detect singularities is still in development. The tools currently included in the CuikSuite (including this one) can only deal with simple cases (e.g. planar robots with 3 degrees of freedom). Thus, right now it is advisable to manually generate these equations following the instructions given in the work by O. Bohigas, M. Manubens, and L. Ros.

Todo:
Define tools to generate equation systems to detect particular singularities (end effector, actuator,...). These tools will be less flexible that the combined use of cuiksingequations and cuikaddjacobian but will be useful for most of the cases.
See Also
world.c

Definition in file cuikaddjacobian.c.

Functions

int main (int argc, char **arg)
 Main body of the cuikaddjacobian application. More...
 

Function Documentation

int main ( int  argc,
char **  arg 
)

Main body of the cuikaddjacobian application.

Use:

  • cuikaddjacobian problem_name.cuik var_names

where

  • problem_name is the _sing.cuik file resulting from cuiksingequations.
  • var_names is a list of the variable of interest (the ones not included in the Jacobian).
Parameters
argcNumber of elements in the command line that starts the application (i.e., the cuiksingequations command itself and its arguments).
argStrings with the arguments.
Returns
EXIT_SUCCESS (0) if the execution worked out fine and EXIT_FAILURE if not.

Definition at line 102 of file cuikaddjacobian.c.

References AddJacobianEquations(), CreateFileName(), CUIK_EXT, DeleteCuikSystem(), DeleteFileName(), DeleteParameters(), Error(), FALSE, GetCSNumVariables(), GetCSVariableID(), GetFileFullName(), InitCuikSystemFromFile(), InitParametersFromFile(), JOINTS_EXT, LinkFileNmeWithExtension(), LINKS_EXT, NEW, NO_UINT, PARAM_EXT, PrintCuikSystem(), and TRUE.