
技术摘要:
仅使用单目传感器,就为DJI自主无人机设计了具有深度恢复功能的可扩展的同时定位与建图(SLAM)框架,该无人机利用机器人操作系统(ROS)集成在机载计算机中。具体地,基于知识库ORB‑SLAM2,获得了车载单目视觉的具有比例的姿态信息,并且利用AprilTag2进行融合操作以恢复 全部
背景技术:
近年来,无人驾驶飞机在视觉伺服,非线性控制,SLAM等许多研究领域受到了广泛 的关注。DJI Matrice100由于其出色的稳定性,对开发的再次支持和强大的耐力而被广泛 用于无人机研究领域。例如轨迹跟踪控制,目标检测和跟踪,路径规划,基于视觉的导航等。 在室外环境中,DJI自动驾驶仪可以稳定多旋翼的位置,并通过全球定位系统(GPS)提供正 确的姿态和速度信号估计。但是,在室内环境下使用DJI Guidance时,它无法直接融合来自 外部传感器的任何数据,因为缺少GPS信号。因此,设计无人机的框架以提供状态和控制信 息非常重要,该信息可以获取无法访问GPS的速度和姿态。 单目相机具有结构简单,成本低廉,采样数据充足等优点,在SLAM研究领域引起了 广泛的关注。利用单目视觉,已经有许多关于状态估计,里程计和SLAM的完整著作,包括 PTAM,SVO,LSD-SLAM和VINS-Mono。对于单目视觉,对于无人机上的SLAM应用而言,快速完成 初始化并准确恢复尺度信息至关重要。 由于负载限制和平台规模小,单目配置是无人机状态估计,映射和非线性控制的 合理选择。使用ORB-SLAM2,仅通过使用单目传感器就可以快速完成初始化过程,这意味着 可以满足无人机的状态估计和制图需求。但是,由于无法从单目相机恢复深度信息,因此地 图的比例和预测的轨迹是未知的。因此,对于无人机上的单目SLAM应用,应该准确的完成有 关单目相机比例尺信息的过程。此外,AprilTag2最近因其稳定性和准确性而备受关注,可 用于单目SLAM的尺度恢复。 为了准确地执行轨迹跟踪任务,对于无人机来说,处理复杂的动力学和不确定的 扰动需要适当的控制策略。线性控制方案,例如比例微分控制器和线性二次调节器,被广泛 用于增强无人机的稳定性。由于很多控制器基于欧拉角,因此当表示跟踪不规则轨迹的四 旋翼无人机的复杂旋转时,存在奇异点。为了解决这个问题,使用了一种用于轨迹跟踪任务 的四旋翼无人机的几何控制器,它可以控制欠驱动的四旋翼无人机使用四个推力输入来稳 定六个平移和旋转自由度,同时渐近地跟踪四个由其位置和航向组成的输出。
技术实现要素:
本发明的目的是提供一个框架解决无人机缺失GPS信号而无法获取位置和姿态信 息的情况,该框架能自主恢复单目相机的深度信息并使用单目SLAM为无人机提供位姿信 息。这将会大大提高无人机的适应能力。 本发明提出一种GPS信号丢失的场景中无人机的自主恢复深度信息并完成轨迹跟 踪任务的设计。在本发明中,通过利用具有深度恢复的单目状态估计器,为开源无人机设计 了可扩展框架。在初始化步骤中估计单目深度信息,然后由单目稀疏SLAM完成轨迹跟踪任 6 CN 111578947 A 说 明 书 2/9 页 务。拟议的框架包含五个模块,包括状态估计,深度恢复,轨迹规划,跟踪控制器和硬件接 口。框架分为三个阶段,首先无人机开始检测AprilTag2标签,同时运行ORB-SLAM2的单目模 式,然后在初始化ORB-SLAM2存储库后同步融合深度信息。在单目状态估计中,第二阶段采 用运动控制器驱动无人飞行器完成复杂的轨迹跟踪任务,状态估计也由深度融合获得ORB- SLAM2。然后在第三阶段中,无人飞行器降落到原点位置。收集实验结果以验证所提出框架 的可行性。本文的主要贡献是,在简单的单目机载传感器配置的基础上设计了可扩展的框 架,用于无人机自主的完成状态估计和轨迹跟踪控制。 本发明提供的具有深度恢复能力的无人机单目SLAM可扩展框架包括: 一种具有深度恢复能力的无人机单目SLAM可扩展框架,其特征包括以下步骤: 第1,框架的概述 框架中五个模块的关系如图1所示。深度求解模块首先被设计为利用AprilTag2算 法来计算比例尺信息。初始化单目模式的ORB-SLAM2,然后将其与相机深度融合以提供状态 估计结果。引入了轨迹规划模块以生成所需轨迹,并且控制器模块通过合并实时姿态信息 来计算用于安全,准确的无人机运动的输入命令。最后,DJI自动驾驶仪通过硬件接口接收 控制器发送的输入命令。框架中所有模块之间的通信都是通过ROS接口进行的。 第2,坐标系转换和深度求解 该框架的第一个模块是通过合并AprilTag2和ORB-SLAM2获得有关单目相机的深 度信息。位姿发布和转换模块是在ROS环境下设计的。无人机上安装了英特尔实感D435i传 感器,并且所提的框架中仅使用单目相机,相机坐标系表示为 在初始时刻t=0时 表示为 表示无人机机体坐标系, 在初始时刻t=0时表示为 参考坐标系定义在AprilTag2的标签上,用 表示。利用标签检测算法,在 下 表示的坐标系 的旋转矩阵 和平移向量 都是通过AprilTag2姿态计算算法获得 的。 表示坐标系 在 下的转换关系,同样的 表示坐标系 在 下的转换关 系, 表示预校准的相机和无人机之间的转换关系。根据坐标系转换原理,可以通过计算 和 得到 计算过程如下所示: 然后,旋转矩阵 和平移向量 可以通过以下获得: 系统启动时,AprilTag2和ORB-SLAM2都会启动,t′表示ORB-SLAM2初始化完成的瞬 间。我们假设启动系统时标签位于相机视场中间。通过对AprilTag2进行的姿态测量,可以 得到从时间ti到 的摄像机坐标系的变化量 如下所示: 的平移向量 已经获得。 此外,在时间t′处,可以在ORB-SLAM2的输出下获得从 到时间t′的摄像机坐标 系的缩放平移矢量 因此,通过计算相同相机平移矢量的上述两个不同表达式之间 7 CN 111578947 A 说 明 书 3/9 页 的比率,可以恢复复杂的ORB-SLAM2的比例因子s: 第3,状态估计模块 结合已建立的单目SLAM(例如ORB-SLAM2),将其用于无人机平台,它可以提供可 靠、准确的无人机状态估计和工作区映射结果。 在ORB-SLAM2中,仅运动包调整(BA)可以将摄像机坐标系的方向 和位 置 从 最佳化为当前时间t,从而使匹配的3-D点 在 以下和图像关键 点 与i∈χ之间的重投影误差最小。所有匹配项的集合: 其中ρ(·)是鲁棒的Huber成本函数,而∑是与关键点规模相关的协方差矩阵。πm (·)的定义如下: 其中校准的相机参数(fx,fy)是缩放的焦距,而(cx,cy)是图像上的主要特征点。 原始的ORB-SLAM2主要具有三个并行线程:跟踪,局部映射和循环关闭,但是,生成 的姿态信息不会实时发布。为了解决无人机无法直接获得深度融合ORB-SLAM2提供的状态 估计的问题,设计了一种姿态发布转换模块,如图2所示。 在图2中,姿态信息是通过利用ROS发布者/订阅者工具进行传输的。利用转换节 点,可以根据摄像机/无人机坐标系的关系从深度融合摄像机的姿态中获得无人机姿态,如 图3所示。 如坐标系转换和深度求解章节所述,无人机和摄像机坐标系的变换是已知的且恒 定不变,而如状态估计模块所述,通过融合的ORB-SLAM2姿态计算可获得 下 的变换 在此基础上,根据坐标系变换原理,可以通过以下关系得到坐标系 在 下的变 换 然后,使用ROS发布者功能实时发布 在这一部分中,将计算无人机的实时 位置和姿态,并通过ROS接口将其发送到控制器模块。 第4,轨迹规划模块 为了通过无人机完成复杂的任务,通常会结合平台大小,目标跟踪,能耗等因素, 完成适当的运动轨迹规划。 在本框架中,以伯努利曲线为例,将伯努利曲线作为期望轨迹,因为其难以被跟踪 的特性,可以很好的评估后续跟踪控制模块的性能。伯努利曲线的参数方程如下所示: 8 CN 111578947 A 说 明 书 4/9 页 在(12)中,引入参数ω来设置所需的线性和角速度,r与曲线的大小有关,并且参 数π/2涉及与无人机的起降过程的合理连接。 第5,跟踪控制器 对于大疆无人机而言,不支持期望总时刻的输入,推力fu(t),俯仰角θu(t),横摆角 φu(t),偏航率 是唯一可用的输入。为了解决这种情况,在框架中采用了基于SE(3)的 几何控制器来实现复杂的轨迹跟踪任务。 控制过程如图4所示。位置和速度误差都可以通过计划模块和当前状态估计模块 中的所需轨迹来计算。ep(t)表示期望位置和当前位置之间的误差向量,ev(t)表示期望速度 和当前速度之间的误差向量,m是整个系统的总重量。对角增益矩阵表示为Kp和Kv。然后,所 需推力fu(t)计算为: 如下提供了计算控制器的期望姿态输入Rd(t)的方法: n2d=[-sinψd cosψd 0]T, (11) r2d=r3d×r1d, (13) 然后分别计算输入的俯仰角和侧倾角为 θu=atan(-r3,r1cosψd r2sinψd), (15) φu=atan(r7sinψd-r8cosψd,r5cosψd-r4sinψd) . (16) 为了稳定偏航角跟踪误差的零平衡,应用比例控制器来计算所需的偏航率输入 第6,硬件接口 框架中的最后一个模块是硬件接口,如图5所示。在收到控制输入后,接口模块将 通过硬件连接将控制命令发送到大疆无人机。 DJI经纬100(M100)无人机用作运动平台,Intel D435i设备用作单目相机以捕获 9 CN 111578947 A 说 明 书 5/9 页 图像信息,并且在飞机上安装了具有Ubuntu 16.04的Intel NUC(8i7BEH)以发送控制指令。 作为地面站,个人计算机还配备有Ubuntu 16.04,可通过安全外壳(SSH)远程终端实时掌握 车载计算机的状态。USB-TTL和UART电缆都是M100和Intel NUC之间的通信通道,但是远程 终端相对独立于板载控制。在基于ROS(Kinetic)的Ubuntu 16.04上运行的DJI SDK(OSDK 3.9)是用于M100开发的必不可少的工具包。 框架中的所有模块都以ROS节点的形式执行通信,这些节点分别是AprilTag节点, ORB-SLAM2节点,姿态转换节点,深度节点和DJI SDK节点。节点图如图6所示。 启动系统后,AprilTag节点和ORB-SLAM节点均立即开始工作。通过深度节点,利用 接收到的上述两个节点的信息输入,获得单目相机的深度信息。对于比例恢复的姿态,UAV 的状态信息是通过姿态转换节点获得的。DJI SDK节点一旦接收到相应的姿态信息,便向 UAV发送控制信号。 在DJI SDK节点中,操作过程如图7所示。在初始化过程中,需要启用四个电机并掌 握控制权限,以便机载计算机可以操纵四旋翼。电动机启动后,需要以50Hz的频率向无人机 发送控制命令,以进行稳定的飞行控制。在无人机着陆后释放控制权之前,应先禁用电动 机。 附图说明: 图1为所提框架概述框图 图2为位姿发布和转换模块图 图3为无人机与机载摄像头的坐标系关系 图4为控制量流程图 图5为框架中的硬件接口图 图6为ROS中的节点图 图7为DJI SDK节点的操作流程 图8为实验设备图 图9为实验图:无人机在跟踪过程中的运动轨迹(实线:当前轨迹;虚线:期望轨 迹。) 图10为实验图:无人机在跟踪过程中的位置演变(实线:当前轨迹;虚线:所需轨 迹)。 图11为实验图:无人机在整个过程中的姿态演变(实线:当前轨迹;虚线:所需轨 迹)。 图12为实验图:无人机推力在整个过程中的演变