PX4 overview


Pixhawk

  • Flight Management Unit – Autopilot + Mission Manager
  • 168 MHz Cortex M4F (FPU, 192 KB RAM, 1 MB flash)
  • 10 DOF sensors
  • Lots of connectivity (including CAN)

inline


PX4 소프트웨어 디자인

  • Reusing existing standards
  • MAVLink
  • UAVCAN comms
  • POSIX-style threading
  • POSIX-style C and driver API
  • Publish /subscribe design
  • BSD

PX4 Architeture

  • Layer model
  • Multiple applications per layer
  • pub() / sub() application interface
  • Generalized I/O interface (supports e.g. CAN or PWM)

PX4 Architeture

fill


fill


PX4 Control


With Onboard


I/O


Lightweight ORB – Pub/Sub

Flat address space in NuttX

  • uORB, lightweight object request broker
  • publish: topic_handle = orb_advertise(ORB_ID(random_integer), &rd);
  • subscribe: topic_handle = orb_subscribe(ORB_ID(random_integer));

uORB


Shell

  • UART/ USB Shell
  • Init Script
  • Posix 명령어 (top, ps ..)

이식성


여러 플랫폼이 사용. 심지어 DJI

PX4, APM, Parrot


Companion Computer (Onboard)


Mixer

제어신호 Motor를 매핑. 비행기 종류마다 최적의 Mixer 값이 다름


Testing


참고