Robot/Robot Program - ROS

Mac에서 ROS2 humble 설치 및 원격 설정

PinkWink 2024. 10. 24. 08:00

아마도 ROS2를 사용하시는 분들이 가장 많이 사용하는 OS는 Ubuntu일겁니다. 제가 블로그에서 humble 설치를 아래의 글에서 이야기를 했었습니다. 이 글에서 ROS_DOMAIN_ID를 설정하는 이야기도 함께 했었습니다.

https://pinkwink.kr/1435

 

ROS2 humble을 설치하고 공부하는데 필요한 설정

저는 ROS2를 교육할 기회가 많았는데요. 그때마다 설정이나 설치 문제로 항상 많은 시간을 보내게 됩니다. 그걸 조금이라도 줄일려고 영상으로 그 과정을 만들었는데요. 이번에는 이 영상을 공유

pinkwink.kr

또 한 번은 아래 링크에서 라즈베리파이5에서 우분투 24.04를 설치하고 ssh를 설정하는 이야기도 했었습니다.

https://pinkwink.kr/1490

 

Raspberry Pi 5에 Ubuntu 24.04 설치하고 ssh 서버 설정하기

최근 저는 라즈베리파이5 보드를 가지고 여러 작업을 해보고 있는데요. 그 중 하나가 저희가 출시하는 교육 컨텐츠의 교보재 역할을 하는 로봇인 Pinky의 라인업 중에서 Blue 모델이 또 라즈베리파

pinkwink.kr

제 블로그의 여러 글에서 언급하지만, 저의 주 PC는 맥(mac)입니다. 그것도 최신이니 흔히 이야기하는 m1, m2, m3 등 실리콘맥입니다. 저는 Ubuntu를 설치한 ROS2 개발용, 혹은 딥러닝 개발용 PC에 ssh로 접근해서 개발하는 것을 아주 선호합니다. 아래 링크에서 맥에서 우분투로 ssh를 이용해서 접근하는 방법을 정리한 적도 있습니다.

https://pinkwink.kr/1488

 

맥 M1/M2/M3 에서 python 아나콘다 설치하고, VSCode에서 환경 설정

아주 예전에 저는 맥이나 윈도우에서 Python 환경 설정이나, 아나콘다(anaconda) 설정에 대한 이야기를 많이 했었는데요. 요즘은 그런 이야기를 잘 하지 않는것은, 설명을 훨~씬 잘 해주시는 분들도

pinkwink.kr

오늘 이야기할 내용은 위 그림에 요약해 두었습니다. 일단, 저는 보통 Cursor나 VSCode에 SSH를 설정해서 원격지의 Ubuntu PC의 ROS2나 딥러닝 개발을 합니다. 이게 참 편하거든요. 그리고 원격 PC는 상황에 따라 raspberry pi일 때도 있고, 작은 mini pc일 수도 있고, 또 성능이 좋은 데스크탑일 수도 있습니다. 그런데, 한가지 문제가 있습니다. ROS2의 rviz2나 rqt등을 실행해보려면 불편해지거든요. 그것때문에 원격 데스크탑인 any desk같은 걸 설치하는 것도 좀 불편하구요. 그렇다고, 모니터 키보드 마우스를 그것 때문에 별도로 또 들고 다니는 것도 불편하죠.

그래서 제가 사용하는 방법은 ssh와 함께, 맥에도 ros2를 설치하는 겁니다. 응? 뭐냐 그러면 그냥 원격 pc가 필요없는?이라고 생각하실 수 있지만, 아직 맥에서 ROS2를 완전히 사용하는건 조금 불편합니다. 그리고, 로봇에 설치되는 PC는 우분투가 더 편하기도 하구요. 아무튼, 딱 모니터링용 아까 이야기했듯이 rviz2와 rqt를 사용하는 용도로만 ROS2를 맥에 설치하는 거죠^^. 그리고 원격 PC와 나의 맥은 ros_domain_id로 연결해주면 됩니다. 이 시점에 ros_domain_id 관련해서 정보가 필요하시면 아래 유투브 영상을 한 번 보시기 바랍니다.

https://www.youtube.com/watch?v=fmyC7MenEBs&list=PL0xYz_4oqpvhj4JaPSTeGI2k5GQEE36oi&index=12

그래서 이번에는 간단히 mac에서 ROS2를 설치하는 과정을 살짝 이야기해보려고 합니다.

https://pinkwink.kr/1488

 

맥 M1/M2/M3 에서 python 아나콘다 설치하고, VSCode에서 환경 설정

아주 예전에 저는 맥이나 윈도우에서 Python 환경 설정이나, 아나콘다(anaconda) 설정에 대한 이야기를 많이 했었는데요. 요즘은 그런 이야기를 잘 하지 않는것은, 설명을 훨~씬 잘 해주시는 분들도

pinkwink.kr

 

일단, 위 링크에서 맥 유저들은 맥에 아나콘다를 설치하시구요~

그리고 conda에서 mamba를 설치합니다.

그리고 conda 환경을 저는 이름을 ros2라고 지어서 만듭니다. 위 그림에서 ros2는 꼭 지켜야할 이름은 아닙니다~

그리고 나서 ros2로 잡은 conda 환경을 활성화 합니다.

Conda의 ros2 환경에 진입한 상태에서, 꼭~ conda activate ros2 명령으로 ros2 환경이 꼭 활성화되어야 합니다. 그리고 채널에서 ros2 관련 pkg를 관리해주는 robostack-staging과 conda-forge를 채널에 포함시키고, 기본인 defaults 채널은 제거합니다. 여기서 꼭 다시 이야기하는데, 아래의 세 명령은 모두 ros2라는 conda 환경이 활성화 된 상태에서 해야합니다.

conda config --env --add channels conda-forge
conda config --env --add channels robostack-staging
conda config --env --remove channels defaults

그리고 나서 콘다 명령으로 ros-humble-desktop을 설치합니다. 응? 넵. 이게 끝입니다.^^

그리고 나서 환경을 비활성화하고, 다시 활성화합니다.

이제 시험삼아, rviz2를 실행해봅니다~ 와우~ 잘되네요 ^^ 

다시 테스트삼아 ROS_DOMAIN_ID를 13으로 한 후에 맥에서 turtlesim_node를 실행했습니다. 맥에서 거북이를 보니 기분이 좋네요^^

이제 ssh로 접근한 ubuntu에서 ros domain id를 맞추고 토픽 리스트를 보면 잘 연결되는 것을 알 수 있습니다.^^ 그리고 colcon을 설치하기 위해 아까 설치한 mamba를 이용해서 colcon을 설치할 수 있습니다.

반응형