uORB의 정의

  • “micro Object Request Broker”의 약자
  • PX4에서 사용되는 내부 통신 프레임워크
  • PX4의 여러 모듈들 간에 데이터를 주고받을 수 있게 해주는 *발행/구독(publish/subscribe) 모델의 메시지 버스 역할을 한다.
    • *발행/구독 모델이란? PX4에서 모듈들은 데이터를 발행하거나 구독할 수 있다.
    • 예를 들어, 센서 모듈이 센서 데이터를 발행하면 이를 구독하는 제어 모듈은 해당 데이터를 받아서 처리한다.
  • PX4 내부에서 센서 데이터, 상태 정보, 제어 명령 등을 주고받을 때 사용

특징

  • uORB를 통해 주고받는 데이터는 “토픽(topic)”이라고 불린다.
    토픽은 특정 유형의 데이터를 나타내며, 하나의 토픽은 여러 모듈이 구독하거나 발행할 수 있다.
  • uORB는 모듈들이 서로 직접적으로 의존하지 않고, 비동기적으로 데이터를 교환할 수 있게 해준다.
    이는 시스템의 유연성을 높이고 각 모듈이 독립적으로 동작할 수 있게 한다.
  • PX4는 실시간 운영체제를 대상으로 설계되었기 때문에, uORB는 실시간 성능을 제공하여 빠르고 안정적으로 데이터를 주고받을 수 있다.

ROS2와의 연관성

  • uORB는 PX4 내부에서만 사용되는 통신 방식이지만 ROS2와의 통합을 위해 uORB와 ROS2 메시지 형식간의 변환이 필요하다.
  • 이 변환은 uXRCE-DDS 미들웨어를 통해 이루어지며 이를 통해 PX4와 ROS2 노드 간에 데이터 교환이 가능하다.