The ArmarX Simulator package provides a reference implementation of the simulator interfaces based on Simox and the Bullet physics engine and a decoupled viewer that is capable of showing the simulated scene in a network transparent way.

Structure of the ArmarX Simulator package

The package provides a set of read-to-use components and units allowing to mimic a real robot through the hardware abstaction layer (HAL). Through this abstraction layer, all robot programes (i.e. statecharts), gui plugins and other components are not aware of the simulated environment. Hence, the communication is realized through the identical interfaces which are implemented in both setups: on real hardware and in a simulated environment.

As shown below, the simulator can be dynamically configured with an environment, robots, and objects.

An exemplary screenshot of the ArmarX physics simulation

Pick'N'Place in Simulator

In this video, you can see Armar3 in a physics simulation pick up an object from a table, move to another table and place it there. On the left, you can see the ArmarXGui with the StatechartEditor, the SimulatorControl and the KinematicUnit Gui. On the right, you can see the Simulator Viewer.

Start the simulator

To start the simulation, you have to start the simulator (see armarx::SimulatorApp) and optionally a viewer that shows the current content of the simulation (see armarx::SimulatorViewerApp). An exemplary setup of the simulator can be found at the Armar3Simulation scenario.

Configuring the ArmarX Simulator

The simulation environment can be configured as shown here: How to setup the simulated environment