11-09 09:15
Notice
Recent Posts
Recent Comments
관리 메뉴

BAN2ARU

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

Linux/Raspberry pi

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

밴나루 2023. 5. 15. 14:16
반응형

라즈베리파이4에 Docker 설치하기 : 도커 활용에 앞서 라즈베리파이4에 도커 설치하는 방법은 아래 링크에 있음!

 

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

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

ban2aru.tistory.com

라즈베리파이4 OS인 라즈비안에 도커를 활용하여 ROS2를 설치해보고자 한다.

도커를 활용한 이유에는 공식홈페이지에서도 도커를 활용하여 ROS2를 설치하는 방법이 설명되어있어, 도커를 공부할 겸 도커를 활용하여 ROS2를 설치해보았다.

 

실패한 방법 : osrf/ros2 이미지 활용

더보기

만약 실패한 방법을 스킵하고 싶으면 보지 않아도 된다. 본인의 실수 기록 겸 작성해보았다.

 

Docker 이미지 pull 하기

docker pull osrf/ros2:<tag_name>

위의 명령어를 통해 devel이미지를 다운로드 하였는데 아래와 같은 오류가 발생하였다.

 해당 부분은 라즈베리파이에 깔린 os가 arm기반이라 osrf/ros2의 amd와 맞지 않아서 생긴 문제로, 아래 성공한 방법을 활용하면 해결된다

 

혹시 만약에 아래 방법을 활용하였는데도 아래와 같은 오류가 뜨다면 

 이는 라즈베리파이 OS를 설치시에 64bit로 제대로 설치안한것이니 이미지를 재설치하는 것을 권장한다. 인터넷을 검색하면 --platform 등을 명시하여 해결하라고 하지만 애초에 build가 arm 64bit로 된것이기 때문에 --platform을 명기해도 제대로 되지 않으므로 라즈베리파이 OS를 64bit로 재설치하자!

성공한 방법 : arm64v8/ros 설치하기

해당 도커허브에서 다양한 ROS 버전이 있으니, 활용하고싶은 ROS를 확인해보고 진행하면된다. 우선 본인은 foxy를 설치하였다.

docker pull arm64v8/ros:foxy

해당 도커를 실행해보자. (--name 뒤에는 설정하고 싶은 이름으로 설정하여도 됨)

docker run --name ros -it arm64v8/ros:foxy /bin/bash

이미지를 실행하고 ros2에 있는 리스트를 확인해보자.

ros2 pkg list

아마 많은 사람들이 설치확인시에 활용하는 'demo_nodes_cpp_talker'와 같은 패키지는 확인할 수 없을 것이다. 해당 이미지를 다운로드받으면 모든 패키지가 다운로드가 되지 않으므로 아래 방법을 차례대로 진행하면 된다.

sudo apt update
sudo apt upgrade
sudo apt install ros-foxy-desktop python3-argcomplete
sudo apt install ros-foxy-ros-base python3-argcomplete
sudo apt install ros-dev-tools

차례대로 진행하고나면  'ros2 run demo_nodes_cpp_talker' 또는 ''ros2 run demo_nodes_cpp_listner' 등을 실행할 수 있을것이다. (본인은 'ros2 run turtlesim turtlesim_node'를 활용하여 제대로 설치되었는지 확인하였는데, 이를 위해서는 GUI 설정이 필요하다..)

만약 현 상태를 docker 이미지로 저장하고 싶다면 docker commit을 수행하자.

docker commit [컨테이너명] [저장빌드]

시간이 생각보다 오래걸리니 주의하자! 이후에는 해당 컨테이너를 실행하여주면 된다. 

 

다음 글에서는 GUI 설정을 통해 turtlesim_node 실행할 것이다.

 

728x90
Comments