PX4自動(dòng)駕駛儀軟件可分為三大部分:實(shí)時(shí)操作系統(tǒng)几睛、中間件和飛行控制棧。
1.NuttX實(shí)時(shí)操作系統(tǒng):
提供POSIX-style的用戶操作環(huán)境史翘,進(jìn)行底層的任務(wù)調(diào)度枉长。
2.PX4中間件:
PX4中間件運(yùn)行于操作系統(tǒng)之上,提供設(shè)備驅(qū)動(dòng)和一個(gè)微對(duì)象請(qǐng)求代理(micro object request broker琼讽,uORB)用于駕駛儀上運(yùn)行的單個(gè)任務(wù)之間的異步通信必峰。我的理解是完全可以將它看成為一種進(jìn)程間通信機(jī)制。
3.PX4飛行控制棧:
飛行控制椬甑牛可以使用PX4的控制軟件棧吼蚁,也可以使用其他的控制軟件,如APM:Plane问欠、APM:Copter肝匆,但必須運(yùn)行于PX4中間件之上。
此部分又可分為3部分:
決策導(dǎo)航部分:
根據(jù)飛行器當(dāng)前飛行狀態(tài)和接收的用戶命令顺献,決定工作模式和飛行任務(wù)旗国。位置姿態(tài)估計(jì)部分:
通過(guò)傳感器獲取自身的位置和姿態(tài)信息。位置姿態(tài)控制部分:
根據(jù)期望與當(dāng)前的位置和姿態(tài)控制飛行狀態(tài)以達(dá)到期望位置和姿態(tài)注整。控制器輸出部分:
mixer和執(zhí)行器能曾,pwm限幅。