基于LabVIEW的机械臂实时动画显示系统

2020-06-22 13:15田如安李筠杨海马
软件导刊 2020年5期
关键词:舵机串口动画

田如安 李筠 杨海马

摘 要:为解决机械臂运行过程中受地域条件等因素影响导致各关节运行位置观察不便的问题,结合3D动画显示、机械臂操控系统,设计了基于LabVIEW的六自由度机械臂运行实时显示系统。系统建立动画显示区、运行控制区等界面,实现六自由度机械臂关节的实时显示与控制,通过机械臂运行时的3D动画监控,显示六自由度机械臂运行状况。该系统对工业生产和实际生活有较大应用价值。

关键词:3D动画;LabVIEW;六自由度机械臂;实时显示

DOI:10. 11907/rjdk. 191871 开放科学(资源服务)标识码(OSID):

中图分类号:TP319文献标识码:A 文章编号:1672-7800(2020)005-0151-04

0 引言

机器人机械臂应用领域越来越广,机械臂开发难度也越来越大,寻求一套高效的设计方法,选择一个合适的开发平台显得尤为重要[1-4]。王梦雅等[5]设计了基于LabVIEW的舵机机械臂控制系统,可实现对机械臂各个关节的控制,但其仅仅控制关节运行,没有机械臂运行显示功能;李宪华等[6]设计了一款机械臂3D虚拟仿真平台,仿真模型细节显示逼真,平台和开发仿真程序效率较高,但仅为仿真条件下,并未进行实际系统调试。基于此,本文设计一款稳定运行的机械臂实时动画显示系统[7-8]。通过上位机开发软件LabVIEW进行控制系统设计,并结合串口通信发送命令至机械臂使机械臂运行。系统实现功能如下:①对机械臂角度运行控制;②在LabVIEW环境下实现六自由度机械臂的大小缩放与角度运转;③实现三维场景机械臂与实体机械臂的同步转动。

1 系统组成

本系统由上位机、舵机控制器、舵机、六自由度机械臂组成,系统采用基于PC机+舵机控制器控制舵机的方式。PC机主要在LabVIEW开发环境下负责人机界面交互及控制系统实时监测,舵机控制器按照上位机发送的指令工作,将输入/输出等指令转换为底层舵机转动指令,进而控制舵机运转。每条指令可以控制舵机的运转方向和运转时间。舵机接收到指令后,带动机械臂运转到每条指令信息所代表的位置。系统架构如图1所示。

1.1 LabVIEW特点

LabVIEW基于图形符号进行程序编写,称为虚拟仪器程序(简称VI)。LabVIEW功能的强大之处在于其层次化结构,对于大型程序编写,可多层次调用模块化子程序。通过这种创建和调用子程序方法,可使创建的程序模块化,从而区别于传统的文本方式编程语言,使程序很容易调试、理解和维护[9]。LabVIEW广泛应用于汽车通信、电子设计、自动化控制及工业控制等方面[10]。LabVIEW与其它基于文本的程序设计语言相比,还具有图形可视性高、语言模块化、开发环境可以通用等特点[11]。因此,本文选用LabVIEW作为机械臂运行控制的上位机软件。

1.2 六自由度机械臂

本文设计一个用于物品搬运的六自由度机械手臂,机械手臂运动包括关节1旋转、关节2转动、关节3转动、关节4上下摆动、关节5左右旋转以及关节6的张合,即机械手臂的自由度为6[12-13]。六自由度机械臂实物如图2所示。

1.2.1 舵机控制板

控制板包括基础板和在主板接口的51板两个部分,如图3所示。控制板正常工作电压为6.4V-8.4V,低于6.4V时蜂鸣器会发出低压报警信号,本文采用AD/DC 电源适配器解决电压问题。控制板上的USB接口用来下载或调试程序,只需接到电脑上,打开相应的上位机即可。舵机接口连接舵机,蓝牙接口连接蓝牙通信设备,可用于稍远距离的通信控制。

1.2.2 舵机

