Robostack 이용하면 애플실리콘 기반 맥에서도 ROS사용이 가능하다! 그런데 rosbridge-server 같은 패키지들이 osx-64로만 제공이 되어 직접빌드를 하여 설치해야 됐다. (이 방법이 익숙하다면 arm64 환경으로 하는것이 더 좋을 것 같다..!) 그런데 최근에 Rosetta를 이용한 해결법을 발견하여 공유하고자 한다😊

참고: https://velog.io/@parkjbdev/Rosetta-Conda-Env-세팅

ROS1 (Noetic)

https://github.com/RoboStack/ros-noetic

# if you don't have mamba yet, install it first in the base environment (not needed when using mambaforge):
conda install mamba -c conda-forge
 
# Create ros1 conda environment on osx-64
CONDA_SUBDIR=osx-64 conda create -n ros1 python=3.9
 
# 확인 & 환경변수 세팅
python -c "import platform;print(platform.machine())"
conda env config vars set CONDA_SUBDIR=osx-64
 
# Re-Activate Conda Environment
conda deactivate ros1
conda activate ros1
 
# Check if config var is setted
echo "CONDA_SUBDIR: $CONDA_SUBDIR"
 
mamba install ros-noetic-desktop-full -c robostack -c robostack-experimental -c conda-forge --no-channel-priority --override-channels
 
# optionally, install some compiler packages if you want to e.g. build packages in a catkin_ws:
mamba install compilers cmake pkg-config make ninja
 
# on linux and osx (but not Windows) you might want to:
mamba install catkin_tools
 
conda deactivate
conda activate robostackenv
 
# if you want to use rosdep, also do:
mamba install rosdep
rosdep init  # note: do not use sudo!
rosdep update

필요한 패키지들이 있다면 여기서 검색해보자 (ex. ros-noetic-rosbridge-server) https://anaconda.org/search?q=rosbridge

ROS2 (Galactic)

https://github.com/RoboStack/ros-galactic

사소한 팁

ros conda 환경에서 ls 할때 색깔이 안나왔는데, coreutils가 설치되면서 시스템의 ls보다 우선하여 실행되는듯하다. 나는 그냥 $CONDA_PREFIX/bin에서 ls파일을 지워버렸다. (coreutilsls와 맥의 ls가 조금 다른면이 있지만 대부분의 상황에선 잘돌아갈것으로 생각한다)