Skip to content

simulo.Transform

Transform node for grouping and positioning objects.

A Transform creates a coordinate frame in the scene graph. Entities added to a Transform inherit its position/rotation offset.

This is used to position robots and other entities at specific locations in the scene.

Attributes:

  • translation — Position offset (x, y, z) in meters
  • rotation — Rotation as quaternion (w, x, y, z) - optional

Example:

import simulo
# Create transforms at different positions
t1 = simulo.Transform(translation=(2.75, 0, 0))
t2 = simulo.Transform(translation=(-2.75, 0, 0))
# Create robot with actuator
robot = simulo.Robot(asset=simulo.Asset.usd("builtin://pick_and_place"))
robot.add_actuator(gripper, attach_to="picker_head/SurfaceGripper")
# Add robot to each transform
t1.add(robot)
t2.add(robot)
# Add transforms to scene
scene.add(t1, at="/World/Origin1")
scene.add(t2, at="/World/Origin2")

Backend Mapping: IsaacLab: Maps to Xform prim with translation

simulo.Transform(
translation: Tuple[float, float, float] = (0.0, 0.0, 0.0),
rotation: Optional[Tuple[float, float, float, float]] = None,
)
Transform.add(entity: Any, at: str = '') -> Transform

Add an entity to this transform.

Args:

  • entity — Entity to add (Robot, primitive, etc.)
  • at — Relative path under this transform (e.g., “Robot”)

Returns:

Self for method chaining

Transform.children: List[Tuple[Any, str]]

property

Get list of (entity, relative_path) tuples.