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_msgsros2 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를 변경할 수 있습니다.