development/자율주행

[자율주행 터틀봇] 터틀봇 자율주행 입문기 (1) – PC 세팅부터 ROS 설치까지

root@soni 2023. 9. 28. 03:29

이번 여름은 터틀봇 덕분에 더 뜨겁게 보낼 수 있었는데요.🥵
자율주행 기술은 빅데이터 기반으로 작동하는 만큼, 구현과 작동 속도가 느릿느릿할 수밖에 없습니다.
하지만 AI가 일상이 된 지금, 이런 로봇 시스템을 직접 경험해보는 것만으로도 충분히 값진 시간이 될 거예요.

오늘은 터틀봇을 위한 PC 세팅 과정을 차근차근 소개해볼게요.
다음 시간에는 SBC(Raspberry Pi 4) 설정으로 이어집니다.


시작 전 준비사항

우선 참고할 공식 문서를 소개합니다:
ROBOTIS e-Manual: https://emanual.robotis.com/

그리고 가장 기본이 되는 준비는 바로 Ubuntu 20.04 LTS 설치입니다.
Windows 사용자라면 듀얼 부팅을 위한 메모리 파티션 작업이 선행되어야 합니다.
Noetic 버전의 ROS와 호환되기 때문에 Ubuntu 20.04를 꼭 사용해주세요.


Step 1. ROS1 Noetic 설치 (on Ubuntu 20.04)

ROS는 Robot Operating System의 약자이며, 자율주행 로봇을 위한 운영체제 같은 미들웨어입니다.
이제부터는 Ubuntu가 설치된 PC를 "원격 PC"라고 부르겠습니다.

1-1. ROS Noetic 설치

터미널을 열고 다음 명령어를 한 줄씩 실행하세요.

 
$ sudo apt update 
$ sudo apt upgrade 
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_noetic.sh 
$ chmod 755 ./install_ros_noetic.sh 
$ bash ./install_ros_noetic.sh

1-2. ROS 종속 패키지 설치

$ sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \
  ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \
  ros-noetic-rgbd-launch ros-noetic-rosserial-arduino \
  ros-noetic-rosserial-python ros-noetic-rosserial-client \
  ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \
  ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \
  ros-noetic-compressed-image-transport ros-noetic-rqt* ros-noetic-rviz \
  ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers

1-3. TurtleBot3 패키지 설치

$ sudo apt install ros-noetic-dynamixel-sdk
$ sudo apt install ros-noetic-turtlebot3-msgs
$ sudo apt install ros-noetic-turtlebot3

Step 2. ROS IP 환경 설정

ROS는 네트워크 기반으로 노드들이 통신하기 때문에, IP 설정이 매우 중요합니다.

2-1. 현재 PC의 Wi-Fi IP 주소 확인

$ ifconfig

IP 주소를 확인해둡니다 (예: 192.168.0.23).

2-2. .bashrc에 ROS 환경 변수 등록

$ nano ~/.bashrc

파일 맨 아래에 다음 줄을 추가합니다.
자신의 IP 주소로 000.000.0.000을 대체하세요.

export ROS_MASTER_URI=http://000.000.0.000:11311 
export ROS_HOSTNAME=000.000.0.000

2-3. 변경 사항 적용

$ source ~/.bashrc

마무리

여기까지가 터틀봇 자율주행을 위한 PC 세팅 단계였습니다.
처음 시작하는 분들에게는 생소할 수 있지만, 하나씩 따라 하다 보면 자연스럽게 익숙해질 거예요.
막히는 부분이 있다면 댓글로 남겨주세요. 함께 해결해봐요!

다음 포스팅에서는 라즈베리파이(Raspberry Pi 4)를 SBC로 사용하는 세팅 과정으로 이어집니다.