Skip to main content

Before you begin

Make sure you have:
The steps below take under 5 minutes once the prerequisites above are in place. Installing ROS2 and Gazebo from scratch takes significantly longer — complete those first before continuing.
Running Ubuntu natively on an x86_64 machine is the recommended setup — you’ll get the best performance for Gazebo rendering and ROS2.Supported versions:
  • Ubuntu 20.04 (Focal)
  • Ubuntu 22.04 (Jammy) — recommended
  • Ubuntu 24.04 (Noble)
Use your system terminal (GNOME Terminal, Konsole, or any terminal emulator) — no additional setup needed.

Step 1: Install Drift CLI

Run the install script in your terminal:
curl -fsSL https://godrift.ai/install | bash
Once complete, restart your terminal or source your shell config:
source ~/.bashrc  # or ~/.zshrc
Verify the installation:
drift --help
You should see:
Get started with:
  drift --help        Show help
  drift init          Initialize project
  drift simulate      Start simulation
Download the latest .deb package from the GitHub Releases page and install it with:
sudo dpkg -i drift-cli_1.0.12_amd64.deb
Then run drift to start.

Step 2: Launch Drift

Navigate to the directory where you want your project and start Drift:
drift
You’ll see the Drift welcome screen with an interactive prompt:
🚀 Welcome to Drift CLI
   (Closed Beta)
   Your Copilot for robotics simulations

drift>

Step 3: Build your first simulation

At the drift> prompt, describe what you want to build in plain English:
drift> create a pick-and-place robot simulation
Drift plans and executes every step, printing progress as it goes:
✔ Planning simulation layout...
✔ Creating ROS2 workspace at ~/drift_ws
✔ Generating robot URDF (manipulator arm + gripper)
✔ Creating Gazebo world with table and pick objects
✔ Generating launch files
⟳ Building workspace with colcon...
✔ Build complete (0 errors)
✔ Launch files validated

Ready. Run: launch my robot with the world file
If a build step fails, Drift automatically diagnoses and retries before surfacing the error to you.

Step 4: Launch the simulation

Once the build completes, launch everything:
drift> launch my robot with the world file
Gazebo Sim will open in a new window. You should see a ground plane, a table, pick objects, and your robot arm. Back in the terminal, Drift confirms the running processes:
✔ Launched: robot_state_publisher
✔ Launched: gazebo (Harmonic)
✔ Launched: joint_state_broadcaster
All processes running. Use /ps to view details.

Step 5: Iterate and debug

This is where Drift shines. Keep building on what you have — each change triggers only the necessary rebuilds:
drift> add a lidar sensor to my robot and rebuild
drift> why isn't my camera publishing images?
drift> show me the running processes
You don’t have to start over. Just describe the next thing you want.

Pro tips for better results

Vague prompts produce generic results. Instead of:
drift> make a robot
Try:
drift> create a 6-DOF manipulator arm with a two-finger gripper, a table workspace, and a depth camera mounted on the wrist
The more detail you give about the robot type, sensors, environment, and task — the better the output.
Before modifying a simulation, ask Drift to inspect what’s already there:
drift> what topics are being published?
drift> what does my current URDF look like?
drift> /ps
This helps Drift make more targeted changes and avoids unnecessary rebuilds.
When something breaks, describe the symptom directly:
drift> why isn't my camera publishing images?
drift> what went wrong with the last build?
drift> my robot arm isn't moving — what's wrong?
Drift checks your ROS2 topics, logs, URDF config, and process state to give you a diagnosis.

Useful slash commands

CommandWhat it does
/helpShow all commands and examples
/psShow running background processes
/versionCheck your Drift CLI version
/updateUpdate to the latest version
/clearClear the terminal
/exitExit Drift CLI

What’s next?

Getting help