DynaMechs (Dynamics of Mechanisms):
|
||||||||||||||
|
Development of the DynaMechs simulation software began in 1991 by myself (Scott McMillan) at The Ohio State University Department of Electrical Engineering driven by the need to develop a real-time dynamic and hydrodynamic simulation system for two graduate research projects: (1) to aid in the development of a new walking control algorithm for Aquarobot, an underwater walking hexapod to be used in surveying and construction applications during construction of seawalls in Japan; and (2) to develop real-time control algorithms and operator interfaces for a remotely-operated vehicle (ROV), Tiburon, that was under development at the Monterey Bay Aquarium Research Institute (MBARI) for scientific research in the 3000m deep Monterey Canyon. Since then Duane Marhefka has added the capability to simulation systems with closed kinematic loops (new in version 4.0). Go to the Projects Page for more details about these and other projects that use the DynaMechs library. This software package (a cross-platform, object-oriented, C++ class library) supports dynamic simulation of a large class of articulated mechanisms. From simple serial chains to tree-structured articulated mechanisms (including the simpler star topologies) to systems with closed loops. Code to compute approximate hydrodynamic forces are also available to simulate underwater robotic systems of this class including submarines (ROVs, AUVs, etc.) with one or more robotic manipulators. Joint types supported include the standard revolute and prismatic classes, as well as an efficient implementations (using Euler angles or quaternions) for ball joints. Work is ongoing (mainly at The Ohio State University) to extend the
capabilities of DynaMechs and develop a user-friendly front-end (called
RobotBuilder) to facilitate ease of use while targeting the upperclass- and
graduate-level engineering courses. Other work is underway to add the
ability to simulate other joint types like the the 2 revolute degree of
freedom universal (Hooke) joint, and to develop more accurate contact force
models to aid in the development of walking machines.
Current Features:
Right now DynaMechs comes in source code only. This means that you have to compile the package for yourself. The following is a list of other software you will need or is recommended to build this package:
You can obtain the source code in one of two ways: (1) download a packaged released from the DynaMechs Releases Page, or (2) check out the distribution from the cvs server (details about how to do this is available on the DynaMechs CVS Repository Info Page. The entire package is contained in the DynaMechs module, and you can check this out with the following cvs command:
This will create a directory called 'dynamechs' consisting of the following files/directories: Makefile - top level makefile
Please read the INSTALL file for the latest instructions on building
the package (it changes too often to include directions here).
The following is a list of documentation related to DynaMechs:
Sourceforge provides a host of services: CVS repository for the code and documentation; a bug list that also contains future features to be worked on; a mailing list, DynaMechs-dev, which also gets all of the CVS repository commit messages; and an anonymous FTP site. The links to these are listed below:
The following is a list of other contributors (thanks):
I am interested to know if you find DynaMechs useful. If you would like to give feedback and/or contribute to its development, please feel free to contact me. |