室内智能无人机比赛:基于深度学习的感知、规划与导航

2024-03-13 06:50

本文主要是介绍室内智能无人机比赛:基于深度学习的感知、规划与导航,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

泡泡图灵智库,带你精读机器人顶级会议文章
标题:Perception, Guidance and Navigation for
Indoor Autonomous Drone Racing using Deep Learning
作者:Sunggoo Jung , Sunyou Hwang , Heemin Shin , David Hyunchul Shim
来源:ICRA 2018
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权


摘要

大家好,今天为大家带来的文章是——室内智能无人机比赛:基于深度学习的感知、规划与导航。该文章发表于ICRA2018。

智能无人机比赛中要求无人机能够快速穿过障碍门,并且保证没有发生碰撞,因此利用计算机视觉去检测障碍门非常重要。然而由于光照变化和障碍门视觉重叠等问题,基于颜色和障碍门的几何关系的传统算法在实践中经常失效。

在本文中,作者提出了一基于卷积神经网络的种鲁邦方法来检测障碍门和其中心,最后以视线(line of sight)的方式来进行导航。本文将提出的算法部署在一个现有的低成本硬件平台上进行验证,所有的视觉计算任务都能用NVIDIA Jestson TX2实时完成。大量的实验证明本文的算法在室内环境下具有高效可靠的目标检测和导航性能。


介绍

室内智能无人机比赛是目前最流行的电子竞赛,IROS 2016年第一次举办了该类型比赛。IROS 2016要求无人机连续穿越26个1.3m×1.3m大小的障碍门。考虑到室内不能使用GPS进行定位,如何利用视觉信息就尤为重要。

主要贡献有:
1、 提出了ADRNet网络,尽可能的提高障碍门的检测精度,并且减少由于网络结构改变导致的性能下降;
2 、改进了基于固定翼的导航算法,将其适用于旋翼无人机,并与ADRNet估计的障碍门中心配合进行导航。


算法流程

这里写图片描述
图1 本文的算法流程图

IROS室内智能无人机比赛有三个要求:1)无人机必须足够小,以便能够顺利通过障碍门;2)尽可能快的穿越所有的障碍门;3)所有的计算必须在无人机上完成。本文作者选用了基于Ubuntu16.04的ROS-Kinetic系统,并利用NVIDIA TX2进行视觉计算,同时安装了TeraRanger-One激光测距仪用于高度测量,PX4Flow用于速度计算,ZED深度相机用于里程计算,PointGrey FireFly鱼眼相机用于目标检测,除此之外还有IMU用于测量位姿信息。

上图1展示了本文系统的主要框架,ADRNet用于障碍门检测,然后再进行状态控制完成穿越障碍门的动作。

ADRNet感知

SSD是目前常用的多目标检测网络,在常规配置的PC电脑上能够达到40fps的检测效果。然而在TX2上,SSD的速度非常慢,单张计算时间为462.04ms,不能胜任比赛的要求。为此本文提出了ADRNet,以AlexNet为基础进行目标检测,可以达到了84ms的计算速度。并且考虑到在比赛中,每次只需要检测距离最近的一个障碍门,删除了不必要的检测部分,更进一步提高了检测速度,最终达到了30fps的效果,并且只下降了0.07的检测精度。

导航与控制

本文使用的导航算法是基于固定翼中常用的LOS矢量导航算法,并加以改进以适合更灵活的旋翼无人机,使得每一个轴都能够单独控制。但是由于室内FCC只能处理航偏角和翻滚角命令,作者也相应的进行了改进以符合需求。
下图2展示了如何通过导航控制顺利的通过一个障碍门,即最终使得摄像头的光轴与障碍门的中心相交。
这里写图片描述
图2 LOS导航示意图,即逐渐使得上图中的两个变量的值都为0.


主要结果

本文主要从目标检测和LOS导航控制两方面进行了实验和评价。

ADRNet性能评价

这里写图片描述
图3 ADRNet检测的障碍门,图中的结果都来源于测试数据集。
这里写图片描述
图4 ADRNet与其他算法的比较,可以发现无论是在精度还是计算效率上,ADRNet都达到了最好的效果。
这里写图片描述
图5 对比了传统检测算法与ADRNet的检测结果,其中左侧都是传统算法检测结果,右侧是ADRNet结果。

LOS导航控制

这里写图片描述
图6 上图展示了智能无人机在穿过9个障碍门时的LOS控制命令与控制结果的示意图,其中上图是控制命令,下图是无人机相机光心与障碍门中心的差距,当差距为0时表示正在穿越障碍门。对比可以发现,LOS控制命令可以非常完美的穿越障碍门。

结论

本文提出了一个使用基于深度学习的无人机感知、导航和控制的算法,能够在TX2实时计算。同时为了加快该领域的研究,作者也公开了相关代码,链接如下:https://sunyouh.github.io/projects/adr2017。


这里写图片描述

这篇关于室内智能无人机比赛:基于深度学习的感知、规划与导航的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803969

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3