새 기체 추가
PX4는 고정된 기체 구성을 기체의 시작점으로 사용합니다. 구성은 ROMFS/px4fmu_common/init.d 폴더에 저장된 구성 파일에 정의됩니다. 구성 파일은 시스템의 물리적 구성을 설명하고 ROMFS/px4fmu_common/mixers 폴더에 저장되는 믹서 파일을 참조합니다.
구성을 추가하는 것은 간단합니다. init.d/airframes 폴더에 새 구성 파일을 만들고(파일 이름 앞에 사용하지 않은 자동 시작 ID 추가), 새 기체 구성 파일의 이름을 <1 관련 섹션에서 >CMakeLists.txt를 찾은 다음 소프트웨어를 빌드 및 업로드합니다.
자체 구성을 만들고 싶지 않은 개발자는 맞춤 시스템 시작 페이지에 설명된 대로 microSD 카드의 텍스트 파일을 사용하여 기존 구성을 맞춤 설정할 수 있습니다.
구성 파일 개요
구성 파일과 믹서 파일의 구성은 몇 가지 주요 블록으로 이루어집니다.
기체 문서(기체 정의서 및 QGroundControl에서 사용됨).
튜닝 게인을 포함한 차량 매개변수 설정.
시작해야 하는 컨트롤러 및 앱(예: 멀티콥터 또는 고정익 컨트롤러, 지면 탐지기 등)
시스템 물리적 구성(예: 비행기, 날개 또는 멀티콥터). 이것을 믹서라고 합니다.
이러한 측면은 대부분 독립적이므로, 많은 구성이 기체의 동일한 물리적 레이아웃을 공유하고 동일한 응용 프로그램을 시작하며 튜닝 이득이 가장 차이가 납니다.
설정 파일
일반적인 구성 파일은 아래와 같습니다(원본 파일은 여기).
첫 번째 섹션은 기체 문서입니다. 이것은 기체 정의서와 QGroundControl에서 사용됩니다.
다음 섹션은 튜닝 게인을 포함하여, 차량 매개변수를 지정합니다.
기체 유형 설정(MAV_TYPE):
사용할 믹서 설정:
PWM 출력을 구성합니다(구동/활성화할 출력 및 레벨 지정).
채널을 되돌리려면, RC 송신기나 RC1_REV
와 같이 사용하지 마십시오. 채널은 수동 모드에서 비행시에만 반전되며, 자동 조종 비행 모드로 전환하면 채널 출력이 여전히 잘못됩니다(RC 신호만 반전됨). 따라서, 올바른 채널 할당을 위해 PWM 신호를 PWM_MAIN_REV1
(예: 채널 1의 경우)으로 변경하거나 해당 믹서에서 출력 스케일링의 부호를 변경합니다(아래 참조).
믹서 파일
일반적인 믹서 파일은 아래에 나와 있습니다(원본 파일은 여기). 믹서 파일 이름(이 경우 wingwing.main.mix
)은 기체 유형(wingwing
), 출력 유형(.main
또는 .aux
), 그리고 믹서 파일(.mix
)에 대한 중요한 정보를 제공합니다.
믹서 파일에는 여러 코드 블록이 포함되어 있으며, 각 블록은 하나의 액추에이터 또는 ESC를 나타냅니다. 예를 들어 2개의 서보와 1개의 ESC, 믹서 파일에는 3개의 코드 블록이 포함됩니다.
따라서 MAIN1은 왼쪽 에일러론, MAIN2는 오른쪽 에일러론, MAIN3은 비어 있고(Z: 제로 믹서 참고) MAIN4는 스로틀입니다(일반적인 고정익은 출력 4에서 스로틀을 유지하기 위하여).
믹서는 -1..+1에 해당하는 -10000에서 10000까지의 정규화된 단위로 인코딩됩니다.
여기서 왼쪽에서 오른쪽으로 각 숫자는 다음을 의미합니다.
M: 2개의 제어 입력에 대한 2개의 스케일러를 나타냅니다. 믹서가 수신할 컨트롤 입력의 수를 나타냅니다.
O: 출력 스케일링(음수에서 *1, 양수에서 *1), 오프셋(여기서는 0) 및 출력 범위(여기서는 -1..+1)를 나타냅니다.
PWM 신호를 반전시키려면, 출력 스케일링 부호를 변경합니다.
이 줄은 기본 크기 조정을 지정하는 경우 완전히 생략할 수 있습니다(및 반드시 생략해야 함).
S: 첫 번째 입력 스케일러를 나타냅니다. 제어 그룹 #0(Flight Control)과 첫 번째 입력(roll)에서 입력을 받습니다. 롤 제어 입력의 크기를 * 0.6으로 조정하고 부호를 되돌립니다(-0.6은 축척 단위로 -6000이 됨). 오프셋을 적용하지 않고(0) 전체 범위(-1..+1)로 출력합니다.
S: 두 번째 입력 스케일러를 나타냅니다. 제어 그룹 #0(비행 제어) 및 두 번째 입력(피치)에서 입력을 받습니다. 피치 제어 입력 * 0.65를 조정합니다. 오프셋을 적용하지 않고(0) 전체 범위(-1..+1)로 출력합니다.
note 나머지 기체 메타데이터는 펌웨어에 자동으로 포함되어야 합니다(**srcparser.py**가 업데이트되면). :::
게인 튜닝
구성 파일에 지정될 매개변수를 조정하는 방법을 설명합니다.
QGroundControl에 신규 기체 추가
신규 기체를 QGroundControl 기체 구성 섹션에 사용할 수 있도록 하려면:
깨끗한 빌드 만들기(예:
make clean
을 실행한 다음make px4_fmu-v5_default
실행)QGC를 열고 아래와 같이 **맞춤 펌웨어 파일...**을 선택합니다.
플래시할 .px4 펌웨어 파일을 선택하라는 메시지가 표시됩니다(이 파일은 압축된 JSON 파일이며 기체 메타데이터가 포함되어 있습니다).
빌드 폴더로 이동하여 펌웨어 파일을 선택합니다(예: PX4-Autopilot/build/px4_fmu-v5_default/px4_fmu-v5_default.px4).
확인을 눌러, 펌웨어 플래시를 시작합니다.
QGroundControl을 재시작합니다.
QGroundControl에서 신규 기체를 선택할 수 있습니다.
Last updated