상세 컨텐츠

본문 제목

ROS2 foxy - Docker에서 운용하기 (1)

Developer

by South Korea life 2022. 3. 14. 13:24

본문

728x90
반응형

최근에 ROS를 계속 파고있습니다. 개발 측면에서 보자면, 버전의 변화에 빠른 대처를 하기위해 Docker기반으로 작업 환경을 구성하는 것이 가장 좋을 것으로 생각됩니다. 그래서 처음에는 Docker Hub에서 ros2-foxy 버전의 base 이미지를 받아서 작업을 하였는데, 생각보다 많은 장애를 만났습니다. 그래서, googling을 하던 중, ros2 문서에서 해당 내용을 다루고 있는 것을 보고, 그것을 따라해보니 큰 문제가 없는 것을 확인한 후에... 이때까지 소요한 시간들에 대해 많은 아쉬움이 몰려왔습니다. Docker 환경에서 ROS2를 운용하실분들은 아래의 홈페이지를 참고하시면 되겠습니다.

https://docs.ros.org/en/foxy/How-To-Guides/Run-2-nodes-in-single-or-separate-docker-containers.html

 

Running ROS 2 nodes in Docker [community-contributed] — ROS 2 Documentation: Foxy documentation

You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Galactic.

docs.ros.org

 

 

ROS2 Docker 환경에서 운용하기

1) 자신이 운용하고 싶은 ROS버전에 대한 Docker 이미지를 받습니다. 저의 경우, foxy 버전을 사용했습니다.

docker pull osrf/ros:foxy-desktop

 

 

2) 다운받은 docker 이미지를 구동합니다.

docker run -it osrf/ros:foxy-desktop

 

 

3) ROS 기본 예제 중 하나인, talker & listener를 테스트해봅니다.

   현재 열어놓은 터미널에서 ros setup이 되었을 경우 아래와 같이 listener를 구동합니다.

ros2 run demo_nodes_cpp listener

  새로 터미널을 열어서, 현재 동작중인 docker image에 접근합니다.

sudo docker exec {docker name} bash

  기존 docker image에 접속되었으면, ros 환경을 setup해주고 talker를 구동해줍니다.

# ros환경 설정
source /opt/ros/foxy/setup.bash # 해당 path는 ros버전 등의 차이로 인해 달라질수도 있습니다.

# talker 구동
ros2 run demo_nodes_cpp talker

 

위의 내용을 정상적으로 수행하셨으면 아래와 같이 listener와 talker의 응답을 볼수 있습니다.

Docker환경에서 ros2 foxy talker 테스트
Docker 환경에서 ros2 foxy listener 테스트

728x90
반응형

관련글 더보기

댓글 영역