[참고] 

  • ROS 로봇 프로그래밍 / 표윤석 지음 / 루비페이퍼 

[ROS 빌드 시스템]
  • ROS의 빌드 시스템은 기본적으로 CMake(Cross Platform Make) 사용
  • 빌드 환경은 패키지 폴더의 CMakeLists.txt 파일에 기술하고 있음
  • CMake를 ROS에 맞도록 수정하여 ROS에 특화된 캐킨(catkin) 빌드 시스템을 제공하고 있음
  • ROS에서 CMake를 이용하는 이유는 ROS 패키지를 멀티 플랫폼에서 빌드할 수 있게 하기 위함
  • Make가 유닉스 계열만 지원하는 것과 달리, CMake는 유닉스 계열인 리눅스, BSD, OS X 뿐만 아니라 윈도우 계열도 지원함
  • 마이크로소프트 비주얼스튜디오도 지원하고 QT 개발에도 쉽게 적용할 수 있음
  • 캐킨 빌드 시스템은 ROS와 관련된 빌드, 패키지 관리, 패키지 간 의존관계 등을 편리하게 사용할 수 있도록 하고 있음

[패키지 생성]
  • ROS 패키지 생성하는 명령어

$catkin_create_pkg [패키지이름] [의존하는 패키지1] [의존하는 패키지n]

  • 'catkin_create_pkg' 는 사용자가 패키지를 작성할 때 캐킨 빌드 시스템에 꼭 필요한 CMakeLists.txt와 package.xml을 포함한 패키지 폴더를 생성

[간단한 패키지 생성]
$cd ~/catkin_ws/src
$catkin_create_pkg my_first_ros_pkg std_msgs roscpp
$ls
  • 명령어에서 의존하는 패키지로 'std_msgs'와 'roscpp'를 옵션으로 사용
  • ROS의 표준 메시지 패키지인 std_msgs와 ROS에서 C/C++를 사용하기 위해 클라이언트 라이브러리인 roscpp를 사용하겠다는 것으로 패키지 생성에 앞서 미리 설치해야 한다는 의미임.
  • 의존하는 패키지 설정은 패키지를 생성할 때 지정할 수도 있지만, 생성한 다음 package.xml에서 직접 입력해도 됨
  • 패키지를 생성했으면 '~/catkin_ws/src'에 'my_first_ros_pkg'라는 패키지 폴더와 ROS 패키지가 갖춰야 할 내부 폴더, CMakeLists.txt와 package.xml 파일이 생성됨
  • include(인클루드 폴더), src(소스코드 폴더), CMakeLists.txt(빌드 설정 파일), package.xml(패키지 설정 파일)



+ Recent posts