Skip to content

Install ROS on macOS

Ali Ryckman edited this page Sep 10, 2024 · 58 revisions

Overview

Although it is not officially supported, we have had success using RoboStack to provide ROS packages.

Steps

  1. Install homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install miniforge: brew install miniforge. Run conda init "$(basename "${SHELL}")". Restart your shell. Run mamba init zsh. Restart your shell again. Now you should see "base" in your prompt. We recommend adding mamba deactivate to the end of your .zshrc to preserve your Python environment previous to the install.
  3. Install Git LFS: brew install git-lfs. You should run git lfs install afterward.
  4. Run mkdir -p ~/ros2_ws/src and change directory to it with cd ~/ros2_ws/src
  5. Ensure you have your Git credentials set up. Clone the repository with: git clone [email protected]:umrover/mrover-ros2.git mrover
  6. Ensure you are in the mrover repository: cd ~/ros2_ws/src/mrover
  7. Create the virtual environment, activate it, and configure it (it is OK if the last command complains):
mamba create python=3.11 -n ros2_env
mamba activate ros2_env
conda config --env --add channels conda-forge
conda config --env --add channels robostack-staging
conda config --env --remove channels defaults
  1. Now you should see "ros2_env" somewhere in your prompt.
  2. Install needed packages:
mamba install ros-humble-rviz2 ros-humble-ros-base ros-humble-xacro colcon-common-extensions
mamba install clangxx ccache ninja cmake pkg-config opencv assimp bullet glfw boost
  1. Checkout macos branch containing build scripts: git checkout macos
  2. Update submodules: git submodule init && git submodule update
  3. Build dawn: CC=/usr/bin/clang CXX=/usr/bin/clang++ ./scripts/build_dawn.sh
  4. Install Python dependencies: pip3 install -e ".[dev]"
  5. cd ~/ros2_ws/src/mrover and do ./build.sh

Every time you open a shell, you need to run: mamba activate ros2_env && source ~/ros2_ws/install/setup.zsh

Optionally you can add the following line to the end of ~/.zshrc for a shortcut

alias mrover="cd ~/ros2_ws/src/mrover && mamba activate ros2_env && source ~/ros2_ws/install/setup.zsh"

After adding and restarting your shell once, you should now be able to run mrover from anywhere to navigate to the repository, activate the virtual environment and source the setup script.

Clone this wiki locally