PX4 Gazebo仿真說明


Gazebo仿真教程
PX4支持的軟件在環一共是有jMAVSim、Gazebo、AirSim這三種。其中,Gazebo是PX4官方最為推薦的一種仿真器,支持旋翼、固定翼、傾轉、小車等,是所有仿真器里支持平台最多的,也能支持多個無人機的仿真。

Gazebo仿真是如何進行的?

上一張官方圖,Flight stack代表飛控即PX4,Simulator代表仿真器(如Gazebo)。所有仿真器與PX4的通訊都是通過MAVLink消息來進行的,SITL使用simulator模塊中的simulator_mavlink.cpp來處理這些消息,而HITL是使用mavlink模塊中的mavlink_receiver.cpp來處理這些消息。梳理一下這里的消息流向:

PX4到仿真器。PX4給仿真器只會發送一個HIL_ACTUATOR_CONTROLS的MAVLink消息,熟悉PX4的應該知道這個對應的uORB消息是actuator_outputs.msg,也就是姿態控制器最后的輸出控制量。這里也就意味着,混控是在仿真器中進行的,仿真器中也包含電機的模型。
仿真器到PX4。仿真器的作用就是模擬真實飛行,即模擬計算出真實飛行時的傳感器狀態,包括GPS,IMU等,將這些信息發送給飛控后,再由飛控中的估計模塊計算出飛機狀態量。
外部到PX4。這里的外部就比如地面站QGC(可以外接遙控器),Mavros,Dronecode SDK等,這里也就可以模擬我們平時控制飛機的方式。
下面這張圖更清楚的表示出了PX4與各個部分之間的關系。仿真器包含了傳感器和執行機構的模型,負責產生傳感器的原始數據和執行最后的底層控制指令;Offboard API及QGC負責發送傳輸上層指令(位置期望點、速度期望值等)並且監控飛機狀態;PX4固件本身則運行控制及估計模塊(即飛控核心算法)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM