过去,机器人制造是一个非常困难、容易出错且耗时的过程,因为采用由分立元件构成的装置实现对环境的感应,而这些装置中很多部件都不能有效地协同工作,处理器缺乏足够的能力从多个传感器收集信息并处理这些信息。下面我们以超声波距离传感器为例进行说明机器人设计制造的过程。
构建超声波传感器首先需要一个超声波换能器,然后搭建一些接口电路用来发送脉冲,以及记录返回信号的时间。连接机器人处理器的接口由指示测试起始时间的输出信号以及回声探测定时器计数值的输入信号组成。处理器获取所用的总时间并将这个时间转换成距离。如果需要处理多路回声,硬件则会变得更加复杂。这种设计不仅受软硬件局限性的困扰,而且所有的东西都在内部生产,因此增加了成本和上市时间。随着时间推移,处理器的功能变得越来越强大,以往由单独硬件处理的任务都可由处理器完成。
通过处理器执行回声返回处理任务,可以开发出复杂的多路回声处理算法。这样一来降低了硬件部分的复杂度,从而降低了成本,不过软件编程过程依然耗时,因为大多数硬件及其软件驱动程序是定制的。由于软件变得更加复杂,因而使当时的处理器负担很重。那时,为了解决这个问题,通常使用多个处理器,然而却导致潜在的竞争条件、死锁以及一些很难重现的各种奇怪问题。
今天,使用现成的、配有各种硬件外设的微控制器或微处理器板已相当普遍。这些外设通常提供硬件接口辅助功能,例如定时器和通信总线,常见的通信总线有RS-232、USB、I2C或CAN总线。使用接口驱动器减轻了软件实现的负担。目前很多传感器利用常见总线进行通信,从而简化了接口设计。如图3所示。
许多传感器还增加了处理能力,从而可以收集经过预处理的更高级别的数据。传感器的工作不是传送收发声纳回声信号所需的时间(毫秒),而是报告距离某个物体的远近(毫米),收集到的数据可以得到更有效的处理。这样主处理器就不必进行低级别的运算,而去从事更高级别的任务,例如定位和绘制地图。成熟的软件算法拓展出很多令人激动的领域,例如面部识别。几年之前,由于处理能力不足,还无法实时实现这种功能。而现在,已有产品可以实时处理众多面孔识别。很快,传感器系统将不再仅仅报告“目标在前方2米处”,而是报告“某某人在前方2米处”。
定位和地图描绘是另外一个技术领域,近年来业界对此技术的兴趣不断增加。已经有多种现成的SLAM(同步定位与地图描绘)算法实现可被免费使用或只需支付很低的费用。这种趋势在很多软件领域都在出现,并且会继续发展。
在立体视觉领域也出现了令人激动的增长。单个相机所产生的数据量可能非常大,但是立体视觉使数据量更大,因为需要两部相机同时工作。这在通信链路、处理能力和软件算法成熟之前,只是一个遥远的可能性。而今,现成的系统就可以实现距离探测。随着这些系统不断改进,它们的速度和精度使其成为其他形式的距离测量可选方案。超声波、红外和立体视觉的“融合”系统将能够在任何环境中工作。
未来,传感技术将不断发展。机器人能够有效处理的传感器数量将具有与摩尔定律所预测的“晶体管集成速度”相似的增长曲线。