无人机跟随一维高度避障场景--逻辑分析
无人机跟随一维高度避障场景--逻辑分析
- 1. 源由
- 2. 视频
- 3. 问题
- 3.1 思维发散
- 3.2 问题收敛
- 4. 图示
- 4.1 水平模式
- 4.2 下坡模式
- 4.3 上坡模式
- 4.4 碰撞分析
- 5. 总结
- 5.1 一维高度避障场景
- 5.2 业界跟随产品
- 5.3 APM集成跟随
- 6. 参考资料
- 7. 补充资料 - 大疆智能跟随
- 7.1 炸机
- 7.2 成功
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. 总结
5.1 一维高度避障场景
这里仅仅针对上桥跟随视频出现树枝遮挡这种障碍物场景进行了简单的分析。
从逻辑的角度,如果没有3D避障传感器支持的情况下,需要通过单目摄像头测距,平面解析几何,来做出高度方向的规划。
作为有保护圈的小型无人机,可以考虑降低以安全避开此类障碍物,因为低空通过性会更好,更安全(需要考虑最低高度,越低出现突然障碍物的可性能就会大幅度提高,比如:小孩)。
在公园或者小树林,其实这种场景是很多的。如果没有很好的3D避障传感器,那么做一个跟随一维高度避障就显得很有意义。
以下是设置平拍(勉强在这个公园能通过,不过一些角落是没有去的),如果设置高,那么100%会碰到树枝。
HoverX1 城北公园散步
5.2 业界跟随产品
目前,市场上比较成熟的产品可以参考下以下视频:
Top 5 best follow me drone 2023
5.3 APM集成跟随
当然目前业界排名前列的产品也并非做到了非常好的跟随效果,尤其是在避障方面。
通过对Ardupilot的了解,如果能将ROS在避障方面的智能集成进来,也未尝不是一种很好的解决方案。
简单示意图:
或

