반응형
왜?
필자는 이 방식을 사용하기 전까지 ubuntu 18.04 이미지에 ros(melodic) 를 설치하는 방식으로 사용하였는데, 이 방식은 컨테이너를 생성할때 마다 ros를 설치해줘야 하고, 이는 docker 장점을 재대로 활용하지 못하는 것일 뿐더러 ros설치 시간만큼 시간 낭비가 발생한다.
그래서 뭐 할건데?
기존 ros:melodic-ros-core-bionic 도커 이미지는 roscore까지만 실행되고 catkin_make라던지 환경변수 설정이 전혀 안되어있는데, 이 글에서는 이를 설정해 주고, 우리가 아는 일반적인 ros 환경을 만들어 줄 것이다.
아래 명령어로 우분투 + ros를 한번에 설치
docker pull ros:melodic-ros-core-bionic
테스트를 위해 임시 컨테이너를 만들어주고 진입한다. (--rm : 일회용 컨테이너 옵션)
docker run --rm -it --name=test ros:melodic-ros-core-bionic
(1. 공식 ros 이미지(base 버전만 인스톨되어 GUI(rqt, rviz..) 사용 불가능) 2. 개인 ros 이미지(full desktop 버전))
apt update
apt install nano
nano ~/.bashrc
(개인적으로 vi 편집기 보다 nano가 더 편하다.)
아래의 환경 변수들을 .bahsrc의 맨아래에 붙혀 넣고,
#Set ROS Melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=localhost
#Set ROS alias command
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
.bahsrc를 적용한다.
source ~/.bashrc
위 상태로 진행하고 catkin_make (cm) 시 아래와같은 에러가 발생할 수 있다.
이 에러가 발생하면 g++ 컴파일러가 없는 것 이므로 설치 해 준다.
sudo apt install cmake
sudo apt install g++
다시 catkin_make (cm)을 하면 잘 빌드 되는것을 볼 수 있다.
+ 위의 공식 로스 이미지를 사용했다면 rqt가 없다.(사용하려면 아래 설치)
sudo apt-get install ros-melodic-rqt*
반응형
'docker' 카테고리의 다른 글
Docker로 화면 띄우기 (Mac/Win) (1) | 2021.08.27 |
---|