部分问题在于生成和解读摄像头数据所需的时间。一辆使用标准摄像头监控周围环境的自动驾驶汽车,更新其位置大约需要五分之一秒。这对于正常运行情况来说足够了,但不足以应对突发情况。.

麻省理工学院信息与决策系统实验室的研究科学家安德烈亚·岑西认为,解决方案可能是用一种新型的“基于事件”(或“神经形态”)传感器来补充摄像头,这种传感器能够以每秒一百万次的频率进行测量。
在今年的国际机器人与自动化大会上,岑西和苏黎世大学的戴维·斯卡拉穆扎将展示首个用于处理来自基于事件传感器数据的状态估计算法——这种算法正是机器人用来校准自身位置的。运行该算法的机器人可以每毫秒左右更新一次位置,从而实现更灵活的机动动作。

“在普通相机中,你会看到一系列传感器,然后还有一个时钟,”Censi解释道。“如果你使用的是一台每秒30帧的相机,那么每隔33毫秒,时钟就会冻结所有数值,然后按顺序读取这些数值。” 而对于基于事件的传感器来说,“每个像素都像一个独立的传感器,”Censi说道。“亮度变化——无论是正向的还是负向的——如果超过了像素的阈值,它就会发出‘我发现了一些有趣的东西’的信号,并将此信息作为事件传递出去。然后它会等待,直到感知到下一次变化。”.

关键事件:
当标准状态估计算法接收到来自机器人搭载摄像头的图像时,它首先识别“特征”:即用于确定物体边界的颜色或色调渐变。然后,它选择其中一部分特征,这些特征在新的视角下不太可能发生显著变化。

30毫秒后,当摄像头再次拍摄时,算法执行相同的分析,首先尝试匹配两幅图像之间的特征。这是一个反复试验的过程,耗时50到250毫秒不等,具体取决于场景变化的剧烈程度。一旦匹配到特征,算法就可以根据机器人的位置变化推断其移动距离。Censi
和Scaramuzza的算法利用事件传感器报告的事件数据来补充摄像头数据,该传感器由他们的合作者、苏黎世神经信息学研究所的Tobi Delbrück设计。新算法的第一个优势在于它无需识别特征:每个事件本质上都是亮度变化,而亮度变化正是特征的定义。由于事件报告速度极快——每百万分之一秒一次——匹配问题变得简单得多。需要考虑的候选特征并不多,因为机器人不可能移动很远的距离。

此外,该算法并非试图一次性匹配图像的所有特征。对于每种情况,它都会生成一组关于机器人移动距离的假设,对应于多个候选函数。在积累了足够多的事件后,它只需选择与图像匹配频率最高的假设即可。
在搭载摄像头和事件传感器的机器人上进行的实验中,该算法的精度与现有的状态估计算法相当。

登机:
Censi表示,这项新研究的灵感之一来自宾夕法尼亚大学Vijay Kumar近期的一系列实验。这些实验表明,四旋翼飞行器——一种拥有四组旋翼的机器人直升机——能够执行非常灵活的机动动作。但在这些实验中,Kumar使用一组外部摄像头来测量机器人的位置,这些摄像头每秒拍摄1000张照片。Censi认为,他和Scaramuzza开发的算法可以让配备机载传感器的四旋翼飞行器复现Kumar的实验结果。Censi
说,现在他和他的同事们已经拥有了可靠的状态估计算法,下一步是开发相应的控制算法——一种根据状态估计来决定执行什么操作的算法。这正是他与麻省理工学院航空航天系教授Emilio Frazzoli正在进行的合作研究课题。

作者:拉里·哈迪斯蒂,麻省理工学院新闻办公室