- Object Avoidance
- ROS and VIO tracking camera for non-GPS Navigation
- Follow
- FollowMe
- Adding a New Flight Mode to Copter
Drone based follow
6. 参考资料
【1】ArduPilot开源飞控系统之简单介绍
7. 补充资料 - 大疆智能跟随
总的来看,避障方面做的都不太好。所以有所突破就是产品亮点。
7.1 炸机
【损失桨叶一套】MNI 3 PRO智能跟随炸机了
大疆mini3pro自动跟随模式炸机啦!视频结尾处~
大疆御3,萌新自动跟随炸机
大疆御3自动跟随炸机,撞树。维修费用自理。大家看看是否正常。宣传片里可以穿林,在树梢穿越。是否属于虚假宣传?
DJI Mini 3 Pro 自动跟随炸机
7.2 成功
mini3pro智能跟随
大疆无人机智能跟随,避障功能无敌了,结果真没想到……
相关文章:
无人机跟随一维高度避障场景--逻辑分析
无人机跟随一维高度避障场景--逻辑分析 1. 源由2. 视频3. 问题3.1 思维发散3.2 问题收敛 4. 图示4.1 水平模式4.2 下坡模式4.3 上坡模式4.4 碰撞分析 5. 总结5.1 一维高度避障场景5.2 业界跟随产品5.3 APM集成跟随 6. 参考资料7. 补充资料 - 大疆智能跟随7.1 炸机7.2 成功 1. 源…...
Android Studio Giraffe控制台乱码
这几天在使用Android Studio Giraffe进行一个App的开发,在项目构建的时候,控制台输出中文都是乱码,看着很不爽,进行了两项配置,中文就可以正常输出了,看起来就爽多了。 第一个配置:点击Help菜单…...
云原生 envoy xDS 动态配置 java控制平面开发 支持restful grpc实现 EDS 动态endpoint配置
envoy xDS 动态配置 java控制平面开发 支持restful grpc 动态endpoint配置 大纲 基础概念Envoy 动态配置API配置方式动静结合的配置方式纯动态配置方式实战 基础概念 Envoy 的强大功能之一是支持动态配置,当使用动态配置时,我们不需要重新启动 Envoy…...
Linux--实用指令与方法(部分)
下文主要是一些工作中零碎的常用指令与方法 实用指令与方法(部分) linux长时间保持ssh连接 这个问题的原因是:设置检测时间太短,或者没有保持tcp长连接。 解决步骤: 步骤1:打开sshd配置文件࿰…...
常见期权策略类型有哪些?
这几天在做一个期权策略类型的整理分类,怎么解释期权策略,期权策略是现代金融市场中运用非常广泛、变化非常丰富、结构非常精妙的金融衍生产品;同时也是一种更为复杂也更为灵活的投资工具,下文介绍常见期权策略类型有哪些…...
tomcat服务七层搭建动态页面查看
一个服务器多实例复制完成 配置tomcat多实例的环境变量 vim /etc/profile.d/tomcat.sh配置tomcat1和tomcat2的环境变量 进入tomcat1修改配置 测试通信端口是否正常 连接正常 toncat 2 配置修改 修改这三个 端口配置修改完成 修改tomcat1 shudown 分别把启动文件指向tomcat1…...
sql A表(含有部分B表字段) 向B表插入A表数据
今天遇到一个数据库插入问题 向表中插入 生产状态 为 2 的数据 但生产状态为改为12 的所有数据 查看网上的评论 参考 insert into b (a,b,c) select ‘1’,‘2’,c from a where a1 这样就可以a,b字段是插入指定某个值,而C字段则用表a的c字段. 最后解决了。忽然想起原来也有这…...
如何用思维导图+Markdown提升工作效率?
在日常的工作中,我们常常需要记录一些信息、重要的事情或者一些重要的想法,Markdown就是一种非常好用的记录工具。搭配思维导图可以提高我们的记录效率,让我们的记录更加结构化。 为什么使用思维导图? 思维导图可以帮助我们整理…...
睿趣科技:抖音开网店现在做还来得及吗
随着社交媒体的迅速发展,抖音作为一款短视频平台,已经在年轻人中间取得了巨大的成功。而近年来,越来越多的人开始考虑在抖音上开设网店,以迎合这一潮流。那么,抖音开网店现在还来得及吗? 首先,要明确的是&…...
C++——list的简要介绍
list的介绍 详细请看(https://cplusplus.com/reference/list/list/?kwlist) 1.list是一个可以在常数范围内在任意位置,进行插入和删除的序列式容器,并且此容器可以前后双向迭代。 2.list的底层实质是一个双向链表结构…...
Java自学网站推荐,专业教学快速提升
Java自学书籍推荐,很多同学在找小编要一些比较适合初学者的学习书籍,Java自学书籍可以帮助您学习和掌握Java编程语言。以下是一些常见的Java自学书籍,它们涵盖了Java的基础知识、编程技巧和应用开发等方面: 1."Java核心技术&…...
深入学习SpringCloud Alibaba微服务架构,揭秘Nacos、Sentinel、Seata等核心技术,助力构建高效系统!
课程链接: 链接: https://pan.baidu.com/s/1hRN0R8VFcwjyCTWCEsz-8Q?pwdj6ej 提取码: j6ej 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 📚【第01阶段】课程简介:全…...
【iMessage频發软件苹果群发技术开源原创】当 APNs 发送通知到一个离线设备时,APNs 会把通知存储起来(一定的时间内),当设备上线时再递送给设备。
推荐内容IMESSGAE相关 作者✈️IMEAE推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容3.日历推 *** …...
【数据结构】_8.二叉树OJ
目录 1. 题目1:检查两棵树是否相同 2. 题目2:判断一棵树是否为另一棵树的子树 3. 题目3:翻转二叉树 4. 题目4:判断一棵树是否为平衡二叉树 5. 题目5:判断一棵树是否为对称二叉树 6. 题目6:二叉树的层序…...
酷开系统 | 酷开科技大数据,更好的与目标消费人群建立联系
众所周知,OTT的一大优势在于强曝光,能够给消费者带来强烈的视觉冲击,强化品牌认知。但是,要想达到提升品牌认知,首先要保证OTT的流量规模,实现对目标人群的有效覆盖。得年轻消费者得“天下”,年…...
无涯教程-Perl - study函数
描述 此功能需要花费额外的时间来研究EXPR,以改善在EXPR上执行的正则表达式的性能。如果省略EXPR,则使用$_。实际的速度增益可能非常小,具体取决于您希望搜索字符串的次数。 您一次只能学习一种表达式或标量。 语法 以下是此函数的简单语法- study EXPRstudy返回值 此函数…...
dfs深度搜索入门之滑雪
P1434 [SHOI2002] 滑雪 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 本题我们主要使用了深度搜索和记忆化搜所。 首先我们可从任意一点开始滑行,这要求我们每一个点都进行一次深搜。但是如果每个点进行的话肯定会有许多个点重复被寻找最长滑雪长度,…...
Python程序设计——元组、集合和字典
可以使用元组存储一个固定的元素列表,使用集合存储和快速访问不重复的元素、使用字典存储键值对并使用这些关键字来快速访问元素。 一、元组 元组跟列表类似,但是元组中的元素是固定的;也就是说,一旦一个元组被创建,就无法对元组中的元素进行…...
八股文之框架篇(Spring Boot、SSM)
文章目录 Spring中的单例bean是线程安全的吗什么是AOP,项目中有没有使用到AOPSpring中的事务是如何实现的Spring中事务失效的场景有哪些Bean的生命周期Spring中的循环依赖(循环引用)SpringMVC的执行流程SpringBoot自动配置原理Spring、Spring…...
[PaddlePaddle] [学习笔记] [上] 计算机视觉(卷积、卷积核、卷积计算、padding计算、BN、缩放、平移、Dropout)
1. 计算机视觉的发展历程 计算机视觉作为一门让机器学会如何去“看”的学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目标物体进行跟踪,从而理解并描述出图片或视频里的场…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
