基于开源飞控pix的无人机装调与测试
文章目录
- 前言
- 硬件使用说明
- 资源下载
- 一、无人机基本常识/预备知识
- 2、QGC地面站的使用
- 三、PX4基础配置
- 四、基于超维E300飞控无人机装机教程
- 五、基于超维E300飞控F450无人机APM基础配置(mission planner地面站)
- 六、飞行模式讲解及飞行实操
- 七、PX4日志分析
- 八、PX4常用参数解析(PX4 1.13.3)
- 前言
- (一)常用参数设置
- 1. 解锁检查参数
- 1、Kill switch engagen
- 2、Power redundancy not met/check battery:
- 3、USB连接检查CBRK_USB_CHK(USB相关报错)
- 4、安全开关检查CBRK_IO_SAFETY
- 5、high Accelerometer bios
- 6、high gyro bios
- 7、compasss inconsistent
- 8、GPS报错
- 9、Accels inconsistent
- 10、偏航角一直漂移
- 11、PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
- 12、PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
- 13、PREFLIGHT FAIL: EKF INTERNAL CHECKS
- 14、PREFLIGHT FAIL: EKF YAW ERROR
- 15、PREFLIGHT FAIL: EKF HORIZ POS ERROR
- 16、PREFLIGHT FAIL: EKF VEL ERROR
- 17、PREFLIGHT FAIL: EKF HGT ERROR
- 18、yaw estimate error
- 19、CPU load too high / No CPU load information
- 20、 Crash dumps present on SD,vehicle needs service
- 21、连接地面站能解锁,断开地面站不能解锁
- 22、无法解锁飞机,报错arm denied
- 二、安全设置
- 三、任务航点参数
- 四、无人机室内视觉定位参数
- 五、其他参数
- 修改定高数据来源
- 六、控制参数
- 参数的导出和导入
- 自定义参数
- 九、APM常用参数
- 十、PX4参数调试
- 十一、常用硬件
- 十二、常见问题及解决方案
- 1、手机QGC地面站连接问题
- 2、飞控用USB线连不上电脑地面站
- 3、无人机上电后,电调识别不到信号,一直嘀嘀嘀叫(或者不叫),解锁后电机不转
- 4、无人机起飞后快速侧翻
- 5、无人机没法垂直起飞(能起飞离地但往一边飘)
- 6、振动问题
- 7、室外定点飞行时,无人机原地转圈,越转越大
- 8、室外定点飞行时,一直往一个方向飘
- 9、飞控连不上mavros(通信问题)
- 10、地面站P900数传连接多架载具,参数加载不全,信息更新缓慢
- 11、GPS/RTK问题
- 12.在室内用雷达定高可以正常飞,但是用气压计定高高度不好控制
- 13. 无人机解锁失败,应该怎么解决
- 14.飞控的偏航角一直飘移/误差较大
- 15.PX4固件无人机飞的时候按一定频率上下抖动(或者不断的怠速/复飞)
- 16.PX4固件无法修改条件参数
- 17.舵机高频抖动,电机断断续续的转动
- 18.飞控在重刷固件后能连地面站,重启后连不上地面站
- 19.无人机无法记录日志,应该怎么解决。
- 20.PX4固件用数传连地面站断断续续,或一直卡在加载参数
- 21.无人机解锁后刹车开关不生效
- 22.PX4固件无人机起飞模式和任务模式无人机只解锁不起飞
- 23.apm固件在mavros里获取不到位置、姿态等信息
- 24.apm固件使用双天线RTK航向
- 25.apm固件拨遥控器摇杆地面站没反应
- 26.刷完固件后没有姿态,不断显示报错Unable to detect board type
- 27.APM固件上电后电机一直响,解锁电机不转
- 28.外部传感器的定位数据是准的,但是经过融合后的位置数据一直在飘
- 29.无人船跑航线原地打转
- 29.PX4固件在设置航线任务后,点击开始任务,飞机的旋翼都会转,但是不会飞起来,然后就立刻显示飞行计划已完成
- 30.定高/定点模式下高度很难控制
- 十三、补充知识
前言
适用人群:
希望进一步掌握无人机装调的飞手
从零搭建无人机硬件平台的学生/教师
无人机爱好者,开发者
其他尚未入门开源PX4固件调试的学习者
超维空间科技也会定期举办线下的装调检修培训班,感兴趣可以联系文章底部名片咨询
独家仿真环境HyperDrone现已开源,感兴趣可以下载学习
https://cwkj-tech.yuque.com/bsge84/nipm2q
直播回放
无人机装调与测试(一):无人机基本常识/预备知识
硬件使用说明
一、Hyper982 RTK模块
资料下载地址:
通过网盘分享的文件:Hyper982 RTK
链接: https://pan.baidu.com/s/1UgYlbkXWwKkvOlBuMgVG-w?pwd=dh9j 提取码: dh9j
–来自百度网盘超级会员v8的分享
作为移动站使用
通过串口助手设置RTK参数(移动站)
可以通过串口助手配置RTK模块的参数,配置指令是 ASCII 格式(支持字母大小写)每发送一条语句都需回车换行发送才有效,配置完毕最后要发送SAVECONFIG 保存指令,如不发送保存指令断电重启配置会失效。

将模块通过USB连接电脑,如果识别不到USB端口,可以安装CH340驱动


打开串口助手,选择模块的端口,波特率默认115200,然后进入多条发送

如果配置移动站的分别发送下面的命令配置模块
清除设置,恢复出厂设置
freset 配置为移动站
mode rover 设置串口1的波特率为230400
config com1 230400 设置串口1发送GGA语句,发送间隔为0.05秒(20Hz)。
gpgga com1 0.05 设置串口1发送THS语句,发送间隔为0.05秒(20Hz)。
gpths com1 0.05 设置串口1发送HDT语句,发送间隔为0.05秒(20Hz)。
gphdt com1 0.05 设置串口1发送RMC语句,发送间隔为0.05秒(20Hz)。
gprmc com1 0.05 设置串口1发送UNIHEADINGA 语句,发送间隔为0.05秒(20Hz)。
UNIHEADINGA com1 1 0.05 设置串口1发送AGRICA 语句,发送间隔为0.05秒(20Hz)。
AGRICA com1 1 0.05 保存设置
saveconfig 模块一共有三个串口,其他串口的配置方式也一样,只需要改一下端口和发送时间间隔就行,例如gpths com2 0.1表示配置串口二以0.1秒的间隔发送THS语句。
注意:USB口对应的是模块的串口2,所以设置串口2输出的语句也会同时从USB口输出,并且如果修改了串口2的波特率,USB口的波特率也随之改变,此时如果要保存设置,需要将串口助手波特率改成新设置的波特率再发送saveconfig命令保存。
例如:
执行完config com2 230400后,需要将串口助手的波特率设置成230400,再发送其他配置命令。
设置飞控参数
4.6.0以前老版本固件
修改GPS_TYPE为25

修改串口和波特率,例如RTK接到飞控的TELEM2口,则设置如下:
SERIAL2_BAUD设置为RTK配置的波特率
SERIAL2_PROTOCOL设置为GPS。

修改天线偏移:
先设置GPS_MB1_TYPE为1,然后重启飞控

就可以看到下面三个参数

天线偏移采用“前右下”坐标系,以机头为前方,以从天线为原点,单位为米
主天线在从天线前边,GPS_MB1_OFS_X为正
主天线在从天线右边,GPS_MB1_OFS_Y为正
主天线在从天线下边,GPS_MB1_OFS_Z为正
反之为负

设置主天线位置
主天线位置也是“前右下”坐标系,以机头为前方向,机体中心为原点,单位为米。
参数如下:

更新频率根据RTK的设置来设置,单位为Hz

4.6.0以后更新版本固件
修改GPS1_TYPE为25;

修改串口和波特率,例如RTK接到飞控的TELEM2口,则设置如下:
SERIAL2_BAUD设置为RTK配置的波特率
SERIAL2_PROTOCOL设置为GPS。

修改天线偏移:
先设置GPS1_MB_TYPE为1,然后重启飞控

就可以看到下面三个参数

天线偏移采用“前右下”坐标系,以机头为前方,以从天线为原点,单位为米
主天线在从天线前边,GPS1_MB_OFS_X为正
主天线在从天线右边,GPS1_MB_OFS_Y为正
主天线在从天线下边,GPS1_MB_OFS_Z为正
反之为负

设置主天线位置
主天线位置也是“前右下”坐标系,以机头为前方向,机体中心为原点,单位为米。
参数如下:

更新频率根据RTK的设置来设置,单位为ms,例如20Hz就设置为50ms

资源下载
1、地面站软件和固件可执行文件
超维定制版HyperQGC(推荐)
下载地址
链接:https://pan.baidu.com/s/1Rne8v5KpRZjRkFYz9cPm3A?pwd=cwkj
提取码:cwkj --来自百度网盘超级会员V6的分享
优点:
1、修复了官方QGC的中文BUG
2、进行了深度汉化
3、添加了网络差分数据转发(NTRIP)功能(RTK才需要设置这个,普通GPS不需要设置)
4、添加了天地图
5、优化了编队相关功能,添加了领航跟随编队
6、支持控制海康威视监控相机的云台以及变焦
7、支持通过Mqtt远程连接
切换到中文版:
点击左上角软件图标-》软件设置-》常规-》语言,选择中文

NTRIP功能使用方法
点击左上角软件图标,选择软件设置->常规,进入下面的页面

用千寻账号,移动的目前还不支持
千寻账号设置方法Host Adress填IP Server Port填8002
Username填卡号 Password填密码
Mount point 填AUTO
最后一个不填
然后确保手机有网重启地面站,用数传连上飞控
RTK搜到星后,地面站会语音提示“网络差分已连接”,然后过个几秒RTK就会进固定解
基于超维定制版QGC和ArduPilot固件的领航跟随编队
ArduPilot固件版本建议4.4.0以上
先到软件设置里,设置数据转发,由于所有无人机与地面站通信,所以需要将领航机的经纬度转发到跟随机。
数传带宽够的情况下,转发频率不要设置太低,否则跟随时可能会卡顿。

然后通过数传连上多个无人机,每个无人机的id需要设置大不一样,连上地面站后,会出现下拉选择框。

然后选择姿态盘上的“多个载具”即可进入到编队设置界面

首先点击“编队设置”

首次使用时,需要点击“所有设备开启编队”,然后再重启每个无人机,这个操作对于同一架无人机只需要操作一次就行。
下面的设置框对所有无人机生效,各参数作用为:
1,Follow跟随主机ID:用于指定领航无人机的ID
2,跟随最远距离:从机距离主机的距离超过该值,从机会停止跟随主机
3,机头朝向:从机的机头朝向设置
4,高度类型:设置为绝对高度就行
5,FOLL_OFS_TYPE:从机和主机的相对坐标的坐标系,默认为地理系NED,也可以设置为基于主机的机体坐标系。
6,起飞高度:一键起飞的设定高度,单位为cm。

最上面的按钮对所有无人机生效,点“解锁”,然后滑动确认就可以控制无人机解锁,点“一键起飞”可以控制所有无人机起飞到设置的起飞高度,然后点击“切换Follow”,所有无人机会切换到Follow模式和领航机保持设置的偏移,此时主机移动,从机会跟随。

具体每个飞机的偏移量在下面的输入框设置即可,每个从机的偏移量尽量错开,防止相撞

多路视频流设置
点击软件设置->视频设置
视频源选择RTSP视频流,显示视频数量根据实际需要设置,然后在下面输入每个RTSP视频流的地址,最后重启地面站(只需第一次设置的时候重启一次即可)

就可以看到多个视频框

MQTT设置
地面站设置
点击软件设置->通讯连接->添加
类型选择Mqtt,服务器地址,订阅话题,发布话题根据实际设置来配置,配置完点连接即可

4G模块配置
使用MQTT功能需要支持MQTT的4G模块以及服务器。
模块的设置如下(用的是华允物联的EP-D200)
配置工具软件下载地址http://AIIOT.quickconnect.cn/d/s/11BF5P1CSZzwSjTrKqgybQo92D8UubeI/xH1FdWWhcHdU0enInrMkmZ352-cBMEAy-IL9AH4_94gshttp://AIIOT.quickconnect.cn/d/s/11BF5P1CSZzwSjTrKqgybQo92D8UubeI/xH1FdWWhcHdU0enInrMkmZ352-cBMEAy-IL9AH4_94gs
网盘下载地址:
通过网盘分享的文件:辅助工具hy-toolbox.rar
链接: https://pan.baidu.com/s/1duNaeAFT2f9ACIsnrVqRZA?pwd=cwkj 提取码: cwkj
–来自百度网盘超级会员v8的分享
第一次使用4G模块时,通过ttl转usb连接电脑,打开串口,波特率115200连接工具软件
(1)配置工具中“基本参数”界面的波特率需要设置成与飞控的telem口一致,设置方法如下图所示,修改为57600

(2)设置MQTT参数,如下图所示
地址和端口根据服务器配置来,用户名和密码要填,订阅发布的主题可以自己写,在QGC里设置时需要和这个保持一致。客户端ID每个模块需要不一样。
设置完显示已连接表示是正常的

MQTT服务器配置
购买云服务器ESC(这里使用阿里云-云服务器ESC示例)
安装EMQX
下载链接
https://www.emqx.com/zh/downloads/enterprise/v6.0.1https://www.emqx.com/zh/downloads/enterprise/v6.0.1
#下载
wget https://packages.emqx.cn/emqx-ee/e6.0.1/emqx-enterprise-6.0.1-ubuntu22.04-amd64.deb
#安装
sudo dpkg -i ./emqx-enterprise-6.0.1-ubuntu22.04-amd64.deb
阿里云安全组端口配置,新增入方向的18083与1883端口

EMQX后台管理 47.99.65.196:18083(用户名admin, apple512)
客户端认证->新增用户名与密码(比如 用户名:test ,密码:apple512)


❌ 严重问题:磁盘空间不足
/var/log/emqx/ 目录所在的磁盘分区已满
监听器已停止 - 由于磁盘空间问题导致:18083端口已停止
解决:
清理日志文件:
#删除旧日志文件
sudo rm -f /var/log/emqx/emqx.log.*
重启EMQX服务:
sudo systemctl restart emqx

飞控配置
ArduPilot和PX4固件默认都是Telelm1口做数传口,波特率57600,只需要正确连接4g模块,查看是否如下图所示即可

服务器和4G模块都配置完后,按照第一步在QGC里添加MQTT连接,就可以连接到地面站了,手机版和电脑的操作是一样的。
海康威视相机云台控制
点击软件设置->常规
点击设置海康威视摄像头信息

根据相机的设置来填登录就行

然后点击勾选启用海康威视摄像头控制盘

然后返回就可以用控制盘控制云台转动和画面放大缩小

原版QGC地面站
原版QGC地面站中文版有bug,需要切换到英文版使用

下载地址:
链接:
https://pan.baidu.com/s/1Jx_wbxGZcosB5fknkQDxwA?pwd=cwkj 提取码:cwkj
–来自百度网盘超级会员V6的分享
Mission Planner地面站
下载地址:
链接:
https://pan.baidu.com/s/1ef1Hb7wtWUu_mGM8hRIHMg?pwd=cwkj 提取码:cwkj
–来自百度网盘超级会员V6的分享
PX4固件可执行文件
可执行文件可以直接通过地面站下载到飞控
可以通过PX4 github下载或者从网盘下载
PX4 github地址
https://github.com/PX4/PX4-Autopilot 点击下图链接

划到最下面就可以下载

默认是最新稳定版,如果要下载其他的版本可以从下面切换

网盘地址:
https://pan.baidu.com/s/1NQfdqz06EddHfn_QsvkOmg?pwd=cwkj 提取码: cwkj ArduPilot固件可执行文件
在线下载地址:
https://firmware.ardupilot.org/ 网盘地址:
https://pan.baidu.com/s/1vqS3d7DvQP3T5c0dF0iGoA?pwd=cwkj 提取码: cwkj 2、安装好环境的虚拟机
下载地址
链接:
https://pan.baidu.com/s/1vI5yMev7mPPWkn6alAoMWA?pwd=cwkj 提取码:cwkj --来自百度网盘超级会员V6的分享
虚拟机提供了VMware Workstation 16 PRO和VMware Workstation 17
建议安装VMware Workstation 17
PX4源码所有子模块都已下载完全
先make clean再编译
安装虚拟机
windos安装:
从网盘下载exe文件双击安装即可
ubuntu安装:
先从网盘下载.bundle文件,然后执行:
chmod +x XXXXX.bundle
sudo ./XXXXX.bundle
然后一直下一步输入key即可.
打开虚拟机文件
下载网盘里的虚拟机文件,然后解压

然后

第二步,选中备份的虚拟机文件

第三步,启动虚拟机

