科普|px4入门详解

2019 年 7 月 7 日 无人机

(一)无人机PX4基本概念



1
PX4自驾仪



PX4是与平台无关的自动驾驶仪软件(或称为固件),可以驱动无人机或无人车。它可以被烧写在某些硬件(如Pixhawk v2),并与地面控制站在一起组成一个完全独立的自动驾驶系统。

PX4地面控制站被称为QGroundControl,是PX4自驾系统不可分割的一部分,可以运行在Windows,OS X或Linux等多个平台。

使用QGroundControl,您可以将PX4固件烧写到硬件,设置机器,改变不同的参数,获得实时航班信息,创建和执行完全自主的任务


图1 QGroundControl 主界面

 



2
机器头朝向




不论是船还是飞行器都应该有机器头朝向或定义其前向运动的方向为机器头方向。



图2 不同飞行器头机体坐标

 

清楚机器头方向,以保证自驾仪同机器运动向量相一致极为重要!

尽管对于多轴无人机来讲自身因为有较高的对称性而导致机器头方向不明显,但通常制造商会通过使用有颜色的桨或机臂来标示机器头朝向。



图3 不同飞行器头朝向

 

本文的插图我们使用红色桨来标示多轴飞行器头朝向。




3
PX4连接




为了能够对您的PX4无人驾驶仪进行配置、控制及交互,需要先对其进行连接。对于Pixhawk硬件有三种类型的连接:

  1. 遥控连接 – 通过无线电实现遥控器对飞控的连接。

  2. 数据连接 – 使用数传、WiFi或者USB线对QGroundControl地面站和无人机进行的连接。

  3. 机外连接 – PX4和外部能够控制PX4的微机之间的数据连接。




4
遥控




对于无人机最基本的控制形式就是使用遥控器。目前有很多类型的遥控器,这里我们将通过使用最流行的飞行器遥控器进行讲解。


图4 左图右手油门,右图左手油门

 

遥控器“MODE 1”和遥控器“MODE 2”之间的区别是根据不同人的用手偏好,将油门通道放在左侧或右侧。建议您进行尝试后再决定购买以上两种类型遥控器中的哪一种。




5
基本的飞行




为了控制您的飞行器,您需要知道并深刻理解基本的横滚(Roll)、俯仰(Pitch)、偏航(Yaw)和油门(Throttle)指令及这些指令在三维空间施加到飞行器上所产生的运动效果。


图5 横滚、俯仰、偏航、油门指令对应通道

 

以上指令被施加可悬停飞行器如直升机、多旋翼上和被施加到前向飞行飞行器如固定翼飞行器上,飞行器会产生不同的响应。


  • 可悬停飞行器(如直升机、多旋翼或垂直起降无人机)的基本运动:。

图6 控制指令对四旋翼控制效果图

 

需要牢记的是对于可悬停飞行器(多轴无人机,直升机)而言,

  1. 横滚指令会产生左移/右移飞行效果;

  2. 俯仰指令会产生前进/后退飞行效果;

  3. 偏航指令会产生基于飞行器中心点左旋转/右旋转飞行效果。


  • 前向飞行器(如固定翼)的基本运动:


图7 控制指令对固定翼控制效果图

 

需要牢记的是对于前向飞行飞行器(固定翼无人机)而言,

  1. 横滚指令会产生左旋转/右旋转及转弯飞行效果;

  2. 俯仰指令会产生上升/下降飞行效果;

  3. 偏航指令会产生尾翼的左旋转/右旋转及转弯飞行效果。


使用以上4种基本的命令您可以在空中任何方向操控您的无人机进行飞行。最重要的是您将可以进行飞行器中最重要的飞行操作 - 起飞和降落。



(二)PX4无人机机架选择



1
机架选型



如果您计划在无人机上使用PX4,在选机架之前,首先您应该回答的问题就是您的无人机的用途是什么。

