浅析基于LabVIEW构建智能移动机器人及无人驾驶车

时间:2011-08-23

一  引言

  机器人是整合控制论、机械电子、计算机、材料和仿生学的产物。在工业、医学、农业、建筑业甚至军事等领域中均有重要用途。现在,国际上对机器人的概念已经逐渐趋近一致。一般来说,人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。联合国标准化组织采纳了美国机器人协会给机器人下的定义:“一种可编程和多功能的、用来搬运材料、零件、工具的操作机;或是为了执行不同的任务而具有可用电脑改变和可编程动作的专门系统。”

  机器人一般由执行机构、驱动装置、检测装置和控制系统和复杂机械等组成。

  执行机构即机器人本体,其臂部一般采用空间开链连杆机构,其中的运动副(转动副或移动副)常称为机器人高科技产物(19张)关节,关节个数通常即为机器人的自由度数。出于拟人化的考虑,常将机器人本体的有关部位分别称为基座、腰部、臂部、腕部、手部(夹持器或末端执行器)和行走部(对于移动机器人)等。

  驱动装置是驱使执行机构运动的机构,按照控制系统发出的指令信号,借助于动力元件使机器人进行动作。它输入的是电信号,输出的是线、角位移量。机器人使用的驱动装置主要是电力驱动装置,如步进电机、伺服电机等,此外也有采用液压、气动等驱动装置。

  检测装置的作用是实时检测机器人的运动及工作情况,根据需要反馈给控制系统,与设定信息进行比较后,对执行机构进行调整,以保证机器人的动作符合预定的要求。

  控制系统有两种方式。一种是集中式控制,即机器人的全部控制由一台微型计算机完成。另一种是分散(级)式控制,即采用多台微机来分担机器人的控制。

  机器人分类复杂且关键技术众多,从广义范畴上说,通常所说的机器人主要包括教育机器人、移动机器人、工业机械臂三大类。机械臂发展时间早,产业化程度高,相对已经有了成熟的行业解决方案,特别在汽车制造等领域,机械臂已被广泛的运用于产线装配。本文将主要探讨移动机器人及无人驾驶车的研究和开发。

    图1 机器人系统的分类

  尽管移动机器人构成复杂且关键技术众多,但具有某些共同的构架和组成部分,是一个融合了众多机电系统和子系统的综合体系,并通过这些组成部分与子系统的有机结合协调工作,虽然部分子系统已有现成的软硬件工具和解决方案,但如何快速地把各子系统集成在一起、进行早期的整体功能性验证,就成了决定机器人设计成败的关键性环节。

二  图形化系统设计——机器人设计的前沿方法

  工业机器人的总体设计思想及其开发顺序 工业机器人是机械、电子、控制、信息处理、生物工程等多学科的技术结晶,也是现代科学向综合技术发展的典型之一因此,研制开发工业机器人是一项难度较大的工作,需要有充分的技术准备与一定的物质条件。

  在Google X PRIZE机构、FIRST组织(科学技术的启示与认知组织)、RoboCup以及美国国防研究计划局(DARPA)之间展开的竞争推进了机器人学领域的创新。富有创新思维的开发者们将机器人学的前沿方法推进到了图形化系统设计。在LabVIEW图形化编程平台下,机器人学的领域能够对复杂的机器人方案进行快速的原型设计。这些创新工作者能够不用关心底层的实现细节,可以将注意力集中到解决手上的工程问题中去。

  机器人设计通常包含以下部分的工作内容,如图2所示:

  过去,由于在每个领域中必须使用各自的传统工具,其中涉及的知识具有较大的纵向深度,机械工程师、电气工程师以及程序员团队都各自领导机器人学的开发。LabVIEW和NI硬件提供了一个独特的、功能多样的平台,它提供了一套标准的可供所有机器人设计人员使用的工具,从而使机器人开发得到了统一。

  来自弗吉尼亚理工大学机器人学与机械实验室(RoMeLa)的工科学生,在Dennis Hong教授的领导下正在进行智能动态拟人机器人(DARwin)的双足类人机器人的开发和研究,目的是对假肢进行研究和开发。DARwin使用NI LabVIEW图形化系统设计平台,能够实现全范围运动,并且能够准确地模拟人类运动。学生使用LabVIEW分析动态双足运动、设计并开发机器人控制系统的原型。

  通过LabVIEW,设计人员无需成为计算机或程序员,就可以开发机器人。例如,一位只有有限LabVIEW和机器视觉经验的学生在短短几个小时之内,就设计了一个让机器人利用它带有的IEEE 1394相机和NI机器视觉开发模块跟踪一个红球的算法。工程师们使用LabVIEW和NI硬件,就可以使用功能强大的图形化编程语言快速地设计并开发复杂算法的原型;并通过代码生成方便地将控制算法部署到PC、FPGA、微控制器或实时系统之中;还可以与几乎所有的传感器、执行器进行连接。

三  实例分析1:南洋理工大学使用NI LabVIEW设计救生机器人蜘蛛

  南洋理工大学开发了一个用于支持营救工作的六足机器人蜘蛛。它是一个尺寸较小、可移动的智能机器人,在搜寻被陷的受害者时,它可以越过障碍并到达通常难以触及的地方。替代如清扫雷区使之无雷化等危险任务中的工作人员也是机器人蜘蛛的另一个潜在应用领域。

  他们设计了一个高度可移动的行走方案,它由六只独立的下肢组成,可以任意方向移动机器人,即使在机器人移动通常不可行或过于危险的地带。行走与旋转均属于模仿六足昆虫而得的基本的高层次运动模式。通过三条下肢移动而另外三条下肢抬高,机器人可以达到期望的行走速度,并提供恶劣地带所需的足够平衡。爬行时,机器人可以挤压通过紧凑的空间和狭缝。