如果提示正在使用中,可以点击获取所有权,然后点我已复制虚拟机
如果想把虚拟机迁移到实物机上,可以参考
Ubuntu系统迁移-ZEEKLOG博客
3、完整的各版本PX4、ArduPilot、QGC源码
源码需要进行编译,需要二次开发源码的可以下载。
PX4
PX4的github地址
https://github.com/PX4/PX4-Autopilot 网盘里的源码所有子模块都已下载完全
下载后先make clean再编译
下载地址:
链接:
https://pan.baidu.com/s/1vq90Ddkp4DmWzAkmLSza_A?pwd=cwkj 提取码:cwkj --来自百度网盘超级会员V6的分享
ArduPilot
ArduPilot的github地址
https://github.com/ArduPilot 网盘里的源码所有子模块都已下载完全
下载地址:
链接:
https://pan.baidu.com/s/1upRYOjQfqtKtAUPruNcarA?pwd=393y 提取码: 393y
–来自百度网盘超级会员v8的分享
QGC
QGC的github地址:
https://github.com/mavlink/qgroundcontrol 网盘里的各版本官方原版QGC源码,已下载好子模块
下载地址:
通过网盘分享的文件:原版完整QGC源码
链接:
https://pan.baidu.com/s/1rqBuDSehBsGC0OntOpDVKg?pwd=pp99 提取码: pp99
–来自百度网盘超级会员v7的分享
4、常用网站
PX4
PX4github
- PX4用户手册
https://docs.px4.io/master/en/
可以切换版本和语言


PX4开发者手册
https://docs.px4.io/master/en/development/development.html
PX4日志分析网站
https://logs.px4.io/
ArduPilot
github
https://github.com/ArduPilot
开发手册
https://ardupilot.org/dev/
使用手册
https://ardupilot.org/ardupilot/index.html
在线日志分析工具
https://plot.ardupilot.org/
QGC
QGC用户手册
https://docs.px4.io/master/en/development/development.html
QGC开发者手册
https://dev.qgroundcontrol.com/master/en/index.html
MAVLINK开发者手册
https://mavlink.io/en/
MAVSDK官网
https://mavsdk.mavlink.io/main/en/index.html
ROS
mavros wiki
http://wiki.ros.org/mavros
ros wiki
http://wiki.ros.org/
XTDrone
https://gitee.com/robin_shaun/XTDrone
浙大FASTLAB
http://zju-fast.com/
5、超维空间开源项目
1,基于PX4和QGC的领航-跟随法编队
https://gitee.com/Mbot_admin/qgc-4.3-leader-follow-swarm
https://gitee.com/Mbot_admin/px4-1.14.0-leader-follow
https://gitee.com/Mbot_admin/px4-1.14.0-leader-follow-vtol
2,HyperDrone仿真环境
https://cwkj-tech.yuque.com/bsge84/hyperdrone
一、无人机基本常识/预备知识
无人机的基本常识
1,无人机轴距是怎么定义的
2,电机的KV值是怎么定义的
3,电调的作用
4,电池的放电倍率是怎么定义的
5,桨叶的CW和CCW代表的转向是
1,IMU包含哪些
2,飞控为什么需要校准IMU
3,电调的协议有哪些,PWM协议和Dshot协议的区别
4,磁罗盘的干扰源有哪些
5,同型号电机,KV值对耗电,效率的影响
振动大会导致哪些问题
引起振动的原因
如何降低振动,硬件/软件
PID的P、I、D对飞机的影响
无人机常见问题排查
RTK在室外一直显示零颗星,应该怎么排查
双天线RTK航向不准,应该怎么排查
无人船跑航线原地打转,应该怎么排查
日志中的常见数据的含义
如何分析震动
震动的来源
如何消除震动
怎么看PID
怎么调PID
无人机起飞后侧翻的可能原因,怎么排查
无人机没法垂直起飞,可能的原因,怎么排查
无人机飞的时候电机声音尖锐,电机温度很高,可能的原因
室外定点飞行时,无人机原地转圈,越转越大,可能的原因
室外定点飞行时,一直往一个方向飘,可能的原因
无人机解锁失败,应该怎么解决
无人机无法记录日志,应该怎么解决。
新的pix2.4.8飞控无法下载fmuv3固件,可能的原因
飞控连不上mavros,可能的原因
PX4参数
定位来源参数:
串口波特率参数:
解锁检查参数:
mavlink模式参数及作用:
列一些其他你用过的PX4常用参数并说明其作用
(1)无人机飞行原理
无人机硬件组成/各组件作用
1.飞控
飞控的作用相当于无人机的大脑,它内部集成了姿态传感器,气压高度计等传感器,同时通过外接GPS,VIO等可以或者位置信息,在飞控内部经过对这些传感器数据的处理获取无人机的状态信息,同时通过PID控制算法可以计算出每个电机的输出,进而控制无人机平稳的飞控。
飞控的接口定义:https://docs.holybro.com/autopilot/pixhawk-6c-mini/pixhawk-6c-mini-ports
关键参数: 处理器 IMU
2.GPS
GPS的作用是在室外为无人机提供定位(室内由于遮挡,GPS会搜不到卫星信号),为保证定位精度,一般搜到10颗星以上再使用。
关键参数: gps芯片,外置罗盘型号
3.接收机
接收机的作用是接收遥控器的遥控信号,通过sbus/ppm协议发送给飞控,从而让无人机可以按照遥控指令飞行。M1无人机采用的是图数一体接收机,不仅能传输遥控信号,还能传输飞控的数据,只需要把接收机的串口接到飞控的数传口即可。
协议类型: ppm/sbus/pwm
4.电流计
电流计的作用是将电池电压转成5V给飞控供电,同时可以测量电池的电压和飞行时耗电电流。
关键参数: 支持的最大电压/电流
5.电调
电调(电子调速器)的作用是接收飞控的控制信号(PWM/Dshot),并控制电机按照飞控期望的转速旋转。
关键参数: 支持的最大电压/电流,驱动协议(pwm/dshot)
6.电机
电机带动桨叶旋转为无人机提供升力。电机有正反之分,顺时针旋转为正,逆时针旋转为反,安装桨叶时,顺时针旋转的电机装正桨,逆时针旋转的电机装反桨。
关键参数: KV值,支持的最大电压/电流,cw/ccw,尺寸(常见标注方式如“2208”表示定子直径22mm、厚度8mm)
7.电池
电池的作用是给无人机供电,航模锂电池的放电倍率较高,存在一定的危险性,因此要小心使用。需要注意以下事项:
- 充电环境: 使用专用的锂电池充电器,并确保充电环境通风良好。不要在高温、潮湿或易燃的地方进行充电。
- 充电监控: 电池的满电电压为每节4.2v,4S电池即为16.8V。在充电过程中,时刻监控电池的充电状态。不要超过电池规定的充电电压范围,以防止过充。使用具有过充保护功能的充电器,以减小安全风险。
- 放电深度: 避免将锂电池放电至过低电压,因为这可能会损害电池并降低寿命。通常,建议在电池电压低于每节3.7V(4S即为14.8V)时停止使用并进行充电。(由于无人机起飞后电池存在压降,这里的电压是指未飞行时的电压)
- 温度控制: 避免在极端温度下使用或存储锂电池。高温会导致电池性能下降,甚至引发过热、起火的风险。低温下,电池容量可能减少,影响性能。
- 储存注意事项: 如果长时间不使用锂电池,应储存在50-60%的电量水平,并定期检查电池状态。存放电池时,要选择干燥、阴凉的地方。
- 防止短路: 避免短路情况,确保电池连接器和线路完好无损。使用合适的连接器,并避免金属物体碰触电池引脚。
- 适当使用: 根据生产商的指南和规范使用锂电池。避免过载、过放电,不要在超出电池规定电流范围的情况下使用。
- 防止物理损坏: 避免撞击、挤压或其他物理损坏。如果锂电池外壳有损坏,应停止使用并进行更换。
- 监控充电温度: 在充电时监控电池温度,如果发现异常情况,应立即停止充电并检查原因。
- 应急处理: 在使用锂电池时,应随时准备好适当的灭火器材,并了解应对锂电池火灾的应急措施。
关键参数: 电压,容量,放电倍率
8.螺旋桨
螺旋桨的作用是为无人机提供升力和扭力, 桨叶有正反之分,顺时针方向旋转的电机装正桨,逆时针方向旋转的电机装反桨。不同正反的电机通常带有不同的标号,有CW(正桨,顺时针方向旋转)和CCW(反桨,逆时针方向旋转)两种。还有“ 5045”和“ 5045R”标签,像这样标记时,缺少R的表示是CW,而有“ R”字母的则代表CCW。
**关键参数:**尺寸(例如“1045”:前两位数字:代表螺旋桨的直径,单位为英寸。后两位数字:表示螺距(螺旋桨旋转一周前进的垂直距离),单位为英寸),cw/ccw
9.UBEC(稳压模块)
UBEC的作用是将电池电压转成机载设备(板载计算机Jeston nano、舵机等)的供电电压,从而给机载设备供电,由于不同的机载设备供电电压可能不一样。因此一架无人机上可能会带多个UBEC。
**关键参数:**支持的最大电压/电流
无人机硬件选型
无人机硬件的选型需要考虑的因素比较多,例如载重,续航,速度,轴距等
无人机的轴距和桨叶尺寸是关联的,例如450mm轴距的无人机通常用9寸或者10寸桨。
(2)飞控硬件简介


(3)飞控固件简介
固件是是烧录在飞控硬件中的软件,pixhawk飞控支持PX4和ArduPilot两种版本的固件。
本次课程重点以PX4固件为基础进行讲解



2、QGC地面站的使用

航路规划
注意航路规划时,设置完航点后,页面左下角有一个“地形高度”那一栏,标红的航点说明对应的航点高度不可达。默认的高度是相对于起飞点的高度,例如起飞点的高度是5米,那么每个航点的高度至少要大于5米才不会标红,如果小于5米就会标红,标红的话就无法执行任务模式了。

如果标红的话,可以把高度改高一点,或者改成相对于地形的高度,如下。

1.手动打点
点击文件-》空白

默认必须先设置takeoff点,才能设置其他航点

如果想不设置takeoff点直接设置航点(例如无人船等载具),可以在地面站常规设置中勾选下图选项:

然后就可以不用设置起飞点直接设置航点了。

点击“takeoff”后,会在无人机当前位置生成起飞点,然后再点击“航点”按钮,然后在地图上点击即可设置航点位置。设置完的航点也可以鼠标左键选中后进行拖动改变其位置。
我这里在点击起飞点后,继续设置了三个航点,一共四个点,如下图,地图右侧有每个行点的设置页面。

点击相应航点左侧的小垃圾桶图标可以删除航点。

点击小垃圾桶图标右侧的Waypoint可以设置点的类型,默认是Basic类别,下面有Waypoint(航点)、Return To Launch(返回起飞点)、Land(降落)、Takeoff(起飞)四种,分别对应到达该航点后执行的动作。

上面四种点对于普通四旋翼的使用来說已经够了,但是如果需要执行一些高级一些的动作(如垂起模式切换),需要在下面的其他类别中去找。

我这里将第一个点设置为起飞点、第二和第三个点设置为航点,第四个点设置为返航点,这样的话无人机会起飞并先飞到第二个点,再飞到第三个点,在到达第三个点后返航到起飞点。

在Mission Start那一栏可以设置航点高度和飞行速度等值,这一栏的设置会对所有任务点都有效。

在每个任务点里面也可以设置高度和停留时间等值,但这里的设置只对该任务点有效,在每个任务点的右侧有一个三道杠的图标,可以点击该图标设置该任务点的更多信息

如下图:

“编辑位置”可以对位置进行详细编辑

“显示所有值”可以对任务点的所有参数进行编辑

2.矩形波式测绘规划
点击图案-》测绘

点击勾画,然后在地图上点多边形的顶点

点完后点勾画完毕

点击下图进行编辑

可以设置间隔,角度,转弯距离等

如果想把下图设置航线距离的单位换成米

可以把相机禁用就行了


设置遥控器调参通道
通过设置调参通道,可以将遥控器的某一个通道(如旋钮)映射到PX4的一个参数当中,从而可以通过遥控器旋钮实时的调整PX4参数的值。
在下图先设置参数对应的遥控器通道,最多可以同时设置三个参数通道。
例如我这里遥控旋钮对应的是通道9,我将参数1的调参通道设置为遥控器的通道9.

然后将内环俯仰角速率映射到参数1上,点击下面的高级设置-》将遥控设到参数…

然后设置缩放倍数即可。设置完毕后可以动一下旋钮看看参数变化是否正常
其中遥控遥控通道的1000对应-1,1500对应0,2000对应1,对应线性的归一化。
对应参数为: 归一化的遥控通道值*Scale+Center Value
Scale就是缩放的系数,
Center Value是遥控通道为中位值时的参数值
MIn Value对应参数的最小值
Max Value对应参数的最大值
例如参数MC_PITCHRATE_P的Center Value为0.15,Scale为0.1
那么遥控通道值为1500时,MC_PITCHRATE_P为0.15,通道值为1000时,则对应参数MC_PITCHRATE_P为0.05,通道值为2000时,则对应参数MC_PITCHRATE_P为0.25.通道值为1750时,则对应参数MC_PITCHRATE_P为0.2.

安全保护
地理围栏
围栏是一个虚拟边界,用于定义机体可以在哪些地方行驶。 围栏可用于防止机体飞出遥控器的范围,或进入不安全或受限制的空域。
PX4提供了两个独立的机制来指定围栏:
一个是基本的“故障保护”地理围栏,定义了一个简单的圆柱体。
一个是可以使用围栏规划(QGroundControl)定义更复杂的几何图形。
地理围栏适用于所有模式,包括任务和手动飞行。
故障保护地理围栏
故障保护围栏定义了一个圆心在home点的圆柱,它具有指定的最大半径和高度。
设置中还包括越界时的故障保护动作。 可能只是一个警告通知,但更常见的是机体会立即返回一个安全位置。
设置了电子围栏后,飞机必须要有GPS信号才能解锁,如果想在没有GPS的情况下解锁,需要将电子围栏的动作设置维Disable

地理围栏规划
PX4 支持由多个圆形和多边形区域组成的复杂地理围栏边界,这些区域可以定义为禁出或禁入区域。
围栏规划

打开 QGroundControl > Plan View.

选择规划类型为Fence。 这将显示地理围栏编辑器。
选择多边形围栏或圆形围栏按钮,可将添加所需基本类型的围栏到地图中。 这也在编辑器中增加了此类围栏的条目。
在地图上调整围栏的形状和位置。
围栏中心的圆点可以用来调整围栏的位置。
边界上的圆点可以用来调整半径。
角(顶点)上的圆点可以用来改变多边形的形状。 点击线段中间可以在两个顶点中添加新的顶点。
围栏编辑器可以设置围栏是禁出或禁入区域,还可以通过(编辑单选按钮)选择一个围栏来编辑或者通过删除按钮来删除。
可添加任意数量的围栏
完成后,点击(右上角) 上传 按钮向车辆发送围栏(连同集结和任务)。
在围栏故障保护中需要设置越界动作。
遥控丢失保护
此保护用于设置在丢失遥控信号后的动作,在Safety->RC Loss Failsafe Trigger里面设置保护动作和信号丢失的最大时间

低电量保护
在Safety->Low Battery Failsafe Trigger设置三个低电量水平的阈值和触发的动作。

设置遥测数据流
PX4的遥测数据流数是固定的。只能对APM的遥测数据流进行设置:
设置页面如下,如果勾选了“所以控制流由载具设置控制”,则数据流的速率有飞控的参数设置,如果没有勾选的话,载具的参数设置是没有作用的

三、PX4基础配置
(一)QGC下载固件
先不连接飞控,点击地面站左上角图标-》载具设置-》固件


然后用USB将飞连接电脑,注意飞控不要用电池或其他USB以外的设备供电,确保电脑识别到了飞控的usb端口,然后会弹出下面的页面(如果没有弹出下面的页面,可以点此解决),直接下载的话默认下载的是最新稳定版

也可以选择下载master分支,这是最新的,但可能会有bug。

不同的版本的固件代码可以从下面的网址下载:https://github.com/PX4/PX4-Autopilot/releases固件下载地址
下载二进制文件后,可以通过地面站进行下载,确定后选择.px4文件即可。

下载好固件后,我们能够在概括里看到固件版本

(二)Mission Planner下载固件
推荐使用QGC下载固件,如果QGC无法下载固件,可以尝试用Mission Planner下载
飞控先不连地面站
点击初始设置-》安装固件Legacy-》加载自定义固件,然后选择需要下载的固件(.px4文件)

点击OK,然后插上飞控

地面站会自动识别飞控并下载固件,下载完后如图

(三)常见问题及解决方法
(一)pixhawk2.4.8飞控只能下载fmu v2版本固件解决办法
pixhawk2.4.8飞控是可以下载fmu v3版本固件的,但是有的pixhawk2.4.8飞控会出现只能下载fmu v2版本固件的问题,如下图,v2版本支持的载具很少,属于阉割版固件,因此建议使用fmu v3版本固件

解决办法是在下载固件之间,先刷写Bootloader,勾选“高级”复选框,就会出现“刷写ChibiOS Bootloader"按钮,如下图。点击此按钮,然后再刷写固件,此时刷写的就是fmuv3版本固件