各个关节分别采用不同的舵机,爪子部分使用具有防堵转功能的数字舵机。当发生堵转时,舵机会自动计时,发生堵转超过4分钟时舵机会自动停止工作。后面两个舵机是防堵转低功耗数字舵机,当发生堵转时,舵机内部会自动保护。在平台上面的两个舵机是高精度双轴数字舵机。底座上的舵机采用大扭力1501舵机,它有15kg扭力。每个舵机转动角度均为180°。若超过这个范围,舵机就会因为超出两量程范围而无法接收到PC机命令,因此舵机只能在0°-180°之间运动。可通过控制舵机转动方向和转动时间操作机械臂转动。

2 实验

本文在PC机上用LabVIEW设计开发了系统控制界面和控制程序[14-15]。控制界面如图4所示,分为运行控制区、串口通信区与机械臂运行动画显示区。

2.1 机械臂运行动画显示

动画显示区见图4右半部区域动画,可实时显示机械臂转动情况[16-17],方便观察機械臂运行状况。机械臂运行动画控制程序如图5所示,下面选取关节1的程序进行阐述。

如图5所示,左半部是使用solidwork所画关节1的三维动画路径函数及路径的子vi,经过属性节点读取将各个关节的三维对象添加至三维场景中。经过平移vi设置,按照指定的向量平移场景中的各个关节对象到达指定位置,使六自由度机械臂可以完整运行。图5右半部为六自由度机械臂与动画机械臂联动核心框架。由于动画机械臂与使用的机械臂转动关系不同,因此对各个关节的转动关系进行弧度与角度换算,达到动画与六自由度机械臂联动的效果。

旋转子vi在输入命令后,控制动画进行旋转,程序框图和控制程序如图6和图7所示。在左侧已经设置好三维动画场景,因此从左侧三维动画引用过来的对象,经过图中X轴和角度的限制与转换即可输出旋转后的对象。

2.2 串口通信区

串口通信控制界面与控制程序如图8所示。VISA是虚拟仪器系统I/O接口软件。基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集。在控制界面选定好机械臂转动所需的串口协议就可与舵机控制器进行串口通信[18-19]。舵机控制器主要功能是驱动多路舵机,其内部写有与外部设备进行通信的串口协议,通过PC机操作上位机软件给控制器传递控制指令信号,即可实现多路伺服电机单独控制或同时控制。通信协议如表1所示。

帧头:连续收到两个0x55,表示有数据包到达。数据长度等于除帧头两个字节外待发送的数据字节数,即参数个数+2;指令:各种控制指令;参数:除指令外需要补充的控制信息。参数1:要控制舵机的个数;参数2:时间低8位;参数3:时间高8位;参数4:舵机ID号;参数5:角度位置低8位;参数6:角度位置高8位;参数……:格式与参数4,5,6相同,控制不同ID的角度位置。

2.3 运行控制区

运行控制区首栏为控制动画中机械臂的缩放、上下移动、关节6转动等相关操作[20-21]。第二栏为控制机械臂运行与动画联动相关操作。使用的机械臂各关节的转动角度全部为0°-180°,因此设计关节1、关节2、关节3、关节4、关节5、关节6均为0°-180°,动画界面的机械臂也设计为0°-180°与机械臂进行匹配联动。滑动界面上各个关节的滑块,可分别控制六自由度机械臂与动画机械臂转动,如图2和图4所示。起始关节位置分别设定为90°,也就是机械臂处于直立状态下的位置。考虑到90°位置的选取问题,另在滑块旁边添加输入控件,可直接修改角度数值至90°,进而可方便控制机械臂的起始位置和需要的精确位置。图9为关节2运行至60°、关节3运行至30°时的位置。添加运动按钮可使机械臂各个关节按照上方各个滑块所对应的关节位置进行6个关节同步运转到所需位置。

该系统可应用于小车等可移动物体上,由小车搭载机械臂进行物体搬运、拾取等工作,对于灾后不利于人类进出的场所具有较高的应用价值。

3 结语

