RobCoGen is not a rigid body dynamics simulator. However, it generates a fast implementation of the forward dynamics algorithm for your robot, which is a fundamental component of a simulator.

RobCoGen is not a controller. However, it generates code for various matrices (coordinate transforms, Jacobians, inertia matrix) which are commonly used in model based controllers.

Motivation

To simulate and control our robots we want efficient code, possibly in different programming languages. For hard real time control we also need predictable execution time. Rigid body dynamics algorithms are text book knowledge, but are not trivial to implement by hand; coordinate transforms are conceptually simple but confusing to deal with. RobCoGen was designed to address all these issues, and to relieve the roboticist from some manual coding which is hard, time consuming, error prone.

Existing tools based on symbolic simplification have few possible drawbacks, including: not so easy to use, no support for multiple programming languages, only commercially available, generate hard-to-understand code. On the other hand, general purpose dynamics engines are less efficient when compared to a code generation approach. They are more flexible as they would work with a robot model that is created at runtime (i.e. a data structure), but doing so is rarely an actual requirement on a real robot deployment.