飞行器避障功能演示(飞行器用光流就逊了)
达尔闻会在每周三、五推送优秀的电赛方案解析分享,达尔闻说微信和达尔闻B站同时上线,敬请关注!下拉文末,即可查看所有电赛方案汇总。
今天分享的是G题国二,由南京邮电大学的刘俊杰、张汉骁、李俊杰设计完成。
效果演示
,时长03:44
赛题要求分析
本次的赛题的难点以及相应的应对方案:
1)地面为纯色,不利于光流定位。这个我们已有准备,使用T265双目摄像头 激光测距完成定位,而且借助植被边缘能够辅助矫正定位信息。
2)本题对于无人机的稳定和精度有很高的要求,格与格之间仅有50cm。双目摄像头精度较高,在稳定的状态下达到题目要求的精度是比较容易的。
3)灰白色与绿色难以区分。将RGB三通道分离,用G的部分减去R、B的部分,达到较稳定的区分效果。
4)找杆、扫码问题。这是一个比较经典的任务了,我们采用的方案是使用D435利用深度信息找到杆,并与其维持比较稳定的距离。
5)扫码时条形码规格太小。我们将白色纸条区域进行切割放大输入zbar进行识别,并预留比较长的时间扫码。
方案设计
下面为大家详细叙述我们的方案:
我们的飞机采用上下两层碳纤维板所构成的全防护机架,碳纤维板面合理的设计配合机架前后左右提供的切槽,可以很方便地根据题目搭载各个朝向的传感器。机架质量轻,但强度很高,全防护机架可以在无人机发生失控时较好地保护飞机和人的安全。
在经过性能和成本的反复考量后,我们选择Jetson Nano B02作为机载处理器, 基于Ubuntu环境装配ROS系统,其提供的丰富的包,强大的仿真系统和坐标变换等功能可以极大地方便我们开发。并且安装上mavlink包后,Jeston Nano可以同时进行图像信息处理与对飞控的指令控制。在赛前我们已经调测并封装完毕了很多功能,其中像找杆、识别圆降落等在这次比赛中节省了很多时间。
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:加微信领取资料
由于本次比赛地面为纯色,仅靠光流定位会产生较大的误差,所以我们决定尝试更进阶的方案,经过多个类型传感器的调试和比较后,我们决定采用英特尔t265双目摄像头 激光定高 姿态传感器融合的方案。首先板载高性能处理器读取双目的位置信息和姿态信息,封装成mavlink包,经串口发送给主控。主控直接采集激光传感器的高度信息和icm20602的六轴数据, 再融合mavlink包解析后的数据便能得到较为精确可靠的位置姿态信息。虽说双目摄像头也能提供比较准确的高度信息,但是会偶尔会出现窜高的异常现象,为了安全我们赛前还是决定选择信任激光测距的高度信息。
针对这次赛题中的找杆扫码的要求,我们在飞机前向搭载了深度摄像头D435,能够方便地寻找深度信息较为明显的杆,并能够精确地控制与杆的距离,在保证安全的前提下完成扫码任务。比起单目测距和测距模块测距,精度和稳定度都要更佳。由于扫码时条形码规格太小,我们将白色纸条区域进行切割放大输入zbar进行识别,并预留比较长的时间扫码。
针对赛题中的识别色块和喷洒任务,我们还安装了向下的摄像头和激光笔。向下的摄像头将RGB三通道分离,用G的部分减去R、B的部分,达到较稳定的区分效果。并且借助植被边缘能够辅助矫正定位信息。
我们还提前设计了一块外接板,可用于模式切换、蜂鸣器和灯光显示。
赛题实现流程
由于基础部分与发挥部分相差不大,这里以发挥部分实现过程进行详解。
首先上电等待飞控数据融合稳定下来。然后按下相应按键进入完成发挥部分的模式,飞机起飞后先大致飞行至A点上方位置,随后开启摄像头将黑色区域——A点的重心处调节至飞机正下方,与此同时,以左边的边缘线为竖直标志物进行对准校正,以确保飞机在接下的飞行过程中不至于偏航。稳定后将起飞原点作为后续飞行的参考点,进入喷洒作业阶段,整个喷洒路线如下:
喷洒路线
喷洒过程中每移动一格稍作停顿,摄像头识别颜色并控制激光灯闪烁。得益于双目摄像头定位较高的精度,在整个飞行过程中飞行器仅需在角点处做一定检查。在判断地面颜色时,为了避免光线和白平衡的影响,我们将RGB三通道分离,令G的部分减去R和B的部分来判断色差(因为灰白色的RGB数值相同,而绿色的G要比另两个更高),此种方法的效果要比HSV色域或灰度信息等方法好得多。
喷洒作业结束后,飞行器在第20格上方自旋,在自旋过程中,通过前置的D435深度摄像头,寻找深度信息和颜色信息较为明显的竖杆,一旦飞行器方向对准竖杆,飞行器向前靠近至合适距离,向下匀速缓慢移动,拍摄到距离较近的白色区域——即印有二维码的纸条时,飞机悬停,将此白色纸条区域切割放大,直至利用zbar识别出二维码信息,飞机会回到1.5米处,若10秒后仍未识别出二维码,则会按照一个预先猜的一个“5”继续执行。然后向右1米撤到安全区域,(避免“回城”的时候撞到杆),调用函数直接回到最开始的位置和角度,在这个过程中按照题目要求,led闪烁,闪烁次数为识别到的数。为了提高准确度,降落过程中飞行器先下降至0.6m高,利用下降的摄像头调节至圆中心后,再向前规定距离后降落。减小了下降过程中飞机飘移带来的误差。
心得
1)注意安全,飞行器赛题相比于其他方向要危险得多,要尤为注意安全。平时调测时条件允许的话最好牵上绳子,至少可以降低炸机时的损失。同时也要注意人身安全,万万不可疏忽大意。
2)提前演练测评流程,受疫情影响,可能未来几年内的测评方式都会有所改变,在这种情况下最后对测评流程加以演练,避免因为对流程的不熟悉导致丢分。
3)赛前准备,飞行器是很吃赛前准备的一个方向,有一台稳定的飞行器能让整个做题过程省心不少。在实现指定距离、指定点、指定速度等这些基本功能后,可以适当的对一些比较很可能用到的功能进行调测,例如找杆绕杆、角点瞄准、识别圆降落等。尽管我们准备了很长时间,看到赛题的时候还是觉得很多东西理应提前弄好却没有去弄。
4)直面问题,训练过程中有很多异常现象经常能够通过各种手段直接规避掉,但是这些看似可以规避掉的小问题,很可能在未来其他试验中导致比较严重的后果。而就算它真的没有影响,未来出现毛病时你很难不怀疑它,这其中又会耗费很多多余的精力。
最后,非常感谢学校和学院给予我们的大力支持,感谢王健老师的指导和帮助!
文章链接:https://mp.weixin.qq.com/s/TmfCqy5_R1W2SG-tZMXrSQ
转载自:达尔闻说 ,作者刘俊杰等
文章链接:电赛解析:飞行器方案用光流就逊了!这套高精度室内定位方案值得拥有(G题国二)
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com