Skip to content

IOES-Lab/ROS2_Jazzy_MacOS_Native_AppleSilicon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Install ROS-Gazebo(Jazzy-Harmonic) Framework natively on Apple Silicon Macbooks

Build on macOS

One-liner installation code (🍎 (Apple Silicon) + 🤖 = 🚀❤️🤩🎉🥳)

  • Copy and paste it on terminal

For full installation (ROS2 Jazzy and Gazebo Harmonic, in order)

  • May take upto 45 minutes depending on your system. (took about 30 minutes with M3 Max MBP)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/IOES-Lab/ROS2_Jazzy_MacOS_Native_AppleSilicon/main/install.sh)"

Introduction

This is the source code behind the one-line installation command to install ROS2 Jazzy and Gazebo Harmonic on Apple Silicon Macbooks.

Tested and designed on macOS Sonoma 14.5 with an Apple M3 chip (36 GB), it took about 15 minutes each to install ROS2 Jazzy and Gazebo Harmonic.

The reasons for installing ROS2 Jazzy natively on Apple Silicon Macbooks are:

  • Faster performance
    • To avoid using Rosetta 2 to emulate x86_64 architecture
  • Better compatibility
    • USB and other hardware drivers are not fully supported with Docker Desktop for Mac with HyperKit (for now)
    • To avoid any potential issues that may arise from using Rosetta 2

What it Does

ROS2 Jazzy Installation (install.sh)

  1. Checking System Requirements - Check XCode Installation - Check Brew Installation - Generate workspace for ROS2 Jazzy (default: ~/ros2_jazzy)
  2. Install Dependencies - Install dependencies with Brew - Set environment variables for Brew packages - Create a Python 3.11 virtual environment (default ~/.ros2_venv) - Install Python dependencies
  3. Download ROS2 Jazzy Source Code - Clone the ROS2 Jazzy source code
    • It's using release tag (default: release-jazzy-20240523) - Partial compile to generate structure
  4. Patch for macOS X Installation - Patch for cyclondds, orocos-kdl, rviz_ogre_vendor, rosbag2_transport - Ensure link with qt5 - Revert python_orocos_kdl_vendor back to 0.4.1 - Remove eclipse-cyclonedds
  5. Compile ROS2 Jazzy
  6. Post Installation - Generate a config file in the workspace - Make source script

Gazebo Harmonic Installation

  • Install the binary package provided by the OSRF with homebrew

Notes

For ROS_GZ

For MAVROS

For Docker + Remote Desktop approach

  • The native install may give you chance to exploit maximum performance of the apple hardware but the ROS-Gazebo framework and related dependencies may cause issues constantly.
  • It's often very useful to use Docker-powered methods.
  • Visit ROS2 Jazzy - Gazebo Humble Docker Installation Tutorial

References: (None of below worked for me, so I made this script)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages