How It Works
Drift runs as an interactive CLI agent on your local machine. When you type a prompt, the agent interprets your request, generates the necessary ROS2 packages, URDF/SDF files, and launch files, invokescolcon to build the workspace, and manages Gazebo processes — all without you touching a config file.
- You describe what you want in plain English at the
drift>prompt. - Drift plans the steps needed: workspace layout, robot description, world file, launch configuration.
- Drift executes — running builds, resolving errors automatically, and launching Gazebo.
- You iterate — add sensors, change configurations, debug issues by asking follow-up questions.
Why Drift?
Robotics simulation is powerful — but getting there is painful. A typical setup involves writing URDF files by hand, configuring Gazebo worlds from scratch, debugging launch files, and managing a tangle of ROS2 nodes — all before you’ve even started on the actual robot logic. Drift eliminates that friction. You stay focused on building robots. Drift handles everything else.Key Capabilities
Project scaffolding from a single prompt — Describe the robot you need and Drift generates the full project: URDF with correct inertia and collision geometry, ROS2 package structure, Gazebo plugins, controller configs, and launch files. Not templates — working, buildable code from a description. Full simulation stack management — Drift launches Gazebo, spawns your robot, opens RViz with the right config, and bridges all topics in one command. It tracks every background process, so you’re not juggling terminals or hunting for zombiegzserver instances. Auto-detects your Gazebo version (Classic, Harmonic, Ionic).
Debugging and live ROS2 inspection — Describe the symptom and Drift does the detective work: inspects running nodes, checks topic connections and QoS compatibility, validates URDF inertia tensors, and traces the command chain from publisher to controller to joint. For live inspection, it has access to 23 ROS2 tools — list nodes, echo topics, call services, get and set parameters — all through natural language.
Build error recovery — Drift reads colcon output, finds the root cause, and fixes it — whether that’s CMakeLists.txt, package.xml, setup.py, or a missing dependency. When you add a sensor, it updates the URDF, bridge config, and launch file together — changes stay consistent across files.
You stay in control — Every command is shown before it runs. Press ESC to pause mid-execution and step through one command at a time, or let Drift run the full task uninterrupted. Use drift -c for CI pipelines and scripted workflows.
Who is Drift for?
- Students — learn robotics concepts without getting stuck on ROS2 configuration
- Researchers — iterate faster on algorithms without simulation setup slowing you down
- Engineers — prototype and test production systems in a fraction of the time
- Hobbyists — bring robot ideas to life without needing deep ROS2 expertise
Current Status
Drift CLI is in closed beta (v1.0.12). It runs on Ubuntu 20.04+ with ROS2 and Gazebo Sim. Sign up for early access or get started with the Quickstart if you have access.Known Limitations
Because Drift is in closed beta, there are rough edges worth knowing about upfront:- Prompt sensitivity — Drift works best with clear, specific descriptions. Very short or ambiguous prompts (e.g., “make a robot”) may produce generic results. More detail yields better output.
- Complex multi-robot setups — Multi-robot coordination and shared worlds are experimental and may require manual adjustments.
- Custom Gazebo plugins — Third-party or custom Gazebo plugins may not be auto-configured correctly. You may need to reference them explicitly in your prompt.
- MoveIt integration — MoveIt2 motion planning is not currently managed by Drift. Drift creates the robot description and simulation, but MoveIt configuration must be set up separately.
- ARM architecture — Drift’s binary targets x86_64 (amd64). Apple Silicon (M1/M2/M3) users can run Drift via VMware Fusion using an x86_64 Ubuntu image. Raspberry Pi is not supported.
- Internet connectivity — Drift requires internet access to process prompts (the AI agent calls an external API). Your local files and simulation stay on your machine.
drift> prompt — the agent will attempt to diagnose and recover. For persistent problems, open an issue on GitHub.
