[ROS2 Multi Thread] Multi Thread의 필요성
·
ROS2
1. 개요ROS2에서는 하나의 노드에서 여러 개의 토픽을 구독하거나, 다양한 센서 데이터를 동시에 처리해야 하는 경우가 많다. 이때, 시스템이 어떻게 콜백을 처리하는지에 따라 전체 성능과 반응 속도에 큰 영향을 미친다. ROS2의 기본 실행 모델은 SingleThreadedExecutor이기 때문에, 아무리 많은 토픽을 구독하더라도 콜백은 하나씩 순차적으로 처리된다. 이로 인해 여러 센서 데이터가 동시에 들어와도 처리 지연(latency)이 발생할 수 있다. 이러한 문제를 해결하기 위한 방법이 바로 멀티 스레드(Multi-Threading)이다. 2. 상황 예제 코드다음은 하나의 노드에서 IMU, Odometry 또는 PoseStamped 데이터를 구독하고, 일정 주기로 통합 처리를 수행하는 예제이다.여..