通过图像自动控制无人机降落的难点与方案的探究
下图为识别的图像,白色字体分析的数据在上一章分析过,在这便不做分析了。
OpenCVDemo截图以Focus_x、Focus_y为无人机的相对于目标的平面xy坐标,以RecogArea标记无人机与目标的高度z坐标。
依靠图像识别来实时定位存在的问题:
1.图像识别虽然是实时的,但是并不是实时都能识别出目标。
2.图像识别的框并不一定都刚好包围目标,存在偏移现象。
3.虽然为小概率,但还是不排除有误识别的可能性。
4.图像不完整时,无法识别出图像(飞机飞出目标镜头时)。
5.高度较高时,目标在图片中太小,无法识别。(此原因之一是识别的最小大小不宜太小,识别的过程是平移窗的形式,识别设置的越小,处理一张图片所需的时间将会急剧增加,现像就是手机卡顿明显,故在识别时代码里就限定了最小的识别size。原因之二是样本训练的尺寸设置为50X50)。
6.opencv图像识别是在手机端,任务重时,手机cpu运算压力比较大,识别出图像所需要的时间会延长。
无人机本身存在的问题:
1.经过改装后的无人机平衡能力不是很好(装载了一些重物,且重心有偏),飞行存在晃动现象,不够稳定。
2.近地时,对地气流导致无人机存在向一个方向缓慢偏移的现象。
3.控制的油门大小比较难把控,手动操作比自动操作更难。
4.由于重心不平衡,无人机向各个方向移动达到相同的效果所需要的油门量与保持时间不一致,这个需要测试与调整。
5.在高空时,装载了改装物后的mavic pro 受风力的影响,抖动更加剧烈,难以维持一个平衡的静止状态,且在不加任何油门,让其悬停时,飞机也会缓慢的上升(受重物影响)。
应对策略:
1.需要记录与预测飞机的自身位置,尤其在识别不到图像的情况下,知道当前所在大致位置,才好进一步动作。
2.处理时,应以定时器的方式定时控制,若在等到识别到图像后再处理,会出现长时间识别不到图像时,长时间无人机不动作的情况,增加无谓的耗电。
3.定时分析位置时,应将无人机的缓慢偏移量考虑在内。
4.采用百分比的相对位置数据,要能够忽略无人机的小的波动。先确定正确位置所在的百分比相对位置数据,实测绿色框的最佳位置为(0.5187,0.6212)。拿无人机实时所在的位置与其相比较,减小波动的影响的方式是容许位置值有一定的误差,目前设置为0.1,即在差值为0.1范围内,仍视为位置正确,不对无人机进行位置调整操作。
5.对于图像识别的区域偏离和误识别的问题。首先,图像采集是连续的,在前后变化不大的图像中,若识别的区域偏差较大,可视为误识别,以此剔除偏差较大的值。此外,临近的较小的识别波动可考虑取平均。是否有必要采用卡尔曼滤波,有待测试验证。
6.无人机飞离目标识别范围,导致目标图像不完整,或直接识别不到的,应先记住前进的方向,然后据此回退。
7.在无人机长时间完全看不到目标时,无人机以半径扩大、螺旋运动的方式搜索目标。