Robostack 이용하면 애플실리콘 기반 맥에서도 ROS사용이 가능하다!
그런데 rosbridge-server 같은 패키지들이 osx-64로만 제공이 되어 직접빌드를 하여 설치해야 됐다. (이 방법이 익숙하다면 arm64 환경으로 하는것이 더 좋을 것 같다..!)
그런데 최근에 Rosetta를 이용한 해결법을 발견하여 공유하고자 한다😊
참고: https://velog.io/@parkjbdev/Rosetta-Conda-Env-세팅
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
https://github.com/RoboStack/ros-galactic
ros conda 환경에서 ls
할때 색깔이 안나왔는데, coreutils
가 설치되면서 시스템의 ls
보다 우선하여 실행되는듯하다. 나는 그냥 $CONDA_PREFIX/bin
에서 ls
파일을 지워버렸다. (coreutils
의 ls
와 맥의 ls
가 조금 다른면이 있지만 대부분의 상황에선 잘돌아갈것으로 생각한다)