APP下载

采摘机械手运动控制及避障研究
——基于PLC和物联网远程控制

2019-12-21赖文雅王心海凌永发李碧青

农机化研究 2019年1期
关键词:表达式机械手障碍物

赖文雅,王心海,凌永发,李碧青

(贺州学院,广西 贺州 542899)

0 引言

用机器人和物联网远程操控,代替传统的林间采摘作业,提高农业生产的标准化及效率,是未来现代农业的发展发向。机械手是机器人的重要部件,控制系统通过编程实现预期的操作,结合了人和机器的优势,体现了很强的人工智能。本文根据采摘机器人作业的特点,结合机械手的运作方式,对机械手运动控制及避障进行设计和验证,实现了机械手的避障及路径优化功能。

1 采摘机械手远程运动控制系统框架

为了实现对采摘机器人机械手的远程控制,本文提出了一种基于PLC且包括客户端和服务端的远程运动控制系统。其中,服务端分为视频采集和机械手控制两部分,客户端则包括对机械手的实时监测、操控及仿真等。系统整体框架结构如图1所示。

采摘机械手远程运动控制系统由4部分构成,具体叙述如下。

1)通讯协议模块:①客户端和服务端采用网络协议通信,在客户端指定数据包格式,并带有确认机制,服务端根据数据包协议进行解析;②确定视觉服务器的数据传输协议包格式。

2)机器人控制服务器模块:①客户端操作机械手的界面;②机械手运动控制仿真与避障;③机器人仿真系统。

3)机械手模块:机械手是用来进行采摘抓取的部件,主要是负责目标物体的采摘抓取。

4)视频服务器模块:机械手前端搭载CCD视觉传感器,用来采集获取前方实时信息,对采集的视频进行数据分析处理后反馈给客户端服务器。

图1 系统整体框架结构图Fig.1 The overall framework of the system structure

在整个架构中,机械手是最重要的模块,其可根据机器人控制服务器编程电磁阀动作,实现手爪的抓取动作,其仿真模型设计如图2所示。

2 软硬件设计

2.1 采摘机械手系统硬件平台

2.1.1 PLC控制系统

本设计采用西门s-200PLC为系统核心控制器,包含中央微处理器、存储器、手持编程器、电源,以及各种输入及输出接口。PLC控制器通常采用软件编程实现继电器、定时计数器,以及数模、模数转换的功能。另外,PLC采用内部总线实现数据信息的传输。PLC控制系统框架如图3所示。

图2 采摘机械手模块仿真模型Fig.2 The simulation model of picking manipulator module

图3 PLC控制系统框架图Fig.3 The frame diagram of PLC control system

2.1.2 机械手运动控制参数转换

在机械手运动控制过程中,系统对机械手进行控制时,需要实时了解其位置、运行速度及加速度等具体参数。本研究中,采用GT-400-SV运动控制卡控制机械手的控制,各参数的单位分别为:位置(pulse)、速度(pulse /ST)和加速度(pulse /ST2),ST为控制其产生1个脉冲的周期时间。

1)设定运动位置。在闭环伺服系统运动位置设定中,机械手以速度和位置为参数的表达式分别为

(1)

(2)

其中,postion为机械手的运动位置;L为机械手关节长度。

2)速度设置。在闭环伺服系统中,机械手速度设置以速度为控制模式中,丝杠转速表达式为

(3)

电机转速表达式为

(4)

根据PLC控制器4倍频工作特性,伺服控制器设定速度的表达式为

(5)

其中,V为电机速度;Vel为伺服控制器的设定速度。

3)加速度设置。和前面两个参数一样,在闭环伺服系统中,驱动器以速度为控制模式中,丝杠加速度表达式为

(6)

而电机转速计算表达式为

(7)

根据PLC控制器4倍频工作特性,控制器加速度表达式为

(8)

其中,acc为控制器设定的加速度值;a为机械手的运动加速度;m为脉冲倍频。

2.2 采摘机械手系统软件平台

采摘机械手系统的软件设计主要包括控制服务器(下位机)和本地客户端(上位机)两个方面。控制服务器主要由PLC为控制器为核心,负责采集机械手的实时运行状况和解析视频服务器的图像信息,并分析本地服务器的数据包,实时控制机械手;另外,其通过网络通信的方式将数据信息发送给本地服务器端,完成二者之间信息的交互。本地客户端主要由PC机机上位机控制软件构成,可以发送控制指令、接收和显示采摘机器人的位置、速度,以及加速度信息。采摘机械手系统的软件整体架构如图4所示。

图4 采摘机械手系统的软件设计架构Fig.4 Software design framework of picking manipulator system

