Skip to content

2. Install ROS

Ashwin Gupta edited this page May 17, 2022 · 92 revisions

Operating Systems and Requirements

We highly recommend running Ubuntu 20.04 LTS natively. This will be by far the smoothest experience. There are many tutorials on dual booting out there if you are not comfortable with daily driving Linux. You will likely need 20-30 GB of space for your Linux partition.

Please note that we will only officially support Ubuntu 20.04 LTS running natively. All other options are not as thoroughly tested and we cannot provide the same level of support if you run into any issue. However, here are some other options you can try to explore:

  1. Ubuntu 20.04 LTS in a VM (Makes things like USB and GPU access difficult)
  2. Other Linux distro of choice with an Ubuntu Docker container
  3. Natively setup ROS on some other distro by compiling all packages from sources (some of our members have been successful in doing this for Arch)
  4. Older Mac with Docker container
  5. M1 Mac Virtualized Docker container
  6. WSL on Windows 11

Some other things to know:

  • The new M1 Macs use an ARM architecture which means that they are extremely incompatible lots of things. We have not been successful at getting everything running correctly on M1 Macs despite much effort
  • WSL on Windows 10 is missing a lot of features and has proven to be much more trouble than its worth. WSL on Win11 still leaves a lot to be desired and does have strange issues from time to time, but seems to be much better. WSL is by far the worst option listed though in any case.

Install ROS through Docker [Recommended]

Install ROS Manually

Add ROS to package repositories and download dependencies.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-noetic-desktop-full python3-catkin-tools ros-noetic-hector-gazebo ros-noetic-teleop-twist-keyboard

Setup MRover codebase

Clone this wiki locally