面向新手在无人机竞速场景下的飞行辅助系统——浙大 FAST-Lab 高飞团队 ICRA 论文三项 Best Paper 入围

news/2024/10/10 17:31:42/

恭喜浙江大学 FAST-Lab 钟宇航同学的论文 A Trajectory-based Flight Assistive System for Novice Pilots in Drone Racing Scenario 顺利发表 ICRA 2024,并同时入选三项 Finalist:

  • the IEEE ICRA Best Conference Paper Award
  • the IEEE ICRA Best Paper Award on Unmanned Aerial Vehicles
  • the IEEE ICRA Best Student Paper Award

无人机竞速飞行指的是操纵无人机以最短的时间完成指定的飞行路线。无人机需要持续飞行在非常高速的状态下,飞手需要娴熟的操纵无人机,进行高机动大姿态的飞行。

这对无人机飞手提出了非常高的要求。飞手需要非常熟悉整个飞行路线,躲避飞行路线中的障碍物。

即使是非常有经验的专业对手,也是很可能出现碰撞导致飞行失败的可能。这些技术要求使得新手飞手对于竞速飞行来说只能是望尘莫及,很难参与其中。

本文提出一种无人机竞速飞行辅助系统,目的是让新手飞手甚至是完全没碰过无人机的人,也能快速上手,体验竞速飞行,深度参与到这项活动中来。

设计这样的无人机竞速飞行辅助系统,面临着若干挑战。

首先,新手飞手由于缺乏经验,操纵感较差,需要有专家的引导。其次,新手飞手的操作是不可预测的,这对安全性带来很大的挑战。第三,也是最重要的一点,要让飞手有很强的参与感。

在学界,全自主的无人机竞速飞行已经有一套相对成熟的解决方案。在没有人参与的情况下,无人机仅靠自身的计算平台就能够实现媲美专业飞手、甚至超越专业飞手的竞速飞行成绩。

但是这样的方式,飞手缺少参与感。

本文希望设计一套飞行辅助系统,既能提升无人机竞速飞行的比赛表现,又能让人类飞手能获得充分的参赛体验。

这就需要精确的捕获用户意图,并且能够实时反馈到无人机的运动上来。从这个层面上来说,实现辅助竞速飞行比自主竞速飞行要更加困难。

系统框架

整个系统采用分层结构,由离线和在线两部分组成。

1、离线预处理模块

首先对比赛场地和赛道构建点云地图。使用相对成熟的全局轨迹规划方法,生成时间最优轨迹,作为专家参考。

并且沿着参考轨迹生成稠密的安全飞行走廊,提供足够大的安全区域,用一些首尾相接的多面体来表征安全空域。

2、在线重规化模块

设计了一个遥控映射基元以快速封装飞行员的输入,并定制了基于时间映射的轨迹进度以进一步捕捉意图。

然后,提出了一个轨迹规划器,用于定期生成与意图一致、平滑、可行和安全的轨迹。

3、加入偏航角重规划

在生成轨迹上,进行偏航角的重规划。目的是为了让无人机能够尽快朝向下一个目标点看去,为飞行员提供最佳的视角,进一步减轻操作难度。这一点对于新手飞手来说非常重要。

飞行辅助系统架构图

实验验证

进行了模拟和实际实验,验证该系统的性能。在真实实验中,邀请5名参与者在无人机竞速场景中操纵无人机。记录完成时间,并确定最终排名。

比赛过程中,使用NOKOV度量动作捕捉系统获取无人机相关位置信息,以验证比赛中无人机的飞行轨迹

所有飞手行员都成功完成了真实场景中的比赛,最大速度超过 3.0 米/秒。所有飞手的飞行轨迹和无人机飞行快照如下图。使用该研究提出的飞行辅助系统,即使是新手飞手也能顺利完成比赛。

获胜的飞手最高飞行速度达到 6.0 米/秒,平均飞行速度接近 3.0 米/秒。

所有飞行轨迹和飞行快照

原文链接:浙大 FAST-Lab 高飞团队 ICRA 论文三项 Best Paper 入围


http://www.ppmy.cn/news/1455719.html

相关文章

x86中汇编伪指令.byte,.short,.int,.long,.word的理解

1[.byte] .byte expressions: 定义一个字节, 并为之分配空间. 2[.short] .short expressions: 定义一个短整型, 并为之分配空间. 3[.int] .int expressions: 定义一个整型,并为之分配空间. 4[.long] .long expressions: 定义一个长整型, 并为之分配空间. 5[.word] .word expres…

一个新细节,Go 1.17 将允许切片转换为数组指针!

在 Go 语言中,一个切片(slice)包含了对其支持数组的引用,无论这个数组是作为一个独立的变量存在于某个地方,还是仅仅是一个为支持分片而分配的匿名数组。 其切片基本结构都如下: // runtime/slice.go typ…

245 基于matlab的MEEMD信号分解及重构算法

基于matlab的MEEMD信号分解及重构算法。MEEMD方法的主要步骤包括:1. 定义多元信号集合,将多个信号进行集合;2. 对多元信号集合进行EEMD分解,得到一组IMFs;3. 将相同IMF进行平均,得到改进的IMFs;…

Ubuntu 20.04 安装 Ansible

使用官方的 Ubuntu PPA 更新包列表: apt update安装软件属性常用命令 apt install software-properties-common添加 Ansible PPA 到系统: add-apt-repository --yes --update ppa:ansible/ansible再次更新包列表以包括新添加的 PPA: apt …

SpringBoot:实战项目TILAS智能学习辅助系统1.2

SpringBootWeb项目 TILAS智能学习辅助系统 RequestMapping()注解可以抽取资源链接的共性 新增员工 //控制层 PostMapping("/emps")Result insert(RequestBody Emp emp);Overridepublic Result insert(Emp emp) {empService.insert(emp);return Result.success();…

LLM——用于微调预训练大型语言模型(LLM)的GPU内存优化与微调

前言 GPT-4、Bloom 和 LLaMA 等大型语言模型(LLM)通过扩展至数十亿参数,实现了卓越的性能。然而,这些模型因其庞大的内存需求,在部署进行推理或微调时面临挑战。这里将探讨关于内存的优化技术,旨在估计并优…

Golang | Leetcode Golang题解之第62题不同路径

题目: 题解: func uniquePaths(m, n int) int {return int(new(big.Int).Binomial(int64(mn-2), int64(n-1)).Int64()) }

炒股自动化:散户如何通过API查询资产和持仓,Python接口

券商官方的接口,个人账户可申请,入金门槛低,接入文档完善,技术支持好的,经过我们筛选后,只有一家符合,会编程,有基础,只是需要API接口的朋友不用看这些内容,不…