天天看點

QGC地面站PC橋接px4(QGC+wifi+機載計算機+px4)1 在機載計算機上安裝ubuntu2 安裝ros3 機載計算機上安裝mavros4 安裝ssh服務5 連接配接px4和機載計算機6 地面站PC用ssh控制機載計算機7 QGC上建立通訊連接配接

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讀取到飛控狀态了

繼續閱讀