ros2 pkg create
패키지에 필요한 파일을 하나하나 손으로 만들어야 할까?
명령 한 줄
뼈대는 ros2 pkg create가
ros2 pkg create는 패키지에 필요한 파일을 한 번에 만들어 줍니다. 파이썬 패키지는 --build-type ament_python으로 고릅니다. --node-name을 주면 바로 돌려 볼 수 있는 예제 노드도 하나 생깁니다.
ament_python, ament_cmake 같은 빌드 종류는 9편에서 비교합니다.
따라 하기
src 안에서 실행합니다
워크스페이스의 src로 가서 아래 명령 한 줄을 칩니다.
ros2 pkg create --build-type ament_python --license Apache-2.0 --node-name my_node my_package
그림의 줄 끝 \는 한 명령을 여러 줄로 나눠 쓴다는 표시입니다. 출력은 일부만 보였습니다.
생긴 것
이런 폴더 구조가 생깁니다
새 파이썬 노드는 안쪽 my_package 폴더에 넣습니다. resource/my_package는 빈 표시 파일로, ROS 2 도구가 이 패키지를 찾을 때 씁니다. test에는 코드 모양을 검사하는 파일이 들어 있습니다.
이름이 두 번
my_package 안에 또 my_package
바깥 my_package는 ROS 2 패키지 폴더이고, 안쪽 my_package는 파이썬이 import 하는 모듈 폴더입니다. __init__.py가 있어서 파이썬이 이 폴더를 모듈로 알아봅니다.
5편에서 my_package.my_node 처럼 이 안쪽 이름으로 코드를 가리킵니다.
예제 노드
my_node.py에는 main 하나뿐
--node-name my_node로 생긴 파일은 글 한 줄을 찍는 main 함수뿐입니다. 아직 ROS 노드는 아니지만, 빌드하고 실행하는 흐름을 확인하기에 충분합니다.
실행은 빌드(6편)와 source(7편)를 한 뒤에 됩니다. 진짜 노드는 6강에서 이 자리에 짭니다.
세 파일
설정은 세 파일이 나눠 맡습니다
package.xml은 패키지의 정보와 필요한 것, setup.py는 무엇을 어디에 설치할지를 적습니다. setup.cfg는 실행 파일을 ros2 run이 찾는 곳에 두라는 설정이라 고칠 일이 거의 없습니다.
다음 편