09-17 16:42
Notice
Recent Posts
Recent Comments
반응형
관리 메뉴

BAN2ARU

[Rasp/ROS2] 라즈베리파이4 OS에 도커를 활용하여 ROS2 실행 - turtlesim_node 본문

Linux/Raspberry pi

[Rasp/ROS2] 라즈베리파이4 OS에 도커를 활용하여 ROS2 실행 - turtlesim_node

밴나루 2023. 5. 15. 15:16

이 글에 앞서 라즈베리파이4에 도커 설치하기는 해당 부분에서 확인할 수 있음

 

[Rasp/Docker] 라즈베리파이4에 도커 설치하기

라즈베리파이4에 도커를 설치해보자! 설치하고자하는 이유는 라즈베리파이 OS에 ROS2를 사용하고자 하는데, 공식홈페이지에서 docker를 활용하는 방법을 추천하여 우선 docker를 설치하고자 한다.

ban2aru.tistory.com

라즈베리파이4에 Docker를 활용하여 ROS2 설치는 해당 부분에서 확인 할 수 있음

 

[Rasp/ROS2] 라즈베리파이4 OS에 도커를 활용하여 ROS2 설치

라즈베리파이4에 Docker 설치하기 : 도커 활용에 앞서 라즈베리파이4에 도커 설치하는 방법은 아래 링크에 있음! [Rasp/Docker] 라즈베리파이4에 도커 설치하기 라즈베리파이4에 도커를 설치해보자!

ban2aru.tistory.com

이번에는 도커를 활용하여 ROS2를 실행하고 GUI 설정하여 turtlesim_node를 실행해보자.

GUI를 실행하기위한 docker 실행

도커를 실행하는 부분에 옵션 내용이 많은데, 해당 옵션들의 설명은 다음과 같다

  • -it: install 과 terminal 옵션을 합친 것으로, 컨테이너를 종료하지않은 채로 터미널의 입력을 컨테이너로 전달하기 위해서 사용되는 옵션
  • --name: 생성할 컨테이너에 임의의 이름을 지정해주는 옵션
  • -v /tmp/.X11-unix:/tmp/.X11-unix: -v는 볼륨 지정 옵션으로 호스트와 컨테이너의 디렉토리를 연결하는 옵션.(<Host 절대경로>:<Container 절대경로> 순서) ROS는 기본적으로 GUI가 필요므로 x11을 사용하기 위해 지정해줌.
  • -e DISPLAY=$DISPLAY: e는 컨테이너 내에서 사용할 환경변수를 설정하는 옵션. GUI로 x11을 활용하므로 DISPLAY에 x11로 지정해줌.
  • /bin/bash : 이미지 안의 /bin/bash를 실행하는 옵션임
docker pull arm64v8/ros:foxy
docker run --name ros_gui -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY arm64v8/ros:foxy /bin/bash

 

GUI를 위해 x-host 설정해주기

1. 도커상에서 해당 부분 실행

docker start [컨테이너명]
docker attach [컨테이너명]

apt-get update
apt-get install x11-apps

2. 라즈베리파이상에서 해당 부분 실행

$ xhost +local:docker
xhost:  unable to open display ""

만약 위와 같은 오류가 발생한다면 아래 부분을 차례대로 실행시켜주자

export DISPLAY=:0.0
sudo apt install x11-xserver-utils
xhost +local:docker

* 만약 Display 설정 중에 docker를 실행했다면 docker에서 export DISPLAY=:0.0을 실행하면 됨

 

정리 : 도커를 활용하여 GUI를 활용할 시

위의 방법대로 모든 과정이 끝났다면, 아래와 같은 방식으로 진행된다고 볼 수 있음

docker pull arm64v8/ros:foxy
xhost +local:docker
docker run --name ros_gui -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY arm64v8/ros:foxy /bin/bash

위와 같은 방식으로 docker run 실행후에 아래 부분을 진행하면 라즈베리파이에서 GUI를 통해 거북이를 볼 수 있다!

ros2 run turtlesim turtlesim_node

참고사이트 : http://wiki.ros.org/turtlesim

728x90
Comments