Tutorials: OpenPLX with AGX Dynamics
Learn to use OpenPLX together with AGX Dynamics through step-by step tutorials. Follow the instructions to get familiar with basic OpenPLX concepts and learn from the Heavy Machine Bundle tutorial how to build domain-specific bundles.
Note: You will require an AGX Dynamics installation with an active license to run the simulations. Contact Algoryx for a free Trial.
All tutorials are available as part of your AGX Dynamics installation. The direct links to open the tutorials only work on Microsoft Windows.
Each tutorial includes a Python script that loads a OpenPLX model into an AGX simulation. The agxViewer runtime starts in a paused state — press ‘E’ to run the simulation.
Introduction to OpenPLX: Boxtruck
This tutorial will guide you through setting up a basic simulation using OpenPLX. The goal is to introduce some of the core concepts of OpenPLX by building a very simple model of a truck.
Concepts
- Initialize an OpenPLX scene and define a physics system
- Create and configure rigid bodies with specific geometries
- Connect components with constraints
- Set up collision properties and friction materials
- Attach visuals (obj-files and textures) to your models.
- Basic signals: Control your machine using a Python script and keyboard inputs.
Boxtruck Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Drive forwards |
| ↓ (Down Arrow) | Drive backwards |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t01-boxtruck/
Introduction to Automatic Assembly
This tutorial demonstrates how to use OpenPLX’s SNAP functionality for automatic component assembly. Using MateConnectors, OpenPLX can automatically align and position mechanical components, making model assembly efficient and modular.
Concepts
- SNAP and its role in automatic assembly.
- Use MateConnectors to align components.
- Configure hinges and cylindrical constraints for mechanical systems.
- Debug SNAP assembly ambiguities.
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t02-Introduction-to-automatic-assembly/
Bulldozer
This tutorial will show you how to attach Tracks, a Drivetrain and a Terrain-interacting Shovel to an imported AGX model. .
Concepts
- Work with a preexisting AGX model
- Generate tracks from sprockets and rollers
- Define and attach a simple Drivetrain
- Setup Shovels and a Deformable terrain
Bulldozer Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Drive forward using the drivetrain |
| ↓ (Down Arrow) | Drive backward using the drivetrain |
| PG UP (Page Up) | Move the shovel up |
| PG DOWN (Page Down) | Move the shovel down |
| HOME | Tilt the shovel forward |
| END | Tilt the shovel backward |
| ← (Left Arrow) | Move the rippers up |
| → (Right Arrow) | Move the rippers down |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t03-bulldozer/
Build a Heavy Machine Bundle
This is an advanced tutorial for user who want to design custom domain bundles. New users are recommended to skip ahead to the next tutorial that uses the heavy vehicle bundle designed in this tutorial.
Required licenses: AGXCore
Learn how to build your own bundle that can be resued to build different types of machines. This tutorial walks you through building a Crane template that can quickly be configured into a TBoom Crane, excavator arm, or similar.
Concepts
- Create a bundle using a config.openplx file.
- Learn good practise for organising files in larger projects
- Reuse models for different configurations
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t04-heavy-machine-bundle/
Excavator Arm - Use the Heavy Machine Bundle
Learn how to use the `heavy_machine_bundle` to design an excavator. This tutorial will guide you through building an excavator arm with modular and reusable components. You will learn how to extend an existing bundle and configure it to work with different machine setups.
Concepts
- Reference a local OpenPLX bundle.
- Reuse models with a domain-specific format.
- Importe specific rigid bodies from `.agx` files.
- Component-based modeling with `becomes` keyword.
Excavator Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Move the boom up |
| ↓ (Down Arrow) | Move the boom down |
| → (Right Arrow) | Rotate the excavator swing to the right |
| ← (Left Arrow) | Rotate the excavator swing to the left |
| A | Extend the stick |
| S | Retract the stick |
| , (Comma Key) | Open the bucket |
| . (Period Key) | Close the bucket |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t05-excavator/
URDF Robot - Import and extend a robot described in a .urdf file
Learn how to import a .urdf file, extend it with OpenPLX features, and set up a controller that moves the end effector along a path using inverse kinematics and PID controllers that output torque for the motors.
Concepts
- Import a .urdf file.
- Working with robots in OpenPLX.
- Extending an imported model with a drive train.
- Build a controller using inverse kinematics and PID controllers
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t06-urdf-robot/
Signal interface - create model with a signal interface
This tutorial will show you the basics of setting up a signal interface in OpenPLX, and how to use it to send and receive signals in Python.
Boxtruck Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Drive forwards |
| ↓ (Down Arrow) | Drive backwards |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t07-signal-interface/
Lidar autobrake - setup a lidar in OpenPLX
This tutorial will show you how to setup a lidar in OpenPLX and use it in Python to setup an autobrake system.
Boxtruck Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Drive forwards |
| ↓ (Down Arrow) | Drive backwards |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t08-lidar-autobrake/
Wheeled Vehicle
This tutorial will show you how to attach wheels with a wheel model and add suspension and steering. This tutorial also shows how to use a vehicle interface to create a four wheeled vehicle with front wheel drive.
Concepts
- Use wheel model for wheels
- Use suspension and steering
- Using vehicle interface for front wheel drive
Vehicle Controls
| Key | Action |
|---|---|
| ↑ (Up Arrow) | Drive forward |
| ↓ (Down Arrow) | Drive backward |
| ← (Left Arrow) | Steer left |
| → (Right Arrow) | Steer right |
Not on Windows? In your AGX Dynamics installation, navigate to data/openplx/tutorials/t09-wheeled-vehicle/