Get Dynamix
Dynamix Download Tutorials Reference

Reference Index

Overview
C++
 ↳ Controller
 ↳ Dynamics
  ↳ RigidBody
 ↳ Dynamics
 ↳ Graphics
 ↳ Joystick
 ↳ Linear Algebra
 ↳ Plotting
 ↳ Property Tree
 ↳ Sensors
  ↳ Camera
  ↳ Custom Sensors
Command Server
Live Console
Lua
 ↳ Controller
 ↳ Graphics
 ↳ Joystick
 ↳ Libraries
  ↳ Matrix
  ↳ Rotations
 ↳ Plotting
 ↳ Property Tree
Model
 ↳ Animations
 ↳ Parameters
Property Tree
Python
 ↳ Controller
 ↳ Graphics
 ↳ Property Tree

Dynamix Code Reference

Introduction

One of the most powerful features of Dynamix is the flexibility it provides users in defining the model, parameters, controller and various other functionality. Dynamix allows users to add their own code and functionality into the simulation model with ease.

Dynamix allows users to program in C++, Lua, Python, and other languages. Dynamix originally supported equations of motion and model controllers defined in C++ and Lua, and then Lua had to be used to write more scripts. As of mid-2018, Dynamix allows for additional sensors to be developed in C++. As of March, 2019, the team introduced introduced Python as a supported scripting language through the Dynamix command server. The command server can also be used to communicate between Dynamix and other programs as well!

C++ Reference

The core program of Dynamix is written in C++, and users can write their own system equations of motion and model controller in C++. Users can also build onto the platform by developing additional sensors and other functionality in C++ as well. Writing the equations of motion and model controller in C++ is the most efficient and provides for the highest performance in simulation.

Learn about using C++ in Dynamix.

Lua Reference

Lua was the first scripting language used with Dynamix. Defining controllers and scripts in Lua allows users to make changes and test sub-systems without re-compiling the entire model, saving a lot of time in development and testing. Dynamix's live console is also just a Lua interpreter with access to the built-in Dynamix functions.

Learn about using Lua in Dynamix.

Python Reference

Python is one of the most commonly used languages for development in the fields of robotics, machine learning, computer vision and artificial intelligence. Aptus (the creators of Dynamix) uses Python extensively for their robotics and AI work, and Python also has a ton of libraries for these tasks. Python support to Dynamix was added to allow users to run external Python scripts and interface with their model in Dynamix.

Learn about using Python in Dynamix.

Command Server

Python communicates with Dynamix using the command server. The command server is a protocol that runs over UDP allowing users to call a set of predefined functions over the network. The command server allows users to write their scripts or controllers in any programming language and interchange data and call certain functions with Dynamix. Full access to the property tree and graphical functions are available through the command server.

Learn about using the Dynamix Command Server in Dynamix.