remappings, parameters

토픽 이름 바꾸기와 설정값도 런치 파일에 적을 수 있을까?

명령줄에서는

--ros-args 뒤에 붙이던 것

리매핑은 -r(3강 9편), 파라미터는 -p(8강)로 노드에 넘겼습니다. 런치 파일에서는 Node의 remappings와 parameters에 같은 내용을 적습니다.

리매핑

원래 이름과 새 이름을 짝으로

remappings에는 (원래 이름, 바꿀 이름) 짝을 목록으로 넣습니다. 4편의 mimic은 코드 안에서 input/pose를 듣고 output/cmd_vel로 내는데, 이 두 이름을 거북이들의 실제 토픽으로 바꿔 끼웁니다.

바꿔 끼우기

빈 이름을 실제 토픽으로

리매핑이 없으면 mimic은 아무도 내지 않는 /input/pose를 기다리고, 아무도 듣지 않는 /output/cmd_vel로 냅니다. 리매핑으로 선을 옮겨 꽂으면 코드를 고치지 않고도 거북이들과 이어집니다.

파라미터

설정값은 딕셔너리로 넣습니다

parameters에는 {이름: 값} 딕셔너리를 목록에 담아 넣습니다. 노드가 뜰 때부터 이 값을 쓰므로, 8강에서 ros2 param set으로 바꾸던 배경색을 처음부터 정해 둘 수 있습니다.

turtlesim 배경색 기본값은 (69, 86, 255)입니다. ...는 package, executable 줄을 줄인 것입니다.

YAML 파일

값이 많으면 파일로 넘깁니다

파라미터가 많으면 8강 6편의 YAML 파일을 그대로 넘깁니다. 맨 위 키는 노드의 전체 이름(/turtlesim2/sim)과 같아야 하고, /**로 쓰면 모든 노드에 적용됩니다.

my_turtle은 8편에서 만드는 예시 패키지입니다. 경로 찾기(FindPackageShare)는 7편, YAML 설치는 8편에서 봅니다.

확인

들어간 값을 명령으로 봅니다

런치를 띄운 채 새 터미널에서 확인합니다. 파라미터는 ros2 param get으로, 리매핑은 그 토픽에 구독하는 쪽(mimic)이 붙었는지 ros2 topic info로 봅니다.

4편 런치 파일의 둘째 거북이 Node에 배경색 딕셔너리(parameters)를 더해 띄운 모습입니다.

다음 편

런치 파일이 커지면 나눠서 쓸 수 있을까요?

7편런치 안에 런치 10강 목록