- ROS package 설치 2022.10.30
ROS 패키지 설치하는게 생각보다 어려워서 기록을 해둔다...
깃허브에서 소스 받아서 빌드하는 과정을 거치면... 계속 dependency 오류 만나고... 시간만 엄청 오래 들었다. 소스로 빌드하는 것은 ROS에 대한 이해가 부족해서 실패했다. 하지만 이 글의 방법을 통해서는 원하는 패키지 설치하는 것을 성공했다.
ROS wiki 페이지의 instruction을 잘 따르면 된다. 나는 라즈베리파이 3b+에서 melodic으로 진행하므로 melodic의 wiki페이지를 참고한다.
rosinstall_generator
먼저, rosinstall_generator로 다음과 같이 원하는 패키지 (아래의 예시에서는 ros_comm ros_control joystick_drivers)를 입력하고, 나머지 argument도 마찬가지로 입력한다.
cd ~/ros_catkin_ws
rosinstall_generator ros_comm ros_control joystick_drivers --rosdistro melodic --deps --wet-only --tar > melodic-custom_ros.rosinstall
wstool
그리고 다음과 같이 wstool을 통해 기존의 src와 머지하고 업데이트를 한다.
wstool merge -t src melodic-custom_ros.rosinstall
wstool update -t src
rosdep
workspace를 업데이트한 후 rosdep을 실행하여 필요한 새 종속성을 설치할 수 있다.
rosdep install --from-paths src --ignore-src --rosdistro melodic -y -r --os=debian:buster
catkin_make_isolated
마지막으로 workspace가 최신 상태이고 종속성이 충족되었으므로 workspace를 다시 빌드한다.
나의 경우 라즈베리파이 3b+를 활용하기 때문에 끝 부붙에 -j2를 붙였다.
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
매번 이렇게 패키지를 추가할 때 마다 빌드를 해야하는데... 시간이 너무 오래걸린다.
패키지 추가를 자주 하는 것은 건강에 좋지 않을 것 같다.
Example. ar_track_alvar package install
나는 ar_track_alvar이라는 패키지를 설치해야한다... 이 패키지 설치하려고 깃허브 소스 빌드부터 여러가지 삽질을 했었다... 다음과 같은 코드들을 실행하면 성공적으로 ar_track_alvar를 설치할 수 있다.
cd ~/ros_catkin_ws
rosinstall_generator ar_track_alvar --rosdistro melodic --deps --wet-only --tar > melodic-ar_track_alvar_ros.rosinstall
wstool merge -t src melodic-ar_track_alvar_ros.rosinstall
wstool update -t src
rosdep install --from-paths src --ignore-src --rosdistro melodic -y -r --os=debian:buster
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
궁금한 점들...
- 패키지 리스트는 어떻게 확인할 수 있지...?