Institut de Robòtica i Informàtica Industrial
KRD Group

The CuikSuite Project

Wheelie10.world File Reference

The 10-Wheelie mechanism. More...

Go to the source code of this file.


Detailed Description

The 10-Wheelie mechanism.

See DoubleButterfly for an extensive step-by-step explanation of how to perform position analysis within the CuikSuite. Next, we briefly enumerate those steps:

  • Generate the equations: Execute
  • Solve the positional analysis problem: Execute
    • cuik examples/Wheelie/Wheelie10_kin
    First, you have to generate a _kin.param parameter file, for instance, copying the wheelie10.param.
  • Examine the solutions:
    • Inspect the resulting solution file (wheel10_kin.sol) with the original set of equations, the simplified set, the set of solutions and the statistics on the solving proces.
    • Generate 3d projections of the solution points with cuikplot3d.

The execution time for the Wheelie10 is considerably large. If you have access to a cluster of computers you can execute the parallel version of cuik. Actually you will need a Beowulf-like computer cluster, that is

  • A set of identical computers with the same architecture as the one where you compile the CuikSuite. Although all the computers are equivalent, one of them will be the master of the cluster and the rest will be the slaves.
  • A user with the same username in all the computers in the cluster. Lets call it shareduser.
  • Ssh passwordless access for shareduser from the master to all the slaves.
  • ssh passwordless access from your computer to the master of the cluster.
  • Disk space shared (for instance via NFS) by all computers in the cluster,
  • MPI libraries installed and available to all computers in the cluster (we use OpenMPI, but is should be possible to use other MPI libraries).
  • The simplex libraries (CLP, GLPK, or LP_SOLVE) installed and available to all computers in the cluster.

For instance, in the GMR group at IRI we have a cluster with 8 Dell PowerEdge 1950 computers with two quadcore Xeon CPUs at 1.60GHz. This makes a total of 64 CPUs.

As soon as you have the cluster properly installed, and the CuikSuite properly configured and compiled to run on a multi-processor system, you need to edit the rmpicuik script:

  • set GRID to shareduser@master. In our case the shared user is called gmr and the master of the cluster is called gmrgrid.
  • set SHARED_DIR to the path to the shared disk in the master. In our case the shared disc is /SharedDisk.
  • set PI_FILE to the path of the file describing the cluster in the format required by the MPI library you are using. In our case, the file is a copy of the machines.LINUX file in the CuikSuite main directory.
  • set NPPM to the average number of processors per machine in the cluster. In our case this is 8.

Now, you can execute the parallel version of cuik on the Wheelie10 problem executing

This will spread the computation on all the available CPU of the cluster. To limit the number of CPUs used to N execute:

After the execution a sol file will appear in the directory where the cuik file was. This solution file includes the same information as the solution files for single-CPU executions.

Definition in file Wheelie10.world.