> ## Documentation Index
> Fetch the complete documentation index at: https://docs.generalrobotics.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

GRID provides support for multiple input devices and output commands, enabling teleoperation for a variety of robot form factors, as listed below:

| Input Device                | Output Format                   | Command Specification                |
| --------------------------- | ------------------------------- | ------------------------------------ |
| Keyboard                    | SE(2)                           | Linear x-y velocity, yaw rate        |
| Keyboard                    | SE(3)                           | Change in 6D Pose (x, y, z, r, p, y) |
| VR Device: Apple Vision Pro | SE(3), 27 \* SE(3), 27 \* SE(3) | Head, Hand Poses                     |

GRID also supports the hybrid configurations of output formats and command specifications to control complex robot form factors, as listed below:

| Input Device | Output Format | Command Specification                                               |
| ------------ | ------------- | ------------------------------------------------------------------- |
| Keyboard     | SE(2) + SE(3) | Linear x-y velocity, yaw rate, Change in 6D pose (x, y, z, r, p, y) |
| Keyboard     | SE(3) + SE(3) | Two vectors each with change in 6D pose (x, y, z, r, p, y)          |

### Sample Configuration:

1. To use a keyboard device with SE(3) output format commanding change in 6D Pose (x, y, z, r, p, y), describe the agent in `agent_cfg.yaml` config as follows:

```yaml theme={null}
agent_cfg:
    - teleop:
        type: "SE3"
        device: "Keyboard"
        sensitivity: 1.0
```

2. To use a VR device, describe the agent as follows:

```yaml theme={null}
agent_cfg:
    - teleop:
        type: "VR"
        device: "AVP"
        ip: 192.168.254.206
```

3. To use a hybrid configuration, describe the agent as follows:

```yaml theme={null}
agent_cfg:
    - teleop:
        type: "SE3_SE3"
        device: "DualKeyboard"
        sensitivity: 1.0
```
