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)를 더해 띄운 모습입니다.
다음 편