06 -1장 Turtlebot(setup)

1. Remote PC 설정

1.1. ubuntu 설치 [Remote PC]

1.2 Install ROS 2 [Remote PC]

TurtleBot3는 ROS2(Dashing Diademata)가 설치된 remote PC 필요. ROS2는 1장에서 설치했다는 가정하에 진행하겠습니다.

참고 : '01장 ROS2 설치'

1.3 ROS2 종속 패키지 설치 [Remote PC]

# Install Colcon
$ sudo apt install python3-colcon-common-extensions
# Install Cartographer dependencies
$ sudo apt install -y \
 google-mock \
 libceres-dev \
 liblua5.3-dev \
 libboost-dev \
 libboost-iostreams-dev \
 libprotobuf-dev \
 protobuf-compiler \
 libcairo2-dev \
 libpcl-dev \
 python3-sphinx
# Install Gazebo9
$ curl -sSL http://get.gazebosim.org | sh
$ sudo apt install ros-dashing-gazebo-*
# Install Cartographer
$ sudo apt install ros-dashing-cartographer
$ sudo apt install ros-dashing-cartographer-ros
# Install Navigation2
$ sudo apt install ros-dashing-navigation2
$ sudo apt install ros-dashing-nav2-bringup
# Install vcstool
$ sudo apt install python3-vcstool

1.4 TurtleBot3 패키지 설치 [Remote PC]

1.5 Save Bash Command for Setup [Remote PC]

2. SBC(Single Board Computer) 설정

2.1 Ubuntu Image File을 다운로드 후 설치[Remote PC]

  1. Ubuntu old release 사이트 접속

  2. ubuntu-18.04.3-preinstalled-server-arm64+raspi3.img.xz 다

    (http://old-releases.ubuntu.com/releases/18.04.3/)

  3. microSD에 Ubuntu images 파일 설치

2.2 Raspberry Pi 3 초기화[Turtlebot3]

  1. microSD를 TurtleBot3의 SBC에 삽입하여 부팅합니다.

    TIP : 부팅을 위해서는 SBC에 HDMI cable로 모니터에 LCD, keyboard and mouse를 연결해야합니다.

  2. 처음 부팅하여 이름: ubuntu, 비밀번호: ubuntu로 로그인합니다.(비밀번호는 로그인 후 변경합니.)

  3. netplan을 수정하여 WiFi에 접속합니다.

    ('2.3 네트워크 구성 예'에서 다룰 예정입니다.)

+ 기존(ROS1)에 '모니터/LCD없이 라즈비안 설치 후 SSH접속'하는 방법에 비해 초기 설정은 복잡하지만 연결속도가 빨라짐.

2.3 네트워크 구성 예시[Turtlebot3]

SBC(Turtlebot3)에서 terminal을 열고, 아래의 command를 작성하여 폴더와 파일을 생성한 후 nano editor를 활용하여 yaml파일을 엽니다.

참고 : yaml파일은 ROS에서 지원하지 않았으나 ROS2부터 지원합니다.

yaml파일을 열은 후 아래의 네트워크 설정을 따라합니다.(vi editter 단축키 참고)

물론 "your-wifi-name"이나 "your-wifi-password"는 현재 Remote PC에서 사용하고 있는 Wifi에 해당하도록 설정하면 됩니다. 위의 설정을 마쳤다면 control + 's'로 저장합니다.

이후 아래의 command를 terminal에 적어 SBC를 재부팅합니다.

시작할 때 네트워크가 없는 경우에도 부팅 지연을 방지하도록 아래의 명령어를 통해 systemd 프로세스를 설정합니다.

이제부터 SSH를 활용하여 Remote PC에서 SBC에 접속하실 수 있습니다.

2.4 Remote PC에서 SBC에 접속[Turtlebot3]

위의 설정을 모두 마쳤다면 Remote PC의 terminal을 통해 아래의 명령어를 작성하여 쉽게 접속할 수 있습니다.

ubuntu : SBC ID로 설정되어 있는 것을 입력

<NETWORK IP of Raspberry PI> : SBC의 IP address를 입력 ('<>'빼고)

2.5 Swap설정 [Turtlebot3]

1. SBC에서 터미널 열기

2. swap 파일 만들고 설정하기

3. 내용 확인

2.6 ROS2 Dashing Diademata [Turtlebot3]

1. SBC 터미널 열기

2. Update and upgrade your software

+ 만약 아래와 같은 오류가 뜬다면?

E: Could not get lock /var/lib/dpkg/lock frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

다음 명령어를 쳐서 해결가능

sudo killall apt apt-get

만일 진행중인 프로세스가 없다라고 뜨면, 아래와 같이 하나하나씩 디렉토리를 삭제해주세요.

sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock*

sudo dpkg --configure -a

sudo apt update -y

이후에 다시 아래의 명령어를 치면 성공적으로 진행된다.

sudo apt-get upgrade

3. Setup locale

4. Setup sources

5. Install ROS 2 packages

6. Install TurtleBot3 Packages

7. 환경설정

1) Domain ID Allocation

ROS_DOMAIN_ID를 Remote PC와 TurtleBot3 동일하게 설정하고 동일네트워크에 연결되어 있으면 DDS 통신 가능합니다. TurtleBot3는 기본 ID가 '0'이지만 '30'으로 변경하는것이 좋습니다.

2) OpenCR 포트 설정

다음의 명령은 OpenCR 포트 인증을 TrutleBot3에 할당하는 방법을 보여줍니다.

3. OpenCR 설정[Turtlebot3]

1.Install Dependencies to Run 32bit Executables.

2. Download OpenCR Binaries & Tools for Uploading.

3. Upload ROS 2 Firmware of TurtleBot3 to OpenCR.

거의 2시간 가량의 긴 설치 및 세팅과정 끝에 모든 setup이 끝났다. 그렇다면 끝났음을 알리는 기계음(도레미파솔라시도)가 들릴것이다. 이제 본격적으로 turtlebot burger을 가지고 놀아보도록 하겠다.

Last updated

Was this helpful?