> ## Documentation Index
> Fetch the complete documentation index at: https://scaledfoundations-rebrand.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Isaac Arm

## IsaacArm

Inherits from: [RosAgent](/robot-api/grid/comm/ros/agent#rosagent)

### IsaacArm

```python
IsaacArm(config, clients: Union[dict, None])
```

Initialize an IsaacArm robot instance.

<ResponseField name="Arguments">
  <ParamField query="config (dict), optional" type="">
    Configuration dictionary containing ROS topics and settings.
    Defaults to default\_isaac\_config.
  </ParamField>

  <ParamField query="clients (dict), optional" type="">
    Dictionary of ROS clients. If provided, uses these clients
    instead of creating new ones. Defaults to None.
  </ParamField>
</ResponseField>

### moveByVelocity

```python
IsaacArm.moveByVelocity(linear_velocity: Velocity, angular_velocity: Velocity, duration: Union[float, None], name: str)
```

Move robot by specifying linear and angular velocities.

<ResponseField name="Arguments">
  <ParamField query="linear_velocity (Velocity)" type="" required>
    [Velocity](/robot-api/grid/utils/types#velocity)

    Linear velocity components
  </ParamField>

  <ParamField query="angular_velocity (Velocity)" type="" required>
    [Velocity](/robot-api/grid/utils/types#velocity)

    Angular velocity components
  </ParamField>

  <ParamField query="duration (float|None), optional" type="">
    defaults to None.
    Duration of movement in seconds. Defaults to None.
  </ParamField>

  <ParamField query="name (str), optional" type="">
    defaults to "cmd\_vel".
    Topic name for velocity commands. Defaults to "cmd\_vel".
  </ParamField>
</ResponseField>

### moveToPose

```python
IsaacArm.moveToPose(position: Position, orientation: Orientation, relative: bool, blocking: bool, moving_time: float, accel_time: float, relative_offset: list, name: Union[str, None])
```

<Warning> This currently is not implemented. Please use `moveToDeltaPose` instead. </Warning>

### moveToDeltaPose

```python
IsaacArm.moveToDeltaPose(position: Position, orientation: Orientation, name: Union[str, None])
```

Move the robot to a specified pose.

<ResponseField name="Arguments">
  <ParamField query="position (Position)" type="" required>
    [Position](/robot-api/grid/utils/types#position)

    Desired position of the robot
  </ParamField>

  <ParamField query="orientation (Orientation)" type="" required>
    [Orientation](/robot-api/grid/utils/types#orientation)

    Desired orientation of the robot
  </ParamField>

  <ParamField query="name (str), optional" type="">
    defaults to "cmd\_delta\_pose".
    Name of pose command. Defaults to "cmd\_delta\_pose".
  </ParamField>
</ResponseField>

### getPosition

```python
IsaacArm.getPosition(name: Union[str, None])
```

Get the current position of the robot.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    defaults to "robot\_pose".
    Name of the pose client. Defaults to "robot\_pose".
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  [Position](/robot-api/grid/utils/types#position)

  Current position of the robot
</ResponseField>

### getOrientation

```python
IsaacArm.getOrientation(name: Union[str, None])
```

Get the current orientation of the robot.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    defaults to "robot\_pose".
    Name of the pose client. Defaults to "robot\_pose".
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  [Orientation](/robot-api/grid/utils/types#orientation)

  Current orientation of the robot
</ResponseField>

### grasp

```python
IsaacArm.grasp(name: Union[str, None])
```

Grasp with the end effector.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    defaults to "gripper\_cmd".
    Name of the gripper client. Defaults to "gripper\_cmd".
  </ParamField>
</ResponseField>

### release

```python
IsaacArm.release(name: Union[str, None])
```

Release with the end effector.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    defaults to "gripper\_cmd".
    Name of the gripper client. Defaults to "gripper\_cmd".
  </ParamField>
</ResponseField>

### getImage *(inherited)*

```python
IsaacArm.getImage(name: str, image_type: str)
```

Get image from named image client.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    Name of image client
  </ParamField>

  <ParamField query="image_type (str), optional" type="">
    Unused
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  [Image](/robot-api/grid/utils/types#image)

  Image object
</ResponseField>

### getPosition *(inherited)*

```python
IsaacLocomotion.getPosition(name: str)
```

Get position from named pose client.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    Name of pose client
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  Position | list: Position object or raw position data
</ResponseField>

### getOrientation *(inherited)*

```python
IsaacLocomotion.getOrientation(name: str)
```

Get orientation from named pose client.

<ResponseField name="Arguments">
  <ParamField query="name (str), optional" type="">
    Name of pose client
  </ParamField>
</ResponseField>

<ResponseField name="Returns">
  [Orientation](/robot-api/grid/utils/types#orientation)

  Orientation of agent as a quaternion
</ResponseField>

### run *(inherited)*

```python
IsaacArm.run()
```

Run all ROS clients
