一种具有力控制的六自由度机械臂标准汉字书写方法

文档序号:10637245阅读:510来源:国知局
一种具有力控制的六自由度机械臂标准汉字书写方法
【专利摘要】本发明属于机械臂控制技术领域,具体涉及一种具有力控制的六自由度机械臂标准汉字书写方法。一种具有力控制的六自由度机械臂标准汉字书写方法,包括汉字轮廓信息提取、机械臂末端轨迹规划、阻抗控制方法设计、接触面位置寻找和书写过程的力控制:具体包括:基于Windows自带的TTF字库提取汉字的轮廓点位置信息,并把轮廓曲线分为直线和样条曲线;将提取出的汉字轮廓位置坐标转化为机械臂末端执行器笛卡尔空间的坐标。本发明使用六自由度机械臂完成力控制下的汉字书写任务,对工业机械臂具有通用性,可广泛应用于实践教学、科技展览中,也可以用于工业领域完成喷涂、雕刻等任务,可以在脆性物体上书写,保证了书写的精确性与安全性。
【专利说明】
一种具有力控制的六自由度机械臂标准汉字书写方法
技术领域
[0001] 本发明属于机械臂控制技术领域,具体涉及一种具有力控制的六自由度机械臂标 准汉字书写方法。
【背景技术】
[0002] 机械臂目前已经广泛应用于航天、医疗及工业生产领域,虽然近年来出现了专门 用于书写汉字的机械臂,但大多是模仿名人书写或进行书法绘制,使用小型低自由度的执 行机构完成任务,用于家庭或办公环境中,这类书法机器人特点是低自由度手臂的结构设 计或对手写汉字的模仿。工业机械臂精度高且速度快,设计一种专门针对典型六自由度机 械臂的标准汉字书写系统十分必要,标准汉字的书写系统可以用于实践教学、科技展览,也 可以用于工厂中完成喷涂、绘制等任务。
[0003] 当机械臂汉字书写系统应用于特殊的工业场合时,如雕刻、脆性物体或不平滑表 面上的书写等,机械臂书写汉字时只进行位置控制无法保证写字的精度和安全性,在书写 过程中对机械臂加入力约束十分必要,目前没有在工业机械臂汉字书写系统中加入力控制 的研究。为了保证写字时的精度,不出现写字时力过大或过小的情况,需要在写字时使机械 臂末端以恒定力在接触面上书写。另外,具有力控制的机械臂在书写汉字时不需要手动对 接触面位置进行重复精确定位,可以直接根据机械臂末端的接触力估计接触表面的位置, 更加简单方便。
[0004] 本发明设计的系统针对典型的六自由度工业机械臂,具有力控制的标准汉字书写 系统的设计对工业机械臂的研究具有重要的借鉴意义,可直接应用于同结构类型的机械臂 控制及汉字书写任务中。

【发明内容】