是用来完成某种工作还是只是为了娱乐?续航时间和覆盖范围要求是多少?


  • 如果需要精准的悬停功能并且可以接受较短的续航时间,建议选用多旋翼无人机

  • 如果对续航时间和覆盖范围要求较高的话,建议选用固定翼无人机

  • 有一种混合类型的飞行器叫“垂直起降飞行器”,它可以像多旋翼一样垂直起飞,起飞完成后变成像固定翼飞行器一样前向飞行。

垂直起降飞行器集多旋翼无人机和固定翼多旋翼无人机优点于一身,具有比多旋翼无人机更长的续航、更大的覆盖范围以及与固定翼无人机相比具有精准悬停的能力。


越来越多类型的机架已经被调整地可以使用PX4进行完美飞行,例如DJI F450也就是风火轮F450机架。

具体有哪些飞控参数需要被调整以及如何调整这些参数以达到完美飞行,我们会在逐步深入讲解中一一道来。 



图1 四旋翼无人机机架示意图

(橙色三角指向为机器头朝向,

四个电机箭头方向为电机转向)




2
机架配置




一旦选中并购买或组装了机架后,在对无人机的飞控初始化阶段,你需要从地面站QGroundControl中众多的机架模板中选择一款和你使用的构造类似的机架。

图2  地面站QGroundControl中机架模板

(三)PX4无人机飞控选择



1
Pixhawk飞控



第一代Pixhawk飞控


所谓无人机的飞控,就是无人机的飞行控制系统。


无人机飞控能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行,是无人机的大脑。


Pixhawk是第一款专门为PX4自驾软件而设计的无人机飞控。第一个版本的Pixhawk被命名为Pixhawk v1,也被称作FMUv1,它包含PX4FMU和PX4IO两部分。


PX4FMU是Pixhawk v1飞控的核心控制部分,主要负责姿态解算等等算法的执行;PX4IO主要负责飞控各外设接口的管理。 

 

  • PX4FMU



  • PX4IO





第二代Pixhawk飞控


继FMUv1飞控之后,第二代飞控被称为Pixhawk v2或FMUv2。


在FMUv2这个版本飞控中,第一代中的PX4FMU和PX4IO被合并到了一个PCB上,成为了真正的一体化飞控。


Pixhawk v2



Pixhawk v2是当前最流行的Pixhawk飞控。

Pixhawk v2.4.5是Pixhawk v2的子版本。




2
开源硬件概念




Pixhawk飞控是开源硬件架构,所以全世界很多公司出品了基于Pixhawk的飞控产品。他们都有共同的硬件架构和相同的连接方式、输出接口及功能,仅仅是具体形式不同而已,例如接口的位置不同、外壳不同等等。


下面是一些衍生的Pixhawk控制器。


HKPilot32



Pixfalcon



AUAV-X2


所有的Pixhawk飞控都有同样的连接方式和设置流程。


注:除了PX4这款自驾仪软件,还有一种飞行协议栈(或称自驾仪软件)可以被烧写到Pixhawk飞控,那就是非常流行的ArduPilot或称为APM的自驾仪软件。因此很多人觉得很困惑并以为把Pixhawk同APM相提并论是不对的。

请牢记,Pixhawk飞控是硬件平台,而PX4和APM都是开源的可以烧写到Pixhawk飞控中的自驾仪软件。




3
高通骁龙无人机飞控




无人机毕竟只是飞行平台,在飞行过程中,通常有很多的如图像分析、避障以及许多的在线服务和系统集成等任务需要处理。


在骁龙飞控诞生之前,通常是使用树莓派之类的微处理器与飞控协同工作,这种通常的集成方式有时很繁琐,对于普通用户而言很难成功实现。


高通公司解决了这个集成难的问题,并且真正地实现了把用于处理多任务的微处理器和飞控处理器集成到了一块电路板上。


高通骁龙无人机飞控



