TurtleBot3 조립 #1

  1. 참고 사이트

TurltleBot3 e-manual 제공 사이트 : https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/

조립서 : http://emanual.robotis.com/docs/en/platform/turtlebot3/hardware_setup/#assembly-manual

OpenCR e-manual : https://emanual.robotis.com/docs/en/parts/controller/opencr10/

opencr pin map은 아래와 같습니다.

2. 박스 개봉

박스를 열면 내부에 어뎁터와 소형 박스 4개가 들어 있습니다.

1번 박스를 개봉합니다.

2번 박스를 개봉합니다.

3번 박스를 개봉합니다.

4번 박스를 개봉합니다.

전원 어뎁터가 들어 있는 박스입니다.

추가 구매한 부품입니다.

배터리와 충전기입니다.

각종 연결 구조물입니다.

OpenCR 보드입니다.

바퀴 구동축에 사용되는 다이나믹 셀 2개입니다.

보드의 TTL 커넥터에 다이나믹셀 2개를 연결할 수 있습니다.

어뎁터를 연결하고 USB 커넥터를 연결한 상태입니다.

Raspberry Pi 4 보드입니다.

OpenCR의 보드에 USV 케이블을 연결하며 보드에 전원이 인가됩니다.

모터를 제어할 경우에는 USB 전원으로 구동이 불가능하며 모터의 정상동작을 위해서는 어뎁터를 연결해야 합니다.

3. 다이나믹셀 모터 구동 테스트

VirtualBox의 설정에서 USB3.0 컨트롤러를 선택합니다.

OpenCR 보드를 PC에 연결하고 Ubuntu를 실행합니다.

OpenCR의 USB를 가상머신인 Ubuntu에 연결합니다.

터미널을 연결하고 아래의 /dev/ 에서 USB 장치 연결을 확인합니다.

사용자를 dialout 그룹에 추가합니다.

sudo usermod -aG dialout $USER

설정완료 후 재부팅합니다.

OpenCR firmware 업로드에 필요한 환경설정과 패키지를 업데이트 합니다.

$ sudo dpkg --add-architecture armhf
$ sudo apt-get update
$ sudo apt-get install libc6:armhf

OpenCR Port와 TurtleBot3 Mode을 정의합니다.

$ export OPENCR_PORT=/dev/ttyACM0
$ export OPENCR_MODEL=burger
$ rm -rf ./opencr_update.tar.bz2

OpenCR 펌웨어 설치용 파일을 다운로드하고 압축을 해제합니다.

cd Downloads
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS2/latest/opencr_update.tar.bz2
$ tar -xvf opencr_update.tar.bz2

OpenCR firmware를 업로드 합니다.

$ cd opencr_update
$ ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr

Firmware가 정상적으로 업로드 될 경우 부저소리가 출력됩니다.

USB 케이블을 제거하고 어뎁터를 연결한후 전원 스위치를 켜면 역시 부저 음악소리가 출력됩니다.

OpenCR 보드에 모터를 연결하고 버튼 PUSH SW1/SW2를 몇 초간 누르면 모터가 구동합니다.

PUSH SW1를 몇 초간 누르면 로봇이 30cm 전진합니다.

PUSH SW2를 몇 초간 누르면 로봇이 제자리에서 180도 회전합니다.

4. LD03 LiDar 동작 테스트

라이다 모듈 세트입니다.

커넥터를 연결한 상태입니다. micro USB를 사용하여 PC에 연결가능 합니다.

PC에 USB 케이블을 연결합니다. 장치 관리자에서 com port 인식을 확인합니다.

가상머신을 실행하고 USB 설정에서 CP210x를 선택합니다.

LDS03 Lidar용 workspace를 만들고 디바이스 패키지를 다운로드 합니다.

mkdir -p ~/lds03_ws/src
cd ~/lds03_ws/src
git clone -b humble <https://github.com/ROBOTIS-GIT/coin_d4_driver.git>

의존성을 체크하여 필요한 패키지를 설치합니다. 컴파일을 수행합니다.

cd ~/lds03_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install

작업공간을 활성화 하고 사용자를 dialout 그룹에 추가합니다.

/dev/ttyUSB0를 /dev/tb3_lidar로 심볼릭 링크를 추가합니다.

source ~/lds03_ws/install/setup.bash
sudo usermod -aG dialout $USER
sudo ln -sf /dev/ttyUSB0 /dev/tb3_lidar

LDS03 노드를 실행합니다.

ros2 launch coin_d4_driver single_lidar_node.launch.py

새로운 터미널을 실행하고 /scan 토픽을 확인합니다.

source ~/lds03_ws/install/setup.bash
ros2 topic list
ros2 topic echo /scan --once

새로운 터미널에서 rviz2를 실행하고 LaserScan 토픽을 추가합니다.

scan 데이터가 출력죄지 않으면 Topic→Reliability Policy에서 Bsest Effort를 선택합니다. 색은 단색으로 수정합니다.

라이다 데이터가 정상적으로 잘 발행되고 있습니다.

5. Raspberry Pi 4에 Ubuntu 22.04 설치

아래의 사이트에 접속하여 Raspberry Pi Imager를 다운로드 받습니다.

https://www.raspberrypi.com/software

microSD 카드 리더기에 microSD 카드를 장착하고 PC에 연결합니다.

다운로드 받은 imager_2.0.7.exe 파일을 실행하여 Raspberry Pi Imager를 설치합니다.