图3  基于NI LabVIEW设计的救生机器人蜘蛛

  1、24个自由度的多功能机电系统及智能运动控制

  下肢结构与运动控制构成了机器人蜘蛛关键特性的一部分。24只智能DC有刷电机共同驱动这些下肢,并充当行走结构中不可或缺的关节。这样得到了一个坚固的轻型结构,从而降低了功耗并改善了运动动态特性。

  除了这些下肢,机器人蜘蛛的特性还在于典型的自主机器人子系统,其中包括机器视觉、远程测量和无线通信。机器人坚固的壳体内包含有嵌入式硬件、两节7.2伏的锂聚合物电池和电量测量装置。任务参数、I/O设置和新的运动步态均可以通过无线通信或可移动存储介质传递。

  机器人蜘蛛的低层次运动有赖于运行时计算的复杂数学模型。凭借ADI公司的Blackfin处理器的嵌入式计算能力和LabVIEW的确定性实时性能,机器人的运动表现得有力而平稳。基于NI LabVIEW嵌入式模块的程序连续运行一个逆动力学算法,算法包含三角函数和矩阵运算,求解恰当的关节角Θ1与Θ2,以沿着3D空间内的期望轨线移动末端执行装置。

  2、图形化的实时系统设计平台

  机器人蜘蛛应用软件是利用面向Blackfin处理器的LabVIEW嵌入式模块编程实现的。LabVIEW为高层次编程、图形化调试、图形化多任务处理和确定性的实时行为,提供了一个理想的嵌入式软件平台。面向对象的设计模式有助于进一步控制图形化层次上的复杂度。例如电机或传感器等主要对象,通过LabVIEW中表示类的功能性全局变量加以抽象。

  主要的应用框架由以下多个任务组成:

  ●顶层主循环对由一个经典状态机表示的动作进行规划,而状态机通过软件队列和同步方法(如信号量)与其它循环连接。通信任务保持一个与外部世界的无线数据连接。

  ●视觉任务负责低层次的图像处理和距离读数。

  ●运动控制任务管理高层次的运动模式与低层次的肢体控制,并监测马达的位置与状态。

  ●日常任务充当一个通用错误处理器。检测事件与异常,并将其及时间记录到可移动的存储介质,以供后续读取。

四  实例分析2:弗吉尼亚理工大学使用NI LabVIEW设计全自主地面车参加DARPA 城市挑战赛

  DARPA城市挑战赛需要设计一辆全自主地面车能够在城市环境中自动导航行驶。在整个赛程中,全自主车需要在6小时内穿越60英里,途经道路、路口和停车场等各种交通状态。在比赛开始时,参赛者会拿到任务档案公路网地图,并指定需要按一定顺序访问的检查站。车辆需要考虑所选道路的车速限制,可能的道路堵塞,以及其他交通状况。车辆在行驶中必须遵守交通规则,在十字路口注意安全驾驶和避让,妥善地处理与其他车辆之间的互动,以30英里的时速避让静态和动态的障碍物。

  来自弗吉尼亚理工大学的团队需要在12个月开发出全自主地面车,他们将开发任务分成四个主要部分:基础平台、感知系统、决策规划和通讯架构,如图4所示。每一部分都基于NI的软硬件平台进行开发:通过NI硬件与现有车载系统进行交互,并提供操作接口;使用LabVIEW图形化编程环境来开发系统软件,包括通讯架构、传感器处理和目标识别算法、激光测距仪和基于视觉的道路检测、驾驶行为控制、以及底层的车辆接口。

图4     无人驾驶车Odin的系统构架

  他们的参赛车Odin是2005年福特翼虎(Escape)混合动力型越野车,并为自主驾驶做了一定程度的改装。NI CompactRIO系统与翼虎操控系统进行交互,通过线控驱动(drive-by-wire)的方式控制油门、方向盘、转向和制动。学生们利用LabVIEW控制设计与仿真模块开发了路径曲率和速度控制系统,并通过LabVIEW实时模块和FPGA模块部署到CompactRIO硬件平台加以实现,从而建立了一个独立的车辆控制平台。

  LabVIEW平台提供了一个直观,易于使用的调试环境,可以让开发团队实时地监测源代码的运行,从而方便的实现硬件在环调试。通过LabVIEW开发环境,团队快速可以构建系统原型并加快设计的往复周期。

  LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

五  总结

  图形化系统设计对于继续加快机器人设计中的创新而言是必不可少的。复杂的传统工具可能会阻碍机器人技术的进步。LabVIEW提供了一个综合的、可扩展的平台,能够横跨设计、原型开发和部署阶段,因此工程师们能够不用为微小的实现细节所困扰,可以更加关注机器人本身。他们可以使用同样强大的平台,对微控制器直至FPGA等各种控制器进行编程;还可以同几乎任何传感器和执行器发送与接收信号;设计并仿真动态控制系统;以及实现进行远程监视或控制机器人的接口。

 


  
上一篇:潜油电泵井在三晶变频器上的实现
下一篇:探讨新型变压器保护方案的基本原理

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料