Skip to main content

IsaacLocomotion

Inherits from: ZenohAgent Isaac Sim locomotion implementation backed by Zenoh. This class provides a minimal base locomotion interface using Zenoh velocity commands for Isaac Sim robots.

Inherited methods

  • From ZenohAgent: create_clients, getForce, getTorque, getImage, getPosition, getOrientation, sendVelocity, sendPose, publishMsg, getMsg, getJointAngles, setJointAngles, getJointVelocities, getJointStates, getObjectPose, setObjectPose, run, prompt, reset
  • From Robot: addSensor, cleanup

init

IsaacLocomotion.__init__(config = default_isaac_config, clients: Union[dict, None] = None)
Initialize an Isaac Sim locomotion interface.
Arguments
config (dict)
dict
Configuration dictionary containing Zenoh topics and settings. (default: default_isaac_config)
clients (Union[dict, None])
Union[dict, None]
Pre-created Zenoh clients to reuse instead of creating new ones. (default: None)

moveByVelocity

IsaacLocomotion.moveByVelocity(linear_velocity: Velocity, angular_velocity: Velocity, frame: str = 'body', name: str = 'cmd_vel')
Move the robot by specifying linear and angular velocities. Due to the nature of Isaac Sim, the robot will move in the direction/rotation of the velocity vectors, but exact movement may vary. Use odometry feedback with getPosition and/or getOrientation when you need precise distance or angle control.
Arguments
linear_velocity (Velocity)
Velocity
required
Linear velocity components.
angular_velocity (Velocity)
Velocity
required
Angular velocity components.
frame (str)
str
Reference frame for the velocity command. (default: “body”)
name (str)
str
Name of velocity command. (default: “cmd_vel”)

stop

IsaacLocomotion.stop(name: str = 'cmd_vel')
Stop the robot.
Arguments
name (str)
str
Name of velocity command. (default: “cmd_vel”)

getState

IsaacLocomotion.getState()
Get the current state of the robot.
Returns
dict
A dictionary containing the position and orientation of the robot.