# Ros2 on MacOS AArch64(arm64) Note `update date: 2024/07/21` ## Environment - Mac: MacAir2020(M1) - MacOS versoin: Sonoma 14.5 - python: 3.11 with conda virtual environment ## References 1. [RoboStack](https://robostack.github.io/GettingStarted.html#__tabbed_4_1) 2. [Current support packages list for ros-humble](https://robostack.github.io/humble.html) 3. [Video explain](https://youtu.be/GEgVpdZj3tY?si=oP8kyd2wyUfK1f9A) ## Steps 1. [Install brew](https://brew.sh/zh-tw/) ```shell= /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. [Install conda/miniconda](https://docs.anaconda.com/miniconda/#quick-command-line-install) ```shell= mkdir -p ~/miniconda3 curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh #zsh user ~/miniconda3/bin/conda init zsh #bash user ~/miniconda3/bin/conda init bash ``` 3. Create virtual python environment of python ```shell= conda create -n ros_env python=3.11 conda activate ros_env # this adds the conda-forge channel to the new created environment configuration conda config --env --add channels conda-forge # and the robostack channel conda config --env --add channels robostack-staging # remove the defaults channel just in case, this might return an error if it is not in the list which is ok conda config --env --remove channels defaults ``` 4. Download ROS/ROS2 ```shell= # Install ros-noetic into the environment (ROS1) conda install ros-noetic-desktop # Install ros-humble into the environment (ROS2) conda install ros-humble-desktop ``` > reactivate ```shell= conda deactivate conda activate ros_env ``` 5. Test ```shell= # ros2 rviz2 # open rviz2 ros2 run turtlesim turtlesim_node ```