在整个软件中设计中,控制服务器中的PLC控制程序最为复杂,包括公用、自动、手动和初始化4部分。PLC软件主程序如图5所示。

图5 PLC软件主程序图Fig.5 PLC software main program diagram

图5中,CJ为条件跳转指令,主要是实现程序的跳转,减少程序不必要的执行时间,提高系统效率。X0和X1为模式选择端口,X0闭合,X1断开时,程序为自动控制模式;而当X0断开,X1闭合时,程序为手动程序和回原位程序。

3 采摘机械手运动学及避障原理

3.1 采摘机械手动力学运动分析

为了实现对采摘机械手的实时控制,首先需要搭建机械手的平面模型,其是跟踪控制机械手运行轨迹的重要前提。该平面主要通过力学原理对机械手支撑结构进行动力学分析,根据机械手各种前行参数实现对其的控制,达到路径规划和避障的目的。采摘机械手动力学平面和空间结构如图6所示。

图6 采摘机械手动力学平面结构图Fig.6 The manual mechanical plane diagram of picking machine

如图7所示,l1为关节连杆1,其长度为250mm,可变角度为0°~180°;l2为关节连杆2,其长度为250mm,可变角度为0°~100°。另外,由于机械手的关节编码器采取的是编码器工作模式,因此在每次调用运动程序时需对机械臂进行初始化操作。关节坐标系和平面直角坐标系之间的坐标切换表达式为

(9)

其中,x、y分别是关节2在直接坐标系中的坐标;q1、q2是关节1在空间坐标系中转过的角度。

图7 采摘机械手动力学空间结构图Fig.7 The manual mechanical space structure diagram of picking machine

根据式(9)可以计算出关节2末端在X-Y平面的位置,然后便可以实现对机械手的运动控制,计算表达式为

(10)

结合式(9)和式(10),可得运动学逆运算的表达式为

(11)

控制服务器是对机械臂关节进行直接的处理,对机械手进行控制时,需要计算机械臂已经走过的距离,及其当前位置,而该距离的计算通常采用脉冲进行计算,该计算表达式为

(12)

其中,s为关节运动到目标位置的绝对距离。

距离计算公式为

(13)

其中,β为机械手关节2转过的角度。

3.2 采摘机械手避障原理

在机械手和障碍物目标相切或者重叠时,表明有发生碰撞的可能,否则碰撞可能性为0。因此,在机械手运动控制的过程中,只需要考虑机械手和障碍物目标相切或者重叠的情形,便可以实现避障。为了判断机械手和障碍物发生碰撞的可能性,本文采用人工势场法对机械手和障碍物表面排斥力进行分析,并用dsafe和dmin分别表示机械手靠近障碍物的安全距离和极限距离;d为机械手和障碍物表面的最小距离。机械手和障碍物表面的距离关系如图8所示。

图8 机械手和障碍物表面的距离Fig.8 The distance between the robot and the surface of the obstacle

如图8所示:根据d、dlim、dsafe3点与机械手平面直接的距离计算排斥力,即

(14)

其中,K为比例系数;fmax为最大排斥力。K和fmax之间的关系为

(15)

当机械手向障碍物靠近时,d

4 实验与结果分析

为了验证采摘机械手运动控制及避障系统的实时性与可靠性,本文利用MatLab进行了仿真试验。在试验中,设定步长对0.5°,实现目的是测试机械手是否具备对空间障碍物进行有效避障及重新规划路径的能力。仿真结果如图9所示。

图9 机械手避障仿真图Fig.9 The obstacle avoidance simulation diagram of manipulator

如图9所示:机械手沿着x轴正方向前进,在步进180次时达到A点,此时,与一障碍物达到了最大排斥力fmax,因此系统采取了避障措施,成功绕过了该障碍物。实验结果表明:该系统碰到障碍物时,能够以最优的圆弧路径避开障碍物向目标点靠近,优化效果明显,具有很强的避障及路径规划能力。

5 结论

首先对采摘机械手远程运动控制系统框架进行阐述;然后着手对系统整个软硬件进行了有效设计;最后通过对机械手的运动过程进行建模,计算和分析了运动控制及避障的原理,实现了采摘机械手运动控制及避障系统。实验结果表明:该系统碰到障碍物时,能够以以最优的圆弧路径避开障碍物向目标点靠近,优化效果明显,具有很强的避障及路径优化能力。

猜你喜欢

表达式机械手障碍物
一种用于厢式压滤机的可调节悬浮机械手
基于机器视觉的开关操纵机械手研究
灵活选用二次函数表达式
高低翻越
表达式转换及求值探析
人体体感感知机械手设计与实现
赶飞机
拆弹帮手
浅析C语言运算符及表达式的教学误区
月亮为什么会有圆缺