如果没有上图的刷bootloader按钮,也可以修改飞控的参数SYS_BL_UPDATE,将其改成1,然后重启飞控,再下载固件,就可以下载V3固件了。
(二)无法弹出下载固件页面解决办法
1、电脑识别不到USB端口
首先排查电脑是否识别到USB口,在设备管理器里查看,PX4固件会出现下面的端口

APM固件会出现下面的端口

如果没有出现上面的端口,说明没有识别到飞控的USB端口,可以尝试换根USB线
2、用虚拟机里的QGC下载固件
如果用虚拟机里的QGC下载固件,需要将飞控连接到虚拟机,如果虚拟机里的系统无法识别到飞控的端口。电脑插上飞控,然后点击下图的“连接”即可将飞控连接到虚拟机。

然后再下载固件,下载方法与windos相同,在下图页面重新插上飞控USB即可

(四)选择机型
将飞控连接至地面站,四旋翼无人机将机架设置为Geneic Quadcopter

然后点击右上方“应用并重启”

重启后,在概括里能够看到选择的机型,如图:

(五)校准传感器
将飞控通过usb线连接QGC地面站
1、校准罗盘
在校准罗盘时,如果有使用外置罗盘(常见的GPS中都带有外置罗盘),请确保外置罗盘的方向和飞控内置罗盘的方向一致

选择传感器->罗盘->确定,开始校准

将无人机置于红色所示的任何方向,并保持静止。出现提示后(方向图像变为黄色),沿任意/两个方向绕指定轴旋转。当前方向校准完成后,屏幕上的相关图像将变为绿色。

对所有方向重复校准过程。
在所有方向校准完毕后,QGroundControl将显示Calibration complete(校准完成)(所有方向图像将显示为绿色,进度条将完全填满)。然后可以继续下一个传感器。

2、校准陀螺仪
单击陀螺仪传感器按钮,将无人机水平放在地面上,保持静止。单击“确定”开始校准。顶部的条形图满代表校准成功

3、校准加速度计
单击加速计传感器按钮,单击“确定”开始校准。

根据屏幕上的方向提示,当方向图像变为黄色,保持无人机静止。当前方向校准完成后,屏幕上的相关图像将变为绿色。

对所有向重复校准过程。在所有位置校准车辆后,QGroundControl将显示Calibration complete(校准完成)(所有方向图像将显示为绿色,进度条将完全填满)。
4、校准地平线
如果不校准地平线,无人机在非定点飞行中位置可能持续的漂移。
将无人机置于水平面上,点击校平地平线->OK,然后保持静止,直到绿色进度条满

5、校准遥控器
切换到遥控器页面,检查右下角是否能识别到通道,如果能识别到通道,就可以进行校准,选择右上角的操作方式,然后点击校准

然后点击“确定”

再点击“下一步”

将遥控器摇杆移动到下图中指示的位置。

当杆就位时,地面站会提示下一个需要拨的位置,拨完所有位置后,按两次“下一步”保存设置。

(六)遥控器通道设置
切换到飞行模式页面,可以先拨一下需要设置的遥控器拨码开关,看其在地面站中对应的是哪个通道

设置遥控器拨码开关
切换到飞行模式页面,可以先拨一下需要设置的遥控器拨码开关,看其在地面站中对应的是哪个通道。

设置飞行模式切换开关
点击“模式频道”右侧的复选框,设置相应的遥控器拨码开关通道。

然后分别设置三档对应的飞行模式。

设置其他切换开关
其他的开关通道在飞行模式右侧,如下,需要设置哪个,就把这个开关右侧的遥控器通道进行设置即可,我这里设置了一个刹车(Kill switch),通道为遥控器的第六个通道。刹车的作用是使电机直接停转,可根据需要进行设置

(七)控制分配(Control allocate)
PX4 1.13.3以上版本的PX4固件才可以支持控制分配功能,其中1.13.3需要使能Control allocate参数才能使用,设置参数如下,1.14及更新版本固件不需要设置此参数,直接即可使用此功能

设置好参数后重启飞控,进入到飞控的Actuators页面,点击对应通道右侧的复选框,选择对应的电机即可

无人机我们选择AUX通道(快速响应)
校准PWM协议的电调时,可选择对应的电调协议以及电机,将最小输出先设置成1000,然后打开使能滑块,将所有电机拉到最大,此时再给无人机上电(一定不要安装桨叶),上电后能听到嘀嘀两声后,将所有电机拉到最小,能听到长滴的一声,这个是正确的校准点击。
Dshot协议电调不需要校准。

设置好4个电机的输出通道后如下图:我这里使用的是AUX通道,对应飞控的辅助通道


如果想使用main通道,则设置如下:

电调的输出协议可以在下图的页面设置,只有AUX通道才可以设置DShot协议

调整电机转向
电调校准完毕后,给电机设置10%的油门作为它的怠速。重新接上电池
注意:测电机转向的时候,不要所有电机一起拉,一个一个检查转向

PWM协议的电调:检查电机转向是否和下图一致,如果不一致,将电调与电机的三根连接线的任意两根互换顺序即可调整转向。

Dshot协议的电调可以在地面站中直接设置电机的转向,如下图,set Spin Direction 1表示顺时针方向,set Spin Direction 2表示逆时针方向

例如想设置motor1的方向为逆时针,先点击Set Spin Direction 2,然后在弹出来的4个电机里点击Motor1即可,如果设置后没有生效,重启一下飞控即可。

四、基于超维E300飞控无人机装机教程
注意:刷写固件、选择机型、校准传感器及遥控器可参照本篇第三章的PX4基础配置
(一)刷写固件(参照本篇第三章的PX4基础配置)
(二)选择机型(参照本篇第三章的PX4基础配置)
(三)安装
- 焊接分电板
- 安装电机并接电调
- 安装飞控
- 安装遥控器接收机
- 安装GPS
1. 焊接分电板
将电调的黑色地线焊接在分电板负极(-),电调的红色火线焊接在分电板正极(+),焊接时的温度尽量不要太高(300°-350°左右),需做到焊点光滑、不虚焊不短路原则。

焊接完成之后,需要用万用表检查是否短路
2. 安装电机并接电调
将电机安装在无人机机臂上,注意:螺丝不宜过长,如果抵着电机线圈,可能会短路和堵转。

如果自锁电机,需要注意电机的正反。

反桨(可作为1、2号电机)

正桨(可作为3、4号电机)
电机的转向及电机接线顺序如下:
为了保证在飞行过程中判断机头朝向,我们将白色机臂当作机头方向,黑色机臂当作机尾


电机与电调连线
这是使用的电调遵循PWM协议,可以直接将这三根线任意方式连接,后面通过地面站测电机转向。如果转向不对,可任意交换两根线来改变转向。PWM协议是模拟脉冲信号,通过改变这三根线的电压来调整电机转向和转速。

如果电调遵循Dshot协议,这三根线可以任意方式连接,如果转向不对,可以直接在地面站里点击设置旋转方向修改,不用插拔线。

3. 安装飞控
飞控箭头的方向与机头一致
使用电流计给飞控power口供电

1-4号电机信号线接到飞控的AUX9-AUX12口,1号电机对应AUX9,依次类推
注意:飞控的最上面一排是信号线,中间一排是火线,最下面一排是地线

4. 安装遥控器接收机
这里采用的是云卓T10图数传一体的遥控器
安装接收机
可以先将接收机的老安卓口对着下方,接收机右上方的有“— T R”,我们拿出一根6P带卡扣的线(卡扣朝下)自左向右依次为:GND、RX、TX、VCC(一定不要接错线)。

GND连接接收机的—,RX接接收机的T,TX接接收机的R,VCC接第二排的+。
6P带卡扣连接飞控的TELEME 1端口。


准备三根杜邦线,将接收机的“— + P/S”与飞控SBUS IN引脚的“— + 信号线”连接

老安卓左侧第一个小孔是指示灯,第二个小孔是对频按钮(如需对频,长按对频两秒,待指示灯绿灯快闪,此时再打开遥控器,指示灯会绿色常亮,即代表遥控器已与接收机对上频)
接收机两根天线分别安装到两条不同机臂,不要让桨叶打到、扎带绑紧即可。
5. 安装GPS
GPS箭头方向与飞控箭头方向和机头一致,GPS连接到飞控的GPS端口。

(四)校准传感器及遥控器(参照本篇第三章的PX4基础配置)
五、基于超维E300飞控F450无人机APM基础配置(mission planner地面站)
mission planner地面站安装
官网地址
https://ardupilot.org/planner/
可以直接点击下载

或者从网盘下载
链接:https://pan.baidu.com/s/1SkMIzohJRO25GWbo_J944A
提取码:nw1s
–来自百度网盘超级会员V5的分享
下载完双击安装
一路next即可
下载固件
飞控先不连地面站
点击初始设置-》安装固件Legacy-》加载自定义固件,然后选择需要下载的固件(.apj文件)

点击OK,然后插上飞控,

地面站会自动识别飞控并下载固件,下载完后如图

(二)选择机型
第一排选四旋翼,下面的选型

校准加速度计
点击校准加速度计

将飞控水平放置,然后点“完成时点击”

然会回提示左侧放,此时将飞控左侧放

然后依次朝六个面放置并点完成,就可以完成加速度计校准
校准地平线
将飞控水平放置不动,然后点校准水平即可

校准指南针
点击指南针
可以看到会显示当前识别到的指南针(飞控里面有一个,如果外接了会显示两个或者三个)
可点击右边箭头调整优先级,一般外置的放在高优先级。然后勾选需要使用的罗盘。最后点击Start开始校准

校准的时候,手拿飞控朝不同的方向不停的旋转,直到进度条到达100%即校准完成,然后重启即可。

校准遥控器
点击遥控器校准页面,点击校准遥控按钮,然后将摇杆朝各通道拨到最大,然后点完成即可

校准电调
到下面的页面,点击开始,然后给飞控断电,然后插上电池,无人机会在下次上电的时候自动校准电调

测试电机
进入下面的页面,先设置测试的油门,然后点Test motor A,1号电机会转,motor B对应4号电机,motor C对应2号电机,motor D对应2号电机

设置室内定位参数
EK3_SRC1_POSXY设置为6
EK3_SRC1_POSZ设置为6
EK3_SRC1_YAW设置为6
VISO_TYPE设置为1


设置视觉传感器噪声

其他常用参数设置
无人机最大倾斜角度
ANGLE_MAX
这个参数决定了无人机在各模式下的最大倾斜姿态,如果想水平飞的速度快一些,可以把角度改大
无人机最大上升下降速度

loiter模式的最大速度限制
apm固件里只有loiter模式下,在拨杆的时候会限制最大速度,在poshold模式下拨杆限制的时倾斜角度

解锁后电机延时转动时间

六、飞行模式讲解及飞行实操
(一)飞行模式切换
飞行员可以使用遥控上的开关或地面站来切换飞行模式。
并非所有飞行器都可以使用所有飞行模式,并且某些模式在不同飞行器类型上表现不同。
一些飞行模式仅在飞行前和飞行中某些特定条件下起作用(如 GPS 锁定,空速传感器,某个轴的姿态感测)。 除非满足合适的条件,否则 PX4 不会允许切换到这些模式。
在多旋翼自主模式下,遥控器摇杆移动将默认将车辆更改为位置模式(除非处理关键的电池故障保护)。对于自主固定翼飞行,操纵杆运动被忽略。
(二)自主和手动模式
一般来说,飞行模式是手动或自主的。手动模式是指用户通过遥控操纵杆(或操纵杆)控制车辆移动的模式,而自主模式完全由自动驾驶仪控制,不需要遥控控制输入。
提示
某些手动模式可能具有自驾辅助机制,以便更容易获得或恢复受控飞行。 如当遥控摇杆居中时,大部分飞行模式将使飞行器水平。
手动模式可以进一步分为 “自稳” 和 ”特技“ 模式。 在自稳模式下,滚动和俯仰杆设置车辆角度,从而在水平面上左右和前后移动。这将不仅可以使运动变得可预测,而且因为角度受控,飞行器无法翻转。 在特技模式中,RC 摇杆控制角度旋转的速率(绕相应轴)。飞行器可以翻转,虽然机动性更强,但更难飞行。
(三)不同机型支持的飞行模式
固定翼:
手动:自稳,位置,高度,特技
自动:保持, 返航, 任务, 起飞, 降落, Offboard
多旋翼:
手动:自稳,位置,高度,特技
自动:保持, 返航, 任务, 起飞, 降落, 跟随,Offboard
1.位置模式(多旋翼)
[飞行难度:简单] [需要手动/遥控器控制] [需要定位锁定(例如GPS)]
位置是一种易于飞行的RC模式,其中滚动和俯仰杆控制车辆左右和前后方向上的地面加速度(类似于汽车的油门),油门控制升降速度。当摇杆释放/居中时,机体将主动制动,保持水平,并锁定到 3D 空间中的位置 — 补偿风和其他力。 摇杆打满时,机体以MPC_ACC_HOR_MAX开始加速到达最终的速度MPC_VEL_MANUAL。
提示
位置模式对于新手是最安全的手动模式。 不同于定高模式和手动/自稳模式,机体在摇杆中位时会停止,而不是继续直到风阻使其减速。 :::
下图直观地显示了遥感对应的操作(对于美国手的遥控器)。

该模式中降落是很容易的:
使用横滚和俯仰杆控制无人机水平位置于降落点上方。
松开横滚和俯仰杆并给予足够的时间使其完全停止。
轻轻下拉油门杆直到机体触碰地面。
将油门杆一直向下拉以促进和加快着陆检测。
机体将降低螺旋桨推力,检测地面并自动落锁(默认)。
注意
虽然在校准良好的机体上非常罕见,但有时着陆可能会出现问题。
如果机体无法停止水平移动:
您仍然可以在高度模式下在控制降落。 方法与上述相同,除了您必须使用横滚和俯仰杆手动确保机体保持在降落点上方。
降落后检查 GPS 和磁罗盘方向,并校准。
如果机体未检测到地面/降落并自动加锁。可以等机体落地后切换到手动/自稳模式,保持油门杆低位,并使用遥控器手动落锁。 或者,当机体已经在地面上时,您也可以使用刹车开关。
1.1技术摘要
遥控模式下,横滚、俯仰、油门 (RPT) 杆控制相应轴/方向的运动。 摇杆居中使机体水平并将其保持在固定的高度和位置并抗风。
摇杆处于滚动、俯仰、油门杆中位(遥控死区MPC_HOLD_DZ内)时,机体保持 x、y、z 位置稳定,抵抗任意干扰,如风。
中位以外:
横滚/俯仰杆控制机体左右和前后方向(分别)在地面上的水平加速度。
油门杆控制上升下降速度。
偏航杆控制水平面上方的角旋转速率。
起飞:
在地面时,如果油门杆升高到 62.5% 以上(从底部的全范围),机体将起飞。
注解
遥控输入信号是必须的(遥控器,或通过 MAVLink 的游戏手柄/拇指摇杆)。
此模式需要 GPS。
1.2参数
多旋翼位置控制组的所有参数都与位置模式有关。 下面列出了一些特别值得注意的参数。
参数 描述
MPC_HOLD_DZ 启用位置保持的摇杆死区。 默认值:0.1(摇杆全行程的 10%)。
MPC_Z_VEL_MAX_UP 最大垂直上升速度。 默认:3 m/s。
MPC_Z_VEL_MAX_DN 最大垂直下降速度。 默认:1 m/s。
MPC_LAND_ALT1 触发第一阶段降速的高度。 低于此高度,下降速度限制在 MPC_Z_VEL_MAX_DN (或MPC_Z_V_AUTO_DN) 和 MPC_LAND_SPEED(需大于MPC_LAND_ALT2)之间. 默认10米
MPC_LAND_ALT2 触发第二阶段降速的高度。 低于此高度,下降速度限制在MPC_LAND_SPEED (需小于MPC_LAND_ALT1) 默认 5 米。
RCX_DZ 通道 X 的遥控死区。油门的 X 值取决于 RC_MAP_THROTTLE 的值。 例如,如果油门是通道4,则RC4_DZ 指定死区。
MPC_XXXX 大多数MPC_xxx参数会影响此模式下的飞行行为(至少在某种程度上)。 例如,MPC_THR_HOVER 定义飞机悬停时的推力。
MPC_POS_MODE 从摇杆输入到机体动作的转换策略。 从 PX4 v1.12 开始,默认值 (4) 是操纵杆位置控制加速度(类似于汽车油门踏板)。 其他选项允许操纵杆偏转直接控制地面速度,有或没有平滑和加速度限制。
MPC_ACC_HOR_MAX 最大水平加速度。
MPC_VEL_MANUAL 最大水平速度。
MPC_LAND_SPEED 着陆下降率. 默认 0.7 m/s.
1.3位置丢失/安全
位置模式依赖于一个可接受的位置估计。 如果估计值低于可接受的水平,例如由于 GPS 丢失,这可能会触发位置 (GPS) 丢失故障保护 根据配置,是否有遥控器,以及是否有足够的高度估计,PX4 可能会切换到高度模式、手动模式、降落模式或终止。
2.定高模式(多旋翼)
[飞行难度:简单] [需要手动/遥控器控制] [需要高度传感器(例如气压计、测距仪)]
高度模式是一种相对容易飞行的RC模式,其中滚动和俯仰杆控制车辆在左右和前后方向(相对于车辆的“前部”)上的运动,偏航杆控制水平面上的旋转速度,油门控制升降速度。
当操纵杆松开/居中时,车辆将保持水平并保持当前高度. 如果在水平面上运动,机体将继持续运动直到任何动量被风阻力消散。 如果刮风,飞机会向风的方向漂移。
提示
高度模式是新飞行员最安全的非GPS手动模式. 就像手动/自稳模式,但是在松开摇杆时也可以锁定机体高度。
下图直观的展示了该模式(以美国手的遥控器举例)。

