PX4和QGC
文章目录
一、PX4
PIxhawk(中文译为PX4)是一个软、硬件开源项目(遵守BSD协议),目的在于为学术、爱好和工业团体提供一款低成本高性能的高端的自驾仪。这个项目源于 ETH Zurich (苏黎世联邦理工大学)的计算机视觉与几何实验室的PIXHAWK项目、并得到了自主系统实验室和 自动控制实验室的支持 ,以及一些出色的个人(Contact and Credits)也参与其中,包括 3D Robotics 和 international 3DR distributors的成员。
PX4是与平台无关的自动驾驶仪软件(或称为固件),可以驱动无人机或无人车。它可以被烧写在某些硬件(如Pixhawk v2),并与地面控制站在一起组成一个完全独立的自动驾驶系统。
PX4 的一些主要功能包括:
可控制许多不同的设备机架/类型,包括:飞机(多旋翼,固定翼和垂直起降),地面车辆和水下潜航器。
适用于设备控制器,传感器和其他外围设备的硬件选择。
灵活而强大的飞行模式和安全功能。
PX4 是一个大型无人机平台的核心部分,包括 QGC 地面站,Pixhawk 硬件,还有MAVSDK用于与机载计算机集成,相机还有其他使用 MAVLink 协议的硬件。
PX4/ArduPilot:两种都是开源的可以烧写到Pixhawk飞控中的自驾仪软件。
APM(Ardupilot Mega)早期也是一款自驾仪硬件,但是更新到了APM3.0版本后,这款自驾仪也就走到了终点。而ArduPilot是属于APM的原生固件,现在ArduPilot也全面支持Pixhawk,而大家也习惯将ArduPilot称为APM。
两个不同固件都是应用C++开发的,区别在于,PX4是Pixhawk的原生固件,它的架构更加清晰容易维护,但是功能比起APM来讲比较少;而APM相对而言,性能更加稳定成熟,功能也更加丰富,与之相对的就是架构不是太清晰所以不利于维护和修改。
————————————————
版权声明:本文为CSDN博主「gwpscut」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gwplovekimi/article/details/118569078
Pixhawk的构造:
PIXHAWK拥有168MHz的运算频率,其中主处理器为STM32F427,协处理器STM32F103,主处理器和协处理器之间采用串口通信方式。为内置两套陀螺和加速度计MEMS传感器,互为补充矫正,内置三轴磁场传感器并可以外接一个三轴磁场传感器,同时可外接一主一备两个GPS传感器,在故障时自动切换。
相比于我们实验室之前使用的飞控,PX4能使用的硬件资源明显更多
PX4 可以通过串行接线或 WiFi 由独立的机载伴飞计算机进行控制。 机载计算机通常使用 MAVLink API(如 MAVSDK 或 MAVROS)进行通信。
二、Windows上的QGC安装及环境搭建
QGC - QGroundControl - Drone Control开源可二次开发
这里是QGC的中文官网,里面有再WIndows系统上安装qgc地面站的教程,我这里没有使用官方推荐的版本。
Windows上qgc源码需要在qt上运行,需要vs的编译器,所以其安装需要vs、qt、qgc源码三者的版本在一定程度上的匹配,网上流传有很多种组合,我试验了很多次,下面这一套是可以正常使用的。
1.安装git
这里git其实可以不需要,但作为基本实用工具,我建议大家安装一下
https://npm.taobao.org/mirrors/git-for-windows/这是git的国内镜像文件
官网下载需要翻墙
安装设置除安装路径全部默认即可
2、VS2017
这里我选择的是vs2017的版本。原先有vs2019,使用其下载器也可以额外下载vs2017,但可能我没有设置好的缘故,导致无法使用,我选择了删除重新下载vs2017
https://visualstudio.microsoft.com/zh-hans/downloads/这是vs中国区下载地址,vs2017需要寻找一下,下载社区版即可
安装组件选择C++及其默认组件就可以了,大概需要10分钟
3、Qt 5.12.6
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
http://download.qt.io/这是qt的一个镜像网站
找到这个5.12.6下载,下载器需要有qt账号,大家注册一个即可
这里其实MinGW可以安装也可以不安装,如果你之前没有装过vs的话,最好安装一下,这个也比较大
4、下载qgc源码v4.0.0
https://pan.baidu.com/s/13TTb6h0XIzfi0kRC3Ws73w密码:1234
下载解压即可
5、Qt配置
打开qt界面的欢迎界面,open你刚下载的文件里的pro文件
然后再项目界面中给文件的运行进行kit的配置
设置好后点击ok,程序就开始运行了,或者可能需要点一下configue,如果一切顺利的话,右下角所有的进度条都会显示正常,最多有几个警告
编译好以后,点击左下角的箭头就可以运行程序了
出现这个画面就算大功告成了,但是一般都不会这么简单地到这一步,嘿嘿嘿!
6、一些问题
重点来了,我就在本人安装的过程中以及网上出现的一些问题总结整理解答一下
1)qt配置中c于c++的版本不对
1、如果是因为这个原因导致的编译失败,可能是vs的安装版本不对,或者有之前的版本文件残留。我建议卸载的时候使用vs自己的下载器来卸载,并用geek软件进行注册表残留删除。geek是很有用的一个卸载软件,因为能删除注册表
https://pan.baidu.com/s/1lFh4WztIb9eCJNL3jdmIaQ密码:5678
2、也有可能是需要修改环境变量,你需要再path里把Qt的两个bin文件路径写入
2)编译过程报错非C2220
将kit配置里的非电脑认可的配置全部删除,我之前卡在这里很久很久,或者重启Qt,总之多试几次
如果还是不可以编译成功,可能是因为安装和电脑环境或者qt的操作失误(Qt的操作很难受)导致的,这时候你就要仔细检查了,求助百度,可能需要全部卸载,重头再来(这很正常,我推倒重来了好几次,呜呜呜)
3)QGC编译报错error C2220: 警告被视为错误
这是网上比较常见的一个错误,原因为代码里有些代码的编码格式不被通过,这里其实本质上是一个警告,可以再设置里把这个取消
或者把编码格式改过来,双击错误信息,进入到错误位置,并通过点击左侧的行数来选中错误的代码行,然后在编辑->select encoding,选择GB2312,点击按编码保存即可,之后继续执行编译,将所有错误文件代码进行修改(我这里只改了一次)