当今智能技术成为主流,机器人机械臂应用越来越广,很多具有重复性或有危险的劳动都可交由机器人完成。本文在3D动画显示、机械臂操控系统基础上,进行实时匹配与算法设计,获取机械臂运行实时显示功能。结果显示该系统控制效果良好,具有LabVIEW控制界面显示直观、3D动画机械臂与六自由度机械臂匹配程度高、实时性良好等优点。未来可将此系统进行二次开发,结合可移动小车等物体用于工业生产和实际生活。本文系统节省了人力,使被加工物品更加精致规范,还可避免出现某些不必要的伤亡,有着较高的应用价值,市场应用前景广阔。

参考文献:

[1] 王文坛. 机械臂轨迹规划及动力学研究[D].济南:山东大学, 2017.

[2] KUCUK S,BINGUL Z. An off-line robot simulation toolbox[J].Computer Applications in Engineering Education,2010,18(1): 41-52.

[3] TOZ M. Dynamics simulation toolbox for industrial robot manipulators [J]. Computer Applications inEngineering Education,2010,18(2): 319-330.

[4] QASSEM M A,ABUHADROUS I,ELAYDI H. Modeling andsimulation of 5DOF educational robot arm[C].Proceedings of the 2nd IEEE International Conferenceon Advanced Computer Control.Shenyang,China:IEEE,2010: 569-574.

[5] 王梦雅,杨志刚. 基于 LabVIEW 舵机机械臂控制[J]. 机械工程与自动化,2017(1):181-182.

[6] 李宪华,张雷刚,郭帅, 等. 一种开放式机械臂3D虚拟仿真平台快速构建方法[J]. 机械科学与技术, 2018(6):192-197.

[7] 李亮. 一种五关节机械臂运动控制系统的设计[J]. 自动化技术与应用,2017(2):54-58.

[8] 刘洋, 方敏. 基于LabVIEW的视觉伺服机械臂控制系统[J]. 微型机与应用,2012, 31(10):25-27.

[9] 雷巧利. 基于LabVIEW的机器视觉测量技术及应用[D]. 西安:西安电子科技大学,2011.

[10] 朱焱丹,廖俊必,何子牛. 基于LabVIEW的机器视觉系统的标定[J]. 中国测试,2009,35(6):54-56.

[11] 伍川辉. 基于LabVIEW图像处理的动态拉出值检测方法[J]. 中国测试,2018,239(6):103-107.

[12] 李连中,翟敬梅,何海洋. 机器人虚拟仿真及远程控制系统的研究及实现[J]. 计算机工程与应用,2016,52(13):1182-1187.

[13] 李亮.一种五关节机械臂运动控制系统的设计[J].自動化技术与应用,2017,36(2):41-45.

[14] 胡斌,刘海涛,聂健壕,等. 基于LabVIEW分数阶控制器的机械臂控制[J]. 工业仪表与自动化装置,2018,261(3):13-17.

[15] 李亮. 一种五关节机械臂运动控制系统的设计[J]. 自动化技术与应用,2017(2):69-75.

[16] 陶明超,王晓冬,侯佩臣,等. 基于LabVIEW的三维运动装置控制设计[J]. 电子技术,2016(1):49-54.

[17] 寇志强. 基于LabVIEW轴角转换器测试系统设计[J]. 电子测量技术,2014,37(6):73-76.

[18] 王家顺,邹红霞,高永明. 基于LabVIEW的空间机器人通信协议集成研究[J]. 计算机技术与发展,2012(3):157-160.

[19] 汤佳明,安伟. 基于LABVIEW的上位机串口通信程序设计[J]. 电子设计工程,2018,385(11):92-96.

[20] 王丽,桂彩云. 基于LabVIEW的实验数据处理方法研究[J]. 国外电子测量技术,2018(4):77-82.

[21] 杨忠仁. 基于LabVIEW 数据采集系统[J]. 重庆大学学报(自然科学版),2007,24(2):32-35.

(责任编辑:杜能钢)

猜你喜欢
舵机串口动画
做个动画给你看
浅谈AB PLC串口跟RFID传感器的通讯应用
动画发展史
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
我是动画迷
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于云模型的舵机同步控制