基于JAVA技术平台的气动轻量机械臂伺服控制系统设计
2022-08-02于旭蕾李相泽
于旭蕾,李相泽
(1.沈阳工学院 信息与控制学院,沈阳 113122; 2.东北大学 计算机科学与工程学院,沈阳 110169)
0 引言
目前智能科技的快速发展,机器人逐渐被应用于人们的生产生活中,传统的服务式机器人以电机为核心设备,可进行重复运动,但灵活性较差[1-2]。由于气动技术具有刚性强、结构简单、灵敏度高等优势,被广泛应用于机械臂的生产和研发中,并替代人工操作,进行高质量的服务工作,极大地节约了人力资源,提升了工业生产质量[3]。但目前设计的气动轻量机械臂伺服控制系统的稳定性差、响应速度慢,不能发出准确的控制指令,导致实际应用过程中易出现操作误差,不利于机器人的可持续应用和发展。
为此,相关领域研究人员对气动轻量机械臂展开了深入研究。文献[4]设计了基于反步法的气动轻量机械臂伺服控制系统,通过构建机械臂运动模型,对机械臂的非线性运动进行深入分析,利用反步法设计伺服控制系统,并结合机械柔顺控制方法,有效控制机械臂的关节驱动器,整体控制效果良好,但系统的稳定性较差,常出现控制误差。文献[5]设计了基于嵌入式运动控制器的气动轻量机械臂伺服控制系统,充分利用嵌入式运动控制器的实用性、高稳定性以及较高的抗电磁干扰能力,采用力矩传感器进行数据采集,通过AD模数转换器进行数据转换,从而生成准确的控制指令,整体稳定性较高,但控制指令的执行力较差,整体控制效果较为不理想。
针对上述问题,气动轻量机械臂伺服控制系统设计的主要难点在于机械臂无法应对外界环境的变化,导致机械臂控制稳定性和效果较差。为此,本文设计了基于JAVA技术平台的气动轻量机械臂伺服控制系统。采用JAVA技术平台,在RTW环境下搭建系统硬件结构,预设JAVA开发环境,完成了控制系统软件设计。通过测试验证了JAVA技术平台为气动轻量机械臂伺服控制系统的开发和运行提供了可扩展性平台,能够更好地适应外界环境变化,对气动轻量机械臂进行交互响应和实时行为,从而有效实现气动轻量机械臂伺服控制,精确控制气动轻量机械臂姿态,以此来确保气动轻量机械臂伺服控制稳定性和效果。
1 基于JAVA技术平台的气动轻量机械臂伺服控制系统硬件设计
1.1 电机模型
针对直流电机驱动型机械臂,首先设计全关机控制系统,在满足JAVA技术平台运行的情况下,建立机械臂直流电机模型,每一个直流电机对应一个关节,是控制系统的核心控制对象。结合直流电动机的运行特性和组成结构,采用电阻电感型串联电路作为直流电动机的中枢电路,忽略电磁的时间干扰[6-7]。电机模型中的直流电机等效电路如图1所示。
图1 直流电机等效电路
观察图1可知,直流电机内部有3个电阻,分别控制电压、电流的方向,直流电机能够直接控制系统,通过电枢构造和反电势原理实现控制,内部的电阻和电机通过串联形成电路,保证系统稳定运行[8-9]。
电机时间常数的取值影响到了机械臂关节转动的灵敏度,为保证机械臂运动的准确控制,针对时间常数需结合多组阶跃信号进行多次测量,以保证电机处于正常运行状态[10]。
1.2 关节双闭环控制器
在考虑噪声干扰以及带宽大小的影响下,为提升系统的抗噪声干扰能力和噪声消除能力,本文选择关节双闭环控制器对机械臂关节的转速和转角进行控制[11]。双闭环控制系统如图2所示。
图2 双闭环控制系统
根据图2可知,双闭环控制系统采用上下两个闭环,通过位置控制器实现位置反馈和速度反馈。双闭环控制系统工作原理为:首先,关节转速由内环即速度环进行控制,在功能上,内环负责接收转速传感器的采集数据,为提升系统响应速度,内环带宽相对外环较大,能够有效抵御噪声干扰。关节的转角由外环即位置环进行控制,在功能上,外环负责接收位置传感器的采集数据,位置传感器的型号为MEAS MS32、大小为TDFN:2.5×2.5×0.8、精度为0.1 kA/m(典型值)、量程为:1~3 kA/m磁场开关,为有效消除和抑制噪声,外环的带宽相对较小[12-13]。基于内外环的结构特性和功能,关节双闭环控制系统的构建以JAVA技术为基础在RTW环境下进行搭建,传感器的采集数据以及控制器内部的控制指令的发送通过PCI1711数据传输器完成。通过信息传递实现较好的控制,积分器在控制过程中发挥着核心作用,能够分析整体性能,处理积分数据,实现数据研究。
1.2.1 速度环设计
速度环作为关节双闭环控制器的内环,其工作状态受机械臂运动摩擦力以及电机齿轮缝隙等多种因素的影响,大部分影响因素为非线性因素,其变化规律难以掌握,且大多数干扰存在于低频关节系统中,为维护系统的稳定性,速度环利用微分控制,虽然微分控制法的控制效果好,但若设计不合理可能导致系统的主导极点不受控制,造成系统响应延迟等情况的发生,故在设计内环时,需结合系统结构不断调试比例参数,使系统的稳定性达到预期状态[14]。初始化系统参数,设置系统闭环传递函数,输出速度环的阶跃响应曲线如图3所示。
图3 速度环阶跃响应曲线
根据图3的响应曲线可知,当运行时间为3.0 s时,电压开始大幅度上升,在上升到1.0 V之后,虽然有所波动,但是基本能够保持稳定。
1.2.2 位置环设计
位置环不仅是双闭环控制系统的外环,同时也是系统的主回路。在外环中,由于内环速度传感器的数据获取和微分控制,导致系统主回路也受微分控制的影响,在内环中,可以消除局部静差,而在外环中,由于带宽较低,局部静差难以消除,使得系统的稳定性较低[15]。为此,本文通过比例控制法降低微分控制对系统主回路的影响,即在控制器的基础上,在外环上串联一个适当比例的校正环节,以抵消系统主回路中的局部静差,经过多次测试,总结出最适合系统运行的带宽比例,即本着外环带宽是内环带宽五分之一的比例原则,调节控制器参数。
1.3 数据采集器设计
数据采集器会将传感器的内容转换成系统可接收的模式,方便微处理器后期读取,计算测量值和真实值之间的关系,利用RS-485通讯接口完成信息通讯。在GPTRS网络上输入得到的数据,并将数据转移到中控室,由中控室完成信息的整体控制。
由于微处理器能够发送信息,完成信息的控制,所以利用RS-485通讯接口连接GPRS DTU,为降低控制系统的工作成本,提高系统的使用能力,因此在单片机内部加入了MAX785芯片。单片机的工作电压为3.3~5 V,确保电压的稳定性,不会出现电压抖动。采集器的工作温度在-40~+60 ℃之间,在正常模式下,会出现功耗,一般能够控制在7mA以内,如果系统内部采集器处于掉电模式,则功耗小于0.1 μA。掉电模式可以有效降低系统的功耗,适用于不同的低功耗场合,完成数据远程采集。
采集器内部的单片机具有A/D转换器,位于不同的PI口上,可以通过采集数据改变转换速度,确保控制系统在运行过程中的精度。单片机12位A/D采样的精度为±0.19%,能够有效满足系统要求。
MAX785芯片具有RS-485的通讯功能,采用的通讯方式为半双工通讯,能够实现电平转换,提高传输速率,并提供有效的电源电压。相比于其他的通讯芯片,MAX785芯片的价格更低。
采集器采集的信号包括开关量和模拟信号,所得到的开关量在输入系统内部之前,需要经过去抖动操作,这样系统才能在中断外界连接的方式快速读取数据。由于采集器内部的单片机不具备直接读取电流的能力,因此需要经过精密采样才能完成电流与电压的高精度转换,在不同的端口中输入信息,实现信息转换和读取。系统采集器拥有4个通道,每一个通道都与单片机相连,能够快速实现信息转换。
1.4 数据处理单元设计
数据处理单元是实现设备全维度状态监测的基础,为保证数据处理精度,设计相应的硬件结构进行检测数据处理,主要的硬件结构包含数据处理器、微控制器和串行通信模块三部分,对应硬件结构和功能如下。
数据处理器。数据处理器包含多路电流传感器、A/D信号转换电路、数据寄存器以及预处理电路等。其内部的电路设计采用集成电路设计法,即在微控制器的控制下实现信号的A/D转换功能。其中,电流传感器承担主要的数据处理工作,处理信息包含数据的运行电流、电压、频率、幅值等多种信息。寄存器能够存储短时间内的处理数据,处理数据的预处理在寄存器中实现,处理目的在于将处理数据调配到试样A/D转换的数据需求。
为满足高强度的控制需求,微控制器采用STCl2C5-A60S2单片机为控制核心,集成8051控制内核、定时器、FLASH等控制核心,保证微控制的控制效果,同时采用8通道和两个I/0接口进行指令传输,指令传输有序,能对微控制器自身和数据处理模块中所有元件进行控制,且内设看门狗的在线编程模块,支持功能扩展,进一步提升微控制器的适应性、可扩展性和灵活性。
串行通信模块。通信是数据处理模块与其他模块进行数据交换的基础,为配合STCl2C5A60S2单片机的应用需求,采用RS232串行通信进行通信连接,保证数据处理器内部和外部通信的质量。RS232串行通信的优势在于逻辑转换灵活,针对不同的设备运行电压,逻辑转换信号低于两个2个幅度,最大限度地保证数据通信的稳定性。
2 机械臂设计参数
采用机械臂D-H参数法,得到气动轻量机械臂的D-H参数如表1所示。
表1 气动轻量机械臂的D-H参数
在表1中,关节1、关节2、关节3是公知的,并且能够采用直尺来测量。其中,角度的大小不会对气动轻量机械臂末端执行机构的位置产生任何影响,仅用于对气动轻量机械臂末端执行机构的抓取姿势进行控制,而θ1、θ1和θ3会对气动轻量机械臂坐标位置产生影响。
3 基于JAVA技术平台的气动轻量机械臂伺服控制系统软件设计
JAVA是一门功能强大、应用简单、面向对象、具有可移植性的编程语言。JAVA技术平台可以实现跨平台运行,在应用JAVA编程语言进行程序开发和运行时,往往需要预设JDK(JAVA开发环境)和JRE(JAVA运行环境),而JAVA技术平台能够为气动轻量机械臂伺服控制系统的开发和运行提供了可扩展性平台,可有效地适应外界环境变化,从而确保气动轻量机械臂伺服控制稳定性和效果。因此,在系统硬件的支持下,本文以JAVA技术平台为基础,采用JAVA编程语言设计气动轻量机械臂伺服控制系统软件,详细设计如下。
3.1 补偿控制
针对气动轻量机械臂的补偿控制采用加速度前馈补偿法和摩擦力前馈补偿法。考虑气动轻量机械臂在低速运动中受气体的可压缩性影响较大,其机械臂自身具有低阻尼特性,系统刚性较低,导致伺服控制系统的相对稳定性较差,因此提升系统的刚性对于提升系统的控制能力具有重要作用。
采用一阶惯性环节对电机模型进行等效描述,等效式如下:
(1)
公式(1)中,K为电机的比例系数;T为时间常数;n(s)为控制时间;U(s)为驱动时间。
PID+加速度反馈和摩擦力前馈补偿策略如图4所示。
图4 PID+加速度反馈和摩擦力前馈补偿策略
3.2 机械臂运动控制
机械臂本身是一个复杂的系统,针对其运动控制的难度系数相对较高,机械臂运动控制的设计要求控制机械臂上每一个关节的转动的角度,以确保机械臂以正确的运动姿态完成相对应的动作。
针对机械臂的运动控制,每一个关节都可视为一个因变量,可运用运动学分析法分析关节角度与机械臂之间的关系作为运动控制的基础,机械臂每个关节的变换矩阵An的计算公式如下:
(2)
公式(2)中,L为机械臂的关节长度;θ为机械臂关节的偏转角度。
机械臂的臂座与抓手之间的总变换矩阵Tn如下:
Tn=A1A2A3......Am
(3)
公式(3)中,A1、A2、A3、Am均表示机械臂关节变换矩阵;m表示该机械臂拥有的关节个数[18]。
根据变化矩阵确定机械臂之间的关系,实现机械臂运动控制。
3.3 目标特征提取与匹配
在机械臂对目标物体采取抓取等操作之前,首先识别目标物体并进行物体测量[19]。利用目标识别成像原理[20-21],抽取成像目标特征,并与实时获取的图像进行特征比对。为提升目标识别的精度,结合JAVA编程技术、特征提取法以及特征匹配法编译目标识别程序。
由于机械臂图像采集系统的采集图像为积分图像,为缩短图像识别的时间,采用Hessian矩阵寻找图像中像素最亮或最暗的点为特征点,并利用最大值计算法计算特征点的匹配值[22]。
Hessian矩阵H(σ)在特征点f(x,y)的定义式如下:
(4)
公式(4)中,σ为特征提取尺度;H(x,σ)为矩阵H(σ)在x处的卷积;H(y,σ)为矩阵H(σ)在y处的卷积[23]。
寻找到特征点后,提取特征信息,将特征信息与数据库中已有的信息进行匹配,匹配计算公式如下:
(5)
公式(5)中,G为匹配值,当G值为0时,表示数据库中无与特征点相匹配的数据,特征匹配失败。当G值为1时,表示特征匹配成功,数据库输出与之对应的数据信息[24-25]。确定匹配值后,完成气动轻量机械臂伺服控制系统控制。
4 实验分析
为了验证所提方法设计的基于JAVA技术平台的气动轻量机械臂伺服控制系统的有效性,采用所提方法设计的伺服控制系统、文献[4]设计的基于反步法的气动轻量机械臂伺服控制系统和文献[5]设计的基于嵌入式运动控制器的气动轻量机械臂伺服控制系统进行实验对比。设定实验参数如表2所示。
表2 实验参数
根据表1的实验参数,选用3种系统进行实验对比,得到机械臂小臂关节和大臂关节的运行角度如图5和图6所示。
图5 小臂关节机械臂正弦响应曲线
根据图5可知,机械臂小臂关节正弦响应曲线在45 s共经历了3次波动,存在3个波峰,波动时间间隔15 s。在3次波动中,机械角度的目标角度与本文提出的伺服控制系统基本一致,维持在95°左右,波动方式也能保持一致,而文献[4]设计的基于反步法的气动轻量机械臂伺服控制系统和文献[5]设计的基于嵌入式运动控制器的气动轻量机械臂伺服控制系统运动方式和波动峰值与实际机械角度有很大差距,文献[4]设计的基于反步法的气动轻量机械臂伺服控制系统的波动峰值为80°,而文献[5]设计的基于嵌入式运动控制器的气动轻量机械臂伺服控制系统的波动峰值为60°,与目标值95°有极大的差距,难以满足伺服控制的最终要求,不适合于实际应用中。
图6 大臂关节机械臂正弦响应曲线
根据图6可知,在45 s伺服控制时间内,大臂关节机械臂正弦响应曲线共有2次波动,波动时间间隔为22.5 s。在波动间隔上所提方法设计的基于JAVA技术平台的气动轻量机械臂伺服控制系统与文献[4]和文献[5]设计的系统都能够与目标控制方式保持一致,但是在机械角度上,文献[4]和文献[5]设计的系统显示出极大的局限性。而所提方法设计的系统两次波峰均维持在95°左右,与目标控制方式完全吻合,波峰也保持一致。文献[4]设计的基于反步法的气动轻量机械臂伺服控制系统的波峰为82°,文献[5]设计的基于嵌入式运动控制器的气动轻量机械臂伺服控制系统的波峰为60°,与目标值相差较大,难以完成预计的工作方式。
综上所述,使用所提方法设计的基于JAVA技术平台的气动轻量机械臂伺服控制系统控制后,机械臂的大臂和小臂的偏移角度与目标角度基本能够保持一致,以平稳的状态运行,其控制稳定性较好。而使用文献[4]设计的基于反步法的气动轻量机械臂伺服控制系统、文献[5]设计的基于嵌入式运动控制器的气动轻量机械臂伺服控制系统后,机械臂虽然也能够稳定地运行,但是运行的角度与目标角度相差较大,难以达到要求。
对机械臂的运行路线进行统计,分别在外界环境无变化和存在变化两方面进行实验,在存在变化的外界环境中放置不同数量和位置的障碍物,从x,y,z三个方向比较运行偏差,得到的实验结果如表3和表4所示。
表3 外界环境无变化情况下机械臂运行偏差实验结果
表4 外界环境变化情况下机械臂运行偏差实验结果
根据表3可知,在外界环境无变化的情况下,所提方法设计的机械臂伺服控制系统的控制能力优于文献[4]和文献[5]设计的控制系统,起始点、中间点和终止点与目标定位完全相符,而传统系统与规定的路线相差较大。
根据表4可知,当外界环境出现变化时,所提方法设计的系统和文献[4]和文献[5]设计的系统都难以与实际定位保持一致,但是所提方法设计的系统相差较小,而文献[4]和文献[5]设计的系统相差过大。造成这种现象的原因是,所提方法设计的系统利用JAVA技术平台,通过双目测量视觉误差,确定误差位置,根据位置反馈提取特征,因此可以很好地保证运行精度,确保机械臂控制效果。而文献[4]和文献[5]设计的系统在控制过程中不具备反馈能力,在运行过程中容易由于视错觉造成误差,难以实现精准控制。
5 结束语
针对当前气动轻量机械臂伺服控制系统出现的稳定性差、控制效果不理想等问题,设计了基于JAVA技术平台的气动轻量机械臂伺服控制系统,通过硬件设计和软件设计完善系统功能,实验结果表明,所提方法设计的伺服控制系统具有较好的应用性能,针对机械臂的非线性运动信号能够及时反馈,且运行稳定性高、误差小,适用于气动轻量机械臂的生产中。所提方法设计的气动轻量机械臂伺服控制系统在低电压工作环境下的适应性不强,可能出现指令生成缓慢等现象,其整体适应性还需进一步增强。