Note
This OS is in active development. APIs and features may change. Join our Discord for updates and support.
The Innate OS provides the runtime environment for Innate robots. Developers can create powerful spatial applications using mobility, manipulation, interaction, and planning.
It is designed on a few core principles:
- Lightweight: The Innate OS can run on resource-constrained hardware like the Jetson Orin Nano 8GB. It starts in an under a minute.
- Intuitive: Creating a program should be easy and not need to touch ROS at all. And the OS can be controlled via the Innate phone app.
- Powerful: The Innate OS can be quickly extended to perform long-range tasks with robots. It natively supports VLAs, VLNs, and agentic workflows.
See sim/launcher/README.md for the full ./innate sim workflow.
-
Simply SSH into your MARS and connect via the app like explained in the documentation.
-
Execute
innate buildto build your changes,innate restartto restart the ROS nodes, orinnate update applyto update it to the latest stable version.
The main ROS packages that make up the runtime. See scripts/launch_ros_in_tmux.sh for how they are wired together at startup.
- mars_control — top-level robot app node, rosbridge websocket server for the mobile/web app, and low-latency UDP receiver for leader-arm teleop.
- mars_bringup — hardware bringup for motors, base, IMU, and LiDAR, plus
robot_state_publisherfor the TF tree. - mars_arm — arm + head servo driver, MoveIt
move_group, and KDL-based IK solver. - mars_cam — stereo main camera, arm camera, VPI stereo depth estimator, WebRTC streamer, and stereo calibration action server.
- mars_nav — Nav2-based navigation, SLAM mapping, and the mode manager that switches between
mapfree/mapping/navigation. - brain_client — bridges the robot to the cloud brain (agent-v1.innate.bot): websocket client, skills action server, and the user input manager (STT/TTS).
- manipulation — records/replays manipulation demonstrations and runs either learned or scripted manipulation policies.
- innate_logger — uploads robot logs and telemetry to the Innate cloud.
- innate_training_node — collects training episodes and pushes them to the training cloud.
- innate_uninavid — Uninavid vision-language navigation client (talks to
nav-v1.innate.bot).