Skip to content

Portable ROS Installation (Unofficial)

The portable environment is built on pixi and currently supports:

SubteamNon-Ubuntu24 LinuxMac
NavigationSupportedSupported
PerceptionMostly Supported*Mostly Supported**
LocalizationSupportedSupported
ESWSupportedMostly Supported***
TeleopSupportedSupported
DroneSupportedSupported

*Zed SDK is only available for Ubuntu

**CUDA is not available on Mac

***The main mrover-esw is supported on mac, but mrover-ros2 will not build the ESW module on mac

For Windows, please install Ubuntu 24 directly. WSL2 will NOT work.

For members with Snapdragon laptops, we recommend getting a loaner from the University here.

To clone our code repository from GitHub, you need to add SSH keys so that Github can authenticate you.

Github explains the SSH process here.

TL;DR:

  • complete the “Generating a new SSH key” section detailed here
  • run cat ~/.ssh/id_ed25519.pub, copy output
  • visit here
  • click New SSH key
  • paste output in

Run:

Terminal window
curl -fsSL https://raw.githubusercontent.com/umrover/mrover-ros2/skj/portable/bootstrap-portable.sh | bash

This clones the repo to ~/ros2_ws/src/mrover-ros2, installs relevant packages and libraries, then runs Ansible and sets up your environment using Pixi.

If you already have the repo cloned, skip bootstrap-portable.sh and run ./setup-portable.sh directly.

You’ll also need an SSH key set up with Github to clone. See Github’s guide if you haven’t done that yet.

Once it finishes, log out and back in (or reboot), open a new terminal, and run:

Terminal window
mrover
./build.sh

mrover jumps you into the repo and activates your environment, except here that environment is the pixi shell, not your system Python/ROS install.

Open a new terminal, run mrover, and run:

Terminal window
ros2 launch mrover simulator.launch.py

If the simulator launches, you have successfully set up the codebase and ROS environment.

Run the dev-portable playbook:

Terminal window
./ansible.sh dev-portable.yml