close
当前位置: 物联网在线 > 技术文库 >

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

引言

  移动机器人构成复杂、应用灵活,目前商业化程度还不高,相对处于前沿研究的阶段,因此一直以来都是科学家和工程师们关注的重点。 移动机器人具有某些共同的构架和组成部分,是一个融合了众多机电系统和子系统的综合体系,并通过这些组成部分与子系统的有机结合协调工作,虽然部分子系统已有现成的软硬件工具和解决方案,但如何快速地把各子系统集成在一起、进行早期的整体功能性验证,就成了决定机器人设计成败的关键性环节。

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


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

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

1.jpg 

  感知系统——连接到陀螺仪、CCD、光电、超声等传感器,获取并处理信息。

  决策规划——相当于机器人的‘大脑’,根据算法进行控制决策,完成管理协调、信息处理、运动规划等任务。

  执行控制——根据具体的作业指令,通过驱动控制器、编码器和电机完成机器人的伺服控制与运动执行。

  网络通讯与控制——机器人各子系统间的通讯网络,完成分布式控制与实时控制。

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

  来自弗吉尼亚理工大学机器人学与机械实验室(RoMeLa)正在进行智能动态拟人机器人(DARwin)的双足类人机器人的开发和研究,目的是对假肢进行研究和开发。DARwin使用NI LabVIEW图形化系统设计平台,能够实现全范围运动,并且能够准确地模拟人类运动。LabVIEW可以分析动态双足运动、设计并开发机器人控制系统的原型。如果开发的原型能够令人满意地工作,他们就将控制算法部署到运行LabVIEW实时模块的PC/104单板计算机上。

2.jpg 

  通过LabVIEW,设计人员无需成为计算机专家或程序员,就可以开发高级机器人。例如,一位只有有限LabVIEW和机器视觉经验的学生在短短几个小时之内,就设计了一个让机器人利用它带有的IEEE 1394相机和NI机器视觉开发模块跟踪一个红球的算法。工程师们使用LabVIEW和NI硬件,就可以使用功能强大的图形化编程语言快速地设计并开发复杂算法的原型;并通过代码生成方便地将控制算法部署到PC、FPGA、微控制器或实时系统之中;还可以与几乎所有的传感器、执行器进行连接。通过LabVIEW和NI硬件平台,可以支持CAN、以太网、串口、USB等多种接口,方便构建机器人系统的通讯网络。领域专家不仅仅能够完成机械工程师的工作,还能够成为机器人设计者。

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

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

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

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

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

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

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

  所有六足的关节角度的计算并行完成以确保动态运动,相应地也得到了连续计算所得的24个电机的设置点。这些设置点通过一个串行RS485网络传递至每只电机,并由分散PD控制器转换为实际执行动作。通过同样的网络,完成所有24只执行装置的位置、反馈和温度读数的采集。

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

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

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

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

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

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

  通过采用LabVIEW嵌入式模块所提供的图形化编程环境,以及Blackfin处理器的高处理器性能,开发周期也大为缩短。基于LabVIEW的图形化快速调试模式在算法的工程实现过程中非常有用,缩短了5倍的开发时间。

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

  DARPA城市挑战赛需要设计一辆全自主地面车能够在城市环境中自动导航行驶。在整个赛程中,全自主车需要在6小时内穿越60英里,途经道路、路口和停车场等各种交通状态。

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

3.jpg 

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

  通过LabVIEW开发环境,团队快速可以构建系统原型并加快设计的往复周期。LabVIEW与硬件的无缝连接,对于执行某些关键操作如传感器处理和车辆控制是至关重要的。由于城市挑战赛问题复杂且开发时间很短,这些因素对于开发团队的成功发挥了关键作用。

  结语

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

用户喜欢...

解析无线监护远程医疗系统的设计原理

介绍了一种基于GPRS技术的无线远程医疗监护系统。以SPCE061A为主控芯片,将数据采集模块和GPRS通信模块相结合,以无...


复用现有LabVIEW代码,缩短开发时间

LabVIEW在单个应用程序中将多种编程方法与图形化数据流(G)组合在一起。 您可以利用这种灵活性选择所需的工具来创建算法并解决各种各样的工程问题。 LabVIEW将多种语言(如.m、C、Python、I...


在LabVIEW中复用现有代码

随着测试需求的快速变化和测试项目开发周期的缩短,您和团队能够最大程度地复用现有测试软件和测量库的能力尤为重要。 那为什么测试工程师不能更广泛地复用更多软件呢? 以下是测试...


使用LabVIEW FPGA模块设计IP核

对于利用LabVIEW FPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐的组件设计构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码...


是什么阻挡了你的成果?

全球各地的工程师都需要面对一个直接但复杂到难以想象的挑战:解决尚未解决的难题。甚至,人们还期望他们能以...


将外部IP导入LabVIEW FPGA

通过将第三方IP 集成到NI LabVIEW软件,您能使用许多的针对Xilinx现场可编程门整列(Field-programmable gate arrays, FPGA)进行优化的算法,在实现高性能的同时提高代码重用度。LabVIEW FPGA模块提供两...


通过图形化开发环境——LabVIEW FPGA加速嵌入式系统原型化的过程

1. 嵌入式系统的发展趋势 嵌入式系统一般是指一个独立且具有专门用途的系统,随着半导体技术的飞速发展,嵌入式系统正在渗入现代社会的各个方面,被广泛地应用于航空航天、通信设备...


LabVIEW FPGA中的周期精确仿真

随着现场可编程门阵列(FPGA)应用变得越来越庞大和复杂,在进行一个费时的编译过程和使用高保真测试覆盖进行设计调试之前,仿真对验证IP变得越来越重要。在NI LabVIEW软件里,你能为函...


LabVIEW FPGA代码模块设计(IP核)

对于利用LabVIEW FPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐的组件设计构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码...


使用LabVIEW FPGA开发PWM接口

开发和测试汽车电子、航空电子设备及数字传感器的工程师和设计师们,经常需要测量和模拟设备所产生的脉冲宽度调制(Pulse Width Modulation, PWM)信号。LabVIEW FPGA模块可以用来为测试测量系统创...