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

# Capabilities

Core autonomous behavior on MARS is split across navigation, manipulation, and interaction.

## Navigation

MARS supports multiple navigation modes through the Innate Controller App.

<CardGroup cols={3}>
  <Card title="Navigation">
    Uses a pre-built map and LiDAR localization so MARS knows where it is and can place memories spatially.
  </Card>

  <Card title="Mapfree">
    Avoids obstacles using onboard sensing only, without pre-built map localization or mapping.
  </Card>

  <Card title="Mapping">
    Dedicated mode to create and save a new map for later navigation.
  </Card>
</CardGroup>

### Navigation mode

Navigation mode runs on a saved map and localizes with LiDAR. It is the mode to use when you want reliable repeatable paths and spatial memory tied to places in the environment.

### Mapfree mode

Mapfree mode uses the local costmap from onboard sensors and does not require a pre-built map. It is best for fast deployment in new environments, dynamic spaces, simple point-to-point tasks, and outdoor scenarios.

### Mapping mode

<Note>
  You don't need this on day one: if no map exists yet, MARS starts mapping automatically the first time you connect. Use the manual flow below when you want to create a fresh map — say, after moving the robot to a new space.
</Note>

<Steps>
  <Step title="Open the Innate Controller App">
    Start from the app home screen.
  </Step>

  <Step title="Go to Configuration -> Mapping">
    Open the mapping configuration screen.
  </Step>

  <Step title="Select Create New Map">
    Start a fresh map for the current environment.
  </Step>

  <Step title="Drive through the environment">
    Move MARS across rooms, transitions, and key landmarks.
  </Step>

  <Step title="Save the map">
    Save once coverage looks complete.
  </Step>
</Steps>

During mapping, keep the arm in a safe resting position, drive slowly for cleaner map quality, and cover corners and doorways.

### For developers

Navigation mode is published on `/nav/current_mode` with values `mapfree`, `mapping`, and `navigation`.

<CardGroup cols={3}>
  <Card title="ROS2 Topics" href="/software/ros2/topics">
    Live streams including `/nav/current_mode`, LiDAR, and state telemetry.
  </Card>

  <Card title="ROS2 Services" href="/software/ros2/services">
    Request/response interfaces for mode and map operations.
  </Card>

  <Card title="ROS2 Actions" href="/software/ros2/actions">
    Long-running goals with feedback and cancellation.
  </Card>
</CardGroup>

## Manipulation

MARS supports two manipulation methods:

1. Standard CV + code-defined skills: use explicit logic and perception pipelines for deterministic task behavior.
2. End-to-end AI policies: train manipulation skills from demonstrations and deploy the trained policy on robot.

<CardGroup cols={2}>
  <Card title="Code + CV Manipulation" href="/software/skills/code-defined-skills">
    Build manipulation behaviors with code-defined skills and robot interfaces.
  </Card>

  <Card title="End-to-End AI Manipulation" href="/training/overview">
    Use foundation models for mobile manipulation with MARS.
  </Card>
</CardGroup>

## Interaction

MARS can interact through movement, listening, and speaking.

<CardGroup cols={3}>
  <Card title="Head Movement" href="/software/skills/code-defined-skills/body-control-interfaces">
    Move and orient the head for active sensing and expressive behavior.
  </Card>

  <Card title="Listening" href="/software/inputs">
    Receive voice and audio context through onboard sensing and input channels.
  </Card>

  <Card title="Speaking" href="/software/agent">
    Speak responses and status naturally while the Innate agent is running.
  </Card>
</CardGroup>
