|
|
DoubleButterfly.world File ReferenceThe Double Butterfly linkage: simple formulation. More... Go to the source code of this file. Detailed DescriptionIntroductionSimple formulation of the Double Butterfly linkage refering to some of the points defining in the links to define the joints. The advantage is that we can re-define the link sizes and get a different double-butterfly without modifying the world file. The inconvenient is that joints can only be defined in particular points of the links. To refer to the points on the triangular links, we assume that the triangles are defined in the following way
In this example we use an incremental way to define rotation axes for revolute joints: instead of defining the rotation axes using two points we give a vector to be added to the point given before. Finally, note that the length of the rotation axes is irrelevant. Please, see DoubleButterfly_explicit for an alternative formulation of the same linkage (i.e., a formulation giving all the coordinates in the world file instead of re-using those in the body definitions). In the following we assume that you have the CuikSuite configured and properly compiled. All commands are executed from the CuikSuite main directory. Position AnalysisGetting the EquationsYou can get the set of equations from the world description executing
This will generate a file including the kinematic related equations (those arising from the loops in the linkage). In general other cuik files are generated with the obstacle avoidance related information if obstacle avoidance settings are included in the world file Simplifying the EquationsThe kinematic cuiksystem includes all the variables and equations generated for all links joints, and loop equations in the problem. However, in a quick inspection of the file you will see that many variables (and the corresponding equations) can trivially eliminated. This is automatically done executing
This prints the input cuiksystem plus a simplified version of the input cuiksystem. For this particular case, the the output is the complete simplification of the input problem. However, in general the output system is only partially simplified. Strong simplifications (such as a full Gaussian elimination) are avoided not to introduce numerical perturbations in the output cuiksystem that, in some cases, can create/eliminate solutions from the problem. The cuiksimplify application is only given for you to get an idea of the real complexity of the cuiksystem actually solved since the simplification step is always automatically executed when solving a problem. Solving the ProblemThe position analysis of the Double Butterfly linkage can be solved executing
To execute cuik you need a parameter file with the same name as the cuik file (i.e., DoubleButterfly_kin.param). In this case, you can copy the DoubleButterfly.param file. For large cuiksystems it is advisable to use the parallel version of cuik. It is executed via rmpicuik and requires access to a properly configured cluster of computers. See Wheelie10, for a detailed example of how to use rmpicuik. This will generate a solution file The sol file includes all the information about the solving process. Namelly, it includes
Processing the SolutionsWe can execute
to separate the different connected components of the solution space. For this particular problem this command generates the files
plus an empty file with the isolate solutions (examples/DoubleButterfly/DoubleButterfly_kin_isol.sol) To generate an animation just execute
the output file examples/DoubleButterfly/DoubleButterfly_kin_1.gcl can be browsed using
The same procediment can be done for the other 3 connected components of the solution space. However, the animation gives ony partial information about the structure of the solution space. To get a global view of this struture, it is better to use cuikplot3d. This utility generates 3d projections of the configuration space. For instance executing
generates a projection of the configuration space on variables number
With a little bit of attention you will be able to see the four separated components that constitute the configuration space of the Double Butterfly linkage under analysis. The same procedure can be applied to the 4 solution files with one connected component each. In this way we will generate 4 different geomview objects whose properties can be easily modified. For instance we can generate a projection of the configuration space with a different color for each connected component. Definition in file DoubleButterfly.world. |