【论文】Crazyswarm论文

《Crazyswarm:大型纳米四轴飞行器群》论文总结

论文名称:Crazyswarm: A Large Nano-Quadcopter Swarm

image-20220319171842418

摘要

为大量在室内密集编队飞行的微型四轴飞行器定义了一个系统架构。

  • 对于状态估计(state estimation),我们开发了一种方法来可靠地跟踪具有相同运动捕捉标记排列的许多小刚体(无人机)。

  • 我们的通信基础设施使用压缩的单向数据流,每个无线电支持大量无人机。

  • 我们通过执行大部分机载计算(computation onboard),包括传感器融合、控制和一些轨迹规划,实现了具有精确跟踪(< 2 cm 平均位置误差)的可靠飞行。

  • 我们提供了各种示例,并根据经验确定了多达 49 辆车的群的延迟和跟踪性能。

介绍

提出问题:大多数研究型四轴飞行器都足够大,可以携带相机和智能手机级计算机,但它们也很昂贵,并且需要很大的空间才能安全运行。

提出系统结构:使用动作捕捉系统(motion-capture system)进行定位(localization)并通过三个共享无线电进行通信(communicaiton over three shared radios)。

  1. Kushleyev在实验中控制20个微四旋翼机,这篇文章和他不同的地方在于:①本文章的系统结构是为了减小通信带宽和为了更好的扩展到更多数量的四轴飞行器而设计的;②证明了集群的相互影响(interactivity)。
  2. the Flying Machine Arena at ETH Zurich 做了单机和多机的实验,和本篇文章不同的地方在于①位置控制器在机外(offboard)运行,使系统对丢包的鲁棒性降低。②额外的计算能力用于延迟补偿算法 以提高高速飞行的准确性。

结构综述

三种方法结构比较:

  • 动作捕捉系统会产生单点故障(a single point of failure),但是由于高性能(位置误差能够小于1mm),最终还是选择了动作捕捉系统。
  • 使用超带宽的无线电三角测量的去中心化定位系统(decentralized localization system),会有10cm的偏差,所以放弃。
  • 基于视觉的方法需要无人机携带相机和计算机,这对于大型纳米四轴飞行器群来说是一场灾难。

Object Tracking

像Vicon Tracker这样的标准的刚体捕捉软件需要为每一个跟踪目标安排一个标记,但是Crazyflie太小,无法放下一个标记,而且多数量的无人机会造成模糊,因此,仅仅从动作捕捉系统中获取原始点云数据( raw point clouds),实施基于ICP(Interactive Closest Point迭代最近点算法)算法的目标跟踪。

Initialization

使用一个包含固定初始点定位的配置文件, 但是不可能在每次飞行前将每个无人机放置在其精确配置的位置。 为了允许小的偏差,我们执行关于初始位置布局相关半径内的最近邻搜索(nearest-neighbor),在估计偏航角的时候使用ICP算法。 我们只接受最好的猜测:一致误差非常小,小于1mm均方欧式距离。

Frame-to-frame Tracking

前提:

  • 飞行期间没有长时间的遮挡。
  • 限制ICP的迭代次数(5次)以在支持的硬件设备上运行。
st=>start: Frame-to-frame Tracking
op1=>operation: 从动作捕捉系统获得原始点云数据
op2=>operation: 对于每个对象,我们使用 ICP 将对应于对象最后已知姿势的标记位置与整个场景点云进行配准
op3=>operation: 动作捕捉系统有时会产生带有缺失的点云从而避免跟踪误差
op4=>operation: 从ICP计算线速度和角速度,将异常值剔除并与onboard状态结合

e=>end: end

st->op1->op2->op3->op4->e


状态估计

为了减少通信带宽要求并保持对临时通信丢失的鲁棒性, 我们在扩展卡尔曼滤波器 (Extended Kalman Filter) 中融合板载的运动捕捉和 IMU 测量 。

