ROS #18 Intra-process communication

남생이·2024년 10월 24일

ROS

목록 보기
19/28

1. Intra-process communication

  • ROS에서 복수개의 node 사용 시 데이터 통신 작업으로 인한 성능 저하가 발생 --> IPC로 방지

  • 서로 다른 프로세스는 송수신되는 데이터가 여러번 메모리에 복사되어 성능저하가 발생

  • IPC는 복수개의 노드를 단일 프로세스에서 처리하여 해당 문제를 해결

  • 데이터 복사가 아닌 참조를 통해 전달

  • 공유 메모리 방식으로 노드들이 동일한 데이터에 접근

  • 여러 노드를 하나의 프로세스에서 실행하는 '노드 컴포지션' 기능 제공

2. IPC 코드

ros2 run intra_process_demo image_pipeline_all_in_one
  • 이미지 처리 파이프 라인을 하나의 노드 내에서 실행
  • 이미지 처리의 다양한 단계가 동일한 노드에서 이루어지며 IPC를 통해 공유 메모리를 사용해 데이터를 교환
ros2 run intra_process_Demo image_view_node
  • 이미지 데이터를 구독하고 시각화하는 노드 실행, 처리된 이미지 데이터를 받아 보여주는 역할
  • IPC를 사용하여 다른 노드에서 퍼블리시한 이미지 데이터를 참조하여 표시
profile
공부하는 거북이

0개의 댓글