최근에 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
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의 응답을 볼수 있습니다.
ros2 galactic velodyne vlp-16 설정 중 에러: ERROR: the following packages/stacks could not have their rosdep keys resolvedto system dependencies (0) | 2022.03.25 |
---|---|
ROS2 foxy - Docker에서 운용하기 (2) (2) | 2022.03.15 |
Robot 움직이기 - Localization (0) | 2022.03.03 |
[ROS2 foxy] turtlesim과 rqt (0) | 2022.02.23 |
ROS2 foxy 환경 설정 (configuration) (0) | 2022.02.23 |
댓글 영역