022 패키지 파일 (환경 설정, 빌드 설정)

‍정승우·2021년 4월 9일

참고 링크 : 오로카 22강

패키지 파일 (Package Files)

기본적으로 python, C++ 두 경우에 맞게 빌드시스템에 달라지고, package file의 내용이 달라진다.

패키지 설정 파일 package.xml

  • ROS 패키지의 필수 구성 요소로서 패키지의 정보를 기술
  • 패키지 이름, 저작자, 라이선스, 의존성 패키지 등이 있으며 XML 형식
  • 모든 ROS 패키지의 필수 파일로 각 패키지당 무조건 1개의 패키지 설정 파일
  • python, c++에 관계없이 거의 비슷함
  • ROS 2 사용자라면 REP 149에 해당되는 'Package Format 3' [6]번 문서

xml 파일의 태그에 해당하는 내용은 참고 링크 참조

빌드 설정 파일 CMakeLists.txt

  • ROS 2의 빌드 시스템인 ament에서는 C++ 프로그래밍 언어를 사용한 패키지나 RQt Plugin의 경우(not python) CMake(Cross Platform Make)를 이용하고 있고 패키지 폴더의 CMakeLists.txt라는 파일에 빌드 환경을 기술하여 사용하고 있다.
  • python으로 작성한 순수파이썬패키지는 Cmakelist.txt가 존재하지 않음
  • cmake_minimum_required(VERSION 3.5) : 운영체제에 설치된 cmake의 최소 요구 버전 만약 cmake 버전이 이보다 낮다면 업데이트 해줘야한다.

  • project(my_first_ros_rclcpp_pkg): project 항목은 패키지의 이름, package.xml에서 입력한 패키지 이름을 그대로 사용해야 한다.

그 외에도 CMake빌드를 할때 필요한 옵션이나 버젼 설정들이 저장되는 공간이다.

자세한 내용은 참고 링크 참조

파이썬 패키지 설정 파일 setup.py

  • 순수한 ROS 2 Python 패키지에서만 사용하는 배포를 위한 설정 파일

  • C++ 패키지의 CMakeLists.txtpackage.xml의 기능

마찬가지로 패키지 버젼, 의존 패키지, 사용되는 파일들, 등을 기입하는 공간이다.

배포를 위한 다양한 설정은 참고 링크 참조

파이썬 패키지 환결 설정 파일 setup.cfg

  • 순수한 ROS 2 Python 패키지에서만 사용하는 배포를 위한 구성 파일

  • setup.py파일의 setup 함수에서 설정하지 못하는 기타 옵션을 이 구성 파일(setup.cfg)을 사용하여 정의

  • 이 파일에 [develop]와 [install] 옵션을 설정하여 스크립트의 저장 위치를 설정


python, C++ 빌드에 대한 주요 파일들은 여기까지 이다.
그 외에 RQt 플러그인 설정 파일 plugin.xml, 패키지 변경로그 파일 CHANGELOG.rst, RQt 플러그인 설정 파일 plugin.xml, 라이선스 파일 LICENSE, 패키지 설명 파일 README.md참고 링크 참조.

0개의 댓글