basic - launch

ROS 2 시스템은 보통 여러 프로세스(또는 여러 기기)에 걸쳐 많은 노드가 동작한다. 노드를 하나씩 수동으로 띄우는 것은 금방 번거로워진다.

런치(Launch) 시스템한 번의 명령으로 여러 노드를 자동 실행하기 위한 것이다. 사용자가 시스템 구성을 기술하면, 그에 맞춰 실행한다.

구성에 포함되는 내용

  • 어떤 프로그램을 실행할지
  • 어디에서 실행할지
  • 어떤 인자를 넘길지
  • ROS 관례에 따른 설정으로, 구성만 바꿔 여러 곳에서 재사용하기 쉽게 하는 것

또한 런치 시스템은 실행된 프로세스의 상태를 모니터링하고, 상태 변화를 보고하거나 반응하는 역할도 한다.

위 내용은 모두 런치 파일(launch file) 에 적는다. 런치 파일은 XML, YAML, Python 중 하나로 작성할 수 있다. ros2 launch 명령으로 이 파일을 실행하면, 파일에 적힌 노드들이 모두 실행된다.

실습은 공식 Launch 튜토리얼(Creating a launch file 등)을 참고하고, 상세 사양은 Launch 문서를 참고하면 된다.


참고: Launch — ROS 2 Jazzy