系统的输入是加速计和陀螺仪am和wm,所以有了动力方程,image-20220320145344320

IMU测量驱动动态积分,滤波器估计此积分的误差和协方差。 当用四个数字表示一个3自由度单位四元数时,这种方法避免了有问题的额外维度。 虽然 [14]、[15] 估计了 EKF 中的加速度计和陀螺仪偏差。

Planning

选择了一组oboard轨迹规划方法,这些方法需要在基站 PC 和车辆之间进行少量信息交换。 与在 PC 上评估轨迹并以高速率传输姿态和推力控制的架构相比,将一些规划工作转移到onboard以减少所需的无线电带宽

\[y=(p,\psi)$$其中$\psi$是世界坐标系下的偏航角(yaw)。 这意味着在状态空间中执行轨迹所需的控制是 y 及其有限数量的时间导数的函数。 我们利用这一事实并使用至少四次可微的函数来规划 y 中的轨迹。 ### Piecewise Polynomials 框架支持从基站上传或内置到固件映像中的分段多项式。 ### Online Single-Piece Polynomials 对于路程较短的轨迹而言,单个多项式已经足够了。我们为垂直起飞、着陆和悬停点之间的线性移动等任务实现了一个在线单段多项式规划器(online single-piece polynomial planner)。 ### Ellipses 这个主要是为了证明online single-piece polynomial planner能够实现一段光滑稳定的轨迹规划。 ### Interactive Avoid-Obstacle Mode 交互避障模式是对于已知位置的单个移动障碍物,例如人类,我们使用专门的避障模式。计划者是完全分布式的,只需要知道无人机的位置 p,其分配的起始位置 p~home~, 和障碍物的位置 p~obst~,通过计算可以得到避障距离,那么新的目标位置就可以被计算出来,而且作为一种从原始位置的加权位移。相关的公式如下图。![image-20220320151631835](https://img2023.cnblogs.com/blog/2571944/202306/2571944-20230603230345372-75917228.png)这样就可以**计算出边际速度和加速度来得到光滑的轨迹**。 ## 通信 我们使用两种不同的通信方式:请求响应(request-response)和广播(broadcasting)。 * 请求-响应主要用于配置仍在地面上的Crazyflie。这包括上传轨迹、更改控制器增益等飞行参数以及将每个 Crazyflie 分组。 * 在飞行过程中使用广播最小化位置反馈的延迟,并实现起飞、着陆、开始轨迹等的同步行为。通过组 ID 号,可以将广播命令限制为群的子集 。 由于通信没有使用标准传输层(transport layer),因此,我们需要把处理零星的丢包作为我们协议的一部分。为了实现低延迟,我们的目标不是保证数据包传输,而是高概率的可靠通信(probability of reliable communication)。 在定义的协议,所有命令都是幂等的(idempotent),所以它们可以是多次收到,没有任何副作用。 这允许我们重复request-response命令,直到确认接收(acknowledged)或发生超时。 Swarm-coordination命令,例如起飞,不等待确认(acknowledged),而是重复多次,以提高所有 Crazyflies 收到命令的概率。 根据经验,**对于重复的命令,数据包丢失的可能性取决于命令重复的速率**。而本文做的实验结果表明,对于Swarm-coordination命令,每 3 ms 重复 5 次消息会到达所有 Crazyflies,这足以稳定控制。 对于 49个无人机 ,使用三个无线电(radios),保证每一个无人机能够接收到一个无线电。通过无线电传输关于位置 p、四元数q等信息。 ## Control PID控制,输入当前的状态和目标位置、目标速度、目标加速度、目标偏航角、目标角速度,通过偏航角和位置误差来进行反馈,详细的过程参考论文。 ## 实验 ### 延迟 物理运动和相应位置反馈消息到达固件之间的总时间延迟显着影响整个系统性能,而且由于计算和通信开销,延迟随着群体规模的增加而增加。 通过两种方式估计延迟: * 首先,使用 Vicon DataStream SDK 来查询运动捕捉系统延迟的估计值,并使用代码来估计软件组件的运行时间。 * 其次,我们通过指引Crazyflie 的偏航突然变化来验证物理设置中的这些数字。 即时onboard IMU 响应与外部位置测量的相应变化之间的延迟捕获整个系统延迟, 我们通过 JTAG 调试适配器实时读取上面的系统延迟。 实验数据表明,49个无人机方阵会达到26ms的延迟。 ### 跟踪性能 通过整合飞行的整体欧几里得位置误差来估计跟踪性能,不包括起飞和着陆。 每个 Crazyflie 的飞行路径是重复 3 次的 8 字形,平均速度为 0.76 m/s,最大速度为 1.5 m/s。 对于小型四轴飞行器,该轨迹速度适中,最大滚动角为 20 度。 我们尝试不同的方群大小,从 1 到 7×7,以 0.5 m 间距的网格布局,以相同的高度飞行。 这种紧密的结构会导致额外的空气动力干扰,从而影响控制器的性能。![image-20220320192830419](https://img2023.cnblogs.com/blog/2571944/202306/2571944-20230603230345057-1206326352.png) 结果如图,方阵越大,误差也就随之增加。但是每个crazyflie的误差也低于 2 cm。 ### 位置更新率对悬停稳定性的影响 通过将更新率从最大 100 Hz 降低到 2 Hz 并测量悬停状态下的平均欧几里得位置误差来量化位置更新率对稳定性的影响。 100 Hz 和 10 Hz 之间的范围几乎没有变化。 在 2 Hz 时,系统仍然稳定,但显示出明显的振荡。 这证明了我们的系统在操作过程中对通信丢失的鲁棒性。 ![image-20220320193729705](https://img2023.cnblogs.com/blog/2571944/202306/2571944-20230603230344635-1237985753.png) ### 协同编队飞行 使用了 49 只 Crazyflies 组成的一个旋转金字塔,如[实验视频](https://www.youtube.com/watch?v=ezTayb76x9U) 所示。Crazyflies 最初放置在 7×7 网格中,间距为 0.5 m。 起飞在四个不同的层中完成,用户使用操纵杆或键盘触发下一个动作。 该脚本最初根据其层为每个 Crazyflie 分配一个组号,然后上传其椭圆的参数以供稍后执行。 由于分组,可以通过广播消息同时实现一整层的起飞。 在所有 Crazyflies 都在空中后,在线规划器规划一条轨迹,以顺利进入椭圆。 用户可以决定何时结束旋转,这会导致机上的另一个重新计划达到初始起飞位置上方的悬停状态。 最后,使用相同的组完成着陆,最大限度地减少着陆期间的空气动力干扰。 ### 无人机交互 操作员手持(或佩戴)带有动作捕捉标记的物体。 我们跟踪该物体的位置,并通过无线电将其位置与所有四轴飞行器的位置一起广播。 使用*Interactive Avoid-Obstacle Mode*中描述的onboard规划器,每个 Crazyflie 计算其所需位置,从而避免与障碍物或其他四轴飞行器发生碰撞。 ## 总结 * 描述了一种用于对迄今为止最大的室内四轴飞行器群进行稳健、同步、动态控制的系统架构。 * 充分利用了车辆的车载计算能力,能够对不可靠的通信具有鲁棒性。 * 并提供一组需要很少无线电带宽的丰富轨迹规划方法。 * 实验显示了相对于群体大小的延迟和跟踪性能的良好可扩展性。 对于一组 49 辆车,只需要 3 个无线电,获得了低 30 毫秒的延迟,允许使用机载状态估计进行适度激进的飞行机动,平均跟踪误差低于 2 厘米。 \]

posted @ 2023-06-03 23:27  cccopy  阅读(79)  评论(0编辑  收藏  举报