基于LabVIEW软件的机器人避障控制系统设计
2020-09-26张迪,刘鑫
张 迪,刘 鑫
(1.安徽工业经济职业技术学院,合肥 230051;2.北京师范大学 政府管理学院,北京 100875)
0 引言
随着当今社会生产和科学技术的不断进步与发展,社会各界相关人士更加重视对智能机器人的研究。智能机器人的出现,改变了人类繁复的机械劳作,替代了简单的人工作业,并且由于机器人能够帮助人们完成复杂的工作环境下的危险性较高的工作[1]。伴随人工智能技术在不断发展进化,机器人的类别不断增加,采用人工智能控制方法辅助机器人更好的完成所对应的工作,它能很好的应用在货物的装卸、技术制造、抗震救灾人物搜救等众多领域,有着非常好的应用前景[2]。机器人学包括控制操作、传感技术等,通过改装一辆微电动车尝试了控制和传感技术的研究,以轮式移动机器人的模式为改装基础,设计出了移动机器人自动避障控制系统,该系统是基于单片机控制[3]。以前履带式机器人与轮式机器人被应用于很多不同的危险行业/环境的工作,各种勘察、救援抢险也广泛应用[4]。当前采用的履带式机器人和轮式机器人多路舵机的自动避障主要是通过相对较低精度且数量有限的分时控制算法或排序算法进行控制的,这就导致了传统机器人不能满足所有情况下的避障要求。
据此,课题设计了一款基于LabVIEW软件的机器人避障控制系统,目的是能够更加准确的获取机器人行驶及运动路径上的尽可能全部的障碍物信息[5]。LabVIEW软件的应用有效的在排除外部环境信息具有多变性的情况下实现了机器人自主高效避障。
1 系统总计结构设计
目前避障机器人由大体控制器、信息采集等模块构成了机器人的基本结构[6]。该系统不仅需要实时处理非常多的数据而且避碍运行中机器不同的阶段需要处理,所以要求主控芯片需要达到很高的标准,单一的 MCU 模块在实时性的处理上很难达到大数据的要求, 所以使用LabVIEW软件,其控制系统总体结构框图如图1所示。
图1 控制系统总体结构
所谓机器人避障控制系统,是为了实现有效识别环境和检测障碍物,使用LabVIEW软件,并通过融合多路信息技术, 把已经得到的多路信息整理并汇总到数字信号处理器模块,接下来采用LabVIEW将信息综合化处理,再把所得结果传输到微控制单元模块,传输方法是通过CAN 总线传输,微控制单元模块的驱动方式是差动驱动,通过该驱动方式控制左右轮电机, 进而控制并调整机器人的位置和姿势, 实现规避动作[7-8]。机器人的传感器主要分布方向为:前、后、左、右,它的作用是在行进中遇到的物体等障碍物信息起到避免的作用。通过运行路程的记录,达到对机器人定位目的[9]。
2 机器人避障控制系统的硬件结构设计
机器人避障控制系统的硬件结构设计如图2所示。
图2 系统的硬件结构
根据图2设计的机器人避障控制系统的结构框图,进行设计制作系统模块化,集成控制的核心处理芯片为DSP,可以集中调度机器人控制执行指令[10]。使用美国德州生产的TIMSP430型号单片机,具有16位超低功耗,将许多模拟电路、数字电路集成在同一个芯片上,为系统提供扩展口[11]。
2.1 硬件电路设计
超声波的发射与接收电路、单片机8751等组成了机器人的自动避障系统,以图3所示为它的硬件电路原理方框图。
图3 系统硬件电路
单片机P1.0端口和超声波发射电路的输入端相连接,定时中断服务的子程序是由单片机操作完成的,在规定的时间段通过P1.0端口输出一个40 k的方波, 促发驱动40 k的脉冲超声波通过超声波传感器UCM40T传出[12]。超声波的发射和收到反射波的时间需要通过定时器的计数功能实现。单片机外部中断INT0需要与超声波接收电路输出端相接, 一旦感应到反射波,INTO端会由于输出端生成的负跳变生成中断请求信号,单片机该信号完成相应的子程序,随之通过超声波自它发射起到它的接收为止时间的读取,进行计算对机器人造成障碍的物体与机器人之间的距离[13]。
2.2 控制器结构
基于嵌入式激光测距仪的机器人控制器主要由上位机和下位机两个主要部分组成,上位机和下位机间的数据交换和嵌入式链接主要通过RS232 串行通信线缆实现[14]。控制器结构如图 4所示。
图4 控制器结构
上位机是指对包括激光测距仪数据收集模块、直接控制模块和触摸屏显示模块等可以实现移动机器人的直接控制,下位机是指包括摄像头、嵌入式控制芯片以及电动机驱动电路可以间接控制激光测距机器人的模块,下位机的主要功能是对激光测距传感器信号和外部环境信息进行收集,实现智能控制算法下的控制方案的推算。上位机的主要功能是分析判断上位机的数据,并进行管理,亦可对下位机发出控制命令[15]。
2.3 数字控制振荡器
选用CGR-V610型号数字控制振荡器可通过调制高精度的参数,输出带有高分辨率的正余弦波形。它的原理是对一寄存器的存储频率控制器进行预定设置,再将系统参考时钟和每个周期所对应的相位累加器所累加出的增长值,连同初始频率控制值相加到一起,得到的总和就是当下时刻的相位值,输入最高位的地址,可得到相对应的波形幅度值,而正余弦波波形则是由输出单元进行绘制。
2.4 传感器
2.4.1 PAR传感器
PAR传感器的操作简便,可用于全天候条件下,并可直接连接数字电压表的数据采集器,它的主要作用是对400~700 nm波长范围内的自然光的光合有效辐射进行测量。PAR传感器如图5所示。
图5 PAR传感器
PAR传感器相关参数设置如表1所示。
表1 PAR传感器相关参数设置
2.4.2 TSR传感器
TSR传感器运动参考单元可以满足静态、动态的不同工况要求,主要目的是对障碍物进行高精度、高可靠性的测量。TSR传感器如图6所示。
V形导向滚子是一种安装了滚珠轴承的张力传感器,其具备集成测量放大器;它可以输出各种不同的信号,可能有很多不同配置,模拟,数字(可选),电流(可选),模拟DMS(可选),是一种带有机械保护的,方便操作员对定制材料的校准一种张力传感器,并且对不同的滚轮都可以进行指定。TSR传感器相关参数设置如表2所示。
TSR传感器相关参数设置如表2所示。
表2 TSR传感器相关参数设置
2.5 JTAG标准测试器
采用具有IEEE 1149.1兼容能力的JTAG,是一种针对芯片内部测试的高级测试协议,针对当今大部分器件,如数字信号处理器、现场可编程门阵列、微处理器、部分单片机器件等。标准的JTAG测试仪器具备4线接口。
JTAG 接口由JTAG 端口和控制器两部分组成,微处理器、微控制器、可编程逻辑器等以及其它符合IEEE1149.1 要求的芯片都可作为与JTAG 接口兼容的器件。IEEE1149.1 标准中规定需要设立一种特别的单元(寄存单元)在每个引脚位置。它可以隔离芯片与内核电路,还可以把该电路与JTAG连接起来。
3 自动避障控制系统的软件设计
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种运用图形化编程语言的程序开发环境,广泛地应用于研究实验室、学术界和工业界,被比作是一个规范的设备控制与数据采集软件。LabVIEW具有RS-485 协议与GPIB、VXI、RS-232的数据采集卡和通信硬件的整合功能。其功能强大且内部还配置了利于运用在ActiveX、TCP/IP等软件中规范的库函数。运用它能够构建简单的虚拟设备,该图形化界面能够使其在使用和编程过程中变得敏捷有趣。
“G”语言是指图形化的程序语言。该程序语言主要运用框图或流程图进行编程,基本上不需要输入程序代码,并运用工程师、科学家和技术人员熟知的图标、概念以及相关术语。因此,LabVIEW是一个针对终端用户的软件工具。能够提升所建立的工程系统及科学的能力,为完成数据采集系统及设备编程提供了简便的方法。在设计、测试完成设备系统和原理研究的过程中能够提升工作效率。运用 LabVIEW能够生成单独运行的可执行文件,其编译器为32位或64位的。LabVIEW软件为用户提供了各种版本分别为Linux、UNIX、Windows、Macintosh。
机器人避障功能的设计,需要先确定编程所需的每个函数功能模块,再根据LabVIEW软件进行程序框图的编写,但拟定参数还需要结合模块功能的调整。在执行框图里面进行编程代码的操作,如图6所示。
图6 软件程序设计流程
由图6可知,软件程序设计流程由系统初始化、超声波参数设置、显示波形、函数、连线等步骤构成,前控制面板上为输入和输出功能模块,后控制面板主要为程序组成连接模块。
软件程序分为主程序和子程序两部分。主程序流程见图7所示。
图7 主程序设计流程图
设计软件的主程序主要负责初始化工作与发射超声波。而超声波的定时发射是由子程序的定时中断服务来完成的;时间数值等主要由外部中断服务子程序完成;控制算法则是用于距离的转换和信息控制的子程序。以二级平铺顺序结构为设计理念,进行了避障运动功能的创作。左右电机以及一种特殊的程序构成了一级平铺顺序,该程序为旋转角度的图形化程序;二级平铺顺序是实现准确无误的测量传感器的超声波,它的结构是一侧可以控制机器人的循环控制的图形化程序,另一侧要保证与TLP相符的上位机与下位机之间的设置传输。
4 实验结果与分析
4.1 实验环境与参数设置
为验证基于LabVIEW软件的机器人避障控制系统设计可行性,采用VC++6.0进行实验分析。实验是在Robotics Starter Kit 2.0硬件平台上进行的,实验组件部分采用Parallax公司系列产品的传感器,工作频率为50 kHz,测试范围为0~5 m,能够实现精准非接触式测量。实验参数设置如表3所示。
表3 实验参数设置
4.2 实验方法及可靠性验证
在Matlab软件中使用Simulink软件模拟机器人各种动态行为,简化控制系统。待控制系统程序编制后,将程序输入到Matlab软件中,形成一个模拟程序,以此对程序进行调试。软件运行环境,如图8所示。
图8 软件开发环境 图9 操作界面
LabVIEW软件可为实验分析提供各种TI设备以及软件开发环境。在LabVIEW软件下运行得到的操作界面如图9所示。
设定一组标准的机器人避障轨迹信号,将其输入至模拟程序中,同时采用课题方法控制机器人避障轨迹,其信号输出结果及标准轨迹信号曲线如图10所示。
图10 机器人避障控制信号测试输出
由图10可知,在实验测试平台下,两组避障控制信号拟合度较高,课题方法输出信号与标准避障轨迹信号完全一致,说明课题方法具有良好跟踪控制效果,具有一定可靠性。
4.3 实验效果分析
根据上述内容,将传统系统与基于LabVIEW软件系统的避障效果进行对比分析,结果如下所示。
1)静态:
当障碍物处于静止状态时,采用两种系统的避障效果如表4所示。
表4 静止障碍物下两种系统避障效果
由表4可知:当障碍物静止时,采用两种系统避障效果差别较大,使用基于LabVIEW软件系统控制的机器人能够通过精准绕过障碍物。当机器人行驶距离为300 m时,该系统避障效果达到最高为97%。
2)动态:
当障碍物处于运动状态时,采用两种系统的避障效果如表5所示。
表5 运动障碍物下两种系统避障效果
由表5可知:机器人在移动过程中,障碍物处于运动状态,具有动态特性。采用基于LabVIEW软件设计的系统具有自适应性,当机器人行驶距离为200 m时,该系统避障效果达到最高为95%。而当机器人行驶距离为50 m时,该系统避障效果达到最高为94%。
通过上述对比内容,可得出实验结论:基于LabVIEW软件的机器人避障控制系统设计是具有可行性的。
5 结束语
采用LabVIEW软件设计的机器人自主高效避障控制系统,俨然已经作为一种至关重要且有效的智能控制形式。LabVIEW软件非常适用于突发紧急的遇到障碍物时智能机器人的避障,而且它可以参照仿真实验得到的结果,进行相应的技术参数和设计理念与规则进行优化设计,具备十分灵活的控制方法。
基于LabVIEW软件的机器人避障控制系统虽然与传统的避障方法有一定的改观和突破,也实现了机器人的自动避障功能,但由于采用了双芯片控制系统的设计,使得硬件电路存在一定的复杂性,同时因为LabVIEW也是一种比较复杂、难度比较大的技术,在控制的实时性上存在一定的问题,因为想要完全植入嵌入式控制芯片,就需要非常大的空间,未来可以在以下方面做出改进:
①模块化的电路与芯片的单一化处理,可以让控制系统的的抗干扰能力起到增强的作用,也可以增加其稳定性,进而对电路结构也做到了一定程度上的简化。
②采用LabVIEW软件,在降低由于算法移植带来的不必要的系统开销的同时,可以降低该技术的复杂性,或者也可以采用一种相对而言更加简单明了的自适应学习算法,不仅提高了它的智能化,也使得控制系统的灵活性得到了很大的提高,进一步提高其智能化水平。