본문으로 건너뛰기
버전: v26.09b

PC 측 ROS2 패키지 설치

PC에서 MechaShip의 ROS2 패키지를 다운로드하고 빌드합니다. 패키지는 MechaShip 저장소에서 다운로드합니다.

정보

아래 명령은 모두 PC의 터미널에서 실행합니다.

패키지 다운로드​

워크스페이스의 src 폴더에서 master 브랜치를 복제합니다. 서브모듈도 재귀적으로 다운로드하며, 저장소와 서브모듈의 이력을 각각 depth 1로 제한해 다운로드 용량을 줄입니다.

$ cd ~/ros2_ws/src
$ git clone --branch master --recurse-submodules --depth 1 --shallow-submodules https://github.com/mechasolution/mechaship.git

의존성 설치​

기존 YDLIDAR ROS2 드라이버 삭제

센서 ROS 사용 실습에서 YDLIDAR를 PC에 연결했다면 ~/ros2_ws/src/ydlidar_ros2_driver가 이미 있을 수 있습니다. MechaShip에도 같은 이름의 패키지가 서브모듈로 포함되어 있어, 두 패키지가 함께 있으면 중복 패키지 오류로 빌드에 실패합니다.

기존 ~/ros2_ws/src/ydlidar_ros2_driver가 있다면 해당 폴더를 삭제합니다. 실습에서 수정한 런치 파일이나 설정이 필요하면 삭제 전에 별도로 보관합니다. MechaShip에 포함된 ~/ros2_ws/src/mechaship/ydlidar_ros2_driver는 유지합니다. 기존 빌드 결과와 캐시를 정리하기 위해 워크스페이스의 build, install, log 폴더도 함께 삭제합니다. 워크스페이스 전체의 빌드 결과가 삭제되므로, 아래 의존성 설치 단계를 진행한 뒤 cb로 다시 빌드합니다.

$ rm -rf ~/ros2_ws/src/ydlidar_ros2_driver
$ rm -rf ~/ros2_ws/build ~/ros2_ws/install ~/ros2_ws/log

앞선 실습에서 YDLidar SDK 설치까지 완료했다면 중복 패키지와 빌드 결과를 정리하고 아래 SDK 설치 과정은 생략합니다.

YDLidar SDK 설치

YDLIDAR ROS2 드라이버를 빌드하려면 YDLidar SDK가 PC에 설치되어 있어야 합니다. 앞선 센서 ROS 사용 실습에서 sudo make install까지 완료했다면 이 과정은 생략합니다. 워크스페이스의 build, install, log 폴더를 삭제해도 PC에 설치된 SDK는 유지됩니다.

SDK를 설치하지 않았다면 다음 명령을 실행합니다. SDK는 홈 폴더(~)에 다운로드합니다.

$ sudo apt update
$ sudo apt install -y build-essential cmake pkg-config
$ cd ~
$ git clone https://github.com/YDLIDAR/YDLidar-SDK.git --depth 1
$ cd ~/YDLidar-SDK
$ mkdir -p build
$ cd build
$ cmake ..
$ make
$ sudo make install

이어서 패키지에 필요한 의존성을 rosdep으로 설치합니다.

$ cd ~/ros2_ws
$ rosdep update
$ rosdep install --from-paths src --ignore-src -r -y

패키지 빌드​

cb 명령어로 워크스페이스를 빌드합니다. 아래 예시처럼 오류 없이 빌드가 완료되면 설치가 완료된 것입니다.

$ cb
Starting >>> mechaship_interfaces
Starting >>> iahrs_ros2_driver_msgs
Starting >>> mechaship_description
Starting >>> ntrip_client
Starting >>> rf2o_laser_odometry
Starting >>> ydlidar_ros2_driver
Starting >>> mechaship_slam
Starting >>> mechaship_yolov8
Finished <<< mechaship_description [0.77s]
Starting >>> mechaship_simulation
Finished <<< mechaship_slam [0.85s]
Finished <<< mechaship_yolov8 [1.50s]
Finished <<< ntrip_client [1.61s]
Starting >>> wtrtk_ros2_driver
Finished <<< mechaship_simulation [1.12s]
Finished <<< wtrtk_ros2_driver [7.39s]
Finished <<< iahrs_ros2_driver_msgs [11.9s]
Starting >>> iahrs_ros2_driver
Finished <<< mechaship_interfaces [13.3s]
Starting >>> mechaship_system
Starting >>> mechaship_teleop
Finished <<< mechaship_system [3.36s]
Finished <<< mechaship_teleop [3.36s]
Finished <<< ydlidar_ros2_driver [17.5s]
Finished <<< iahrs_ros2_driver [11.3s]
Finished <<< rf2o_laser_odometry [27.6s]
Starting >>> mechaship_bringup
Finished <<< mechaship_bringup [0.54s]

Summary: 14 packages finished [28.2s]
cb 명령어가 없는 경우

cb 실행 시 command not found가 표시되면 패키지, 노드 생성 및 실행 문서의 Package 빌드 팁을 참고합니다. 해당 팁의 명령을 실행하면 cb와 동일하게 워크스페이스 이동, 빌드, 환경 설정을 수행합니다.