这款飞控拥有四核CPU、一个功能的GPU以及很多的摄像头和传感器。它可以在使用PX4自驾仪软件控制飞行器飞行的同时,还可以作为微机处理很多额外的任务。


(四)PX4无人机传感器选择


1
无人机传感器简介




由于Pixhawk飞控已经内置了传感器,PX4自驾仪完全可以在飞控没有任何外部传感器的情况下完成对无人机的飞行控制。


Pixhawk飞控内置了三轴陀螺仪+三轴加速度计+三轴磁力计+气压计传感器(气压计被用于获取无人机高度信息)。


强烈建议在机上安装GPS来释放飞行器的全部潜力,并且安装GPS后无人机可以在全自动模式下完成任务。


对于大部分的固定翼飞行器而言,空速器是必须配备的。


GPS/COMPASS




由于Pixhawk内置的磁力计非常靠近其他的电子器件,所以它很容易受到电磁干扰。


为了减小这种干扰,通常可在飞控上再外接一个磁力计,并且尽量将该磁力计远离飞行器上其他电子器件。


空速传感器对于大部分的固定翼无人机及垂直起降无人机而言都是必须配备的。空速传感器之所以如此重要,是因为除了空速计外PX4自驾仪没有其他的手段来检测失速。推荐使用数字空速传感器。


空速计




2
无人机测距




随着时间的推移,市场上出现了越来越多廉价的激光雷达测距仪。


这些传感器通常被用于在无人机降落的最后阶段进行高度精准测量,也可以被用于无人机避障。


PulsedLight发布了型号为Lidar-Lite2激光雷达测距仪,这款很经济的测量设备被广泛运用在无人机等各种应用场景。它可以测量距离、速度和从0到40米距离内的合作及非合作目标的信号强度。与同类发射单一光束的测距传感器相比,该设备性能较好。


Lidar-Lite2





3
无人机定位




在飞控外接了GPS模块,且GPS信号良好的情况下,无人机可以融合GPS信号信息进行定位。


但在没有GPS信号的的情况下,通常光流传感器被用来作为定位设备。


PX4FLOW


集成了声呐传感器的光流智能摄像头可以进行运动跟踪。声呐和摄像头的信息被送到Pixhawk飞控进行数据融合以实现定位功能。


(五)PX4自驾仪初步配置


1
QGroundControl下载&安装



环境

硬件:PC/Mac/移动终端、Pixhawk飞控

软件:QGroundControl地面站

固件:PX4


QGroundControl支持列表


QGroundControl运行在以上列表平台设备上,PX4固件运行在Pixhawk飞控上。


地面站连接飞控示意图



见者有份儿,先来福利一发!


长按下方二维码打开QGroundControl下载链接。

使用电脑或移动终端下载对应平台的QGroundControl地面站,完成QGroundControl安装后,连接Pixhawk飞控,就可以开始对自驾仪PX4进行配置了。 


QGroundControl下载链接



对PX4自驾仪的配置请熟练掌握以下几个姿势:

  1. 机架选型,可以选择直升机、多旋翼、垂直起降无人机等等

  2. 校准自驾仪的传感器并选择正确的自驾仪放置方位

  3. 校准遥控器

  4. 配置遥控器上的开关来控制飞行模式


除此之外,还有很多项是可以使用地面站进行配置的,但以上几步是必不可少的。





2
QGroundControl视频教程




视频教程中主要内容如下:

1、固件升级 


2、机架选型


3、传感器校准


4、遥控器校准


5、飞行模式通道设置



注意:待地面站每一个选项卡右侧的红点变成绿点后表示该项校准完成,如未变成绿色,需要重复校准。

(六)PX4无人机飞行模式配置



1
飞行模式配置步骤




环境

硬件:PC/Mac/移动终端、Pixhawk飞控、遥控器

软件:QGroundControl地面站

固件:PX4


飞行模式决定了飞控如何响应用户的控制信号。


