MobilityInterface gives you direct control over the robot base—rotation, velocity commands, and movement. Use it for custom navigation behaviors that complement the built-in navigation.
Core Navigation (Built-in)
The robot comes with built-in navigation that the agent calls innately. You don’t need to implement this—it works out of the box. Do not modify the corenavigate_to_position skill. It’s a system-level skill that the agent uses automatically. Modifying it could break navigation behavior.
When you tell the robot “go to the kitchen,” the agent automatically:
- Translates “kitchen” to map coordinates (if the location is saved)
- Calls the built-in navigation skill
- Monitors progress and handles obstacles
MobilityInterface
Declare the interface at class level:Methods
| Method | Parameters | Description |
|---|---|---|
| rotate() | angle_radians: float | Rotate in place (blocking, uses Nav2). |
| send_cmd_vel() | linear_x: floatangular_z: floatduration: float | Publish velocity commands (non-blocking). |
| rotate_in_place() | angular_speed: floatduration: float | Rotate at a fixed angular speed for a set duration. |
Examples
When to Use
| Scenario | Recommendation |
|---|---|
| Go to a saved location | Use built-in behavior (agent handles it). |
| Survey surroundings | Create a custom skill with rotate(). |
| Follow a person | Create a custom skill with send_cmd_vel(). |
| Fine positioning for manipulation | Create a custom skill. |
| Patrol a route | Create a custom skill. |

