ros2 pkg create
명령어: 새로운 패키지를 생성하는 데 사용 (ROS 2 개발 환경에서 패키지가 올바르게 인식되고 사용될 수 있도록)관련된 기능, 라이브러리, 노드(nodes), 프로세스, 코드 파일, 데이터 등을 포함하는 소프트웨어의 단위 또는 구성 요소를 의미
필요한 모든 자원을 묶어 관리
패키지의 기본 구조를 설정
필요한 메타데이터 파일들을 생성
ros2 pkg create --build-type ament_python <your_package_name> --dependencies rclpy sensor_msgs
<your_package_name>
을 원하는 패키지 이름으로 변경하세요.--build-type ament_python
:ament_python
은 Python 기반의 패키지를 위한 빌드 타입<your_package_name>
_
)를 사용--dependencies rclpy sensor_msgs
ros2 pkg create
명령어를 사용하면 ROS 2 패키지의 기본적인 디렉토리 구조와 필요한 설정 파일들을 생성<your_package_name>
으로 지정된 이름의 패키지를 생성하면, 다음과 같은 디렉토리 구조와 파일들이 생성됩니다:your_package_name/
├── package.xml
├── setup.cfg
├── setup.py
├── resource/
│ └── your_package_name
└── your_package_name/
├── __init__.py
└── (other python files)
geometry_msgs
같은 것) 및 기타 정보가 포함Python 패키지의 설치 및 배포 설정을 담당
Python 패키지의 설치 및 배포 설정을 담당
resource/:
your_package_name
파일은 일반적으로 패키지의 리소스와 관련된 정보를 포함your_package_name/:
__init__.py
파일을 포함이 구조를 통해 ROS 2 패키지가 Python 언어로 구성되고 관리될 수 있으며, ament_python
빌드 시스템과 ROS 2의 인프라를 통해 패키지를 쉽게 빌드하고 실행할 수 있음.
추가적으로 필요한 의존성은 package.xml
에 명시되며, 패키지의 빌드 및 설치 과정에서 적절히 처리됩니다.
package.xml
파일과 패키지 설정 파일을 수정하면 됩니다. geometry_msgs
를 예로 들면 다음과 같이 할 수 있습니다:package.xml
수정package.xml
파일을 열고, geometry_msgs
에 대한 의존성을 추가합니다. <depend>
태그를 사용하여 이를 명시할 수 있습니다. 예를 들어:
<depend>geometry_msgs</depend>
<depend>
태그들과 함께 그룹으로 묶어 관리합니다.geometry_msgs
는 ROS2의 표준 메시지 패키지 중 하나이므로, 대부분의 ROS2 설치에 이미 포함되어 있을 것입니다. your_package_name/your_package_name
폴더 안에 image_publisher.py
라는 이름으로 파일을 생성. (아래 코드)setup.py
( Python 패키지의 설치를 위한 스크립트) 파일을 열고, entry_points
에 다음 줄을 추가하여 노드가 실행 가능하게 만듭니다.entry_points={
'console_scripts': [
'image_publisher = your_package_name.image_publisher:main',
],
},
your_package_name
을 실제 패키지 이름으로 변경하세요.colcon build --packages-select <your_package_name>
your_package_name/
├── package.xml
├── setup.cfg
├── setup.py
├── resource/
│ └── your_package_name
└── your_package_name/
├── __init__.py
└── (other python files)
. install/setup.bash
source install/setup.bash
ros2 run <your_package_name> image_publisher
install/setup.bash
파일은 ROS2 및 일부 다른 소프트웨어 프로젝트에서 빌드 과정 이후 생성되는 스크립트 파일
source
명령을 통해 실행함으로써, 사용자는 해당 터미널 세션에서 빌드된 패키지를 사용 가능source install/setup.bash
의 주요 기능:ROS_PACKAGE_PATH
, LD_LIBRARY_PATH
, PYTHONPATH
와 같은 중요한 환경 변수들을 설정source setup.bash
명령은 ROS2 명령어에 대한 쉘 자동 완성 기능을 활성화할 수 있습니다.setup.bash
를 source함으로써 현재 쉘 세션에서 활성화할 workspace를 변경할 수 있습니다.