日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pixhawk软件架构

發(fā)布時間:2024/4/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pixhawk软件架构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


平臺支持

PX4飛控固件不針對特定的車輛/機體模型進行開發(fā),所以支持的平臺的數(shù)量是無限的。目前主要有多旋翼、固定翼、垂直起降三類機型的固件。

軟件結(jié)構(gòu)

可分為三大部分:實時操作系統(tǒng)、中間件和飛行控制棧

1.Nuttx實時操作系統(tǒng)

???????? 提供POSIX-style的用戶操作環(huán)境(printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioctl()),進行底層的任務(wù)調(diào)度。

2.中間件

???????? pixhawk中間件運行于操作系統(tǒng)之上,提供設(shè)備驅(qū)動和一個微對象請求代理micro object request broker uORB)用于飛控上運行的單個任務(wù)之間的異步通信

3.飛行控制棧

???????? 飛行控制棧可以使用pixhawk的控制軟件棧,也可以使用其他的控制軟件,如APM:PlaneAPM:Copter,但必須運行于PX4中間件之上。

飛控軟件設(shè)計

飛行控制需要可靠的定時和清晰的優(yōu)先級。通過使用多線程操作系統(tǒng)和運行高效的驅(qū)動程序與中斷優(yōu)先級的正確調(diào)度可以保證控制循環(huán)執(zhí)行。如果一個運行較慢的循環(huán),需要更長的時間來處理,飛控系統(tǒng)并沒有丟失。新的控制應(yīng)用程序也可以添加,而不需要把應(yīng)用程序加在主循環(huán)中。

模塊設(shè)計

在每一層,每個驅(qū)動程序或控制器/狀態(tài)估計程序都是一個獨立模塊,能夠在運行期間互相通信。 這種清晰和模塊化的設(shè)計不僅有助于支持更多機型(因為不存在特定機型的主循環(huán)),同時使得代碼具有高度的可移植性。

Publish / Subscribe設(shè)計模式ORB

飛控中每個進程都可以通過Publish/Subscribe模式與其他進程以及驅(qū)動進行連接。該模式允許進程在無鎖模式下通信,或者簡化添加一個新的進程/應(yīng)用,有很顯著的效果。

飛行器上應(yīng)用程序列表

以下應(yīng)用程序隨著在系統(tǒng)運行啟動,其他的應(yīng)用程序可以通過NuttShell命令來啟動。為了得到完整的應(yīng)用程序列表,可以在shell終端中輸入help指令。另外可以在終端中輸入top或者ps 命令來確定哪個當(dāng)前哪個應(yīng)用程序正在運行。

應(yīng)用程序隨著在系統(tǒng)啟動時自動運行,所有的程序都記錄在系統(tǒng)啟動記錄頁面上。

shell命令

下面的是部分nuttshell命令。

顯示幫助信息

free–顯示內(nèi)存的使用情況

kill–終止一個進程

LS–目錄列表

系統(tǒng)命令程序

mavlink?通過串口發(fā)送和接收mavlink信息

sdlog2?保存系統(tǒng)日志/飛行數(shù)據(jù)到SD

tests??測試系統(tǒng)中的測試程序

top?列出當(dāng)前的進程和CPU負載

uORB?–?微對象請求代理器-分發(fā)其他應(yīng)用程序之間的信息

驅(qū)動

mkblctrl–blctrl電子模塊驅(qū)動

esc_calib?–ESC的校準(zhǔn)工具

fmu?–FMU引腳輸入輸出定義

gpio_led?–GPIO LED驅(qū)動

gps?–GPS接收器驅(qū)動

pwm?–PWM的更新速率命令

sensors?傳感器應(yīng)用

px4io?–px4io驅(qū)動

uavcan?–uavcan驅(qū)動

飛行控制的程序

飛行安全和導(dǎo)航

commander?主要飛行安全狀態(tài)機

navigator?任務(wù),失效保護和RTL導(dǎo)航儀

估計姿態(tài)和位置

attitude_estimator_ekf?基于EKF的姿態(tài)估計

ekf_att_pos_estimator?基于EKF的姿態(tài)和位置估計

position_estimator_inav慣性導(dǎo)航的位置估計

multirotor姿態(tài)和位置控制器

mc_att_control–multirotor姿態(tài)控制器

mc_pos_control?–multirotor位置控制器

fixedwing姿態(tài)和位置控制器

fw_att_control?固定翼飛機的姿態(tài)控制

fw_pos_control_l1?固定翼位置控制器

垂直起降姿態(tài)控制器

vtol_att_control?垂直起降姿態(tài)控制器

總結(jié)

以上是生活随笔為你收集整理的pixhawk软件架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。