Pixhawk原始碼筆記七 姿態控制預覽

2021-08-21 23:58:07 字數 1272 閱讀 4972

這裡,我們以高度保持模式為例,對姿態控制程式呼叫關係進行了詳細介紹。如有問題,可以交流[email protected]英文參考:

本節源自:姿態控制概覽.html

手動飛行模式,諸如自穩模式(stabilize mode)、特技模式(acro mode)、飄逸模式(drift mode),其程式結構如下圖:

在主迴圈執行過程中(比如pixhawk的任務排程週期2.5ms,400hz;apm2.x為10ms,100hz),每乙個週期,程式會按下述步驟執行:

1)angle_ef_roll_pitch_rate_ef_yaw()

:該函式需要乙個地軸系座標下滾轉和偏航角度,乙個地軸系座標下的偏航速率。例如:傳遞給該函式三個引數分別為,roll = -1000pitch = -1500yaw = 500代表飛行器此時向左傾斜10°,低頭15°,向右偏航速率為5°/s。

2)angle_ef_roll_pitch_yaw()

:該函式接受地軸系下的滾轉、俯仰和偏航角。和上面的函式類似,不過引數yaw = 500代表飛行器北偏東5°

3)rate_bf_roll_pitch_yaw()

:該函式接受乙個體軸系下的滾轉、俯仰和偏航角速率(°/s)。例如:傳遞給該函式三個引數:roll = -1000pitch = -1500yaw = 500代表飛行器此時左傾速率10°/s,低頭速率15°/s,繞z軸速率為5°/s。

另外,1)set_alt_target_from_climb_rate():將爬公升率(cm/s)作為引數,用來更新乙個需要調整的相對高度目標。

1)set_roll(),set_pitch(),set_yaw()

:接受在[-4500,4500]角度範圍內的滾轉、俯仰和偏航角。這些引數不是期望角度或者速率,更準確的講,它僅僅是乙個數值。例如,set_roll(-4500)將代表飛行器盡可能快的向左滾轉。

2)set_throttle():接受乙個範圍在[0,1000]的相對油門值。0代表電機關閉,1000代表滿油門狀態。

行人姿態估計原始碼AlphaPose

機器環境 ubuntu16.04,cuda8.0 1.torch tensorflow 版本 首先跑的是torch版本,安裝了torch和tensorflow後執行程式出現如下錯誤 error in python2 corrupted size vs.prev size 0x000000000298...

APM關鍵姿態控制原始碼講解

手控姿態增穩函式 vector3f angle ef target angle controller earth frame targets vector3f angle bf error angle controller body frame error vector3f rate bf targ...

原始碼編譯Boost庫的正確姿態

專案需要編譯pcl庫到arm平台,交叉編譯boost,eigen3,flann,之後再編譯pcl庫的時候總是報錯,讓新增 fpic選項重新編譯。沒細看以為是要在編譯pcl庫時新增 fpic,前試後試了各種方法新增 fpic選項,還是報錯。搜錯誤 得到的答案還是要新增 fpic doge 編譯boos...