티스토리 뷰

Luanbot-factory/MISO-bot

WSL2 ROS (with Docker)

Lunabot87 2021. 10. 5. 23:25

들어가기에 앞서

도커는 간단하게 컨테이너 창고와 같은 개념으로 OS단을 구분하여 가상화 시켜 관리할 수 있도록 도와주는 툴이다. 그러나 정작 이걸 사용하려 하니 이해는 되는데 실제 사용 방법이 이해가 가지가 않는다. 그래서 이를 실습하기 위해서 ROS를 도커에 설치하는 방법을 알아보고자 한다.(만약 본인이 도커를 사용하기 싫다면 첫 과정을 무시하고 ROS설치 부분을 메인 WSL에 적용하면 된다.)

 

먼저 ROS Docker 컨테이너를 다운받는다. 명령어는 docker pull 이며 링크에 따른 방법으로 설치를 진행한다.(하지만 여기서 사용하는 ROS 버전은 notic으로 본인은 melodic을 사용하기 싶기에 방법을 ubuntu 18.04를 다운받아 수행하는 방법으로 진행한다.)

 

먼저 docker ubuntu 18.04를 다운받는다. Docker의 경우 Docker hub에서 여러 사용자들이 올려놓은 다양한 컨테이너를 다운받아 사용할 수 있다.

$ docker pull ubuntu:bionic

다음과 같이 설치되는 것을 알수 있는데, 설치가 완료가 되면 다운받은 이미지를 확인하기 위해서 docker images 명령어를 입력하면 ubuntu bionic이 다운받아진걸 확인할 수 있다.

$ docker images

사용중인 도커를 확인 하기 위해서는 다음과 같은 명령을 치면 되는데 지금 현재는 아무것도 실행을 하고있지 않기 때문에 나오는 것이 없다.

$ docker ps

이제 본격적으로 다운받은 Docker image를 이용하여 container를 생성 할것이다. container를 생성하는 명령어로는 docker run을 사용하면 된다.(이때 -it 명령어를 추가하게되면 터미널로 docker환경에서 작업이 가능하다.) 자동으로 컨테이너의 이름을 만들어 주지만 사용의 편의성을 위해 —name옵션을 넣어 이름을 지정해주자.

$ docker run -it --name ros_canopen ubuntu:bionic

이제 다른 wsl을 열어서 docker ps를 치게되면 아까와 다르게 실행되고 있는 container가 나오는 것을 확인 할 수있다.

 

ROS 설치

이제 ROS를 설치하기 위해 먼저 다음 작업을 진행한다.

$ apt-get update
$ apt-get install lsb -y

기본적으로 container는 root 권한 이기 때문에 관리자 권한을 따로 설정할 필요는 없다.

이후 ROS 공식 홈페이지에 나와있는 순서에 맞추어 ROS를 설치해준다.

sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
apt update
apt install ros-melodic-desktop-full
  • 버그발생시

    container를 밀고 새로 까는게 빠름

환경 셋업

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

의존성 파일 설치

apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
apt install python-rosdep
rosdep init
rosdep update

매크로 설정

echo "alias cm='cd ~/catkin_ws && catkin_make'" >> ~/.bashrc
echo "eb='vim ~/.bashrc'" >> ~/.bashrc
echo "sb='source ~/.bashrc'" >> ~/.bashrc

 

설치가 완료되면 roscore를 실행시키면 다음과 같이 나와야 정상적으로 설치가 완료 된것이다.

 

앞으로 ros를 이용한 다양한 시도를 진행할 예저인데 그때마다 이러한 작업을 반복하는 것은 효율적이지 않기 때문에 지금까지 만든 컨테이너를 image로 저장하여 필요할때 마다 새롭게 사용 할 수 있도록 만들어보자

docker commit {CONTAINER ID} {MY IMAGE NAME:TAG} #TAG를 따로 넣지않으면 latest로 저장된다.
 

'Luanbot-factory > MISO-bot' 카테고리의 다른 글

Docker에서 tmux 사용법  (0) 2021.10.06
WSL Docker 설치  (0) 2021.10.04
WSL2 Customize  (1) 2021.10.03
WSL2 GUI 사용하기  (1) 2021.10.02
WSL2 Ubuntu VScode 연동  (2) 2021.10.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31