World Objects

ARMOR 3D view showing three world object primitives — a cylinder, a box, and a sphere — placed on the grid ground plane in the MuJoCo robot simulation scene

World objects are obstacles and props you place in the simulation scene alongside your robot. ARMOR supports three primitive shapes — box, sphere, and cylinder — each of which is fully simulated in MuJoCo and rendered in the 3D view.

Adding an Object

Open the World editor and tap Add Object, then choose a shape. You can add as many objects as you need; each one appears in both the 3D view and the MuJoCo simulation.

Object Properties

Each object has its own set of configurable properties:

Property Description
Shape Box, sphere, or cylinder.
Pose Position (X, Y, Z) and orientation in the world frame.
Dimensions Size of the shape (half-extents for box, radius/height for sphere and cylinder).
Body type Static (welded) or dynamic (free body).
Friction Surface friction coefficient for contact with the robot or other objects.
Mass Mass in kg, used when the object is dynamic.

Static vs Dynamic Objects

Static (welded) objects are fixed in place — they act as immovable walls, platforms, or terrain features. The robot collides with them but cannot push them.

Dynamic objects are free bodies subject to gravity and contact forces. They fall onto the ground plane, slide when pushed, and react to the robot’s motion. Tapping Reset returns every dynamic object to its starting pose.

Note: World-object physics applies to primitive shapes only (box, sphere, cylinder). Mesh-based obstacles are not currently supported in the physics simulation.

Simulation Behaviour

Objects are included in the compiled MuJoCo model — they collide with the robot’s geoms and with each other. The same object definitions are embedded in the exported MJCF, so a scene you design in the app replicates exactly on the desktop.

Visual Appearance

Each object is rendered in the 3D view with a material that distinguishes it from the robot. The ground plane and objects together give a full spatial context for understanding the robot’s environment.

Next Steps