Skip to main content
How to create agent apps for Innate robots using the SDK — or ROS2 directly.

Core concepts

Innate software system diagram

An agentic OS

Innate robots run an agentic OS built on top of ROS2. It is powered by the Innate agent — our cloud-hosted AI that watches what the robot sees, reasons about what to do, and triggers skills to do it (more on it below). You write agents and skills in plain Python; the OS handles the classic robotics stack underneath (unless you want to go down there — see ROS2 Core).

Agents

The central concept of the Innate OS is the agent, which is our name for a physical app for robots. An agent is defined by a system prompt and a set of skills it can use. A complete agent fits in one short Python file: subclass Agent, give it an id and a display name, list its skills, and write its prompt. Drop the file on the robot and it loads automatically — no registration step.

Anatomy of an Agent

The full structure, a complete working example, and a copy-paste template.

Skills

Skills are the second core concept of the Innate OS. A skill can be defined with code, a model checkpoint (such as a VLA — a vision-language-action model trained from demonstrations) or other specific interfaces we define for you. Adding a skill to an agent is like giving additional capabilities to your robot. Similarly to agentic frameworks, skills can be thought of as tool calls, with extra sauce. Skills can be interrupted by the robot during execution if required, and they send live feedback into the running agent’s context. See how to create skills in Skills

The Innate agent

The Innate agent is the embodied AI agent that controls MARS. It runs your agents and their skills, and gives MARS the ability to reason, memorize, plan and make decisions as it runs. Understand more how the Innate agent runs in The Innate Agent

ROS2 core

Our OS runs at the core on ROS2 and can be augmented at that level by roboticists that understand it. See ROS2 Core for more information on nodes, topics, and services available.