任务4 构建基于PC的智能移动机器人系统开发平台
按照机器人系统的通用控制结构,面向不同应用的智能移动机器人的开发过程可以分为如下几个步骤:
(1)根据应用需求开发移动和执行机构;
(2)根据执行机构和任务的要求选择电机或者其他动力装置;
(3)为电机选择匹配的本能控制层控制器;
(4)根据任务的需求选择传感器;
(5)根据应用需求的复杂性、选定的传感器接口方式等选择或者设计智能层控制器;
(6)根据应用需求开发应用程序。
对于大多数产品研究和开发而言,第1~5步具有一定共性,又是整个开发过程的关键,这几个步骤不成功,会直接导致产品开发的失败。对于没有任何产品开发经验的人来说,尤其如此。因此,如果能够在产品的初期阶段,有一个能够帮助开发者迅速开发应用程序,而无须太多设计的平台,无疑会大大加快产品的开发进程,降低开发成本。如图1.9所示就是这样的一个平台,该平台经过多年的研究和实践归纳总结而成,并经过RoboCup中型组足球机器人的验证,证明其是一个可靠性高、扩展性强的移动机器人产品开发平台。该平台由三大核心子系统构成,分别是车载控制子系统、移动子系统、传感和检测子系统,对于部分有特殊要求的用户,还可以增加遥操作子系统。这几个系统实际上分别对应机器人的控制层、执行层、感知层以及感知层的扩充层。该平台采用嵌入式PC或者笔记本电脑作为智能控制层的硬件平台和应用软件开发平台,通用性非常好,可以随着计算机技术的不断发展而自动升级,并享受PC上的所有接口和软件资源。因此,称其为基于PC的智能移动机器人系统开发平台。
图1.9 基于PC的智能移动机器人系统开发平台框图
1.车载控制系统的构建
车载控制系统以PC(嵌入式工控机或笔记本电脑)作为智能控制层硬件平台,通过其自带的各种即插即用接口(如USB/1394/RS-232/PCMCIA/LAN/并口等),与本能控制层即运动控制子系统、传感和检测子系统,以及遥操作子系统(或者通信子系统)等进行连接与集成,构成分布式、可扩展性非常强的智能移动机器人控制系统。
车载控制子系统的核心是PC及基于CAN总线的智能控制与驱动模块。每一个智能控制与驱动模块可以独立地控制与驱动一个直流伺服电机以及步进电机,最多可以通过CAN总线串联多达256个直流伺服电机。PC与智能控制模块网络之间通过一条USB转232线或者USB转CAN连接线连接,对于实时性要求更高的场合,还可以选用PCI总线转串口或硬串口连接方式。无论哪种连接方式,PC与移动机器人移动子系统的连接都非常方便,而且便于扩展,整个移动子系统只需要占用PC一个接口资源。PC的选择可以根据应用开发和研究项目的需要进行选择。在应用开发的初级阶段,在编程和调试的工作量比较大的情况下,可以采用笔记本电脑,拆装和携带都非常方便;当工作进行到一定的程度,更多地需要进行联机和独立测试时,可以更换为嵌入式工控机,以保证可靠性和贴近真实的现场需求。当然,如果只是在实验室中使用,也可以选用普通的PC主机。
2.移动子系统的构建
移动子系统为整个系统的执行环节,其输入是车载控制系统的输出。
首先为智能移动机器人选择合适的运动方式。考虑到机器人具体运动功能的要求和经济性因素,智能移动机器人最好能选择一些实现比较简单且可靠的轮式移动方式,例如,一般的研究型机器人(对运动功能要求不高的场合)多为两轮差动+1(或2)万向轮支撑方式。而对于运动功能要求高的机器人,例如RoboCup中型组足球机器人,则多为3或4轮全向轮驱动方式,这样能实现在运动平面内全方位任意移动,动作灵活且控制方便。
那么如何选择合适的驱动电机呢?目前市面上可供选择的驱动电机种类较多,选择范围较广,但这时反会导致使用者无所适从,不知道究竟选择哪些电机会更好一些。总的来说,选择驱动电机时,要尽量多考虑一些因素及参数,如电机的额定电流、瞬间最大电流、扭矩、惯量、最高转速、功率、供电要求、体积、适合的驱动器和供应商因素等,这些因素在选择时的权重,也必须根据不同应用要求进行调整,才有可能最终选择出合适的驱动电机。在智能移动机器人的应用案例中,驱动电机多采用直流伺服电机+减速器+编码器的方式,根据不同的力矩及控制精度要求选择不同的减速器以及编码器,而直流电机启动力矩大、过流能力强、结构尺寸小、供电电压低,多为直流(DC24V~DC48V)供电,且支持瞬间电流达到额定电流的3~5倍,因此能很好地满足智能移动机器人瞬间加速、变速及快速停止的要求。步进驱动系统由于步进电机通常转速较低且同样扭矩下体积相对较大,难以满足一些要求,因而应用较少。交流伺服电机则由于其供电需要交流电源,应用在机器人平台上需要另行配备直流交流逆变器,以及成本相对较高等因素,几乎不被使用。
在驱动电机选择好后,就需要为机器人选择适合的电源供电系统了。智能移动机器人的移动特点决定了其一般只能选择电池进行供电。为了降低综合使用成本及使用方便,智能移动机器人尽量选择可往复使用的蓄电池,如铅酸电池、镍氢电池、动力锂电池及太阳能电池等,而不选择使用一次性电池。至于电池的类型及容量,同样要根据实际应用情况进行考虑。基于PC的智能移动机器人系统开发平台提供了铅酸电池和磷酸铁锂电池两种以供用户选择。
如果单独分离出机器人移动子系统的结构与功能,考虑到电机及驱动轮的多种组合方式,我们就可以将移动子系统设计成单独的移动子模块,以方便后续的升级及拓展应用。
3.传感和检测子系统的构建
对智能移动机器人系统来说,其智能体现在能够自主地完成某些特定的功能,那么如何才能使机器人自主地在非结构化环境中做出合理的反应呢?问题的关键在于其需要具备不断传感和检测环境变化的能力,并将所得信号实时地进行处理。因此,为智能移动机器人构建合理精确的传感和检测子系统显得非常重要。就目前来说,现代传感器技术已经充分发展,市面上已经有各种各样的传感器及变送器可供用户进行选择。常用的传感器有以下几种:
(1)测距传感器:激光测距传感器、超声波测距传感器、红外测距传感器。
(2)视觉传感器:云台视觉传感器、双目视觉传感器、USB视觉传感器、全向视觉传感器。
(3)定位传感器:GPS、室内北斗定位系统。
(4)语音传感器:麦克风。
(5)方位传感器:电子罗盘、陀螺仪、加速度计。
(6)其他传感器。
由于车载控制系统以PC作为主控平台,因此传感和检测子系统全部通过PC的即插即用接口和总线接口接入PC,可供选择的接口有USB2.0、RS-232/485/422、1394接口、PCI总线、ExpressCard接口、RJ45接口和Audio接口等。对于一些简单的传感器,其输出通常为模拟量,这些信号也可通过采集卡或智能控制器的A/D输入口进行采集后,再通过上述接口读入PC。具体使用哪些传感器,则需要根据具体的使用要求来决定,在满足功能要求的条件下,越简单越好。