多旋翼高度控制 -美国手遥控器
2.1技术总结
与手动/自稳模式类似,但具有高度稳定(居中操纵杆使车辆保持水平并保持在固定高度)。
回正摇杆(内带死区):
RPY摇杆使飞机水平。
油门(~50%)抗风保持当前姿态。
外部中心:
翻滚/俯仰摇杆控制各自方向的倾斜角,导致左右和前后的移动。
油门摇杆以预定的最大速率(和其他轴上的移动速度)控制上升速度。
偏航摇杆控制水平面上方的角度旋转速率。
起飞:
如果将油门杆抬高至 62.5%(从油门杆最低开始的整个范围),无人机将起飞。
注解
需要手动输入(遥控器,或者通过 MAVLink 连接的游戏手柄/拇指摇杆)。
通常使用气压计测量高度,在极端天气条件下可能会变的不准确。 带有激光雷达/距离传感器的飞机将能够以更高的可靠性和准确性控制高度。
2.2参数
该模式受以下参数影响:
MPC_Z_VEL_MAX_UP 最大垂直上升速度。 默认:3m/s。
MPC_Z_VEL_MAX_DN 最大垂直下降速度。 默认:1m/s。
RCX_DZ 通道 X 的遥控死区。油门的 X 值取决于 RC_MAP_THROTTLE 的值。 例如,如果油门是通道4,则 RC4_DZ 指定死区。
MPC_XXXX 大多数 MPC_xxx参数会影响此模式下的飞行行为(至少在某种程度上)。 例如,MPC_THR_HOVER定义飞机悬停时的推力。
3.手动/自稳模式(多旋翼)
[飞行难度:中等] [需要手动/遥控器控制]
当RC控制杆居中时,手动/稳定模式可稳定多旋翼。要手动使机体移动/飞,您可以移动摇杆使其偏离居中位置。
注解
在手动/自稳控制下,侧倾杆和俯仰杆控制车辆绕各自轴的角度(姿态),偏航杆控制水平面上方的旋转速度,油门控制高度/速度。
一旦释放摇杆,它们将会返回中心死区。 一旦横滚和俯仰摇杆居中,多旋翼无人机将平稳并停止运动。 然后机体将悬停在适当的位置/保持高度 - 前提是平衡得当,油门设置适当,并且没有施加任何外力(例如风)。 飞行器将朝着任何风的方向漂移,您必须控制油门以保持高度。

3.1技术描述
飞手的输入通过横滚和俯仰角度以及偏航角速率指令传递给自驾仪。 自动驾驶仪控制着姿态,这意味着当遥控器摇杆居中时,它调整飞机的横滚和俯仰角为零(因此使姿态变平)。 自动驾驶仪不能补偿由于风(或其他来源)引起的漂移。
3.2参数
MPC_THR_HOVER 当油门杆居中输出的悬停油门,默认值为MPC_THR_CURVE。
MPC_THR_CURVE 定义油门缩放比例。 默认情况下,这被设置为重新缩放悬停推力,这意味着当油门杆居中时,油门输出为悬停油门(MPC_THR_hover),并且杆输入被线性地重新缩放到低于和高于该值(允许自稳和高度/位置控制之间的平滑过渡)。
在动力很强的机体上,悬停油门可能非常低(例如低于 20%),因此重新调整会使油门输入变形 - 对应上面举例, 80% 的推力将仅由摇杆输入的中位以上部分控制,20% 的推力由中位以下的部分来控制。 如果需要,可以将MPC_THR_CURVE设置为No Rescale(无重缩放),以便不进行重缩放
4.特技模式(多旋翼)
[飞行难度:困难] [需要手动/遥控器控制]
特技模式是用于执行特技动作的RC模式,例如翻转、翻滚。
横滚、俯仰和偏航杆控制围绕各自轴的角速率,油门直接传递至控制分配。 当操纵杆居中时,飞机将停止旋转,但保持其当前姿态并根据当前动量移动。
4.1技术描述
用于执行特技动作的R遥控/手动模式,例如翻转,滚转和环绕。
RPY摇杆输入控制围绕各自轴的角度旋转速率。 当操纵杆居中时,飞机将停止旋转,但保持其当前朝向(不一定是水平)。

4.2摇杆输入映射
特技模式下默认的滚转、俯仰和偏航操纵杆输入映射如下所示。 该曲线使得在最大杆输入处具有大转弯速率能够进行特技动作,在靠近杆回中位置的区域具有较低灵敏度以进行微调。

可以使用MC_ACRO_EXPO和MC_ACRO_SUPEXPO参数调整滚转和俯仰轴杆输入响应,同时使用MC_ACRO_EXPO_Y和MC_ACRO_SUPEXPOY调整偏航轴杆输入响应 。 MC_ACRO_EXPO和MC_ACRO_EXPO_Y参数用于调整线性曲线和三次曲线之间的曲线,如下所示。 MC_ACRO_SUPEXPO和MC_ACRO_SUPEXPOY允许进一步调整曲线形状,修改低灵敏度区域的宽度。


数学关系是:

其中y是纵轴,x是横轴,f = MC_ACRO_EXPO 或 MC_ACRO_EXPO_Y,g = MC_ACRO_SUPEXPO 或 MC_ACRO_SUPEXPOY , r 为最大速率。
您可以在此处进行试验。
4.3参数
MC_ACRO_EXPO 特技模式“指数”因子,用于调整滚转和俯仰轴的杆输入曲线形状。 值:0表示纯线性输入曲线,1表示纯三次输入曲线。 默认:0.69
MC_ACRO_EXPO_Y 特技模式“指数”因子,用于调整偏航轴的杆输入曲线形状。 值:0表示纯线性输入曲线,1表示纯三次输入曲线。 默认:0.69
MC_ACRO_SUPEXPO 特技模式“超级指数”因子,用于精细调整滚动轴和俯仰轴的杆输入曲线形状(使用MC_ACRO_EXPO进行调整)。 值:0——纯指数函数,0.7——合理增强直观操纵感的形状,0.95——非常弯曲的输入曲线,仅在最大值附近有效。 默认:0.7
MC_ACRO_SUPEXPOY 特技模式“超级指数”因子用于精细调整偏航轴的杆输入曲线形状(使用MC_ACRO_EXPO_Y进行调整)。 值:0——纯指数函数,0.7——合理增强直观操纵感的形状,0.95——非常弯曲的输入曲线,仅在最大值附近有效。 默认:0.7
MC_ACRO_P_MAX 最大特技俯仰速率 默认:每秒2转(720度/秒)
MC_ACRO_R_MAX 最大特技滚转速率 默认:每秒2转(720度/秒)
MC_ACRO_Y_MAX 最大特技偏航速率 默认: 1.5转每秒(540度/秒)
5.环绕模式 (多旋翼)
[易于飞行] [需要定位修复(例如 GPS)]
默认情况下,轨道引导飞行模式允许您命令多旋翼机(或多旋翼模式下的垂直起降)绕圆飞行,偏航始终朝向中心。
环绕模式 - 多旋翼
QGroundControl(或其他兼容的GCS或MAVLink API)需要启用该模式,并设置轨道的中心位置、初始半径和高度。一旦启用后,无人机将尽快飞到控制的圆周轨迹上的最近点,并在规划的圆周上朝中心方向缓慢(1 m/s)顺时针旋转。
环绕模式的启动方式为:
解锁并起飞后,左键点击飞行视图页面的地图。选择下图的Orbit at location

然后滑动地图底部的确认按钮,无人机会进入环绕模式绕圈飞行

注解
该模式下遥控器是可选的,如果没有遥控,则环绕模式如上所述。 无法使用遥控来切换该模式(如果使用遥控切换该模式,无人机会处于空闲状态)。
遥控可以用于改变绕圈的高度,半径,速度和绕圈方向:
左摇杆:
上/下:控制上升/下降速度,如位置模式。当在中部死区时,高度被锁定。
左/右:无影响。
右摇杆:
左/右:控制顺时针/逆时针方向的轨道加速度。当居中时,当前速度被锁定。
最大速度为 10 m/s,进一步的限制是将向心加速度保持在 2 m/s^2 以下。
上/下:控制轨道半径(更小/更大)。当居中时,当前半径被锁定。
最小半径是 1 米。 最大半径是 100 米。
下图直观的显示了模式行为(对于一个美国手遥控器)。

切换到其他飞行模式(使用遥控或 QGC 地面站)可以停止此模式。
5.1参数/限制
没有特定的环绕模式参数。
下面的限制是写死的:
初始/默认是顺时针方向 1 m/s 旋转。
最大加速度限制在 2 m/s^2。
优先保持控制的圆周轨迹而不是地速(即, 如果加速度超过 2 m/s^2无人机将减速以达到正确的圆周)。
最大半径是 100 米。
环绕模式可以使用以下 MAVLink 命令:
MAV_CMD_DO_ORBIT:启动一个指定中心点,半径,方向,高度,速度和偏航方向的轨道(无人机默认朝向轨道中心)。
ORBIT_EXECUTION_STATUS :在环绕模式发出的环绕状态。
6.定点模式(固定翼)
[易于使用] [需要手动或遥控控制] [需要定位修复(例如GPS)]
位置模式是一种易于飞行的RC模式,在该模式下,当杆释放/居中时,飞机将水平并沿当前方向直线飞行,以补偿风和其他力。
油门取决于空速(在 50% 油门时,飞机将以预设的巡航速度保持其当前高度)。 俯仰用于爬升或下降。 翻滚、俯仰和偏航是角度控制的(因此不可能实现飞机滚转或环绕)。
提示
位置模式对于新手是最安全的固定翼手动模式。
下图直观的显示了该模式(对于一个美国手的发射机)。

7.定高模式(固定翼)
[易于飞行] [需要手动或遥控控制] [所需高度(例如巴罗、测距仪)]
高度飞行模式使用户更容易控制车辆高度,尤其是达到和保持固定高度。该模式不会试图抵抗风扰保持航向。
爬升/下沉率通过俯仰/升降舵杆操纵杆来控制。 操纵杆一旦回中,自动驾驶仪就会锁定当前的高度,并在偏航/滚转和任何空速条件下保持高度。
油门通道输入控制空速。 滚动和俯仰是角度控制的(因此不可能实现飞机滚转或环绕)。
当所有遥控输入都居中时(无滚动、俯仰、偏航,油门约 50%),飞机将恢复直线水平飞行(受风影响)并保持其当前高度。
下图直观的显示了该模式(对于一个美国手的发射机)。

