从广义范畴上,机器人主要包括移动机器人、机械手、教育机器人三大种类。机械手与教育机器人已经有了相对成熟的行业解决方案,而移动机器人构成复杂、应用灵活,目前商业化程度还不高,主要处于前沿研究的阶段,一直以来都是科学家和工程师们关注的重点,本文将主要探讨移动机器人的快速原型与开发。
移动机器人简介
移动机器人的应用领域非常广泛,如图1所示,从军用、航空航天——无人飞行器 (UAV) 、无人潜航器 (UUV) 和无人地面车 (UGV) ,到工农业装备——采收机器人、智能化耕作机械,到家用服务机器人等,不一而足。而随着应用领域和环境的不同,机器人需要具备相对应的自主程度,这也为机器人的开发带来了不同的技术难点。全自主机器人通常会涉及到控制系统、自定位、实时视觉、多传感器融合等关键技术,而遥操作机器人则往往侧重于双向力反馈控制、虚拟环境建模、力觉接口等方面的研究。
图1 移动机器人的应用领域
尽管按照不同的应用场合机器人分类复杂且关键技术众多,但他们具有某些共同的构架和组成部分,是一个融合了众多机电系统和子系统的综合体系,并通过这些组成部分与子系统的有机结合协调工作。由于移动机器人构成复杂、应用灵活,虽然部分子系统已有现成的软硬件工具和解决方案,但如何快速地把各子系统集成在一起,进行早期的整体功能性验证,就成了决定机器人设计成败的关键性环节。
机器人设计的前沿方法:图形化系统设计
在Google X PRIZE机构、FIRST组织(科学技术的启示与认知组织)、RoboCup,以及美国国防高级研究计划局(DARPA)之间展开的竞争,推进了机器人学领域的创新。富有创新思维的开发者们将机器人学的前沿方法推进到了图形化系统设计。在LabVIEW图形化编程平台下,机器人学的领域专家能够对复杂的机器人方案进行快速的原型设计。他们可以不必关心底层的实现细节,将注意力集中到解决手上的工程问题即可。
机器人设计通常包含以下部分的工作内容,如图2所示。
图2 机器人设计平台
● 传感器连接:连接到陀螺仪、CCD、光电、超声等传感器,获取并处理信息。
● 控制设计与仿真:根据工作环境和应用需求,设计机器人的控制算法。
● 嵌入式控制:嵌入式控制系统相当于机器人的“大脑”,根据算法进行控制决策,完成管理协调、信息处理、运动规划等任务。
● 运动控制(执行器):根据具体的作业指令,通过驱动控制器、编码器和电机完成机器人的伺服控制与运动执行。
● 网络通信与控制:机器人各子系统间的通信网络,完成分布式控制与实时控制。
过去,由于在每个领域中必须使用各自的传统工具,其中涉及的知识具有较大的纵向深度,机械工程师、电气工程师以及程序员团队都各自领导机器人学的开发。LabVIEW和NI硬件提供了一个独特的、功能多样的平台,它提供了一套标准的可供所有机器人设计人员使用的工具,从而使机器人开发得到了统一。
通过LabVIEW,设计人员无须成为计算机专家或程序员,就可以开发高级机器人。例如,一位只有有限LabVIEW和机器视觉经验的学生在短短几小时之内,就设计了一个让机器人利用它带有的IEEE 1394相机和NI机器视觉开发模块跟踪一个红球的算法。工程师们使用LabVIEW和NI硬件,就可以使用功能强大的图形化编程语言快速地设计并开发复杂算法的原型;并通过代码生成方便地将控制算法部署到PC、FPGA、微控制器或实时系统之中;还可以与几乎所有的传感器、执行器进行连接。此外,通过LabVIEW和NI硬件平台,可以支持CAN、以太网、串口、USB等多种接口,方便地构建机器人系统的通信网络。现在,领域专家不仅仅能够完成机械工程师的工作,还能够成为机器人设计者。
实例分析
本实例介绍的是弗吉尼亚理工大学如何使用NI LabVIEW设计全自主地面车参加DARPA城市挑战赛。
DARPA城市挑战赛需要设计一辆能够在城市环境中自动导航行驶的全自主地面车。在整个赛程中,全自主车需要在6小时内穿越60英里,途经道路、路口和停车场等各种交通状态。在比赛开始时,参赛者会拿到任务档案公路网地图,并指定需要按一定顺序访问的检查站。
为了尽快到达检查站,车辆需要考虑所选道路的车速限制,可能的道路堵塞,以及其他交通状况。车辆在行驶中必须遵守交通规则,在十字路口注意安全驾驶和避让,妥善地处理与其他车辆之间的互动,以最高30英里的时速避让静态和动态的障碍物。
来自弗吉尼亚理工大学的团队需要在12个月开发出全自主地面车,他们将开发任务分成四个主要部分:基础平台、感知系统、决策规划和通信架构。
每一部分都基于NI的软硬件平台进行开发:通过NI硬件与现有车载系统进行交互,并提供操作接口;使用LabVIEW图形化编程环境来开发系统软件,包括通信架构、传感器处理和目标识别算法、激光测距仪和基于视觉的道路检测、驾驶行为控制、以及底层的车辆接口。