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이 찾는 곳에 두라는 설정이라 고칠 일이 거의 없습니다.

다음 편

package.xml에는 무엇을 적을까요?

4편필요한 것은 어디에 적을까? 5강 목록