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

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

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示