[참고]
- 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(패키지 설정 파일)
'#라즈베리파이3 모델B ' 카테고리의 다른 글
#라즈베리파이3 고정 IP 설정 (0) | 2019.05.14 |
---|---|
#라즈베리파이3 한글설정 (0) | 2019.05.14 |
#라즈베리파이3 UART 설정 (0) | 2018.12.06 |
#라즈베리파이3 외부 USB 연결하기 (0) | 2018.12.06 |
#라즈베리파이3 한글깨짐 (0) | 2018.12.06 |