# Home of OMD

## Source Code

## General Description

This website is the home of OMD. OMD is a multi-body dynamics application used to simulate mechanical systems. Unlike most multi-body dynamics applications, OMD was built to accommodate different approaches to solving such problems. There is a frame work to define rigid bodies, joints, forces, integrators and three different models which use different techniques to solve the equations of motion for a set of bodies, joints and forces. The following are the Models or formulations available at this time:

Model1 does not allow joints, it solves unconstrained bodies using their Cartesian Coordinates as states.

Model2 uses Kane's method or a recursive joint formulation. In this method each joint adds degrees of freedom or states to the model. Currently it is only capable of solving open loops.

Model3 uses constrained Cartesian coordinates meaning joints are used to create a set of algebraic differential equations. Coordinate partitioning is used to identify independent and dependent constraints allowing for the use of Ordinary Differential Equation (ODE) solvers.

## OMD in Emscripten

Example 1### Hit "GO" in the controls to start the simulation

PID controler of a pendulum. Mass of the pendulum and the slider is 10. Acceleration due to gravity is 9.81. Lenght of the pendulum arm is 10. The force on the slider in the x is a PID of the angle in the z. The force on the slider in the z is a PID of the angle in the x.