PX4自驾仪支持多种飞行模式,但在实际使用中并需要配置那么多飞行模式,按需配置即可。


飞行模式配置步骤:

  1. 使用USB线或数传连接pixhawk和QGroundControl;

  2. 使用QGroundControl配置所需PX4飞行模式(具体操作见下文);

  3. 使用遥控器或地面站控制PX4无人机飞行模式的切换。


*注:如果遥控器和地面站同时连接了飞控,遥控器和地面站都可以切换飞控飞行模式。





2
飞行模式具体配置




针对上文配置步骤中的第2点:使用QGroundControl配置所需PX4飞行模式。在此进行详细讲解。


使用QGroundControl可以指定遥控器的一个或多个通道来实现pixhawk飞控飞行模式的切换。通常把遥控器三段开关的每一段分配一种飞行模式,通过拨动该开关达到切换飞行模式的目的。


如下图所示,选中通道,并指定该通道在不同数值范围的飞行模式即可。


单通道控制飞行模式


多通道控制飞行模式


在地面站中的飞行模式界面中为每种飞行模式选择对应的遥控器通道,通过改变遥控器的通道值达到对飞行模式控制的目的。


飞行模式通道设置截图



注意:待地面站每一个选项卡右侧的红点变成绿点后表示该项配置完成,如未变成绿色,需要重复操作。


(七)PX4无人机硬件连接



1
PX4无人机硬件连接




(Note: The image above is from 3DR.)


设备

  1. 飞控(Pixhawk)

  2. 电源模块(Power Module)

  3. 电池(Battery)

  4. 电池报警器(Battery Warning)

  5. 电调(ESC)

  6. 电机(Motor)

  7. 脉位调制信号接收器(PPM Sum Receiver)

  8. 遥控器接收器(Remote Controller Receiver)

  9. 遥控器发射器(Transmitter)

  10. 全球定位系统接收器和电子罗盘(GPS & Compass)

  11. 蜂鸣器(Buzzer)

  12. 安全开关(Switch)

  13. 数传(Telemetry)

  14. 平板电脑(Tablet)

  15. 云台(Gimbal)

  16. 相机(Camera)





2
填坑




以上设备清单中各项设备的作用和工作原理都比较容易理解,这里只对清单中标绿的几项进行重点说明,破除知识盲点,避免入坑。


  1. 电池报警器

    • 作用:本质上是电压检测器,其主要目的是防止锂电池过放;

    • 工作原理:电池报警器可以自动检测锂电池总电压和每个电芯的电压,当电压低于该报警器设定电压值,就会触发蜂鸣器鸣叫报警。

  2. 电机

    • 作用:为无人机提供动力;

    • 说明:上图是一个航拍四旋翼的方案,所以只有4个电机,但Pixhawk飞控目前最多支持接入8个电机。一旦确定飞控的位置后,电机的转向就确定了,如果出现非理想电机转向,只需交换电机三根线中的任意两根即可。

  3. 脉位调制信号接收器

    • 作用:将遥控器接收器的多路PWM信号转换成一路PPM信号并输出给Pixhawk;

    • 工作原理:通常遥控器接收器输出的信号是PWM信号,而Pixhawk无法解码PWM信号,所以需要PPM模块将遥控器接收器的PWM信号转换成PPM信号并输出给Pixhawk。但这个单独的PPM模块并不是必须的,因为有些遥控器接收器本身就可以输出Pixhawk可以解码的PPM信号。

  4. 电子罗盘

    • 作用:为无人机提供方位数据;

    • 说明:Pixhawk飞控本身具有电子罗盘,然而内置电子罗盘易受电机及其他电路干扰,外接电子罗盘通常被放置在电磁干扰比较小的位置,以获得更可信的方位数据,强烈推荐安装外置罗盘。

  5. 平板电脑

    • 作用:无人机地面站软件运行硬件平台;

    • 工作原理:地面站可以通过数传对无人机进行设置和控制,由于地面站支持多平台,所以也可以使用PC或Mac等代替平板电脑。

    PX4无人机任务规划与执行(八)



