Skip to Content
Build a sceneAdd external axis

Add external axis

Create and configure an external axis for your robot by building a static base and moving carriage, applying necessary APIs and joints, and mounting your robot on top.

Configure the external axis position using one of two methods:

  1. ActionGraph-based, with position control via signal exchange with On BUS IO Change OGN or
  2. ArticulationRootAPI-based, with position control via dedicated virtual controller.

Final result:

Model the external axis in Isaac Sim

Build the external axis structure with a static base and moving carriage as shown in the stage tree below.

  1. In the World prim, create the Xform cell with the child external axis.
  2. Create the children Xforms base and carriage.
  3. Create one Cube mesh for each child Xform. Scale and position as you like.
  4. Add Rigid Body with Colliders Preset to base and carriage.
  5. Create a PrismaticJoint that connects base and carriage.
  6. Create a FixedJoint called root_joint with the Xform base as Body 0.
  7. Import a robot into the scene and place it onto the carriage.
  8. Start the simulation and test your setup at runtime.
stage tree for axis

Controlling the external axis

There are two approaches to control the external axis from NOVA. One is a more Isaac Sim native approach based on robot or bus signals on NOVA side and an Action Graph on Isaac Sim side. The other is more sophisticated, based on specific APIs and allows for a NOVA native control via virtual controllers.f

This approach aligns more closely with native Isaac Sim workflows but provides less convenience. The position of the external axis is set via a dedicated signal created in NOVA. The following configurations must be made in NOVA and Isaac Sim.

NOVA

  1. Create NOVA instance.
  2. Create robot virtual controller.
  3. Add a Bus signal with the following values:
    • IO ID: string, e.g., Some ID
    • Data type: REAL
    • Address: 800
    • Description: optional
profinet signal in NOVA

Isaac Sim

  1. Create the Action Graph as depicted on the right.
  2. The highlighted node controls the property drive:linear:physics:targetPosition of the external axis’ PrismaticJoint`.
  3. The other Write Prim Attribute node sets the robot’s property xformOp:translate to equal the carriage prim’s attribute of the external axis offset by 0.55m, because there is an offset in z direction with the Yaskawa_AR3120 base link.
  4. Configure the On Bus IO Change node to listen to the Bus signal, e.g., Some ID, you created earlier in NOVA.
action graph
Last updated on