QGC地面站PC橋接px4(QGC+wifi+機載計算機+px4)
- 1 在機載計算機上安裝ubuntu
- 2 安裝ros
- 3 機載計算機上安裝mavros
-
- 1安裝mavros
- 2 安裝安裝mavros相關的 geographiclib dataset
- 4 安裝ssh服務
- 5 連接配接px4和機載計算機
- 6 地面站PC用ssh控制機載計算機
- 7 QGC上建立通訊連接配接
用px4做的無人機,由于手頭沒有數傳,需要進行無人機姿态環和位置環調參,通過QGC地面站PC橋接px4實作讀取飛控狀态參數的功能。
1 在機載計算機上安裝ubuntu
根據自己的需求16.04和18.04都可以(20.04沒試過,應該也可以)
2 安裝ros
ros根據不同的ubuntu版本安裝對應的就可以,不同版本間安裝過程大同小異,可以參考這兩篇部落格
https://blog.csdn.net/weixin_45810108/article/details/109112673
https://blog.csdn.net/weixin_45810108/article/details/109849828
3 機載計算機上安裝mavros
1安裝mavros
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
注意這條指令是基于melodic版本的ros
2 安裝安裝mavros相關的 geographiclib dataset
cd /opt/ros/melodic/lib/mavros
sudo ./install_geographiclib_datasets.sh
如果安裝速度沒反應,可以打開sh檔案并自行下載下傳相關的檔案,解壓到對應檔案夾裡即可
4 安裝ssh服務
要将運作qgc的電腦連接配接到機載計算機,需要讓這兩個系統連接配接到同一個wifi下,并安裝ssh服務,将機載計算機端的ssh服務設為ie開機啟動,安裝可以參考下面這篇部落格
https://blog.csdn.net/weixin_45810108/article/details/112783548
5 連接配接px4和機載計算機
參考官方教程
6 地面站PC用ssh控制機載計算機
7 QGC上建立通訊連接配接
在地面站pc用ssh控制機載計算機後,運作mavros px4.launch
roslaunch mavros px4.launch
如果報錯基本就是fcl_url沒有比對,打開終端(根據ROS版本置換melodic和kinetic):
cd /opt/ros/melodic/share/mavros/launch
sudo gedit px4.launch
找到
arg name=“fcu_url” default="/dev/ttyACM0:57600"
問題就在這兒.因為是USB連接配接的,是以得改為:
arg name=“fcu_url” default="/dev/ttyUSB0:57600"
然後就可以運作了.運作過程中運作指令
rostopic echo /mavros/state
會發現問題,顯示connected :false;mavros更根本沒有和飛控連接配接上,這裡主要由以下幾個原因:
序列槽有沒有接對
波特率是否正确
機載計算機是否設定了序列槽
這裡要去QGC端設定,QGC連上飛控以後,
設定MAV_1_CONFIG為TELEM2
将波特率設定為上面/dev/ttyUSB0:57600的57600.
現在去運作mavros就可以顯示connected True了.
但你又會發現一個新的問題:
他會顯示:
TTL的速度異常
這裡就再次:
cd /opt/ros/melodic/share/mavros/launch
找到px4_config.yaml檔案
sudo vi px4_config.yaml
将timesync_rate:設定為0.0即可.至此,就可以實作QGC讀取到飛控狀态了