프로그래밍/ROS
[ROS2] 패키지 만들기 및 setup.py 구성
복습
2024. 7. 28. 11:26
728x90
사용 버전 : ros2 Foxy
우분투 20.04
python3.12
1. 패키지 만들기
ros2 pkg create --build-type ament_python <package_name>
2. setup.py 구성
패키지 이름 및 버전:
from setuptools import setup
package_name = 'my_package'
setup(
name=package_name,
version='0.0.1',
)
이 부분에서는 패키지의 이름과 버전을 정의합니다. 이 정보는 패키지 관리 및 배포에 사용됩니다.
패키지 데이터:
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
],
data_files은 패키지의 데이터 파일을 설치할 위치와 파일을 정의합니다. 이 예에서는 package.xml 파일과 다른 리소스 파일들을 ROS2의 share 디렉토리 하위에 설치하도록 설정되어 있습니다.
의존성 관리:
install_requires=['setuptools'],
install_requires 리스트는 이 패키지를 실행하기 위해 필요한 다른 패키지들을 정의합니다. 이 예에서는 setuptools만이 필요하다고 명시되어 있습니다.
패키지 정보:
setup(
...
maintainer='Your Name',
maintainer_email='your.email@example.com',
description='A simple ROS2 package',
license='Apache License 2.0',
...
)
여기서는 패키지의 유지보수 담당자, 이메일, 설명, 라이센스 등과 같은 추가적인 메타데이터를 제공합니다.
엔트리 포인트:
entry_points={
'console_scripts': [
'talker = my_package.publisher_member_function:main',
'listener = my_package.subscriber_member_function:main',
],
}
entry_points는 패키지의 실행 가능한 스크립트를 정의합니다. 여기서는 talker와 listener라는 두 개의 실행 파일이 있으며, 각각 my_package 내의 특정 함수를 실행하도록 설정되어 있습니다.
참고 자료
728x90