라즈베리 파이 이미저 v2.0.7을 실행합니다. 먼저 라즈베리 파이 장치를 선택합니다.

다음은 운영체제를 선택합니다. Other general-purpose OS를 선택하고

Ubuntu를 선택합니다.

그리고 Ubuntu Server 22.04.5 LST(64-bit)를 선택합니다.

저장장치는 SDXC Card 1192.2GByte를 선택합니다.

저장장치는 SDXC Card 1192.2GByte를 선택합니다.

호스트 이름을 입력합니다.

사용자 지역인 서울을 선택합니다.

사용자 이름과 비번을 입력합니다.

WiFi를 선택하고 비번을 입력합니다.

ssh 사용자를 지정합니다. ssh 사용을 선택하고 비밀번호 인증 사용을 선택합니다.

요약 정보를 출력하면 “기록” 버튼을 클릭합니다.

데이터 삭제 경고창이 출력됩니다. “이해합니다. 삭제하고 기룩”을 선택합니다.

기록을 시작합니다.

카드 리더기를 PC에서 분리하고 micor SD 카드를 빼냅니다.

micro SD 카드를 Raspberry Pi 4에 꽂습니다. Wifi를 설정하였기 때문에 별도의 LAN 케입블 연결은 필요가 없습니다.

HDMI 케이블이 있으면 모니터에 연결합니다. 아래의 그림과 같이 보드는 왼쪽에서 첫번째 micro HDMI 커넥터에 연결합니다.

키보드와 마우스도 연결하여 초기 부팅시 로그인을 수행합니다. 초기 부팅시에는 시간이 좀 걸릴 수 있습니다.

부팅을 완료하고 로그인을 정상적으로 수행한 경우 바로 업데이트를 진행합니다.

sudo apt update
sudo apt upgrade -y
sudo reboot

재부팅후 시간대를 한국 시간으로 재설정합니다.

sudo timedatectl set-timezone Asia/Seoul
timedatectl

6. TurtleBot3 조립

1) 1번 레이어 조립

팔레트 어셈블리를 연결합니다.

볼트와 너트는 상하 방향을 자유롭게 결정하여 조립합니다.

2) 2번 레이어 조립

팔레트를 연결합니다.

볼트와 너트를 체결합니다.

3) 3번 레이어 조립

팔레트를 연결합니다.

볼트와 너트를 체결합니다.

4) 4번 레이어 조립

팔레트를 연결합니다.

볼트와 너트를 체결합니다.

4개 레이어를 모두 조립했습니다.

1번 레이어를 작업하고 나머지 레이어는 박스에 잘 보관합니다.

7. Ball Caster 부착

조립한 1번 레이어와 볼 캐스터, 볼트 2x6mm 볼트를 준비합니다.

볼 캐스터 부품을 포장지에서 꺼내 조립합니다.

볼 캐스터는 팔레트 상단 중앙에 배치합니다.

4개의 PH_T2x6mm 스크루 볼트로 고정합니다.

먼저 대각선으로 볼트 2개를 고정합니다.

나머지 2개의 볼트도 고정합니다. 마지막 조일 때 약간의 힘을 가하여 고정합니다. 너무 무리한 힘을 가할 경우 플라스틱 팔레트가 파손될 수 있으니 주의해야 합니다.

볼 캐스터 조립을 완료한 모습입니다.

8. 1번 레이어 서포터 고정

서포터 고정에 필요한 부품글입니다.

4개의 PH_M3x35mm 서포트 4개와 PM_M3x8mm 볼트 4개를 사용합니다.

서포터 4개를 모두 고정했습니다.

드라이버와 함께 제공하는 조립용 간이 렌치/너트 홀더인듯한 플라스틱 기구물을 사용해 봤습니다.

9. 바퀴 조립

비닐봉지에는 있는 바퀴2개와 타이어 2개, 스티커 2개가 들어 있습니다.

바퀴 휠을 잡고 타이어 한쪽부터 천천히 조립합니다. 무리한 힘을 가해서 타이어가 손상되지 않도록 주의합니다.

2개의 바퀴를 모두 조립했습니다.

10. 모터 축에 바퀴 조립

2개의 바퀴와 2개의 모터, 고정용 볼트입니다.

먼저 바퀴 한개를 조립합니다.

나머지 한 개의 바퀴도 조립합니다.

11. 리튬 폴리머 배터리 고정부품 부착

필요한 부품들입니다.

배터리 탈부착 입구 부터 고정물을 장착합니다.

앞쪽의 고정용 부품을 부착합니다.

나머지 하나도 고정합니다.

왼쪽 배터리 고정용 부품을 부착합니다.

오른쪽 배터리 고정용 부품을 부착합니다.

임시로 배터리를 장착해 봤습니다.

12. 1번 레이어에 모터 부착

필요한 부품들입니다.

바퀴 부착시 볼 캐스터가 후방이며 전방을 기준으로 왼쪽이 1번 모터, 오른쪽에 2번 모터를 부착해야 합니다. 볼트는 뒷면에서 체결해야 하기 때문에 위치가 잘못되지 않도록 주의합니다. 모터 ID는 머터 아래쪽에 스티커로 부착되어 있습니다.

1번모터부터 연결합니다. 대각선 방향의 볼트를 고정합니다.

나머지 볼트도 조립합니다.

나머지 바퀴도 조립합니다.

OpenCR 보드에 연결하는 커넥터를 다이나믹셀 커넥터에 연결합니다.

OpenCR 보드를 임시로 올려 보았습니다.

Leave a Comment