Skip to main content
Running Ubuntu natively on an x86_64 machine is the recommended setup for 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), or the integrated terminal in VS Code or Cursor without any additional setup.

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
Download the latest .deb package from the GitHub Releases page and install it with:
sudo dpkg -i drift-cli_1.0.15_amd64.deb
Then run drift to start.

Step 2: Launch Drift

Navigate to the directory where you want your project and start Drift:
cd your-project
drift
You’ll see the Drift welcome screen with an interactive prompt:
🚀 Welcome to Drift CLI

   Your Copilot for robotics simulations

drift>

Step 3: Set up ROS2 and Gazebo with Drift

Before creating your first simulation, make sure ROS2 and Gazebo are available:
ros2 --version
gazebo --version  # or `gz --version` depending on your install
If they are not installed on the system, ask Drift to install and configure both for you with a prompt:
install the latest version and configure ROS2 Humble and Gazebo Harmonic
Drift will inspect your environment, install the required packages, and configure your workspace.

Step 4: Build your first simulation

At the drift> prompt, describe what you want to build in plain English:
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 5: Launch the simulation

Once the build completes, launch everything:
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 6: Iterate and debug

This is where Drift shines. Keep building on what you have and each change triggers only the necessary rebuilds: For example:
  • add a lidar sensor to my robot and rebuild
  • why isn't my camera publishing images?
  • 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:
make a robot
Try:
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:
what topics are being published?
what does my current URDF look like?
/ps
This helps Drift make more targeted changes and avoids unnecessary rebuilds.
When something breaks, describe the symptom directly:
why isn't my camera publishing images?
what went wrong with the last build?
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?

Your First Simulation

A detailed walkthrough of building a complete simulation from scratch

Commands Reference

Full list of Drift CLI commands and slash commands

Getting help