无人机跟随一维高度避障场景--逻辑分析
- 1. 源由
- 2. 视频
- 3. 问题
- 3.1 思维发散
- 3.2 问题收敛
- 4. 图示
- 4.1 水平模式
- 4.2 下坡模式
- 4.3 上坡模式
- 4.4 碰撞分析
- 5. 总结
- 6. 参考资料
1. 源由
最近拿到一台测试样机,功能很多,就不多赘述。
这里针对跟随功能进行下吐槽和分析,当然由于成本或者技术问题,该机不配备3D/2D避障功能。
2. 视频
首先,上视频,不废话。
HoverX1 同样的路不一定好走,但低头走路一定不行
3. 问题
问题就是我走的好好的,结果这个跟随的飞机碰到树的枝叶了。
头脑风暴开始需要发散,然而实际问题需要收敛。
3.1 思维发散
通常认为【在指定时刻】,【3维空间】无人机对主体目标的【可视无遮挡】【相对位置】。
这里将几个比较关键的描述用“【】”给加强出来。
所以该问题实际上存在几个分析点:
- 两个相对物体(无人机,主体目标)同一时刻下
- 在三维空间坐标系统下的坐标和速度
- 在可视区域,中间无遮挡的情况下
- 相对位置在可控范围(视频能看清/跟踪信号良好等)
3.2 问题收敛
接下来,比较务实的来收敛这个问题,假设如下:
- 地面物体低速运动(< 10m/s)场景 // 100米奥运世界纪录是9.58秒,由博尔特创造的记录。
- 路径规划xy跟随目标行进路线
- 不提升硬件规格或者设计前提
基于以上假设,可以认为:
- 无人机速度能够跟得上低速运动跟随目标。
- 在目标运动xy轨迹与横截面构成的空间区域可以定义为无障碍空间。
此时,需要考虑如下几个场景
- 常规异常情况【电池耗尽、目标丢失等等】
- 当飞行高度超过目标高度时,在飞行高度上出现障碍物
- 跟随飞行过程中,在目标与无人机之间突然出现障碍物
- 跟随飞行过程中,目标高度出现变化(比如:人弯腰行进等)
综合上面场景,将问题收敛到在原有策略基础上增加一维高度维度的障碍物感知分析。
4. 图示
测试视频是设置平拍模式。
按照本人的理解平拍是在某个高度(智能的角度,VIO自动测定的一个跟踪目标的高度)。
注:鉴于测试样机是可以选择跟随高度:高、中(平拍)、低。
4.1 水平模式
4.2 下坡模式
4.3 上坡模式
4.4 碰撞分析
视频在上坡时发生与树枝的碰撞,如图所示。
如此时能在Z方向的高度维度进行视频障碍物检查,降低高度,同时跟随摄像头抬高视角,走到S位置,将可以规避该风险。
从实际视频效果看,小飞机跟随策略是始终保持头部高度以上一点的位置,因此,下坡就没有类似问题。
5. 总结
这里仅仅针对上桥跟随视频出现树枝遮挡这种障碍物场景进行了简单的分析。
从逻辑的角度,如果没有3D避障传感器支持的情况下,需要通过单目摄像头测距,平面解析几何,来做出高度方向的规划。
作为有保护圈的小型无人机,可以考虑降低以安全避开此类障碍物,因为低空通过性会更好,更安全(需要考虑最低高度,越低出现突然障碍物的可性能就会大幅度提高,比如:小孩)。
在公园或者小树林,其实这种场景是很多的。如果没有很好的3D避障传感器,那么做一个跟随一维高度避障就显得很有意义。
以下是设置平拍(勉强在这个公园能通过,不过一些角落是没有去的),如果设置高,那么100%会碰到树枝。
HoverX1 城北公园散步
注:Arudupilot有成熟的避障策略和算法,可以考虑。
6. 参考资料
【1】ArduPilot开源飞控系统之简单介绍