机器人导航系统的设计可能很复杂——它们需要软件算法、
电子设备和机械组件。它们必须能够准确移动,并且需要
传感器来收集周围环境的信息。设计过程还必须包括彻底的测试。
在本文中,我们将以轮式
吸尘器机器人为例,介绍机器人导航系统的一些要点及其所需的传感器,并重点介绍“智能行走”导航。如果您想设计一个机器人,特别是它的传感器和导航系统,我们将介绍足够的基础知识,为您指明正确的方向,如果您能原谅这个双关语的话。
导航系统的类型
对于我们的扫地机器人,导航系统主要分为三类:
随机游走。使用
接近传感器和墙壁碰撞传感器,我们的机器人将以几乎随机的方式在其环境中弹跳。它终会覆盖指定区域,但必须在剩余足够能量的情况下停止清洁,以找到返回充电器的方式,否则就有因
电池耗尽而陷入困境的风险。价格便宜但效率低下。
智能行走。这些机器人旨在通过巧妙地使用车轮编码器、惯性测量单元 (IMU) 和光流传感器的某种组合来改善用户体验并延长电池寿命。这些传感器使机器人能够以更智能的模式进行清洁,并更有效地找到返回充电器的路径。
同步定位和地图绘制 (SLAM)。SLAM 机器人添加了基于 LiDAR 激光的传感器或广角相机来绘制环境地图并在复杂区域中导航。这些传感器组件增加了硬件成本,同时还需要更强大的处理器来处理数据。这些机器人可能仍会依靠智能行走策略来处理黑暗或无特征的区域。
用于随机行走的接近传感器和撞墙传感器的用途相当简单,但是用于智能行走和 SLAM 技术的传感器又如何呢?让我们更详细地了解一下它们,看看它们需要什么传感器来确定位置。虽然 SLAM 超出了本文的范围,但组合来自多种类型传感器的数据的基本原理仍然适用。
用于航位推算的传感器
智能行走的关键是“航位推算”,这意味着通过测量一段时间内的速度和方向来估计机器人相对于起始位置的位置的过程。
由于小的测量和估计误差加起来,估计位置将不可避免地偏离真实位置。由于航位推算不使用任何参考点,因此限度地减少位置误差增长速度非常重要。
航位推算错误
让我们回顾一下所涉及的传感器并找出这些错误的来源。
车轮编码器是我们首先要考虑的传感器,它使用光学或磁性机制来测量车轮的旋转(向前和向后)。这些传感器记录车轮旋转的每个部分的“滴答声”,并且滴答声校准到围绕轮子圆周的已知距离,对应于沿着地板行驶的距离。刻度分辨率越精细,测量车轮距离就越。
车轮编码器组件
车轮编码器组件
当车轮打滑并在不同表面上打滑时,车轮编码器不可避免地会丢失信息。为了提高航位推算精度,我们可以将车轮编码器与 IMU 结合起来。IMU 包括加速计和陀螺仪,有时还包括额外的磁力计。
加速度计跟踪线性加速度的力,并且在没有运动时跟踪重力的方向。这有助于提供长期的方向衡量标准。陀螺仪跟踪角速度并产生短期方向测量。磁力计测量周围的磁场,并根据该磁场提供长期定向。
将 IMU 与车轮编码器相结合对于提高精度有很大帮助,但仍然存在一些误差,例如漂移,这些误差会随着时间的推移而组合和累积。我们可以通过添加另一个组件来提高精度:光流传感器。
它跟踪机器人下方地板的运动,以提供速度的二维估计。它与计算机鼠标中使用的技术相同,但规模更大:它照亮地板,检测表面上的微小特征,并测量它们在帧之间的移动。
光流传感器跟踪运动,不受车轮打滑引起的不准确的影响。然而,其准确性取决于能否确定传感器与地板之间的距离。它还容易受到非常光滑或深色地板的影响,这些地板没有足够的功能来进行可靠的跟踪。
传感器融合:将其结合在一起
一旦我们拥有多个传感器,它们的数据就需要智能组合,以尽可能准确地给出位置、方向和速度的整体数据。这个过程称为“传感器融合”。通过来自不同类型传感器的多个数据流,该过程可用于通过比较测量结果来校准测量结果。
我们还需要考虑机器人运行的现实环境。例如,不同的地板表面会对光流传感器和车轮编码器产生很大的影响,而温度的变化可能会导致 IMU 测量不准确。
将这些数据整合在一起需要合适的软件来组合和比较数据并分析差异和错误。这听起来可能很复杂且耗时,而且在实践中,没有产品设计师会想要回到原则来获取可用数据。
相反,包括硬件和软件在内的预集成解决方案可以节省大量时间。CEVA 花费了近 20 年的时间研究和表征传感器,以生产功能丰富的传感器融合系统。该公司的动态校准算法可实时处理不同温度下的零重力偏移等误差,零重力偏移是加速度计偏差的衡量标准。
CEVA 开发了一款名为 MotionEngine Scout 的机器人航位推算产品,该产品可以智能地融合车轮编码器、光流和 IMU 传感器之间的数据。Scout 的这种融合还使用其他传感器的信息对每个传感器进行交叉校准。Scout 的轨迹精度比单独的光流传感器或车轮编码器高 5 至 10 倍。
为了使这种更高的精度易于使用,CEVA 的传感器融合软件包简化了使用多个传感器的复杂性。通过为机器人导航提供简单的界面,MotionEngine Scout 和 CEVA 的其他软件有助于缩短上市时间,并使系统设计人员能够自信地为其产品选择和组合正确的传感器。