7.1技术总结
遥控/手动模式,如自稳模式,但具有高度稳定性(杆回中使飞机进入直线和水平飞行并保持当前高度)。 但是飞行过程并不稳定,可能被风吹飘离。
回中的滚动/俯仰/偏航输入(在死区内):
自动驾驶仪使飞机/机翼水平并且维持高度。
如果空速传感器已连接,油门杆控制飞机速度。 在没有空速传感器的情况下,用户无法控制油门(在这种情况下,飞机将在巡航油门下(FW_THR_CRUISE) 水平飞行,根据需要增加或减少油门以上升或下降。
外部中心:
俯仰摇杆控制高度。
油门杆控制飞机的空速(如回中输入 横滚/俯仰/偏航)。
横滚摇杆控制横滚角度。 自动驾驶仪将保持 协调飞行。 这和自稳模式一样。
偏航摇杆操纵会驱动方向舵(指令将被加到自动驾驶仪计算的指令中以维持 协调飞行。 这和自稳模式一样。
注解
需要手动输入(遥控器,或者通过 MAVLink 连接的游戏手柄/拇指摇杆)。
通常使用气压计测量高度,在极端天气条件下可能会变的不准确。 带有激光雷达/距离传感器的飞机将能够以更高的可靠性和准确性控制高度。
7.2参数
该模式受以下参数影响:
FW_MAN_P_MAX 在高度稳定模式下手动控制的最大俯仰角。 默认:45 度。
FW_MAN_R_MAX 在高度稳定模式下手动控制的最大滚转角。 默认:45 度。
8.自稳模式(固定翼)
[中等飞行难度] [需要手动或遥控控制]
当RC杆居中时,稳定模式使车辆进入直线和水平飞行,保持水平姿态迎风(但不包括车辆航向和高度)。
如果横滚/俯仰摇杆杆不为零,则无人机根据俯仰输入进行爬升/下降并执行协调的转弯。 横滚和俯仰是角度控制的(不能上下滚动或翻滚)。
提示
稳定模式比手动模式更容易飞行,因为你不能翻滚或翻转它,而且通过对中控制杆很容易调平车辆。
如果油门降至 0%(电机停止),飞机将滑行。 为了执行转弯,必须在整个操纵过程中保持命令,因为如果释放横滚摇杆,则飞机将停止转动并自行调平(对于俯仰和偏航命令也是如此)。
下图直观的显示了该模式(对于一个美国手发射机)。

8.1技术描述
遥控/手动模式,横滚和俯仰摇杆回中使飞机改平。
摇杆回中会使飞机进入定直平飞。 但是飞行航向和高度并不稳定,可能被风吹飘离。
如果滚转/俯仰杆输入非零,则飞机进行协调转弯(手动偏航输入被添加到方向舵控制输入以控制侧滑)。
9.特技模式(固定翼)
[很难飞] [需要手动或遥控控制]
杂技模式是用于执行杂技动作的RC模式,例如翻滚、翻转、失速和杂技动作。
侧倾、俯仰和偏航杆控制围绕各自轴的角旋转速率,油门直接传递至控制分配。当操纵杆居中时,飞机将停止旋转,但保持其当前朝向(在其侧面,倒置或任何其他方向)并根据当前动量移动。

9.1技术描述
用于执行特技动作的遥控模式,例如滚动、翻转。
RPY摇杆输入被转换为角速度命令,通过自动驾驶仪稳定。 油门直接传递到电机输出。
9.2参数
FW_ACRO_X_MAX 机体轴x轴最大速率(用户在acro模式下施加滚转轴满杆操纵时,控制器试图达到的机体轴x轴速率) 默认:90度
FW_ACRO_Y_MAX 机体轴y轴最大速率(用户在acro模式下施加俯仰轴满杆操纵时,控制器试图达到的机体轴y轴速率) 默认:90度
FW_ACRO_Z_MAX 机体轴z轴最大速率(用户在acro模式下施加偏航轴满杆操纵时,控制器试图达到的机体轴z轴速率) 默认:45度
10.手动模式(固定翼)
[很难飞] [需要手动或遥控控制]
手动模式将摇杆输入直接发送至控制分配,以实现完全手动控制。
提示
这是最难飞行的模式,因为什么都不稳定。 不同于特技模式,如果 RP (俯仰和横滚) 摇杆居中,无人机不会自动停止绕轴转;飞手实际上必须移动摇杆向另一个方向施力。
注解
这是唯一忽略 FMU(命令通过安全协处理器发送) 的飞行模式。 该模式提供了一个安全机制,允许在 FMU 固件故障时通过遥控器完全控制油门,升降舵,副翼和方向舵。
10.1技术描述
遥控模式,其中摇杆输入直接发送到混控(用于“完全”手动控制)。
这是唯一忽略主处理器(命令通过安全协处理器发送) 的飞行模式。 该模式提供了一个安全机制,允许在 FMU 固件故障时通过遥控器完全控制油门,升降舵,副翼和方向舵。
10.2参数
FW_MAN_P_SC 手动俯仰控制比例。 在完全手动模式下应用于所需俯仰舵机指令的比例因子。 此参数允许调整控制舵偏的偏转。 默认:1.0
FW_MAN_R_SC 手动滚转控制比例。 在完全手动模式下应用于所需横滚舵机指令的比例因子。 此参数允许调整控制舵偏的偏转。 默认:1.0
FW_MAN_Y_SC 手动偏航控制比例。 在完全手动模式下应用于所需偏航舵机指令的比例因子。 此参数允许调整控制舵偏的偏转。 默认:1.0
起飞模式
[需要定位(例如 GPS )]
起飞飞行模式使无人机起飞到指定高度并等待进一步指令。
注解
该模式需要一个良好的位置估计(如,从 GPS 中获取)。
使用此模式前必须先解锁。
This mode is automatic - no user intervention is required to control the vehicle.
遥控开关可以在任何无人机上更改飞行模式。
在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。
如果起飞时出现问题, 故障检测器 将自动停止电机。
下面描述每种类型飞机的具体行为。
1.多旋翼(MC)
多旋翼上升到 MIS_TAKEOFF_ALT 中定义的高度并保持位置。
遥控器摇杆移动会把无人机切换到 位置模式 (默认)。
起飞受以下参数影响:
MIS_TAKEOFF_ALT 起飞期间的目标高度 (默认值: 2.5 米)
MPC_TKO_SPEED 上升速度 (默认值: 1.5 m/s)
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到 位置模式。 可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。
COM_RC_STICK_OV 导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
2.固定翼(FW)
飞机使用弹射器/手抛起飞模式或跑道起飞模式沿当前方向起飞。模式默认为弹射/手动起飞,但可以使用 RWTO_TKOFF 设置为跑道起飞。 在这两种情况下,遥控操作都被忽略。
弹射/手抛起飞
在弹射器/手抛起飞模式下,车辆等待检测起飞(基于加速触发)。在起飞时,它在大约2秒内升到全油门(RWTO_MAX_THR),然后执行全油门爬升,最小起飞俯仰10度。
一旦它达到 FW_CLMBOUT_DIFF 它将过渡到 保持模式 和悬停。
除了上面讨论的行为之外,还有一个启动检测器可以阻止启动程序开始直到满足某些条件。 对于弹射器发射,这是一些加速度阈值。
跑到起飞
跑道起飞模式有以下阶段:
加速滑行:在跑道上加速(俯仰固定,无侧倾,航向保持),直到达到起飞的最小空速(FW_AIRSPD_MIN x RWTO_AIRSPD_SCL)。
起飞:增加俯仰并继续,直到车辆高度>导航高度(RWTO_NAV_ALT)。
爬升:爬升至高于地面高度>FW_CLMBOUT_DIFF。在此阶段中, 将移除滚转和航向限制。
固定翼起飞参数
起飞受以下参数影响:高于地平面(AGL)的高度,留有足够的离地间隙以允许一些滚转。 在达到RWTO_NAV_ALT之前,飞机保持水平,并且仅使用方向舵来保持航向(参见RWTO_HDG )。
起飞时,无人机 总是遵循正常的固定翼最大/最小油门设置(FW_THR_MIN,FW_THR_MAX)。
垂直起降(VTOL)
VTOL 在启动时默认为多旋翼模式,通常可以在多旋翼模式下起飞(而且也更安全)。
也就是说,如果在起飞前切换到固定翼,将以固定翼模式起飞。
着陆模式
[需要定位估计(例如GPS)]
使无人机降落在开启此模式时的位置。降落后,无人机将会在一小段时间后上锁(默认情况下)。
注解
该模式需要有效的位置估计,除非由于失效保护进入该模式,这种情况下仅需要高度估计(通常飞控内置一个气压计)。
此模式为自动模式-无需用户干预即可控制飞机。
遥控器开关可以用于更改任何无人机的飞行模式。
在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。
下面描述每种类型飞机的具体行为。
1.多旋翼(MC)
无人机将降落在模式所指定的位置。 无人机以 MPC_LAND_SPEED 指定的速度下降,降落后会上锁(默认)。
遥控器摇杆移动会把无人机切换到 位置模式 (默认)。
着陆受以下参数影响:
MPC LAND_SPEED 着陆过程中的下降速率。 鉴于地面情况未知,这个值应该设得相当小。
COM_DISARM_LAND 降落后自动上锁的超时时间,以秒为单位。 如果设定为 -1,无人机将不会在着陆时上锁。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动是否将控制权交给位置模式下的飞手。 可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。
COM_RC_STICK_OV 导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
2.固定翼(FW)
无人机将转弯并降落在该模式指定的位置。 遥控器摇杆操作被忽略。
通常固定翼无人机会遵循固定的着陆轨迹到地面(它不会尝试拉平着陆)。 这是因为在着陆模式下,飞机可能不知道地面高度并且将假设它处于海平面。 由于地面高度可能会高得多,因此飞机通常会在高于拉平辑逻辑的高度处到达地面。
着陆受以下参数影响
COM_DISARM_LAND 降落后自动上锁的超时时间,以秒为单位。 如果设定为 -1,无人机将不会在着陆时上锁。
垂直起降(VTOL)
当处于固定翼模式时,VTOL 遵循 LAND 行为和固定翼的参数,而当处于多旋翼模式时,VTOL 遵循多旋翼的参数。 当设置 NAV_FORCE_VT(默认:开)时,固定翼模式下的 VTOL 将在着陆前切换回多旋翼模式。
返航模式
[需要定位(例如 GPS )]
返航飞行模式用于将车辆在无障碍的路径上安全飞行至安全目的地,在那里可以等待(悬停或盘旋)或降落。
PX4 提供了几种机制来选择安全的返航路径,以下章节解释了如何配置 返航类型, 返航高度 和 降落/抵达行为。 最后有章节解释了每种机型的默认(预配置)行为。
注解
该模式需要 GPS。
遥控开关可以在任何无人机上更改飞行模式。
在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。
1.返航类型(RTL_TYPE)
PX4 提供了四种替代方法( RTL_TYPE ),用于找到通向安全目的地和/或着陆的畅通路径:
返航到起始位置/集结点(RTL_TYPE=0): 上升到安全高度并直接路径返回到最近的集结点或起始地点。
任务着陆/集结点返回(RTL_TYPE=1):上升到安全高度,直接飞到离家最近的目的地:集结点或任务着陆开始。 如果未定义任务着陆点或集结点,则直接返回起始位置。
任务路径返航(RTL_TYPE=2):使用任务模式的路径并沿原路径返回。 如果未定义任务降落,则将快速回退到任务起始位置。 如果未定义任务,直接返航到起始位置(集结点将被忽略)。
最近的安全目的地返航(RTL_TYPE = 3):上升到安全高度并通过直接路径返回最近的起始位置,任务着陆点的开始位置或集结点。
以下各节提供了每种类型的更详细说明。
2.起始位置/集结点返航类型(RTL_TYPE=0)
无人机在该返航类型中:
爬升到一个安全的返航高度(高于任何可预期的障碍物)。
通过直接路径飞往起始位置或集结点(以最近者为准)。
降落或等待处于下降高度(取决于着陆参数)。
注解
如果未定义集结点,这与返回起飞点(RTL)/返回原点(RTH)相同。
3.任务着陆/集结点返航类型 (RTL_TYPE=1)
无人机在该返航类型中:
爬升到一个安全的返航高度(高于任何可预期的障碍物)。
直接飞行到一个集结点或任务着陆模式的起点(以最近者为准)。 如果未定义任务降落或集结点,无人机通过直接路径返回到起始位置。
如果目的地是飞行任务着陆模式,则按照该模式降落。
如果目的地是集结点或者起始位置,无人机将在降落高度(取决于着陆参数)降落或等待。
保持模式
[需要定位(例如 GPS)]
等待飞行模式(也称为“悬停”)使车辆停止并保持其当前的GPS位置和高度(MC车辆将在GPS位置悬停,而FW车辆将在其周围盘旋)。
提示
保持模式可用于暂停任务或帮助您在紧急情况下重新控制车辆。它通常通过预编程开关激活。
注解
该模式需要 GPS。
此模式为自动模式-无需用户干预即可控制车辆。
遥控开关可以在任何无人机上更改飞行模式。
在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。
下面描述每种类型飞机的具体行为。
1.多旋翼(MC)
多旋翼无人机悬停在当前位置和高度。
遥控器摇杆移动会将无人机切换到 位置模式 (默认)。
可以使用以下参数配置此动作。
MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在较低的高度进行,则飞行器将上升到此高度)。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到 位置模式。 可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。
COM_RC_STICK_OV 导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
2.固定翼(FW)
飞机在当前高度并在 GPS 保持的位置绕圈飞行。 如果在低于这个高度使用该模式,无人机会首先上升MIS_LTRMIN_ALT。
遥控器摇杆操作被忽略。
可以使用以下参数配置此动作。
NAV_LOITER_RAD 留待圈的半径。
MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在较低的高度进行,则飞行器将上升到此高度)。
3.垂直起降(VTOL)
当处于固定翼模式时,VTOL 遵循固定翼的参数,而当处于多旋翼模式时,VTOL 遵循多旋翼的参数。
任务模式
[需要定位(例如 GPS)]
任务模式使车辆执行已上传至飞行控制器的预定义自主任务(飞行计划)。任务通常由地面控制站(GCS)应用程序(如QGroundControl)创建并上传
注解
此模式需要 3d 位置信息(如 GPS)。
使用此模式前必须先解锁。
遥控器开关可以用于更改任何无人机的飞行模式。
在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。
参数描述
任务通常在地面控制站规划,并在启动前上传。它们也可以由开发者API创建,和/或在飞行中上传。个别任务指令的处理方式取决于每种飞行器的飞行特性(例如,直升机的悬停飞行和固定翼的盘旋飞行)。 VTOL飞机在固定翼模式下遵循固定翼的行为和参数,在多旋翼模式下遵循旋翼机的行为和参数。
注解
任务上传到SD卡上,需要在启动自动驾驶仪之前插入SD卡。
在高级别上,所有无人机类型在使用 MISSION 模式时表现相同:
如果任务被开始并且无人机正在飞行,则它将从当前步骤执行 任务/飞行计划。
如果开始了任务, 并且无人机在地面:
多旋翼无人机将执行任务/飞行计划. 如果任务没有 TAKEOFF 命令,则在从当前步骤执行飞行计划的剩余部分之前,无人机将飞行到最小高度。
在固定翼飞行器上,无人机不会自动起飞(自动驾驶仪将检测运动并将油门设置为零)。 如果在任务模式下手动或弹射发射,飞机可以开始执行任务。
如果停止任务,或者无人机已完成所有任务并且无人机正在飞行,飞机将会留待。
可以通过激活HOLD 模式暂停任务。 当您重新激活 MISSION 飞行模式时,任务将从当前任务命令继续执行。 在任务模式下飞行时,如果决定中止任务,并且切换到了其他飞行模式,如位置模式,通过遥控器讲无人机飞到了其他地方,然后切换回任务模式,无人机将从当前位置继续执行任务,并会飞往下一个未访问的任务航点。
注意
在切换到其他遥控器模式之前,确保油门摇杆不为零(否则无人机将坠毁)。 我们建议您在切换到任何其他模式之前将摇杆置中。
有关任务规划的更多信息,请参阅:
任务参数
任务行为受许多参数的影响. 下面列出了一个很小的子集。
NAV_RCL_ACT 遥控信号丢失失效保护模式(如果断开遥控无人机会怎样)- 例如进入保持模式,返航模式,终止等。
NAV_LOITER_RAD 固定翼悬停半径。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动是否将控制权交给位置模式下的飞手。 可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。
COM_RC_STICK_OV 导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
注意:
对于任务命令,PX4 不支持本地坐标系(例如,MAV_FRAME_LOCAL_NED)
跟随模式
[需要定位(例如GPS)]
跟随模式允许多旋翼机自主保持相对于另一个系统的位置和高度,该系统使用Follow_TARGET广播其位置(可选速度)MAVLink消息。
跟随的概念
根据高度控制模式,车辆将从指定的相对角度、距离、高度和高度自动偏转到目标面并跟随目标。
默认情况下,它将直接从目标后面跟随,距离为8米,高度为起始(待命)位置上方8米。

用户可以使用如上所示的遥控器调整跟随角度、高度和距离:
跟随高度由上下输入(“油门”)控制。将棍子居中,以恒定的高度跟踪目标。升高或降低摇杆以调整高度。
跟随距离由前后输入(“俯仰”)控制。向前推操纵杆会增加跟随距离,向后拉则会减少距离。
跟随角度由左右输入(“滚动”)控制。移动是从用户的角度出发的,所以如果你面对无人机并向左移动棍子,它就会向你的左边移动。从上方看,如果向左移动操纵杆,无人机将逆时针移动。
跟随角度定义为相对于目标航向(0度)沿顺时针方向增加

跟随角度图
注解
退出跟随模式时,将放弃使用RC控制器设置的角度、高度和距离值。如果退出跟随模式并再次激活,则值将重置为默认值。
在带有GPS模块和MAVSDK的Android设备上,QGroundControl支持跟随模式。
注解
此模式需要GPS。
此模式目前仅在多旋翼上受支持。
跟踪目标还必须能够提供位置信息。
QGroundControl仅在具有GPS的Android设备上支持此模式。
1.安全须知
注意
跟车模式不实施任何类型的障碍物回避。使用此模式时必须特别小心。
应遵守以下飞行预防措施:
跟我走模式只能在没有树木、电线、房屋等遮挡的开阔区域使用。
将跟随高度设置为远高于任何周围障碍物的值。默认情况下,该位置高于原始(待命)位置8米。
在启用跟我模式之前手动飞到安全高度比在着陆时启用跟我方式更安全(即使该模式实现自动起飞)。
为无人机留出足够的制动空间,尤其是在无人机快速行驶时。
如果出现问题,准备切换回位置模式,特别是第一次使用跟随模式时。
您不能使用摇杆移动来关闭跟随我模式(因为这将调整属性)。您需要有一个可以发送飞行模式开关信号的地面站,或者在RC发射机中配置一个飞行模式开关。
2.通过QGroundControl使用跟随模式
使用QGroundControl作为具有GPS模块的地面站硬件上的目标,支持跟随模式。推荐的配置是一个能使用 USB OTG 的安卓设备,配备两个数传。

设置跟随模式:
将遥测无线电连接到地面站设备,将另一个连接到车辆(这允许在两个无线电之间中继定位信息)。
禁用Android设备上的睡眠模式:
此设置通常可以在“设置”>“显示”下找到。
禁用Android设备上的睡眠模式很重要,因为这可能会导致GPS信号停止定期发射。
起飞高度至少为2-3米(即使支持自动起飞,也建议如此)。
将无人机放在地面上,按下安全开关并后退至少10米。
解锁车辆并起飞。
切换到跟随我模式。
根据距离传感器的存在,直升机将首先上升到离地面或家1米的最低安全高度。
在水平移动之前,它将一直上升到跟随高度3米以内,以避免潜在的碰撞。
飞机会一直调整航向以面对目标
此时,你可以开始移动,无人机将跟踪你。
3.通过MAVSDK使用跟随模式
MAVSDK支持跟随模式,允许您创建一个无人机应用程序,该应用程序设置跟随的目标。
有关更多信息,请参见“跟随我”类
(打开新窗口)文档以及“跟随我”示例
(打开新窗口)。
配置高度控制模式

