PX4 아키텍쳐

아래 섹션에서는 "일반적인" PX4 시스템의 하드웨어와 소프트웨어 개요를 제공합니다. 하나는 비행 콘트롤러만 있는 것이고 다른 하나는 비행 컨트롤러와 보조 컴퓨터("미션 컴퓨터"라고도 함)가 있습니다.

비행 콘트롤러

아래 다이어그램은 비행 콘트롤러 기반 PX4 시스템 개요입니다.

하드웨어 구성

  • 비행 콘트롤러(PX4 비행 스택 실행). 콘트롤러에는 대부분 내부 IMU, 나침반 및 기압계가 포함되어 있습니다.

  • 모터 ESCPWM 출력, UAVCAN(UAVCAN은 그림과 같이 단일 방향이 아닌 양방향 통신을 허용함) 또는 기타 버스에 연결됩니다.

  • I2C, SPI, UAVCAN, UART 등을 통해 연결된 센서(GPS, 나침반, 거리 센서, 기압계, 광류, 기압계, ADSB 트랜스폰더 등)

  • 카메라 또는 기타 페이로드. 카메라는 PWM 출력에 연결하거나 MAVLink로 연결할 수 있습니다.

  • 지상국 컴퓨터/소프트웨어에 연결하기 위한 텔레메트리 라디오.

  • 수동 제어를 위한 RC 제어 시스템

다이어그램의 왼쪽은 다이어그램의 하드웨어 부분과 수평으로 정렬된(대략적으로) 소프트웨어 스택을 나타냅니다.

  • 지상국 컴퓨터는 일반적으로 QGroundControl(또는 일부 다른 지상국 소프트웨어)을 실행합니다. 또한 MAVSDK 또는 ROS와 같은 로봇 소프트웨어를 실행할 수 있습니다.

  • 비행 컨트롤러에서 실행되는 PX4 비행 스택에는 드라이버, 통신 모듈, 컨트롤러, 추정기 및 기타 <3 >미들웨어 및 시스템 모듈 등이 포함됩니다.

비행 콘트롤러와 보조 컴퓨터

아래 다이어그램은 비행 콘트롤러와 보조 컴퓨터(여기서는 "임무 컴퓨터"라고 함)를 포함하는 PX4 시스템을 나타냅니다.

비행 콘트롤러는 일반 PX4 비행 스택을 실행하고, 보조 컴퓨터는 물체 회피충돌 방지와 같은 고급 기능을 제공합니다. 두 시스템은 고속 직렬 또는 IP 링크로 연결되며, 일반적으로 MAVLink 프로토콜로 통신합니다. 지상국 및 클라우드와의 통신은 일반적으로 보조 컴퓨터를 통해 라우팅됩니다(예: Intel의 MAVLink 라우터 사용).

PX4 시스템은 일반적으로 보조 컴퓨터에서 Linux OS를 실행합니다(PX4/Avoidance 프로젝트가 Linux용으로 설계된 ROS 기반 회피 라이브러리를 제공하기 때문). Linux는 NuttX보다 "일반" 소프트웨어 개발을 위한 플랫폼입니다. 많은 Linux 개발자와 유용한 소프트웨어가 이미 개발되어 있습니다(예: 컴퓨터 비전, 통신, 클라우드 통합, 하드웨어 드라이버용). 보조 컴퓨터는 때때로 같은 이유로 Android를 사용합니다.

Last updated