APP下载

一种基于最小二乘法的移动机器人拾取臂控制系统研究*

2020-06-21邱炯智张宪文李汶杰王天雷张京玲刘家辉陈江源

机电工程技术 2020年5期
关键词:手爪移动机器人舵机

邱炯智,张宪文,李汶杰,王天雷,张京玲,刘家辉,陈江源

(五邑大学智能制造学部,广东江门 529020)

0 引言

移动机器人主要由行走机构、机械臂、摄像头、图像识别与处理,以及控制系统等构成[1],根据不同用途,其机械臂的结构也不同[2-5]。本文研究的机械臂配置在移动机器人上,该机器人带有视觉识别与图像处理,由图像采集模块、无线路由、计算机等组成。工作时,安装在车体前端摄像头捕捉到网球信息,路由器进行数字信号无线传输,由计算机进行图像处理、计算目标物位置,系统采集目标物位置信息,控制机械臂完成定点取放。图像采集处理系统硬件结构和图像识别定位算法流程如图1、2所示。

图1 图像采集处理系统硬件结构

图2 识别定位系统流程图

1 机械臂机构分析

机械臂有4个自由度,由4个舵机驱动。舵机1、舵机2分别控制机械臂大臂、小臂的转动,舵机3控制机械臂在底座上水平方向的转动,舵机4控制机械臂末端执行器手爪开合,选配不同手爪,实现对不同物体的取放,如图3所示。该机械臂可安装在移动机器人底盘上。

图3可简化为如图4(a)所示的结构简图,仔细分析可知,该结构实际为二连杆机构,如图4(b)所示。

图3 机械臂结构

图4 机械臂机构分析

图5所示为yoz面机械臂机构,图中W表示机械臂水平转动自由度,由舵机3控制。舵机1、舵机2分别控制大臂、小臂运动,使末端执行器手爪到达目标物位置。末端执行器手爪到达目标物运动轨迹曲线采用分段控制,本文第3章详细分析。

图5 机械臂yoz面运动分析

图中,θ1、θ2分别是舵机1、舵机2控制杆l1、杆l2的转动角度,机械臂末端执行器手爪位置坐标为P(y,z),手爪位置的数学模型为:

2 机械臂控制系统设计

控制系统原理如图6所示。控制器从接收到的指令中解析出目标点的位置信息,然后结合3个舵机的控制函数计算出每个舵机的角度,分别输出对应的脉宽调制信号给各个舵机,实现对机械臂的控制。

图6 机械臂的开环控制系统

2.1 舵机控制原理

舵机由舵盘、位置反馈电位器、减速齿轮组、直流电机和控制电路组成。电机驱动减速齿轮组,输出轴的位置检测是由一个具有线性比例特性的位置反馈电位器完成,控制电路将电位器的反馈电压与外部输入控制脉冲进行比较,产生矫正脉冲,达到转角精确控制,控制原理如图7所示。

图7 舵机控制原理图

脉冲宽度调制是一种模拟控制方法,是利用微处理器的数字输出来对模拟电路进行控制。舵机的输入信号是频率为50 Hz的脉宽调制(PWM)信号,脉冲宽度与舵机转角对应关系如图8所示。

图8 输入PWM与舵机输出角度关系

2.2 系统硬件

系统硬件组成如图9所示,主控芯片采用32位处理器内核的ARM Cortex-M3系列的单片机,选择适合于微控制器应用的三级流水线,运行速度快,同时加入了内核低功耗模式,减少了芯片的功耗。舵机驱动板采用PCA9685模块,可产生16路12位精度的脉宽调制(PWM)。工作时系统向外提供波特率为115 200 Bd/s的TTL电平标准串口协议通信接口,用于接收外界输入的字符指令。主控芯片处理串口接收到的指令,并通过IIC协议控制PCA9685模块输出PWM信号控制机械臂,执行完后通信接口返回操作成功的指令。

图9 机械臂控制系统硬件组成框图

2.3 系统软件

系统接受和返回的指令都以ASCII符号“#”开头,以ASCII符号“!”结尾,以ASCII符号“,”为间隔,接收指令表和返回指令表如表1和表2所示。

表1 机械臂系统接收指令表

表2 机械臂系统返回指令表

图10 系统软件流程图

系统从串口接收、解析指令,操作指令则解析出目标点位置信息,再结合3个舵机的控制函数计算出各舵机角度,分别对各个舵机输送对应的脉宽调制信号,实现对机械臂的控制,并通过串口反馈执行情况,如果是查询指令则返回机械臂数据,系统软件流程如图10所示。

移动机器人的图像识别定位将目标物与机器人的距离计算后,输送到机械臂控制系统,通过舵机1、舵机2和舵机3实现目标物的取放。末端运动过程要从P0开始,通过P1到达P2,即沿轨迹曲线Ⅰ和轨迹曲线Ⅱ达到目标点,参看图5。机械臂末端沿轨迹曲线Ⅰ的空间运动,不会出现干涉、碰撞现象。末端由P1下移到目标物P2时,希望是沿一条垂直向下轨迹曲线Ⅱ,但舵机驱动的二连杆机构很难准确实现,本文采用近似曲线拟合。

