ros-gz와 TurtleBot3 빌드
ROS는 깔았는데, 시뮬레이션 로봇은 어디서 구할까?
할 일
세 겹을 아래부터 쌓습니다
Gazebo와 ROS를 잇는 패키지는 apt로, TurtleBot3는 ROBOTIS 공식 매뉴얼대로 소스로 받아 빌드합니다. 쌓는 순서는 /opt/ros/jazzy → ~/turtlebot3_ws → 내 워크스페이스 ~/ros2_ws입니다(5강 7편의 언더레이와 오버레이).
다음 카드부터 한 장에 한 단계씩 따라 합니다.
1단계
ros-gz부터 깝니다
sudo apt install ros-jazzy-ros-gz 하나로 Gazebo Harmonic 본체와, ROS와 잇는 ros_gz_sim(띄우기·스폰), ros_gz_bridge(토픽 잇기)가 함께 들어옵니다.
ROBOTIS 매뉴얼의 gz-harmonic 설치 단계는 해도 되지만 꼭 필요하지는 않습니다.
2단계
저장소 4개를 받습니다
네 저장소 모두 jazzy 브랜치를 받습니다. 예를 들어 첫 줄은 git clone -b jazzy https://github.com/ROBOTIS-GIT/DynamixelSDK.git입니다. 모델·teleop은 turtlebot3에, Gazebo 월드와 런치는 turtlebot3_simulations에 들어 있습니다.
화면 폭 때문에 주소 앞부분을 G에 담았습니다. 그대로 쳐도 같습니다.
3단계
모자란 의존 패키지는 rosdep이
워크스페이스 맨 위에서 rosdep install --from-paths src --ignore-src -y를 칩니다. src 안 package.xml에 적힌 의존 패키지 가운데 빠진 것만 apt로 깔아 줍니다(5강 4편). 끝에 #All required rosdeps installed successfully가 나오면 됩니다.
sudo rosdep init과 rosdep update는 5강에서 한 번 해 두었습니다.
4단계
워크스페이스 루트에서 colcon build
~/turtlebot3_ws에서 colcon build --symlink-install을 칩니다. 5강 8편에서 쓴 것과 같고, ROBOTIS 매뉴얼도 이 명령을 씁니다. 패키지가 많아 몇 분 걸릴 수 있습니다.
출력 일부만 보였습니다. 패키지 수와 걸린 시간은 판과 PC마다 다를 수 있습니다.
5단계
~/.bashrc에 두 줄을 더합니다
첫 줄은 빌드한 TurtleBot3 패키지를 쓰게 하고, 둘째 줄은 어떤 로봇 모델을 쓸지 정합니다. 2강 3편의 source /opt/ros/jazzy/setup.bash 줄보다 아래, 내 워크스페이스(~/ros2_ws)를 source 하는 줄이 있다면 그보다 위에 둡니다. 위 명령은 파일 끝에 붙이므로, 그런 줄이 있으면 편집기로 옮깁니다.
언더레이가 바뀌었으니, ~/ros2_ws는 새 터미널에서 다시 빌드한 뒤 source 합니다.
확인
새 터미널에서 목록을 봅니다
새 터미널을 열고 ros2 pkg list | grep turtlebot3를 칩니다. turtlebot3_gazebo가 보이고 모델이 burger로 나오면 설치는 끝입니다.
출력 일부만 보였습니다. 아무것도 안 나오면 ~/.bashrc의 source 줄부터 확인합니다.
다음 편