[자율주행 터틀봇] 터틀봇 자율주행 입문기 (1) – PC 세팅부터 ROS 설치까지
이번 여름은 터틀봇 덕분에 더 뜨겁게 보낼 수 있었는데요.🥵
자율주행 기술은 빅데이터 기반으로 작동하는 만큼, 구현과 작동 속도가 느릿느릿할 수밖에 없습니다.
하지만 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로 사용하는 세팅 과정으로 이어집니다.