1
飞行任务规划



PX4无人机飞行任务规划非常简单,只需要点击QGroundControl地面站最上面一排选项卡切换到任务视图(选项卡变成黄色表示被选中),点击左上角的➕(加号)图标,然后点击屏幕地图即可进行任务规划。


任务规划前任务视图


需要注意的是,只需要点击一次左上角加号,就可以通过在屏幕上进行连续多次点击设置多个航点,按照航点顺序会自动生成航线。


每个航点信息会显示在地面站右侧,同时可以编辑航点的停留时间、相对高度等信息。

例如下图中无人机将在航点6停留0秒,相对归航点(Home Position)的高度为25米。 


任务规划后任务视图


任务视图底部显示的是每个航点和上一个航点的相对距离(Distance)、相对高度(Alt diff)、倾斜度(Gradient)等信息。

例如航点1和航点2的相对距离为176.76米,相对高度为25米,则倾斜度为tanα=25/176.76≈14%。 


以上操作后,点击左上角任务发送按钮(Send To Vehicle),即可将规划好的任务发送给无人机。


发送飞行任务到无人机





2
飞行任务执行




完成上述任务规划及任务上传后,将地面站切换到飞行视图,解锁PX4无人机,无人机即可自动按照规划好的任务路径进行飞行,地面站将实时显示无人机飞行轨迹。


地面站飞行视图



QGroundControl地面站进行任务规划相对比较简单,但在飞行任务执行阶段需要确保场地满足飞行要求,以保证安全飞行。


文章整理自:蜂鸟无人机 humbird_drone,作者:Alex(荣令金),北京大学硕士,研究方向无人机控制系统。注:转载须注明来源

往期推荐阅读

往期热文(点击文章标题即可直接阅读)



登录查看更多
5

相关内容

不需要驾驶员登机驾驶的各式遥控飞行器。
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
实战 | 相机标定
计算机视觉life
15+阅读 · 2019年1月15日
IMU 标定 | 工业界和学术界有什么不同?
计算机视觉life
14+阅读 · 2019年1月8日
重磅!头部姿态估计「原理详解 + 实战代码」来啦!
计算机视觉life
56+阅读 · 2018年11月29日
卷积神经网络简明教程
论智
8+阅读 · 2018年8月24日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
27+阅读 · 2018年8月17日
入门 | 一文看懂卷积神经网络
算法与数学之美
7+阅读 · 2018年2月22日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
入门 | 一文概览深度学习中的激活函数
机器之心
7+阅读 · 2017年11月2日
图像识别 | 道路识别的自动驾驶算法基本原理
沈浩老师
6+阅读 · 2017年5月12日
Advances in Online Audio-Visual Meeting Transcription
Arxiv
4+阅读 · 2019年12月10日
Arxiv
8+阅读 · 2018年11月27日
Arxiv
5+阅读 · 2018年1月30日
VIP会员
相关VIP内容
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
实战 | 相机标定
计算机视觉life
15+阅读 · 2019年1月15日
IMU 标定 | 工业界和学术界有什么不同?
计算机视觉life
14+阅读 · 2019年1月8日
重磅!头部姿态估计「原理详解 + 实战代码」来啦!
计算机视觉life
56+阅读 · 2018年11月29日
卷积神经网络简明教程
论智
8+阅读 · 2018年8月24日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
27+阅读 · 2018年8月17日
入门 | 一文看懂卷积神经网络
算法与数学之美
7+阅读 · 2018年2月22日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
入门 | 一文概览深度学习中的激活函数
机器之心
7+阅读 · 2017年11月2日
图像识别 | 道路识别的自动驾驶算法基本原理
沈浩老师
6+阅读 · 2017年5月12日
Top
微信扫码咨询专知VIP会员