3 机械臂末端定位标定

由式(1)可知,系统如能分别控制大、小臂转度θ1、θ2和水平转角φ,即能使末端执行器手爪到达拾取物位置。对式(1)求反函数,得:

由式(2)可看出,θ1、θ2的实现过程呈非线性耦合关系,且复杂,加之各连杆的几何参数误差,以及制造和安装过程中产生的连杆实际几何参数与理论参数值之间的偏差,并考虑大、小臂均为舵机驱动等。本文提出了一种简易标定方法,该方法可用于精度要求不很高的机械臂取放工作。

(1)机械臂工作范围确定

图11 大臂与小臂角度变化图

机械臂各杆尺寸分别为:大臂l1=140 mm,小臂长度l2=152 mm,手爪的高度为60 mm,机械结构限制抓取距离必须大于85 mm。将数据代入机械臂数学模型,在Matlab平台分析,绘制出大小臂的角度随目标点距离变化曲线,如图11所示。确定拾取范围为:最近点85 mm,最远点285 mm。

(2)机械臂末端位置标定

系统舵机驱动选用PCA9685模块,输出频率设定为50 Hz,输出信号为12位分辨率(4 096级)的PWM信号的占空比。

占空比n=Di/4 069,其中Di为设定数据。设定数据Di与输出PWM的占空比n呈线性关系,显然,设定数据Di也与舵机的转角呈线性关系。

末端位置标定方法按是否需要外部测量设备可以分为开环标定和闭环标定两大类[6-7]。本文采用开环标定方法,设计了用于末端定位标定系统,包括一套专门用于本系统的控制指令表,供外接设备介入本系统控制机械臂,如图12所示。

标定时,点动按键操作该系统可分段控制各舵机转动从P0准确到达目标点P1、P2,执行完成后,PC机采集各舵机运行时产生的Di数据,进行最小二乘法分段多次拟合,使轨迹曲线逐步平滑。

图12 标定系统

(3)舵机控制曲线最小二乘法分段拟合

控制舵机曲线F(x)是根据Di与样本点距离臂回转中心尺寸xi进行分段拟合[8],最小二乘法分段曲线拟合方程为:

式中:xi为标定样本点距离臂回转中心尺寸。

具体方法为:将机械臂固定在工作平台上,在抓取范围内的确定高度,设置10个标定样本点,如图5所示。点动控制舵机1、2沿曲线Ⅰ、Ⅱ运动,读取运动过程产生的数据Di(Di=n×4 069),如表3所示。分别与10个标定样本点的距离数据进行最小二乘法分段曲线拟合,得出两段机械臂运动控制曲线。

表3 采样读取Di值 (Di=n×406 9)

在Matlab平台将实验测量数据进行曲线拟合,分别得到轨迹曲线Ⅰ、Ⅱ的舵机1、舵机2对应的数据拟合曲线Fij(x),如图13所示,及拟合方程系数如表4所示。

图13 舵机数据回归分析仿真图

表4 二次拟合方程系数表

机械臂大小臂角度回归拟合优度R2分别为0.997 3和0.993 4,拟合程度较好,可用于对机械臂的开环控制系统。

(4)工作过程与测试分析

系统工作时,根据视觉识别系统提供的位置信息,判断目标物已在拾取范围后,主控芯片将收到抓取指令;先控制舵机3转动到目标点正前方向,然后打开手爪;再根据距离xi,调取舵机控制拟合方程f11(x)、f12(x),获得曲线Ⅰ阶段的设定数据Di值,计算PWM信号的占空比n,控制舵机1和舵机2完成轨迹曲线Ⅰ的运动,到达目标点上方;同理,根据拟合方程f21(x)、f22(x),得到相应的设定数据Di值,控制舵机1和舵机2完成轨迹曲线Ⅱ的运动,下行到达目标点;舵机4控制手爪闭合完成目标物抓取,并提取上行。完成一轮抓取指令操作。

实际测试时抓取的目标物为网球,如图14所示。测试结果表明,该方法抓取目标物的成功率可达100%。定位精度可控制在2~3 mm。

图14 实际抓取测试图

4 结束语

本文设计了一种基于最小二乘法的移动机器人拾取系统,采用ARM处理器作为主控芯片,PCA9685作为驱动模块的拾取臂控制系统。对占空比中的Di值与拾取位置xi之间的关系,进行了最小二乘法的曲线拟合,并设计了一套专门用于该系统的控制指令表,供外接设备介入该系统控制机械臂。

测试和实践表明,该方法抓取目标物的成功率可达100%。定位精度可控制在2~3 mm。简化了机械臂控制系统,适用于对精度要求不特别高工作场合。

猜你喜欢

手爪移动机器人舵机
移动机器人自主动态避障方法
一种气动软体手爪熔模铸造工艺研究
含齿隙弹载舵机的全局反步模糊自适应控制
针对旋转手爪的结构设计与分析
基于dsPIC单片机的飞艇舵机控制实现
中科大机器人柔性手爪在机器人世界盃上获奖
基于Twincat的移动机器人制孔系统
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制
极坐标系下移动机器人的点镇定