高度控制模式确定车辆高度是否相对于原位置、地形高度或跟随目标报告的高度。
2D跟踪(默认高度模式)使无人机在相对于固定起始位置(起飞高度)的高度跟随。无人机到目标的相对距离将随着你的上升和下降而改变(在丘陵地形中小心使用)。
2D+地形使用来自距离传感器的信息,使无人机以相对于其下方地形的固定高度跟随。如果车辆没有距离传感器,跟踪将与2D跟踪相同。距离传感器并不总是准确的,在这种模式下飞行时,车辆可能会“跳跃”。请注意,该高度相对于车辆下方的地面,而不是跟随目标。无人机可能无法跟踪目标的高度变化!
3D跟踪模式使无人机在其GPS传感器提供的相对于跟踪目标的高度上跟踪。这会适应目标高度的变化,例如当你上山时。
注意
当使用QGC for Android时,在未检查FOLLOW_TARGET.altitude 是AMSL高度的情况下,请勿将高度模式(FLW_TGT_ALT_M)设置为3D跟踪.MAVLink跟踪目标消息定义期望相对于平均海平面(AMSL)的高度,而Android上的QGC正在发送相对于GPS椭球的高度。这可以相差200米!
由于内置的最低安全高度限制(1米),无人机可能不会坠毁,但它可能会飞得比预期高很多。如果无人机的高度与规定的高度相差很大,假设地面站的高度输出错误,请使用2D跟踪。
4.参数
可以使用以下参数配置跟随我的行为:
FLW_TGT_HT跟随高度,单位为米。请注意,此高度相对于起始/待命位置(而非目标车辆)是固定的。默认和最小高度为8米(约26英尺)
FLW_TGT_DST水平(x,y)平面内的无人机/地面站间距,单位为米。最小允许间距为1米。默认距离为8米(约26英尺)。
FLW_TGT_FA相对于目标航向的跟随角度,单位为度。如果输入的值超出范围[-180.0,+180.0],则会自动转换并应用(例如480.0将转换为120.0)
FLW_TGT_ALT_M高度控制模式。
0=二维跟踪(高度固定)
1=2D跟踪+地形跟踪
2=目标GPS高度的3D跟踪警告:请勿与Android的QGC一起使用。
FLW_TGT_MAX_VEL围绕目标的轨道运动的最大相对速度,单位为m/s。
10米/秒已被证明是最佳点。
FLW_TGT_RS过滤传入目标位置的动态过滤算法响应性。
0.0=对运动和位置、速度和加速度的噪声估计非常敏感。
1.0=非常稳定但没有响应的滤波器
5.提示和技巧
将跟随距离设置为12米以上(“建议最小距离”为8米)。
目标和无人机的GPS传感器之间存在固有的位置偏差(3~5米),这使得无人机在接近实际目标的地方跟踪“幽灵目标”。当跟车距离很小时,这一点更为明显。我们建议将跟随距离设置得足够大,以使GPS偏差不显著。
使用RC调整高度、距离和角度,您可以获得一些创造性的相机镜头。
已知的问题
已知 SiK 915兆赫数传 会干扰某些安卓设备的 全球定位系统信号接收。 保持数传和安卓设备之间尽可能远的距离,避免使用跟随模式时受到干扰。
QGC for Android报告了错误的海拔高度(高于椭球面而非AMSL的海拔高度)。跟随高度可以偏离200米!
Offboard 模式
[需要定位修复(例如GPS)]
飞机遵守 MAVLink 提供的位置,速度或姿态设定值。 设定值可以由机载计算机上运行的 MAVLink API(例如 MAVSDK
(opens new window) 或 MAVROS
(opens new window))提供(通常通过串口或 wifi 连接)。
提示
并非所有设置点消息和车辆都支持MAVLink允许的所有坐标系和值。仔细阅读以下章节,确保只使用支持的值。还请注意,在进入模式之前以及模式运行期间,必须以>2Hz的频率流发布定值。
注解
此模式需要位置或位/姿信息 - 例如 GPS、光流、视觉惯性里程计、mocap 等。
除了更改模式外, 禁止遥控器控制。
使用此模式前必须先解锁。
在启用此模式之前,车辆必须已经接收到目标设定点流(>2Hz)。
如果未以>2Hz的速率接收到目标设定值,则无人机将退出模式。
不支持MAVLink允许的所有坐标系和字段值。::
1.描述
Offboard 模式主要用于控制飞机运动和姿态,目前仅支持 MAVLink 消息的一个有限子集(未来将支持更多)。
其他操作, 如起飞、降落、返航,最好使用适当的模式来处理。 像上传、下载任务这样的操作可以在任何模式下执行。
在进入该模式之前,无人机必须收到设定值数据流,并且保持在该模式下(如果消息速率降至 2Hz 以下,无人机将停止)。 为了在此模式下保持位置,必须向无人机提供一个包含当前位置设定值的数据流。
Offboard 模式需要主动连接到远程 MAVLink 系统 (例如机载计算机或 GCS)。 如果连接丢失,在超时 (COM_OF_LOSS_T) 后,无人机将尝试降落或执行其他故障失效保护操作。 该动作定义在参数 COM_OBL_ACT 和 COM_OBL_RC_ACT 中。
2.支持的消息
3.多旋翼/垂直起降
SET_POSITION_TARGET_LOCAL_NED
支持以下输入组合:
位置设置值 (仅 x,y,z)
速度设置值 (仅 vx, vy, vz)
加速度设定值(仅 afx,afy,afz)
PX4支持以下coordinate_frame值
MAV_FRAME_LOCAL_NED
MAV_FRAME_BODY_NED
SET_POSITION_TARGET_GLOBAL_INT
支持以下输入组合:
位置设定值(仅lat_int,lon_int,alt)
Velocity setpoint (only vx, vy, vz)
Thrust setpoint (only afx, afy, afz)
注解
PX4 支持以下 coordinate_frame 值(仅限):
MAV_FRAME_GLOBAL
SET_ATTITUDE_TARGET
支持以下输入组合:
带有推力设定值(SET_ATTITUDE_TARGET.thrust)的姿态和方向(SET_ATTITUDE_TARGET.q)。
带有推力设定值(SET_ATTITUDE_TARGET.thrust)的机身速率(SET_ATTITUDE_TARGET .body_roll_rate,.body_pitch_rate,.body_yaw_rate)。
4.Offboard参数
COM_OF_LOSS_T 丢失 Offboard 连接时的等待超时时间(以秒为单位),然后将触发 offboard 丢失的失效保护措施 (COM_OBL_ACT 和 COM_OBL_RC_ACT)
COM_OBL_ACT 当未连接到RC时,如果失去offboard控制,则切换到的模式(值为-0:着陆,1:保持,2:返回)。
COM_OBL_RC_ACT 当仍连接到RC控制时,如果失去offboard控制,则切换到的模式(值为-0:位置,1:高度,2:手动,3:返回,4:降落)。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到 位置模式。 默认情况下未启用此功能。
COM_RC_STICK_OV 导致发射机切换到 位置模式 的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
七、PX4日志分析
前言
PX4 1.10以上固件
QGC
(一)下载日志
将飞控链接地面站,在下图页面点击“刷新”,即可看到保存的日志(前提是要有TF卡)

选择需要下载的日志,点击右侧的“下载”,然后选择目录即可进行下载,如果想擦除所有的日志,可以点击右侧的“擦除全部”

(二)ulog转CSV
ubuntu下先安装pyulog
pip install pyulog 然后重启电脑
PX4的日志是二进制的ulog文件,如果想转换成CSV文件在matlab里绘图,可以在需要转化的ulog文件目录下
执行
ulog2csv XXX.ulog 会自动在当前目录下生成一系列csv文件
将csv文件拖到matlab界面中,会弹出下面的页面,点击导入
会提示导入到工作区,这时可以调用画线函数plot进行划线
调用
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x)可以得到一条线
如果要在同一个页面画多条线,可以用hold on
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x)
hold on
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.y)
得到下图
给曲线添加注释可以通过
legend('UAV1','UAV2','UAV3','UAV4','UAV5');(三)利用flightplot软件分析PX4的ulog日志
1.windos安装
下载下面两个软件,地址
链接:https://pan.baidu.com/s/14mN28Fn0IlSA4vDu_dATKA
提取码:yi3g
复制这段内容后打开百度网盘手机App,操作更方便哦
先安装jdk,然后就可以双击打开flightplot软件
点击打开日志
选择日志
这个时候不会显示数据曲线
点击下图选项
选择需要显示的数据
以x位置为例
选择Simple类型
即可看到曲线
如果要把四元数转成欧拉角显示

先同时选中四个四元数,按住ctl即可多选
然后点击add

选择从四元数到欧拉角
点击 ok即可
2.ubuntu18.04安装
参考视屏https://www.bilibili.com/video/BV1mi4y1s7q6
第一步:
git clone --recursive https://github.com/PX4/FlightPlot.git第二步:
sudo apt-get install openjdk-8-jdk 第三步:
flightplot需要用java8,而ubuntu18.04默认是java11,需要更换
sudo update-alternatives --config java 出现如下页面,如果不是java-8。输入2,回车,配置成java-8
重启电脑
安装flightplot
cd FlightPlot ant gen_deb sudo dpkg -i out/production/FlightPlot.deb 注意在上面配置成java-8之后如果没有重启电脑,会导致安装的flightplot不能显示日志的信息,如下
此时需要重启电脑清除重新安装
ant clean 再执行安装flightplot步骤
安装完成后可以添加到收藏夹
(四)使用PlotJuggler分析PX4日志
下载地址
https://github.com/facontidavide/PlotJuggler

ubuntu下下载appimage文件然后添加一下可执行权限,然后双击打开即可.
点击下图图标打开日志文件

如下图

打开后如下图所示,选中需要显示的数据,如果想在一幅图中显示多个数据,则按住Ctrl再同时选中多个数据.然后鼠标左键将选中的数据拖到右边的显示矿中,数据就可以显示.

如下图

如果要在该图右侧分出一栏,则鼠标右键该图,点击如下选项

如下图

如果要在该图下侧分出一栏,则鼠标右键该图,点击如下选项

如下图

如果要删除某一副图,则点击该图右上角×号即可

如果想放大图中的某些部分,则鼠标左键长按框选相应区域即可,如下图

(五)设置日志记录条件
搜索参数SDLOG_MODE

如果要上电后就开始记录日志,需要设置成from boot until shutdown
(六)添加自定义日志消息
固件版本1.11
一、将要观察的数据声明成uORB消息,并发布。我这里随便添加了一个
在logged_topics.cpp里的add_default_topics函数里加上一行add_topic("fanbu",100);或者add_topic("fanbu");双引号里的就是uORB的消息ID.
在需要的地方发布uORB消息,即可自动的记录到日志里,发布时必须赋值时间戳
在flightplot里搜索自己添加的消息,然后添加显示
八、PX4常用参数解析(PX4 1.13.3)
前言
PX4 1.13以上版本
(一)常用参数设置
PX4所有参数都在firmware-build/src/lib/parameters/px4_parameters.h文件里
注意,修改某些参数可能使飞机不稳定,本文仅供交流学习,不负相关责任。具体修改时请自行权衡。
1. 解锁检查参数
解锁检查参数的主要作用是设置飞控解锁的条件。常用的有以下几个。
根据具体的报错进行排查,常见的报错及解决办法如下:
1、Kill switch engagen
出现这个报错是因为使能了刹车开关

解决方法:将刹车开关拨到未使能状态。
或者关掉刹车开关,下图设置为unassigned,

2、Power redundancy not met/check battery:
如果出现下面的报错
●

或者出现check battery错误
这个参数是检查解锁时是否有电池供电,默认是需要插电流计供电才可以解锁。如果想通过其他方式(如ESC供电)给飞控供电进行解锁,则需要设置该参数为894281。

3、USB连接检查CBRK_USB_CHK(USB相关报错)
这个参数是检查起飞时是否有USB连接,默认情况下有USB连接时是无法解锁的,如果需要插USB解锁,需要设置为197848

4、安全开关检查CBRK_IO_SAFETY
默认情况下安全开关是慢闪状态,设置该参数蔚22027时,上电后安全开关自动切换为双闪。

5、high Accelerometer bios
如果报错加速度偏移过大,high Accelerometer bios

可以把com_arm_ekf_ab这个参数调大一些,在1.13以后版本的固件中,把EKF2_ABL_LIM调大。
6、high gyro bios
同理可以通过改下面这个参数把陀螺仪的起飞检查阈值该大一些,com_arm_ekf_gb

7、compasss inconsistent
如果报罗盘某个度数没包含的错误,COM_ARM_MAG_ANG设为-1

8、GPS报错
如果GPS搜星少,长时间没有进入GPS定位,可以把下面EKF2_GPS_CHECK改成0

9、Accels inconsistent
把下面这个COM_ARM_IMU_ACC改大一些,图中以加速度计为例,如果陀螺仪出现类似报错也是修改相应的参数

10、偏航角一直漂移
解决办法是校准陀螺仪
11、PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
当来自不同 IMU 单元的加速度测量值不一致时,会产生此错误消息。
此检查仅适用于具有多个 IMU 的板。
解决办法
将COM_ARM_IMU_ACC参数改大(可能要超限强制保存)。
同理
12、PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
检查COM_ARM_IMU_GYR参数
13、PREFLIGHT FAIL: EKF INTERNAL CHECKS
如果水平 GPS 速度、偏航角、垂直 GPS 速度或者垂直位置传感器(气压计默认情况下可以使测距仪或 GPS ,如果使用非标准参数)其中之一新息过多,会产生此错误消息。 新息指的是惯性导航计算预测值与传感器测量值之间的差异。
用户应检查日志文件中新息级别以确定原因。 这些可以在ekf2_innovations消息下找到。 常见问题 / 解决方案包括:
IMU 启动时漂移。 可以通过重启自驾仪来解决。 可能需要 IMU 加速度计和陀螺仪校准。
相邻磁干扰在飞行器运动中。 通过等待或者重新上电解决。
磁力计校准不良在飞行器运动中。。 通过重新校准解决。
启动时的初始冲击或快速移动导致惯性导航失败。 通过重新启动飞行器并在前 5 秒内最大限度地减少移动来解决此问题。
14、PREFLIGHT FAIL: EKF YAW ERROR
当使用陀螺仪数据估计的偏航角和来自磁力计或外部视觉系统的偏航角不一致时,产生该误差。
检查 IMU 数据是否存在较大的偏航率漂移,并检查磁力计的对准和校准。
可以修改COM_ARM_EKF_YAW关闭此检查
15、PREFLIGHT FAIL: EKF HORIZ POS ERROR
当 IMU 和位置测量数据(GPS 或外部视觉)不一致时会产生此问题。
检查位置传感器数据是否存在不真实的数据跳转。 如果数据质量看起来不错,请执行加速度计和陀螺仪校准并重新启动飞行器。
可以通过COM_ARM_EKF_POS参数禁用
16、PREFLIGHT FAIL: EKF VEL ERROR
当 IMU 和 GPS 速度测量数据不一致时会产生此错误。
检查 GPS 速度数据是否存在不真实的数据跳转。 如果 GPS 质量看起来没有问题,请执行加速度计和陀螺仪校准并重新启动飞行器。
可以通过COM_ARM_EKF_VEL参数禁用
17、PREFLIGHT FAIL: EKF HGT ERROR
当 IMU 和高度测量数据不一致时会产生此错误。
执行加速度计和陀螺仪校准并重新启动飞行器。 如果错误仍然存在,请检查高度传感器数据是否存在问题。
可以通过COM_ARM_EKF_HGT参数禁用
18、yaw estimate error
如果报错 yaw estimate error ,则把下面参数改大
COM_ARM_EKF_YAW
19、CPU load too high / No CPU load information
COM_CPU_MAX
该参数设置为-1将禁用CPU利用率检查,如果改参数大于0,当飞控CPU利用率大于该值或者检测不到CPU信息时,将不能解锁,报下面的错:
Fail: No CPU load information
或者
Fail: CPU load too high:
20、 Crash dumps present on SD,vehicle needs service
如果报错:
Crash dumps present on SD,vehicle needs service
将COM_ARM_HFLT_CHECK改为Disabled
21、连接地面站能解锁,断开地面站不能解锁
参考第二节禁用电源检查
22、无法解锁飞机,报错arm denied
检查是否关闭避障

二、安全设置
1.低电量保护
在地面站的安全设置中,低电量保护有如下三种动作,警告(只发出警告,不执行任何动作),降落(在电量低于故障保护水平时,直接降落),在临界水平时返航,在紧急水平时降落(在电量低于故障保护水平时返航,在电量低于紧急水平时降落)

2.遥控信号丢失保护
在遥控信号丢失超过超时时间后,会出发遥控器丢失保护,可以设置为不使能,返航,降落等模式

3.地理围栏保护
地理围栏是指以无人机设置围栏时的位置为圆心,设置的最大半径和最大高度为半径和高度的一个圆柱体范围,如果无人机飞行过程超出了这个范围,就会出发相应的故障保护动作,有不使能,警告,保持,返航,停止等动作。如果设置了相应的动作,那么无人机必须需要在有GPS信号的时候才能解锁

4.数据链路丢失保护
与地面站或者板卡的mavlink数据丢失时间超过设置的超时时间,会触发该保护,保护动作有:保持、返航、降落等

5.返航模式设置
下图可以设置返航后爬升的高度,无人机在返航时,先原地爬升到设置的返航高度,再飞回起飞点,返回起飞点上空后根据设置,可以选择立即着陆、留待但不着陆,留待一定的时间后着陆

6.着陆模式设置
设置着陆时的下降速率,以及着陆后几秒加锁电机

三、任务航点参数
航点半径
NAV_ACC_RAD
此参数设置判断到达航点的置信半径

从原点到第一个航路点的最大水平距离
故障保护检查,以防止在新的起飞位置执行先前飞行中存储的飞行任务。将值设置为零或更小以禁用。如果当前航路点距离起始位置的距离大于MIS_DIS_1WP,则不会启动任务。
MIS_DIST_1WP 航路点之间的最大水平距离
故障保护检查,以防止运行路径太远的任务。将值设置为零或更小以禁用。如果两个后续航路点之间的任何距离大于MIS_DIST_WPS,任务将不会开始
MIS_DIST_WPS 最小悬停高度
这是系统将始终遵守的最小高度值。其目的是避开地面效应。如果不应该有最小悬停高度,则将其设为-1
MIS_LTRMIN_ALT 启用偏航控制
如果启用,偏航命令将发送到机体,载具将沿着其飞行方向前进。如果禁用,载具机头将转向感兴趣区域(ROI),(仅影响多翼机和感兴趣区域(ROI)任务项)
MIS_MNT_YAW_CTL 起飞高度
这是起飞模式下系统将起飞到的最小高度。
MIS_TAKEOFF_ALT 是否需要起飞点
如果设置,任务可行性检查器将检查任务中是否有起飞点。
MIS_TAKEOFF_REQ 航路点航向接受所需的最大偏航误差(度)
MIS_YAW_ERR 偏航模式
指定自动模式下的偏航航向,有指向航点、指向home点、远离home点、沿轨迹、指向航点(偏航优先)五种
MPC_YAW_MODE 置信半径
默认航点的置信半径,如果设置,如果航点中也设置了置信半径,则将被航路中的置信半径覆盖。对于固定翼,L1转弯距离被用于水平置信半径。
NAV_ACC_RAD 固定翼着陆前高度置信半径
固定翼着陆前最后一个航路点的高度置信半径。这通常小于标准垂直置信半径,因为靠近地面需要更高的精度。
NAV_FW_ALTL_RAD 固定翼高度置信半径
固定飞行高度的置信半径。
NAV_FW_ALT_RAD 盘旋半径(仅固定翼)
任务、保持模式、返航模式等的盘旋半径默认值(仅限固定翼)。
NAV_LOITER_RAD 四、无人机室内视觉定位参数
如果想让无人机在室内通过视觉进行定位,需要修改两个参数,
一个是EKF2_AID_MASK,改成24,位置和航向用视觉的数据。如下:

另一个是EKF2_HGT_MODE,改成Vison,如下:

五、其他参数
无人机长时间无法进入定点模式
无人机在室外,位置数据来源为GPS,且GPS正常,但长时间无法进定点
确认EKF2_AID_MASK为1,


修改EKF2_GPS_CHECK为0,然后重启飞控


关闭蜂鸣器
CBRK_BUZZER改为782097

设置无人机自稳或定高模式下最大的倾斜角度

状态估计算法选择参数
SYS_MC_EST_GROUP,该参数可以指定飞控状态估计的算法,有单四元数互补滤波,四元数互补滤波加LPE,EKF2,默认采用EKF2,使用ekf2所需的最低传感器配置为加速度计、陀螺仪、磁力计、气压计。如果缺少任意一个,则EKF2无法运行,如果缺少磁力计和气压计,可以使用四元数互补滤波进行姿态解算,如果有位置传感器(如GPS),可以采用四元数互补滤波加LPE进行位姿估计。

如果报Disarmed by auto preflight disarming
将COM_DISARM_PRFLT禁用或改大一点
空速计开关
将此参数设置为162128将禁用空速传感器检查。
CBRK_AIRSPD_CHK 发动机故障检测开关
将此参数设置为284953将禁用发动机故障检测
CBRK_ENGINEFAIL 固定翼模式解锁检查
将此参数设置为159753将允许VTOL在固定翼模式下解锁
CBRK_VTOLARMING 电调检查
需要检测到所有电调才能解锁,此参数只正对可以返回状态的电调。正常电调配置不受此参数更改的影响。
COM_ARM_CHK_ESCS DShot电调配置
启用/禁用DShot电调。不同的模式定义不同的速度,例如DShot150=150kb/s。并非所有ESC都支持所有模式。注:这将启用FMU输出上的DShot。对于带有IO的飞控板,需要禁用IO,将DShot电调接到FMU通道
DSHOT_CONFIG DShot 电机最小输出
DShot的最小输出值(以百分比为单位)。该值取决于电调。确保将其设置得足够高,以便电机在怠速时始终旋转
DSHOT_MIN 主GPS的串口配置
配置要在哪个串行端口上运行主GPS。
GPS_1_CONFIG 主GPS协议
选择GPS协议(基于串口的数据协议)。选择自动检测将探测所有协议,因此速度较慢。
GPS_1_PROTOCOL MAVLink的串口配置
配置要在哪个串口上运行MAVLink
MAV_0_CONFIG 最大MAVLink发送速率
配置MAVLink流的最大发送速率(字节/秒)。如果配置的数据流超过最大速率,则会自动降低每个数据流的发送速率。如果该值设置为0,则为理论值最大速率的一半。这对应于波特率/20(字节/秒)(波特率/10=8N1配置链路上的最大数据速率)
MAV_0_RATE 成功起飞后的动作
成功起飞后的模式转换。
COM_TAKEOFF_ACT 修改定高数据来源
ekf2_hgt_mode 设置日志记录条件
SDLOG_MODE 如果要上电后就开始记录日志,需要设置成从boot到shutdown
设置自动加锁时间
COM_DISARM_LAND 这个参数设置在地面解锁无人机后不打油门自动加锁的时间
-1表示不自动加锁
无法用摇杆解锁,只能用开关解锁
可以将下面的参数设置成Enabled

六、控制参数
多旋翼位置控制模式
参数的导出和导入
先找一架正常能飞的无人机连接地面站

在参数页面右上角点击工具->保存到文件

保存的时候文件名注明参数的相关信息
然后将需要加载参数的无人机连接至地面站,注意需要加载参数的无人机必须和保存的参数脚本的固件版本、机架类型,飞控硬件等信息一致,否则可能炸机。
如果固件版本不一致,就先刷一下相应的固件,再加载参数,固件一致后,点击重置参数为固件的默认值

然后点击从文件载入
选择需要导入的参数文件
导入正常的话地面站上面所有的参数都是正常的,没有红色的提示

这个时候可以不用校准传感器,但是需要校准电调,如果用的遥控器和导入参数脚本所用的无人机的不一致,则需要校准遥控器。
自定义参数
(1) 随便找一个定义参数的文件,我这里以mc_att_control_params.c为例
仿造其他的参数定义,添加一行PARAM_DEFINE_INT32(SYS_MC_CTL_GROUP, 0);

(2) 在DEFINE_PARAMETERS里添加下面这条语句定义
(ParamIntpx4::params::SYS_MC_CTL_GROUP) _param_mc_roll_p1

(3) 在Firmware路径执行make parameters_metadata

(4 )然后编译固件下载到飞控
连接地面站,刷新参数就可以找到添加的参数

注意一点我这里是在mc_att_control_params里定义的,所以用到这个参数的线程必须执行,才会显示这个参数,也就是mc_att_control start要执行。
可以在启动脚本或者程序里使用自定义的参数
可以仿造SYS_MC_EST_GROUP来写

仿写如下:
if param compare SYS_MC_CTL_GROUP 0 then a start else b start fi 九、APM常用参数
1、碰撞检测
在撞到物体后触发保护
FS_CRASH_CHECK

2、设置串口输入为接收机输入
可以将任意的串口设置成接收机的输入端口,例如将sbus协议的接收机接serial7口上,将波特率手动输入成100,协议设置成RCIN

3、避障
硬件:
pix2.4.8
差速无人车
软件:
rover 4.4.0
qgc
1、设置测距传感器参数
mb12xx超声波
设置RNGFND1_TYPE为MaxbotixI2C
PRX_TYPE设置为4
将超声波接到i2c口即可
纳雷MR72毫米波雷达
(新版的MR72毫米波雷达可能存在设置完参数识别不到的问题,这个是雷达出厂刷的固件不对,需要刷一下雷达的固件)
接serial4口
SERIAL4_PROTOCOL设置为Lidar360,SERIAL4_BAUD设置为115200
PRX_TYPE设置为6
tfmini plus激光雷达
串口版本
SERIAL4_PROTOCOL = 9 (Lidar)这个具体SERIAL几看接的是飞控的哪个口
SERIAL4_BAUD = 115 (115200 baud)
RNGFND1_TYPE = 20 (Benewake-Serial)
RNGFND1_MIN = 30 for TFmini, 10 for TFminiPlus
RNGFND1_MAX = 1000 for indoor use OR 600 for outdoors. This is the distance in centimeters that the rangefinder can reliably read.
RNGFND1_GNDCLR = 10
I2C版本
RNGFND1_TYPE = 25 (Benewake TFminiPlus-I2C)
RNGFND1_ADDR = 16 (I2C address of lidar in decimal, equivalent to 0x10 hexadecimal)
RNGFND1_MIN = 30 for TFmini, 10 for TFminiPlus
RNGFND1_MAX = 1000 for indoor use OR 600 for outdoors. This is the distance in centimeters that the rangefinder can reliably read.
RNGFND1_GNDCLR = 10
2、设置避障参数:
AVOID_BEHAVE:
0,绕行
1,停止
4、电子围栏
先上传电子围栏

然后设置这两个参数

5、电机参数
SERVO_RATE:输出PWM的频率
MOT_SLEWRATE
油门转换速率占每秒总行程的百分比。值为100时,电机可以在一秒钟内改变其全部范围。设置为0可以禁用
MOT_SPD_SCA_BASE
使用常规转向/油门无人船(车)时,速度高于该速度时转向将按比例降低。零表示禁用速度缩放
THR_THR_MAX 最大推力
MOT_STR_THR_MIX
转向与油门优先。较高的数字优先考虑转向,较低的数字优先考虑油门。仅适用于滑移转向无人船(车)
MOT _ THST _ASYM
推力不对称。用于打滑转向。2.0意味着你的马达向前运动的速度是向后运动的两倍
6、循环执行航线
将最后一个航点设置为jump to item
item设置为1,表示跳回到1点重新执行航线,Repeat设置为10表示循环10次

7、无人机最大倾斜角度
ANGLE_MAX
这个参数决定了无人机在各模式下的最大倾斜姿态,如果想水平飞的速度快一些,可以把角度改大
8、无人机最大上升下降速度

9、无人机AUTO模式飞航线时的速度

10、loiter模式的最大速度限制
apm固件里只有loiter模式下,在拨杆的时候会限制最大速度,在poshold模式下拨杆限制的时倾斜角度

11、EK3_PRIMARY
总是如果报错ek3 line switch 1,然后位置固件出现问题.可以把EK3_PRIMARY改成1.
总是如果报错ek3 line switch 0,然后位置固件出现问题.可以把EK3_PRIMARY改成0.
这种情况和震动可能有关,可以再做一些减震。
12、PSC_JERK
PSC_JERK_XY,PSC_JERK_Z。这个两个参数越小,位置控制越平滑,越大越激进
13、低电量返航
先设置动作和电压


然后设置时间,注意时间不能设置为0,否则会禁用低电量保护

14、设置定位来源为视觉
EK3_SRC1_POSXY 6
EK3_SRC1_POSZ 6
EK3_SRC1_VELXY 0
EK3_SRC1_VELZ 0
EK3_SRC1_YAW 6
VISO_TYPE 1
15、设置遥测数据频率
例如:
SR1_ADSB 0 4
SR1_EXTRA1 10
SR1_EXTRA2 10
SR1_EXTRA3 3
SR1_EXT_STAT 2
SR1_PARAMS 0
SR1_POSITION 3
SR1_RAW_CTRL 0
SR1_RAW_SENS 1
SR1代表serial1,如果设置serial2则为SR2,以此类推,具体的参数就是频率。
具体的每个参数包含的消息如下:
SRx_ADSB
ADSB_VEHICLE
SRx_EXT_STAT
SYS_STATUS
POWER_STATUS
MEMINFO
MISSION_CURRENT
GPS_RAW_INT
GPS_RTK
GPS2_RAW
GPS2_RTK
NAV_CONTROLLER_OUTPUT
FENCE_STATUS
POSITION_TARGET_GLOBAL_INT
SRx_EXTRA1
ATTITUDE
SIMSTATE
AHRS2
AHRS3
PID_TUNING
SRx_EXTRA2
VFR_HUD
SRx_EXTRA3
AHRS
HWSTATUS
SYSTEM_TIME
RANGEFINDER
DISTANCE_SENSOR
TERRAIN_REQUEST
BATTERY2 (deprecated, use BATTERY_STATUS)
BATTERY_STATUS
MOUNT_STATUS
OPTICAL_FLOW
GIMBAL_REPORT
MAG_CAL_REPORT
MAG_CAL_PROGRESS
EKF_STATUS_REPORT
VIBRATION
RPM
ESC_TELEMETRY_1_TO_4
ESC_TELEMETRY_5_TO_8
ESC_TELEMETRY_9_TO_12
SRx_PARAMS(不用改)
SRx_POSITION
GLOBAL_POSITION_INT
LOCAL_POSITION_NED
SRx_RAW_CTRL(没用到)
SRx_RAW_SENS
RAW_IMU
SCALED_IMU2
SCALED_IMU3
SCALED_PRESSURE
SCALED_PRESSURE2
SCALED_PRESSURE3
SENSOR_OFFSETS
SRx_RC_CHAN
SERVO_OUTPUT_RAW
RC_CHANNELS
RC_CHANNELS_RAW (only sent on mavlink1 links)
16、使用网口进行mavlink通信
如果飞控带网口,可以使用网口做mavlink通信
首先使能网口功能

然后把下面的参数改成0

如果使用udp进行通信,把p1_type改成1

常用的参数的含义如下,主要改的是飞控的ip以及目标ip和端口

设置完之后,需要将电脑的ip设置成目标ip

然后地面站设置UDP通信,端口设置成P1_PORT即可。

如果要连接多个飞控,需要把每个飞控自身的IP设置成不一样(但在同一个网段)
如192.168.1.33
17、解锁报错“yaw inconsistent *** deg”
解决方法:
禁用GPS,将GPS1_TYPE设置为0
18、设置双天RTK参数
参考
https://ardupilot.org/copter/docs/common-gps-for-yaw.html
主天线相对从天线偏移
GPS1_MB_TYPE = 1
GPS1_MB_OFS_X:
GPS1_MB_OFS_Y:
GPS1_MB_OFS_Z:
以从天线为参考中心,前右下坐标系
例如:

主天线相对机体中心偏移
GPS1_POS_X:
GPS1_POS_Y:
GPS2_POS_Z:
前右下坐标系
例如:

19、校准电压
将电池充满电,点击下图的计算按钮

将电池的实际电压输入(可以观察充电器上显示的电压或者用万用表/bb响测),点击计算并设置。

十、PX4参数调试
PX4 1.13及以上版本
日志分析软件:flight review
https://logs.px4.io/
1、滤波参数
产生震动的原因:
1,桨叶损坏、动平衡差
2,电机桨座不垂直,电机动平衡差
3,机架刚性不足
4,部件松动
降低震动的方法:
软件滤波:调低通滤波或者陷波滤波器参数
硬件减震:调减震球的软度或者加配重
调参时可以用自稳模式飞行
在调滤波器参数之前,可以先大致调一下PID的参数,角度率环的P和D不要设置的太高,能飞并且没有明显超调和振荡就可以
通常默认PID参数就可以
建议先调完滤波参数再精调PID,因为如果传感器噪声较大且没有被滤掉的话,会导致电机输出噪声大,导致下面的现象
1电机和电调可能会变热,甚至损坏。
2续航时间变少,因为电机不断改变速度。
3可见的随机小抽搐。
此时只调PID很难达到理想的控制效果。
PX4里面可以调整低通滤波器的截止频率参数来过滤掉高频噪声。截止频率越小,过滤的越彻底,但是带来的控制延时越大。截止频率越大,延时越小,但是会使噪声变大。
延时会影响控制效果。如果控制延时较大,则相应的PID的P项就不能设置的太大。同样的PID参数,低延时的飞机可能飞行很好,延时大的飞机可能直接发散,只能调小PID才能飞起来,相应的控制效果也会变差。影响延时的因素如下:
1.机身较软,或者安装有减震板(这相当于硬件滤波)
2.软件上的低通滤波
3.PX4固件从数据读取到控制输出的计算延时
4.陀螺仪的最大输出频率,(使用参数IMU_GYRO_RATEMAX配置)。较高的速率减少了延迟,但可能会占用其他进程计算资源。仅建议使用STM32H7处理器或更新处理器的控制器使用4 kHz或更高频率(2 kHz值接近功能较差处理器的极限)。
5.与使用AUX引脚相比,IO芯片(MAIN引脚)增加了约5.4毫秒的延迟。为避免IO延迟,请禁用SYS_USE_IO并将电机连接到AUX引脚。
6.PWM输出信号:启用Dshot或One Shot以减少延迟。
7.执行器的控制延时,一般小轴距飞机的电机相应快,大轴距飞机的电机KV低,响应慢。因此大轴距的飞机PID不能太大。
滤波器参数
陀螺仪数据的陷波滤波器,用于滤除窄带噪声,例如桨叶频率处的谐波。可以使用IMU_GYRO_NF0_BW和IMU_GYROC_NF0_FRQ配置此滤波器。
陀螺仪传感器数据的低通滤波器。可以使用IMU_GYRO_CUTOFF参数进行配置。
陀螺仪D项上的一个单独的低通滤波器。D项最容易受到噪声的影响,而稍微增加的延迟不会对性能产生负面影响。因此,D项具有可单独配置的低通滤波器IMU_DGYRO_CUTOFF。
电机输出(MOT_SLEW_MAX)上的滑动滤波器。一般不使用。
调参前需要配置日志记录参数:SDLOG_PROFILE ,勾选High rate。
调参数IMU_GYRO_CUTOFF。
看陀螺仪数据的FFT频谱图
以下图为例,在40HZ以后的噪声比较多,可以设置IMU_GYRO_CUTOFF为35。

调参数IMU_DGYRO_CUTOFF。
看角加速度的FFT图
以下图为例,在40Hz以后有一个噪声高峰,可以设置IMU_DGYRO_CUTOFF为35

调参数IMU_ACCEL_CUTOFF。
看加速度数据的FFT图。
以下图为例,在35Hz以后的振动比较大,可以设置IMU_ACCEL_CUTOFF为30

