登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
Pixhawk飞控
›
【干货】聊聊飞控的起飞落地检测(pixhawk落地检测代码分 ...
返回列表
发新帖
查看:
1423
|
回复:
0
【干货】聊聊飞控的起飞落地检测(pixhawk落地检测代码分析)
[复制链接]
frag86@126.com
frag86@126.com
当前离线
积分
922
窥视卡
雷达卡
295
主题
329
帖子
922
积分
高级飞友
高级飞友, 积分 922, 距离下一级还需 78 积分
高级飞友, 积分 922, 距离下一级还需 78 积分
积分
922
飞币
589
注册时间
2017-7-31
发消息
发表于 2022-12-5 17:22:55
|
显示全部楼层
|
阅读模式
文 / across
【作者简介】
不懂算法、不懂编程的飞控算法工程师
略懂飞行控制
略懂开源px4飞控
对于开发一款飞控而言,起飞和落地的检测是必不可少的,甚至占有举足轻重的地位。比如,飞控内部起飞前控制器的一些初始化设置,落地及时自动加锁等功能都必须要基于这个功能,如果出现判定不准确或者误判的情况,会导致炸鸡的风险。
那如何检测起飞与落地呢?
答案自然是根据飞控内部的传感器数据进行判定,一般而言,大多使用的传感器包含陀螺仪、加速度计、GPS等信息,那如何融合这部分数据,就是算法工程师需要解决的问题了。
检测算法基本上每家飞控都不一样,不过目的则是一致的。
以pixhawk的原生PX4固件为例,代码位置在src\modules\land_detector\MulticopterLandDetector.cpp
PX4代码的落地检测主要包含4个条件,分别是位置估计的水平速度、垂直速度、角速度和油门方向的控制量,不包含起飞检测,起飞就是在land状态进行取反,其中还根据油门杆,解锁等进行顺序判定。
大致的判定顺序如下:
1、 判定是否已经解锁,加锁状态下,不进行后续条件的判定,认为是land状态;
2、 姿态模式下,看油门杆量,如有打杆操作,则认为起飞,不是land,如果在空中,油门杆满足条件,也不影响;
3、 如果GPS数据丢失时间过长,或者位置估计没有有效值,就判定油门控制量是否已经长时间满足,满足的话,也认为是land;
4、 4个条件进行综合判定,另外该函数也有一个触发时间,默认2s,能消除数据突变造成的误判影响;
程序注解:
1、记录当前时间;
2、设置最小油门控制量参数,并进行油门控制量的判定;
3、记录最小油门满足的时间,后续会用到;
4、判定是否已经解锁,如果还没解锁,则直接返回true,不进行后面的判定,同时,记录解锁的时间,后续会用到;
5、如果是手动模式下,则只判定油门杆,大于一定阈值,就认为起飞了,返回false;
6、判定GPS是否丢包或者位置估计数据是否有效,如果不正常,就只判定油门控制量条件,前面记录的油门控制量满足的时间,如果超过8s,也认为已经落地;
7、设置阈值因子,解锁2s内偏向认为未起飞,解锁后由于电机转动,可能会使数据进行突变造成误判;
8、根据位置估计的三个轴向的速度进行垂直和水平的移动判定;
9、根据角速度进行旋转运动判定;
10、4个条件的综合判定,有一个满足,则认为是起飞,需要都满足,才能认为是落地状态;
关于pixhawk的落地检测算法的思考
优点:个人认为好处就是不会误判,这极大的保证了安全性;
为什么不会误判?
笔者认为有两点:
1、 油门控制量条件相对比较苛刻,阈值是0.15,一般满足该条件下,飞机已经不足以支撑悬停飞行了;
2、 有触发时间保障,短时间的数据突变造成误判会被消除;
缺点:
这套算法的缺点就有很多了,归纳起来有以下:
1、 将起飞与落地检测揉和在一起,起飞检测太笼统,没有分步进行,而对于飞控不同模式下的控制器初始化,这个是很有必要的。比如px4固件不支持定点模式起飞也与这个有关系;
2、 落地检测机制太保守,比如油门控制量需要小于0.15,虽然增加了安全性,但导致落地自动加锁太慢,容易造成地面的翻机;
3、 用到了位置估计的数据,因此位置估计的精度就很大程度影响了这个判定的准确性,而事实上,px4固件的落地检测算法检测准确性确实不高。
掌握了该套算法的优缺点,基本上各位可以根据自己的需求进行适当的改进,比如起飞如何改动,追求落地秒加的又如何去改,总结起来,就是用好各个数据,包括陀螺仪、加速度计、GPS、飞控的控制量、油门杆量、解锁状态以及时间,这里笔者就不细致描述了。提供两个思路:
1、 将起飞与落地检测进行分离;
2、 加入加速度数据进行撞击检测,实现落地秒加。
每周更新
把握产业链脉络
追踪高价值的产品
坚持深度有价值内容
定位无人机频道
微信号:auscor
对无人机从业者有用的号
一定有一篇文章能给你带来不可估量的价值
历史爆文
【可靠消息】国家质检总局将对一些无人机产品进行风险监测,你准备好了吗?
什么样的飞手才算是好飞手?AOPA有个卵用
这批无人机创业者真他Ma不行!
究竟是什么让植保无人机不赚钱?几乎都是一锤子买卖
无人机玩家要有规则意识!
pixhawk
,
干货
,
聊聊
,
起飞
,
飞控
相关帖子
•
通过MAVROS连接机载电脑(NANO/TX2/NX)与Pixhawk
•
使用DroneCAN调试器或者Ardupilot/Pixhawk更新Pogo-飞控外设的固件_百 ...
•
ROS仿真PX4起飞固定翼
•
川大智胜:公司年报显示其在无人机飞控系统研发项目上已取得一定成果
•
聊聊最火的2.5寸圈机 speedybee bee25 飞跃汉中兴汉胜境 穿越机看风景 旅拍vlog(20)
•
第一讲:梦创飞控固件烧录教程
•
【报名】深圳PIXHAWK二次开发培训
•
科幻已成现实!无人驾驶“飞行汽车”试飞,现场展示垂直起飞、空中掉头
•
无人机飞控技术,无人机飞行控制系统介绍,飞控系统硬件设计原理与实现方法
•
【模拟进阶高清】BETAFPV Pavo20 Pro穿越机从开箱到起飞超详细教程分享 《超人聊模型》339
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
DIY经验区
快速回复
返回顶部
返回列表