[0005] 本发明的目的在于提供一种实现力控制下典型工业机械臂的汉字书写的具有力 控制的六自由度机械臂标准汉字书写方法。
[0006] 本发明的目的是这样实现的:
[0007] -种具有力控制的六自由度机械臂标准汉字书写方法,包括汉字轮廓信息提取、 机械臂末端轨迹规划、阻抗控制方法设计、接触面位置寻找和书写过程的力控制:
[0008] (1)基于Windows自带的TTF字库提取汉字的轮廓点位置信息,并把轮廓曲线分为 直线和样条曲线;
[0009] (2)将提取出的汉字轮廓位置坐标转化为机械臂末端执行器笛卡尔空间的x和y坐 标,分别对直线和样条曲线进行机械臂末端的轨迹规划;
[0010] (3)设计机械臂的阻抗控制方法,对机械臂末端的位置和力同时进行控制;
[0011] (4)设计六自由度机械臂寻找接触面的策略,计算接触面在笛卡尔空间的位置;
[0012] (5)在力控制下书写汉字;
[0013] 所述的步骤(1)具体为:
[0014] (1 ? 1)基于Windows自带的TTF字库,调用CFont类的CreateFont ()函数设置待书写 汉字的高度、宽度及字体;
[0015] ( 1 . 2)每个汉字包含若干条闭合轮廓,将其分为直线和样条曲线,使用 GetGlyphOutline()函数提取汉字的轮廓信息;
[0016] (1.3)创建文本文件,将轮廓位置坐标存入文本文件中。
[0017]所述的步骤(2)具体为:
[0018] (2.1)读取文本文件中的轮廓曲线位置坐标,将读取的平面坐标值分别转化为机 械臂末端执行器在笛卡尔空间的x和y坐标;
[0019] (2.2)对直线轮廓线进行直线轨迹规划,通过归一化参数确定起点与终点间中间 点的坐标,归一化参数采用抛物线过渡的线性函数,保证机械臂末端在书写汉字时速度连 续;
[0020] (2.3)对样条轮廓线进行样条轨迹规划,通过抛物线函数拟合样条曲线,采用等弦 长的方法得到插补点的位置坐标;
[0021] (2.4)依次将轨迹规划后的位置坐标作为机械臂期望的末端位置发送给控制器。 [0022]所述的步骤(3)具体为:
[0023] (3.1)采用基于位置的控制方法,控制内环为位置控制环,外环使用阻抗控制器将 力偏差转化为位置偏差;
[0024] (3.2)使用力传感器测量机械臂末端与环境的实际接触力,将期望接触力与实际 接触力的差值输入阻抗控制器;
[0025] (3.3)将期望位置与阻抗控制器输出的位置差同时输入到位置控制内环中,控制 机械臂同时满足期望力与期望位置。
[0026]所述的步骤(4)具体为:
[0027] (4.1)将机械臂末端的期望力设为安全范围内的某一值Fo,并发送给阻抗控制器, 并控制其运动直至满足期望力要求,此时机械臂末端与接触面接触;
[0028] (4.2)接触力到达Fo后,把期望力置为0N,接触力减小到0N时的位置即为接触面的 位置;
[0029] (4.3)读取此时机械臂的关节角,通过机械臂运动学方程计算机械臂末端的位置, 即为接触面在笛卡尔空间的位置。
[0030] 所述的步骤(5)具体为:
[0031] (5.1)书写汉字时的期望力根据实际需要设定在安全范围内,并保证接触力满足 精度要求;
[0032] (5.2)将轨迹规划后的位置(1,7,0)与接触面的位置(0,0,2)作为期望位置(^ 7, z),发送给位置控制器;
[0033] (5.3)控制机械臂书写汉字,同时满足期望位置与期望力,并且接触力保持恒定。
[0034]本发明的有益效果在于:
[0035]本发明使用六自由度机械臂完成力控制下的汉字书写任务,对工业机械臂具有通 用性,可广泛应用于实践教学、科技展览中,也可以用于工业领域完成喷涂、雕刻等任务,可 以在脆性物体上书写,保证了书写的精确性与安全性。
【附图说明】
[0036] 图1是本发明基于六自由度机械臂的汉字书写系统的结构框图;
[0037] 图2是本发明中汉字提取与轨迹规划流程图;
[0038] 图3是本发明中机械臂的阻抗控制方法结构图。
【具体实施方式】
[0039 ]下面结合附图对本发明进行详细说明。
[0040] 本发明提供了一种具有力控制的六自由度机械臂标准汉字书写系统。针对目前很 少有人将工业机械臂应用在汉字书写任务中,但在实际喷涂、雕刻等任务中需求广泛等问 题,设计了六自由度机械臂的标准汉字书写系统;另外针对工业机械臂大多使用位置控制, 机械臂不具有柔顺能力,控制精度低且需要人反复精确定位等问题,设计了具有力控制的 汉字书写系统。首先,基于Windows自带的TTF矢量字库提取汉字的轮廓信息,将汉字的像素 点坐标转化为机械臂笛卡尔空间的位置坐标,对轮廓曲线进行直线和样条曲线轨迹规划; 然后,设计基于位置的阻抗控制方法,控制机械臂运动并寻找接触面的位置;最后,根据实 际需求将合适的期望力输入阻抗控制器,并计算得到机械臂的期望位置,通过阻抗控制方 法控制机械臂书写汉字,同时满足期望力与期望位置的要求。本发明使用六自由度机械臂 完成力控制下的汉字书写任务,对工业机械臂具有通用性,可广泛应用于实践教学、科技展 览中,也可以用于工业领域完成喷涂、雕刻等任务,可以在脆性物体上书写,保证了书写的 精确性与安全性。
[0041] 本发明采用了以下技术方案:
[0042] 具有力控制的六自由度机械臂的标准汉字书写系统,包括汉字轮廓信息提取、机 械臂末端轨迹规划、阻抗控制方法设计、接触面位置寻找和书写过程的力控制。其中:
[0043] (1)基于Windows自带的TTF字库提取汉字的轮廓点位置信息,并把轮廓曲线分为 直线和样条曲线;
[0044] (2)将提取出的汉字轮廓位置坐标转化为机械臂末端执行器笛卡尔空间的x和y坐 标,分别对直线和样条曲线进行机械臂末端的轨迹规划,保证汉字的书写精确度;
[0045] (3)设计机械臂的阻抗控制方法,对机械臂末端的位置和力同时进行控制;
[0046] (4)设计六自由度机械臂寻找接触面的策略,计算接触面在笛卡尔空间的位置;
[0047] (5)在力控制下书写汉字,确保在恒定的力控制下完成汉字书写任务。
[0048]在一些实施方式中,汉字轮廓信息提取具体为:
[0049] (1)基于Windows自带的TTF字库,调用CFont类的CreateFontO函数设置待书写汉 字的高度、宽度及字体;
[0050] (2)每个汉字包含若干条闭合轮廓,将其分为直线和样条曲线,使用 GetGlyph0utline()函数提取汉字的轮廓信息;
[0051 ] (3)创建文本文件,将轮廓位置坐标存入文本文件中。
[0052]在一些实施方式中,机械臂末端的轨迹规划具体为:
[0053] (1)读取文本文件中的轮廓曲线位置坐标,将读取的平面坐标值分别转化为机械 臂末端执行器在笛卡尔空间的X和y坐标;
[0054] (2)对直线轮廓线进行直线轨迹规划,通过归一化参数确定起点与终点间中间点 的坐标,归一化参数采用抛物线过渡的线性函数,保证机械臂末端在书写汉字时速度连续;
[0055] (3)对样条轮廓线进行样条轨迹规划,通过抛物线函数拟合样条曲线,采用等弦长 的方法得到插补点的位置坐标;
[0056] (4)依次将轨迹规划后的位置坐标作为机械臂期望的末端位置发送给控制器。
[0057]在一些实施方式中,阻抗控制方法设计具体为:
[0058] (1)采用基于位置的控制方法,控制内环为位置控制环,外环使用阻抗控制器将力 偏差转化为位置偏差;
[0059] (2)使用力传感器测量机械臂末端与环境的实际接触力,将期望接触力与实际接 触力的差值输入阻抗控制器;
[0060] (3)将期望位置与阻抗控制器输出的位置差同时输入到位置控制内环中,控制机 械臂同时满足期望力与期望位置。
[0061 ]在一些实施方式中,计算接触面在笛卡尔空间的位置具体为:
[0062] (1)将机械臂末端的期望力设为10N并发送给阻抗控制器,并控制其运动直至满足 期望力要求,此时机械臂末端与接触面接触;
[0063] (2)接触力到达10N后,把期望力置为0N,接触力减小到0N时的位置即为接触面的 位置;
[0064] (3)读取此时机械臂的关节角,通过机械臂运动学方程计算机械臂末端的位置,即 为接触面在笛卡尔空间的位置。
[0065]在一些实施方式中,在力控制下书写汉字具体为:
[0066] (1)书写汉字时的期望力根据实际需要设定在安全范围内,并保证接触力满足精 度要求;
[0067] (2)将轨迹规划后的位置(x,y,0)与接触面的位置(0,0,z)作为期望位置(x,y,z), 发送给位置控制器;
[0068] (3)控制机械臂书写汉字,同时满足期望位置与期望力,保证书写汉字时字迹清晰 且运动连续,并且接触力保持恒定。
[0069] (1)汉字轮廓信息提取
[0070]基于Windows自带的TTF矢量字库提取汉字的轮廓:每个TTF字符是由多个轮廓组 成的,每条轮廓的信息存储在一个TTP0LYG0NHEADER和多个TTP0LYCURVE数据结构中,轮廓 信息包括轮廓字节数、轮廓类型、轮廓起始点及像素点数据,其中轮廓类型分为直线和样条 曲线。
[0071] 参见图2,调用CFont类的CreateFont函数创建逻辑字体,其中,参数nHeight和 nWidth分别指定字符的高度和宽度,IpszFace指定字体的字样名;将创建的字体置于设备 上下文中,调用GetGlyphOutline函数获得字符的轮廓信息,参数lpvBuffer指向存放点的 位置信息的缓冲区;遍历汉字的所有轮廓线上的像素点,并将提取的P0INTFX类型的位置坐 标保存在数组中;创建文本文件,将像素点的位置坐标存入文本文件中,并对每条轮廓线的 类型及起点与终点进行标记。
[0072] (1)机械臂末端轨迹规划
[0073]参见图2,读取文本文件中的像素点位置坐标Q(x,y),将其转化为机械臂笛卡尔空 间的位置坐标P(X,y),转换公式为: \P{x) = ? (x) x ff - Q{x) x R + Max{x)
[0074] {
[^(y) = Q](y) x R - Q(y) y~ R + Max(y)
[0075] 其中,Qi(x,y)为起始点的像素坐标,Max(x,y)为末端位置的上限位,R为转换系 数。
[0076] 对直线轮廓线进行直线轨迹规划,在轮廓线起点(XI,yi)与终点(X2,y2)间插入多 个中间点,中间点的位置坐标(x,y)为: \x = x, + IAjt
[0077] "
[7 = ^ + AAr
[0078] 其中,(AX,Ay)为位置增量,A是归一化参数,采用抛物线过渡的线性函数,在起 点与终点的邻域使用一段抛物线型的缓冲区,保持加速度不变,使期望轨迹的位置和速度 均保持连续。
[0079] 假设机械臂在直线段中的运动速度为V,抛物线段部分的加速度为a,则抛物线段 的时间Tb和位移Lb为:
[0081] 待插补直线的位移L与时间T为:
[0084]将抛物线段的时间、位移和加速度归一化:
[0086]得到归一化参数A关于时间t的分段离散函数:
[0088] 其中,t = i/N(i = 0,1,…,N),N为插值点的个数;0彡入彡1,当位于起点时,A = 〇;位 于终点时,X=l。
[0089 ]根据归一化参数计算直线轨迹规划的中间点的位置坐标。
[0090] 对样条曲线进行样条轨迹规划,假设已知样条曲线上三个点的坐标,依次设为A (x,y),B(x,y),C(x,y),插值点的坐标为P(x,y)。根据三切线定理构造抛物线,插值点P位于 从A到C的抛物线上,计算公式为:
[0091] P(t) = (l-t)2A+2t(l-t)B+t2C
[0092] 其中,0<t<l,当位于点A时,t = 0;位于点C时,t = l。
[0093] 设点M为线段AC的中点,当t变化A t时,前后两点P的弦长A P⑴为:
[0094] Ap(t) = 2At(2tM + AB)
[0095] 采用等弦长的方法计算插值点的坐标,即AP(t)=S,S为定值,则At的值为:
[0096] At = 5/(2 2tBM + j4B)
[0097]将t = t+A t代入抛物线方程中,得到插值点的坐标P(x,y)。
[0098] (2)阻抗控制方法设计
[0099] 参见图3,为了同时控制接触力与接触位置,采用基于位置的阻抗控制方法,由位 置控制内环和阻抗控制外环组成。使用传感器检测机械臂与环境的实际接触力,将期望力 与实际力的偏差输入阻抗控制器中,转化力控制方向上的位置偏差,将力控制方向上的位 置偏差与期望位置使用机械臂逆运动学算法转化为期望关节角,输入位置控制内环,位置 控制内环中的位置控制器使用PID控制。
[0100] 理想阻抗控制的数学模型为:
[0101] Md[_x(t) - + + Kd[x(t) - Jrf(0] = Fit)
[0102] 其中,Md、Bd和Kd分别为阻抗模型的期望惯性矩阵、期望阻尼矩阵和期望刚度矩阵, 为半正定对角阵;x(t)、和1〇)分别为实际位置、速度和加速度;Xd(t)、尤⑷和<〇)分 别为期望位置、速度和加速度;E(t)=F(t)-Fd(t)为实际接触力与期望接触力的差值。
[0103] 对阻抗控制的数学模型进行拉氏变换,得到期望的阻抗特性:
[0105] 其中,5X(S)=X(S)-Xd(s)为机械臂实际位置与期望位置的差值。
[0106] (3)接触面位置寻找
[0107] 书写汉字时的期望位置坐标(x,y)已知,需要得到接触面在笛卡尔空间的位置:将 阻抗控制的期望力置为10N,控制机械臂运动,当使用力传感器检测到的实际接触力满足要 求后,机械臂停止运动,此时机械臂末端与接触面接触;将期望力置为0N输入阻抗控制器, 机械臂向减小接触力的方向运动,直到接触力减小为0N停止运动,此时机械臂末端执行器 的位置即为接触面的位置。
[0108] 通过编码器读取机械臂的六个轴的关节角(01,02,03,04,0 5,06),根据机械臂的正 运动学方程计算此时机械臂末端执行器的位置(10,70,2()),则接触点的位置坐标为(1(), 70, Z0) 〇
[0109] (4)力控制下书写汉字
[0110] 由于不同接触物体的刚度不同,在机械臂书写汉字时需要的力也不同,根据实际 书写环境的需求向阻抗控制器输入合适的期望力,控制机械臂书写汉字时的接触力满足期 望要求。
[0111]根据轨迹规划后的位置坐标(x,y)与接触面位置(XQ,yQ,z())得到书写汉字时的期 望位置(X,y,ZQ),控制机械臂运动到期望位置后发送下一个位置坐标,在完成一条轮廓曲 线书写后回到本条轮廓线的起点处,保证轮廓曲线闭合;完成一条曲线绘制后控制机械臂 离开接触面一段距离,并运动到下一条轮廓线的起点位置,然后控制机械臂与接触面接触, 绘制轮廓曲线;依次执行,直到完成所有汉字的绘制。
【主权项】
1. 一种具有力控制的六自由度机械臂标准汉字书写方法,包括汉字轮廓信息提取、机 械臂末端轨迹规划、阻抗控制方法设计、接触面位置寻找和书写过程的力控制,其特征在 于: (1) 基于Windows自带的TTF字库提取汉字的轮廓点位置信息,并把轮廓曲线分为直线 和样条曲线; (2) 将提取出的汉字轮廓位置坐标转化为机械臂末端执行器笛卡尔空间的X和y坐标, 分别对直线和样条曲线进行机械臂末端的轨迹规划; (3) 设计机械臂的阻抗控制方法,对机械臂末端的位置和力同时进行控制; (4) 设计六自由度机械臂寻找接触面的策略,计算接触面在笛卡尔空间的位置; (5) 在力控制下书写汉字; 所述的步骤(1)具体为: (1 · 1)基于Windows自带的TTF字库,调用CFont类的CreateFont ()函数设置待书写汉字 的高度、宽度及字体; (1.2) 每个汉字包含若干条闭合轮廓,将其分为直线和样条曲线,使用GetGlyphOutl ine()函数提取汉字的轮廓信息; (1.3) 创建文本文件,将轮廓位置坐标存入文本文件中。2. 根据权利要求1所述的一种具有力控制的六自由度机械臂标准汉字书写方法,其特 征在于: 所述的步骤(2)具体为: (2.1) 读取文本文件中的轮廓曲线位置坐标,将读取的平面坐标值分别转化为机械臂 末端执行器在笛卡尔空间的X和y坐标; (2.2) 对直线轮廓线进行直线轨迹规划,通过归一化参数确定起点与终点间中间点的 坐标,归一化参数采用抛物线过渡的线性函数,保证机械臂末端在书写汉字时速度连续; (2.3) 对样条轮廓线进行样条轨迹规划,通过抛物线函数拟合样条曲线,采用等弦长的 方法得到插补点的位置坐标; (2.4) 依次将轨迹规划后的位置坐标作为机械臂期望的末端位置发送给控制器。3. 根据权利要求1所述的一种具有力控制的六自由度机械臂标准汉字书写方法,其特 征在于: 所述的步骤(3)具体为: (3.1) 采用基于位置的控制方法,控制内环为位置控制环,外环使用阻抗控制器将力偏 差转化为位置偏差; (3.2) 使用力传感器测量机械臂末端与环境的实际接触力,将期望接触力与实际接触 力的差值输入阻抗控制器; (3.3) 将期望位置与阻抗控制器输出的位置差同时输入到位置控制内环中,控制机械 臂同时满足期望力与期望位置。4. 根据权利要求1所述的一种具有力控制的六自由度机械臂标准汉字书写方法,其特 征在于: 所述的步骤(4)具体为: (4.1)将机械臂末端的期望力设为安全范围内的某一值F〇,并发送给阻抗控制器,并控 制其运动直至满足期望力要求,此时机械臂末端与接触面接触; (4.2) 接触力到达Fo后,把期望力置为0N,接触力减小到ON时的位置即为接触面的位置; (4.3) 读取此时机械臂的关节角,通过机械臂运动学方程计算机械臂末端的位置,即为 接触面在笛卡尔空间的位置。5.根据权利要求1所述的一种具有力控制的六自由度机械臂标准汉字书写方法,其特 征在于: 所述的步骤(5)具体为: (5.1) 书写汉字时的期望力根据实际需要设定在安全范围内,并保证接触力满足精度 要求; (5.2) 将轨迹规划后的位置(1,7,0)与接触面的位置(0,0,2)作为期望位置(1,7, 2),发 送给位置控制器; (5.3) 控制机械臂书写汉字,同时满足期望位置与期望力,并且接触力保持恒定。
【文档编号】B25J9/16GK106003033SQ201610423392
【公开日】2016年10月12日
【申请日】2016年6月16日
【发明人】朱齐丹, 谢心如, 夏桂华, 李超, 蔡成涛, 张智, 吕晓龙, 刘志林
【申请人】哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1