QGroundcontrol 开源地面站本地编译

来源:互联网 发布:网络测试仪坏了 编辑:程序博客网 时间:2024/06/04 18:35

前段时间做一个无人船的项目,需要一个地面站来控制船的运动轨迹和参数显示。我首先就想到了用开源的无人机的地面站软件来用。
现在主流的有2种开源的地面站软件
- MissionPlanner
- QGroundControl

MissionPlanner

MissionPlanner是一个为APM飞控而生的开源地面站软件,由Michael Oborne于2010年发布,使用C#编写,只能在windows下运行。
MissionPlanner拥有以下功能:
- 为APM,Pixhawk飞控升级最新版本固件;
- 对飞控进行配置,调整参数以达到最优的性能;
- 可以在Google或者其它地图上进行点击式的飞行路径规划设置,并将自动航线飞行任务上传至飞控;
- 可以将飞控上记录的飞行日志下载下来并进行分析;
- 可以和PC上的飞行模拟器软件进行交互,来实现一个无人机 的半实物仿真功能;
- 在拥有合适的数传电台的情况下,你可以:
- 在操作飞行器的时候同时监测它的状态;
- 通过无线数据传输可以记录下比板载日志功能更多的信息;
- 查看和分析数传日志;
- 在FPV(第一人称视角)模式下操纵你的飞行器。

QGroundcontrol

QGroundcontrol 官网
QGroundcontrol 在国内用的比较少并没有像上面的MissionPlanner用的多。
根据我的想法来说下面的几个原因导致了QGroundcontrol 使用的人并不是很多:
- QGroundcontrol 使用Qt进行开发的,使用了c++语言就增加了软件开发的难度了。
- Qt软件在国内的使用不是很广泛(不过近年来用的越来越广泛了)。
- QGroundcontrol 并没有官方的中文版软件。MissionPlanner有中文版的软件,而且中文版确实做得很不错。
- QGroundcontrol 目前只支持google地图 bing图 还有一个不熟悉的地图 在中国拥有伟大长城的环境下goole地图不好使 bing地图根本就不精确,很模糊。MissionPlanner就支持许多中国地图如百度地图、高德地图。
- QGroundcontrol 由于是Qt编写的所以跨平台做得特别好。支持windows linux android ios mac os , 感觉特别适合手持式平板电脑的使用,不用再麻烦去开发安卓的版本了。

QGroundcontrol 源码编译环境搭建 windows版本

1. 下载 QGroundcontrol源码

QGroundcontrol GitHub 地址
不过不能直接用download 的方法下载源码,因为这种方法会造成有些驱动没有被下载下来。如mavlink、gps驱动没被下载下来。
用自己的账号登录一下,在fork一下。在自己的电脑上安装一下GitHub客户端软件,用客户端下载QGroundcontrol 的源码。
github桌面客户端

在这里提醒一下,GitHub桌面软件如果用官方提供的安装方式来安装特别难安装。可能是长城的原因的吧。我建议大家用网上的离线安装包来安装。
我选择的是最新的master版本(时间2017-6-5)。
软件的版本很重要,不同的版本其采用的Qt版本不一样。
至此,软件已经成功的下载下来了。

Qt4.7.1 和 vs2015安装

我选择的是最新的master版本(时间2017-6-5)。通过查看软件中的README文件。可以知道编译软件所需要的Qt和vs的版本。
README文件

Qt5.7.1下载地址
qt-opensource-windows-x86-msvc2015-5.7.1 请下载这个版本的。
安装完Qt后要设置环境变量,在path变量中添加
D:\Qt\Qt5.7.1\5.7\msvc2015\bin;
D:\Qt\Qt5.7.1\Tools\bin;
前面是我的Qt安装路径,将其改为你的路径。
下载vs2015安装 直接下载社区版的就可以了。

打开 QGroundcontrol 源码并编译

用Qt creator软件打开QGroundcontrol源码 ,直接编译就可以看到软件能被成功编译并运行起来。

QGroundcontrol 源码编译环境搭建 Ubuntu版本

Ubuntu版本下环境搭建比较简单。

直接用

git clone --recursive https://github.com/mavlink/qgroundcontrol.git

就能下载最新的代码了

再下载一个linux版本的Qt5.7.1软件就可以直接打开编译软件了。
如果这个有错的话看看README文件 是否Qt版本不对应,或者是Ubuntu中某些基础软件没有安装。

                             2017-06-05