显示器

首页 > 产品中心 > 显示器

米乐m6官网登录从星际之旅到空间计算:我们发现计算机正通过SLAM

发布时间:2024-04-24 01:00:54来源:米乐M6官网备用网站 作者:米乐m6官网登录入口

  在过去几十年的科技发展史上,科学家们一直在探索如何让计算机更精准地理解和重构人类所处的空间。

  无论是火星车在遥远星球上的孤独旅程,还是手中智能设备在密闭空间中的精确定位,无论是无人驾驶汽车在路面飞驰,还是智能机器人自主探索世界,SLAM技术都扮演着至关重要的角色。先进技术的不断涌现,使得计算机不仅能“看到”世界,还能在更复杂的环境中“理解”和“导航”,并对空间计算的未来产生潜在的影响,扩展人类对物理和数字世界的认知边界。

  2003年7月7日美国卡纳维拉尔角(Cape Canaveral),一架Delta 2火箭发射升空,携带着机遇号(Oppertunity)火星探测车飞向遥远的火星。

  在经历了200余天的漫长飞行后,机遇号于2004年1月25日降落在了火星的子午线高原,开始了对这颗陌生星球的探索,通过寻找地质线索,确定火星的部分地区过去是否存在适合生命生存的潮湿环境。

  火星与地球间的距离即使在近点也超过5000万千米,这意味着将近6分钟的往返通讯延迟,而且二者的自转还会造成信号的遮挡,因此在整个火星探测的过程中,机遇号在接收到遥远地球发来的任务目标后,大部分时间必须自主的执行任务。

  一个首要的问题,就是如何在没有GPS网络覆盖的火星上确定自己的位置和行驶轨迹,以保证向目标地点的移动不会偏离预定的路线。

  相比它的前辈索杰纳号,机遇号在外观上有着明显大的差异——一根高高竖起的桅杆上,安装了一对navcams(导航相机)。这两个摄像头拥有1024×1024像素的CCD阵列,FOV为45度,基线位的灰度图像,用于帮助机遇号进行导航并避开路途中的障碍。

  过去,科学家们为火星探测车设定的定位方式,是在火星车静止时使用太阳传感和加速度计来初始化自身的姿态,随后在火星探测车行驶的过程中,不断通过陀螺仪和车轮上的里程记来计算自身的运动矢量。

  用这种方式来追踪火星探测车的行驶轨迹有很大的局限性——一旦碰到斜坡或者沙地这样的路况造成车轮打滑,就会导致定位偏离了探测车实际所在的位置,通俗来说,就是定位漂移了。机遇号在火星上就曾经发生过一次严重的事故,陷入沙堆中车轮原地旋转了相当于50米的行驶距离,如果仅仅依赖于车轮里程记,机遇号的位置将发生50米的漂移,大幅度影响到探测任务的执行。

  这时候,机遇号的navcams就能够发挥出重要的作用——它们可以通过视觉特征跟踪的算法(现在通常被称为视觉里程记,缩写为VO,代表Visual Odometry),来不断估算两次拍摄之间火星车的运动矢量。这也是在不增加额外硬件的情况下,火星探测车解决定位漂移的唯一方案。

  视觉里程记能够从两个navcams拍摄的画面中寻找出特征点并建立3D坐标,随后在多个分辨率的立体画面中对这些特征点进行匹配,从而计算出两帧画面之间火星车的方向变化和位移距离。这一算法在1980年由Moravec提出,并在后续经历了多次改良。

  受限于研发时间,机遇号的导航系统并没有使用相关算法将视觉里程记得出的运动信息与IMU(惯性计量单元,通常包含陀螺仪和加速度计)以及车轮里程记的数据做结合,而是直接替代IMU+车轮里程记的运动估算数据,或者至少替代其中的位置变化数据(姿态变化的数据由陀螺仪得出,通常不会有大幅度的漂移)。

  这幅图片记录了机遇号在Wopmay岩石附近的行驶轨道。黑色的椭圆大致代表岩石的位置。左侧的图片为IMU+车轮里程记记录的位置,右侧的图片为相同路线经过VO修正后接近真实行驶路径的数据。

  机遇号从左上角的位置出发,先驶向岩石,然后试图绕行。在1点钟左右的方向,机遇号经历了一次下坡的过程,从图片可以看出,下坡过程中车轮里程记显示的位置会比火星车实际的位置要更靠上。

  受限于机遇号火星探测车的芯片性能——车体电脑使用的是一块主频仅有20MHz的RAD6000中央处理器,通过视觉里程记来获取和处理一次立体画面并更新机遇号的位置和姿态需要花费接近3分钟的时间,还要求相邻两次拍摄的间距不超过75cm,摄影方位角的变化不超过18度,因此视觉里程记并无法用于机遇号的全行程,而是用于短距离关键路径上的局部定位,例如车轮打滑或者接近指定的科研目标时。

  但视觉里程记已经在这项任务中展现出了较高精度和高自主性的优势,并展现了计算机通过视觉方式处理定位问题的巨大潜力。

  在计算机领域,如何在陌生的环境中实现更精准的定位,是许多科学家们孜孜不倦长期研究的方向。人们将这种定位技术称为Simultaneous Localization and Mapping(同时定位和地图构建),缩写正是大家经常提起的SLAM。

  顾名思义,SLAM技术能够帮助设备在环境中确定其精确的位置,创建环境的详细地图帮助计算机理解周围环境结构,还能够结合定位和地图构建功能实现复杂的路径规划和避障任务。

  这项技术对于导弹精确制导、智能机器人、自动驾驶汽车、虚拟/增强现实设备等诸多领域,都具备着十分重要的意义。

  有人将SLAM技术的发展分为三个阶段:1960~2003年被称为“古典时代(Classical Age)”,2003年~2013年被称为“vSLAM黄金时代”,2013年至今则被称为“提升健壮性(robustness)的第三时代”。

  1960年,匈牙利数学家Rudolf E. Kalman提出了一种递推滤波算法,成功的将状态变量引入了滤波理论。在NASA埃姆斯研究中心访问时,他发现这种算法对于解决阿波罗计划的轨道预测很有用。后来阿波罗飞船的导航电脑使用了这种滤波器,因此这种算法也被命名为卡尔曼滤波(Kalman Filter),主要用于结合雷达系统实现定位功能。

  1988年,Smith et al.率先提出了EKF-SLAM算法,可以结合激光遥测或是多种测量方式的里程记,在机器人上实现SLAM功能。

  但直到2003年,才有一种直接使用单个网络摄像头、不依赖于其他里程记的SLAM算法被Davision et al. 提出,称为MonoSLAM。MonoSLAM是首个基于单个低成本视觉传感器的实时SLAM算法,能够以三维的方式进行定位和地图重建。

  自此SLAM技术的发展进入了vSLAM(纯视觉SLAM,即只依赖视觉传感器进行SLAM的方式)的黄金时代,越来越多的vSLAM算法被提出,人们也在尝试通过不同的视觉传感器来实现更精准高效的vSLAM功能。

  vSLAM技术框架可以分为四个部分,分别是前端(包括视觉传感器、视觉里程记)、后端(基于滤波算法或者基于优化算法)、建图和回环检测。机遇号火星探测车上的视觉里程记,正是vSLAM框架里的前端部分,主要用于确定位置。

  不过,纯视觉SLAM方案还存在着一些限制,例如环境变化大或者环境光较弱的情况可能带来定位与建图精准度和效率的下降,摄像头本身刷新率的限制(通常只有30/60Hz)带来的定位延迟等等。

  因此,自2013年以来,SLAM技术开始走向视觉与多传感器融合的方向发展,以提升自身在不同环境下工作的健壮性(鲁棒性)。Kinect Fusion正是其中的代表算法之一,这是微软为Kinect这台具备深度传感器的设备(即RGB-D)量身打造的SLAM算法。另一种方向则是将视觉传感器与IMU相结合的算法,通常被称为vi-SLAM算法。

  我们在一张简单的表格中列举了目前三种主流的SLAM方案——单目、双目、RGB-D。从下列表格中,可以快速了解三种方案各自的优缺点。

  简单来说,单目SLAM方案优点是成本低、性能开销小、功耗低,缺点在于初始化速度、尺度信息缺失无法得出真实大小以及累积误差大;

  一个最直观的案例,是如果用户在不带有LiDAR功能的iPhone或iPad上使用测距功。


米乐m6官网登录
上一篇:HM-BZ08 下一篇:电脑CPU主要性能指标