调完参数可以看actuator_control的FFT,查看控制输出的噪声是否在可接受的范围。
除了软件上的滤波,还需要在硬件上减少振动,例如飞控安装减震,飞机上的所有部件都安装牢固,桨叶动平衡。机架尽量用强度高,轴距小的的机架,电机用高KV值电机(高频振动更好滤除)
陷波滤波器调参
有的时候FFT在一个较低的频率处有个尖峰,如果想用低通滤波将其滤除的话,需要将截止频率设置的很低,会使延时增大,此时可以通过陷波滤波器将其滤除。
需要注意的是,这种尖峰可能是由于飞机部件松动引起的振动,加固飞机可能比调滤波参数更有效果

上图需要设置两个陷波滤波器,上图的IMU_GYRO_CUTOFF可以设置为120.
第一个:
频率参数IMU_GYRO_NF0_FRQ设置为20
陷波区间IMU_GYRO_NF0_BW 设置为10
第二个:
频率参数IMU_GYRO_NF0_FRQ设置为26.5
陷波区间IMU_GYRO_NF0_BW 设置为2
陷波滤波后的效果如下:

一般穿越机的IMU_GYRO_CUTOFF可以设置为120,IMU_DGYRO_CUTOFF可以设置为50到80
大的机架就根据FFT具体设置。
2、PID参数
自动调参
如果使用自动调参,需要使用新版的QGC地面站
PX4自动调参可以用hold模式调参,先起飞,然后切换到hold模式,调角速率环的话,点击下图的Autotune,飞机会自动进行roll/pitch/yaw角速率PID的调整。调整期间可以看到飞机会自动执行一些动作。

调整完后,可以看到地面站提示降落飞机,自动调参的进度条提示wait for disarm,此时降落飞机

降落后可以看到地面站提示Autotune successful,说明调参成功。

角度环的自动调参同角速率环
手动调参
首先调角速率环,然后姿态环,再速度环,最后位置环。
角速率环
PX4角速率环PID流程如下

基于上图,有两种调参形式
1.并行形式
相当于K取常数

2.标准形式
相当于P取常值,这种形式在数学上等同于并行形式,但主要优点是它将比例增益调谐与积分和导数增益解耦。这意味着,通过利用具有类似尺寸/惯性的无人机的增益,并简单地调整K增益,就可以很容易地调整新飞机,使其正常飞行。

在调角速率PID时可以在自稳/特技模式下飞行,特技模式能更容易的看出调参效果,但更难操控,新手建议用自稳模式。
一开始可以把roll/pitch的PID设置成一样,等调的差不多了,然后再对roll和pitch的PID单独细调,如果飞机是对称的,则roll和pitch的PID一样就可以了。yaw的调参方法和roll/pitch类似,但是yaw的D项一般为0.
P项调节
将角速率环的I和D都置0,K置为1,然后调节P项,从小到大开始调。
P项过高:高频振荡
如下图,红色是当前角速率,绿色是期望角速率,大概以10Hz频率振荡

P项过低:对操纵反映迟缓,在特技模式下可以看到姿态的漂移。
如下图,红色是当前角速率,绿色是期望角速率,可以看到当前角速率曲线的相位明显滞后于期望的角速率

每次增加20-30%的增益,最终微调时减少到5-10%。
较好的P如下图,红色的为期望角速度,蓝色为当前角速度。相应较快,且没有明显的超调和振荡(两者还存在较大的静差,这是由于现在的I项为0)

I项调节
调好P后,就可以调节I
I项过高:低频振荡
如下图,红色是当前角速率,蓝色是期望角速率,几乎没有静差,但过高的I也会导致振荡

I项过低:静差较大,如下图,红色是当前姿态,蓝色是期望姿态

较好的I效果如下,没有振荡,也没有明显的静差。

D项调节
D项的主要作用是抑制超调,但不宜过大,因为会放大噪声
D项过大:电机会发烫,并且电机会抽搐(听声音就是高频的忽高忽低声音),并且对操纵的反映比较迟钝。
可以看到电机的输出变化非常剧烈。

D项过小:在阶跃输入后会出现超调,例如在自稳模式猛打杆后立刻将杆回中,可以看到飞机来会振荡几次后才恢复水平。此时可以调大D,直到飞机能够直接恢复水平而没有明显振荡。
姿态环
姿态环只有比例项,调参比较简单,如果P太小,操纵会比较迟钝,P太大也会出现振荡或超调,一般默认值就可以用。
十一、常用硬件
1、NMEA格式输出的测深仪
如果测深仪的深度数据以NMEA的DPT语句输出,可以用飞控去读取
首先设置端口协议和波特率,假如测深仪的波特率是4800,接在飞控的Telem2口,则设置如下:

然后设置测距仪的协议为NMEA

范围可以根据测深仪的范围设置,方向设置为朝下

然后再MAVLINK检测里能看到Distance数据,再在主界面设置一下就行

十二、常见问题及解决方案
1、手机QGC地面站连接问题
(1)搜索不到蓝牙
- 手机系统原因,不支持苹果和鸿蒙5.0。可以换小米手机试下
- 手机蓝牙没打开
- 遥控器蓝牙被设备助手占用,或者已经被别的手机地面站连接。
(2)能搜索到蓝牙,但是连接不上地面站
1,飞控串口波特率不对,需要和遥控器端的波特率一致,云卓T10遥控器默认为57600.
2,第一次连接时需要输入蓝牙密码1234,密码不对也会连接不上。
2、飞控用USB线连不上电脑地面站
首先看下设备管理器,里面有没有识别到飞控的端口
- 如果没有识别到端口,检查飞控硬件,USB线,电脑端口或者驱动问题。
- 如果识别到端口,但地面站没有自动连接,可以手动添加一下连接,波特率一般为57600或者115200。
3、无人机上电后,电调识别不到信号,一直嘀嘀嘀叫(或者不叫),解锁后电机不转
(1)ArduPilot固件
先检查飞控的PWM输出是否正常
到MAVLINK检测,查看SERVO_OUTPUT_RAW数据

servo1到servo8对应的是main通道的1到8,servo9到servo16对应的是aux的1到8.
1,如果所有的输出都是0,则检查安全开关参数,把安全开关禁用。
2,如果对应端口的输出正常,例如电调接的是aux1到4,servo9到servo12输出是正常的。则做如下检查
- 检查接线是否有问题,信号线与地线不要接反
- 检查信号端口与地面站(对应通道)设置保持一致
- 检查电机电调硬件是否有问题
(2)PX4固件
PX4固件默认是禁用开关开关的。
主要检查
- 检查接线是否有问题,信号线与地线不要接反
- 检查信号端口与地面站(对应通道)设置保持一致
- 检查电机电调硬件是否有问题
4、无人机起飞后快速侧翻
- 检查电调信号线接飞控的通道有没有接错;
- 检查电机转向是否不对;
- 检查是否是硬件问题(电机、电调、飞控);
5、无人机没法垂直起飞(能起飞离地但往一边飘)
- 校准传感器(地平线)
- 检查飞机重心
- PX4固件可适当将起飞时间参数改短,离地速度不要太小(MPC_TKO_RAMP_T)
- 检查电机的怠速是否一致(将每个电调的油门行程都设置成一样)
- 定位不准(如室外GPS搜星低或者室内雷达定位飘了)
6、振动问题
如何判断振动问题
1,无人机飞的时候电机声音尖锐,电机温度很高,姿态不稳,随机的小抽搐。
2,通过分析日志中的原始加速度数据/陀螺仪数据,噪声大则代表振动大
解决方法
- 检查桨叶(桨叶是否残缺/磨损,导致动平衡变差)
- 检查桨叶平面和电机上平面(桨座)是否平行,不平行的话也会影响动平衡。
- 检查减震板,不合适的减震球可能会放大振动,可以尝试去掉减震或者在减震板上加配重。
- 检查机架刚性是否不足,是否有螺丝没拧紧或者存在结构松动
- 检查飞控板是否被抵到,或者是否被线扯到。
7、室外定点飞行时,无人机原地转圈,越转越大
原因:水平方向定位的坐标系不正确,航向不准。
解决方法:
1,如果是采用的NED坐标系,无人机静止状态下,航向稳定后,检查飞控航向和手机罗盘相差的度数,如果超过20度说明误差较大。此时如果采用罗盘作为航向数据来源,可以只使能外置罗盘,然后重新校准罗盘。如果采用双天线RTK作为航向数据来源,可以修改天线偏移参数。
2,如果无人机静止状态下,显示的罗盘航向一直在飘,可以重新校准陀螺仪和罗盘。
3,如果起飞前航向是准的,起飞后航向不准,可能是电流产生的磁场干扰了罗盘。
8、室外定点飞行时,一直往一个方向飘
原因:定位不准
解决方法:检查GPS信号,不要靠近高大的建筑物。
9、飞控连不上mavros(通信问题)
- 检查飞控串口波特率和机载电脑中设置的是否一致,接电脑的telem口是否被设置为mavlink协议。
- 确认飞控启动正常,LED 状态正常。
- 检查飞控与电脑之间的 USB / 串口线是否松动、损坏,线序对不对。
- 在 Linux 中可通过ls /dev/ttyUSB*或dmesg | grep tty查看可用串口。MAVROS 节点参数中指定的串口路径(如/dev/ttyUSB0)与实际是否相符合。
- 检查端口是否被占用,关闭所有占用串口的程序后重试。
10、地面站P900数传连接多架载具,参数加载不全,信息更新缓慢
本质上,数传是一种无线数据传输工具,其性能受限于传输功率、通信距离和数据带宽。地面站加载参数不全的问题,整体解决思路可以概括为“开源节流”:
一方面,通过提升数传功率,确保其在满功率下运行;另一方面,通过削减不必要的数据传输,降低带宽压力。具体措施包括将 PX4 的 MAVLink 消息发送等级调整为 NORMAL,以减少冗余数据。
此外,建议为数传模块单独供电,以避免因供电不足而影响功率输出。
在数传参数配置方面,需重点关注两个速率:空速率(即数传模块之间的无线通信速率)和串口速率(即数传与飞控或地面站之间的通信速率)。两者应尽可能调至设备支持的最高值,以提高单位时间内的有效数据吞吐量。下图为当前使用的 P900 数传模块的选项

另一个可优化的小设置是关闭自动重发功能。部分数传模块内置了错误检测机制,会自动重发丢失的消息,但这也可能造成带宽浪费。在 P900 模块中,该功能可通过设置命令 ATS113=0 来关闭,以进一步释放通信资源。
经测试,在这种情况下,p900能有效传输3~4台载具信息,再多就也加载不过来了
11、GPS/RTK问题
一 、地面站不显示0颗星
1.检查接线是否正确
2.检查端口,波特率,GPS协议参数
二、在室外空旷的地方一直显示零颗星,或者搜星很低
1,检查天线头子或者馈线
2,检查是否有干扰,如果USB3.0线
三、双天线RTK航向不准
1,检查搜到的星数,如果搜星低,参考第二节。
2,如果搜星正常,检查航向来源参数还有天线偏移参数
四、 无人船跑航线原地打转,应该怎么排查
检查航向
12.在室内用雷达定高可以正常飞,但是用气压计定高高度不好控制
可能是上升下降的速度限制的太小,一般采用精度高的传感器定位时,可以将最大速度限制的小一点,如果使用精度低的传感器定位,需要将最大速度限制改大,否则会出现即使打满杆也控制不了无人机的现象。
13. 无人机解锁失败,应该怎么解决
一、PX4固件
1.检查解锁开关gest(enabled)
2. 解锁时无报错信息:遥控器是否正确配对,检查遥控器通道是否正确;(内八解锁时一定要对准凹槽)
PX4固件的解锁方式默认是摇杆解锁,美国手的遥控器,将左边摇杆打到右下45度并保持(右边摇杆不用拨)即可解锁。
也可以设置解锁开关来控制飞控解锁,如果设置了解锁开关(如下图),则无法通过拨杆的方式解锁飞控。

这种情况下如果想使用摇杆解锁。可以禁用解锁开关,同时使能摇杆解锁。
3.看地面站具体报什么错;
4.室外版的飞机在室内需要检查电子围栏是否;
5.USB连接检查CBRK_USB_CHK(USB相关报错),检查起飞时是否有USB连接,默认情况下有USB连接时是无法解锁的,如果需要插USB解锁,需要设置为197848
6.飞机插USB能解锁,拔掉USB不能解锁
原因:电源检查未通过
解决方法:关掉电源检查,设置下面参数

二、APM固件
解决方法:
1,如果有报错,把解锁检查关掉,搜参数ARM_CHECK,改成0
2,如果没有报错,检查遥控器有没有识别到。
14.飞控的偏航角一直飘移/误差较大
原因:罗盘干扰
解决办法:禁用内置罗盘,使用外置罗盘,重新校准罗盘
15.PX4固件无人机飞的时候按一定频率上下抖动(或者不断的怠速/复飞)
原因:地面检测判断错误,在空中判断成在地面,导致自动进入怠速,在下坠后有判断成在空中,重新复飞。
解决办法:

将这个参数改小一点,降低地面检测判断错误的可能性
16.PX4固件无法修改条件参数
有些参数(telem2波特率)是条件参数,只有用到相应的端口才能设置对应端口的波特率
以telem2为例,其他的也类似,先把参数设为默认
点击右上角“工具”按钮,点击“重置为载具的默认值”
然后
设置Gps1的接口为telem2,重启飞控,再查看serial参数,即可找到telem2
设置好telem2的波特率后记得把GPS的接口再设回到GPS1
如果使用了端口telem2,但是还是没法设置波特率,检查是否将telem2设置为TFMINI(因为tfmini的波特率是写死的,不需要设置)
17.舵机高频抖动,电机断断续续的转动
现象:在没有拨遥感或者飞控没有解锁的情况下,电机突然时断时续的自己转动,舵机自己高频的抖动
原因:信号受到干扰
解决方法:将电调的信号线和舵机的信号线(特别是和飞控连接的接头处)远离天线或者电源线
18.飞控在重刷固件后能连地面站,重启后连不上地面站
原因:可能是因为没有设置机型参数sys_auto_config,或者设置的机型参数不存在。
解决办法:重新烧录固件,并且在烧录完固件连上地面站后设置一下机型
19.无人机无法记录日志,应该怎么解决。
检查 SD 卡是否损坏:尝试在电脑上读取,格式化
20.PX4固件用数传连地面站断断续续,或一直卡在加载参数
例如数传接的mav0口将参数MAV_0_FLOW_CTRL改成Force off

21.无人机解锁后刹车开关不生效
解决办法:换其他的通道做刹车
22.PX4固件无人机起飞模式和任务模式无人机只解锁不起飞
把
mpc_z_vel_max_dn
mpc_z_v_auto_dn
两个参数改大
23.apm固件在mavros里获取不到位置、姿态等信息
修改下面的参数设置数据发送的频率,例如telem1口就是SR1开头

24.apm固件使用双天线RTK航向
AHRS_EKF_TYPE = 3 (to use EKF3)
EK2_ENABLE = 0 (to disable EKF2)
EK3_ENABLE = 1 (to enable EKF3)
EK3_MAG_CAL is not used for this feature so it can be left at its default value (“0” for Plane, “3” for Copter, “2” for Rover)
EK3_SRC1_YAW = 2 (“GPS”) or 3 (“GPS with Compass Fallback”) if a compass(es) is also in the system
25.apm固件拨遥控器摇杆地面站没反应
检查地面站有没有使能虚拟摇杆
26.刷完固件后没有姿态,不断显示报错Unable to detect board type

修改参数BRD_TYPE为响应的板子类型

27.APM固件上电后电机一直响,解锁电机不转
检查电调信号线接线,如果接线没问题,检查安全开关有没有打开,如果没有装安全开关,可以在参数里将安全开关禁用,将下面两个参数改成0。

28.外部传感器的定位数据是准的,但是经过融合后的位置数据一直在飘
重新校准IMU,校准的时候要比较标准,特别是加速度计
29.无人船跑航线原地打转
检查航向
29.PX4固件在设置航线任务后,点击开始任务,飞机的旋翼都会转,但是不会飞起来,然后就立刻显示飞行计划已完成
答:可以修改上升下降的速度(修改后速度可能比较快,需要注意一下)
30.定高/定点模式下高度很难控制
1,油门杆打满响应跟不上,随机往上或者往下飘。原因可能是定位来源是气压计,但是上升下降的速度限制的比较小,定高本身误差就比大,但是打杆的时候本身期望很小,pid控制的话很难控制,可以尝试把起飞时候的上升速度调高一点(可以改成1及以上)
2,如果不拨油门杆,高度会自己往下掉,可以尝试重新校准遥控器
十三、补充知识
新版PX4固件(1.16.1)常用参数
修改定位来源
将视觉(vision pos)数据用于位置和航向来源
参数名称:EKF2_EV_CTRL

将GPS数据用于位置速度和航向来源
参数名称:EKF2_GPS_CTRL
最下面那个是使用GPS的航向数据,只有在使用双天线RTK的时候才需要勾选

高度来源
参数名称:EKF2_HGT_REF
