本发明属于工业机器人技术领域,具体涉及工业机器人定位装置。
背景技术:
在工业机器人领域,大部分机器人均采用巡线或巡磁的方式进行定位,通过使机器人单轴移动的方式,提高机器人的定位精度。然而这在实际工业生产中远远不够,人们更希望实现多方向的高精度定位。本发明旨在解决这样一个问题,通过全向从动轮与编码器的组合装置,对机器人进行精准的全场定位。最终实现的效果为10米之内定位精度1厘米之内,误差小于千分之一。目前这个方案尚未应用于在工业机器人领域,我们首次在工业机器人进行尝试,最终指标达到国内领先、世界一流的水平。
技术实现要素:
本发明目的在于提出一种基于全向从动轮和编码器的工业机器人定位装置,以实现对机器人进行精准的全场定位。
本发明提供的基于全向从动轮和编码器的工业机器人定位装置,其结构如图1所示,包括:滑块、导轨、从动全向轮、联轴器、编码器、轮座、硬质弹簧、顶板等;其中,上方顶板横置,滑块和硬质弹簧的上端分别固定连接于顶板下方;滑块和导轨通过滑动方式连接,导轨在固定滑块控制下作上下垂直移动;其余部件随导轨垂直移动;轮座的一侧与导轨的侧面固定,轮座的顶端与硬质弹簧的下端连接,并穿过硬质弹簧与顶板连接;从动全向轮通过联轴器与轮座连接,并可自由旋转;编码器安放在联轴器上,随从动全向轮以相同角速度旋转;轮座以及与之连接的从动全向轮通过联轴器随导轨垂直移动。
本发明中,从动全向轮为两个一组的正交的轮子(即两个轮子的轴正交),如图3所示。
本发明中,从动全向轮随着整个工业机器人一同运动,并分解为两个轴跟随机器人移动,把机器人移动距离转化成从动全向轮移动的圈数和角度;编码器用于读取全向轮移动的距离信息(运动圈数和角度),并转化到处理器中;联轴器可保证编码器和从动轮全向轮移动状态完全相同。在机器人移动时,两个正交的从动轮分别累计机器人移动的x,y轴距离,由编码器读取数据,最终输出机器人的坐标信息。
本发明中,机器人控制器为STM32F103,这是一款常用的单片机,基于c语言编程。编码器将转动的距离和角度信息转化为单片机可读的脉冲数,通过累计脉冲数的多少来确定这个轴的移动距离。而正交分解是把平面运动转化为两个轴的运动的一种方式,在单片机上计算出机器人在平面的位置信息,并且把这个信息传递给计算机或者输出到屏幕上。
本发明中,通过顶板、滑块和导轨的结构,保证了轮座和从动全向轮严格垂直于地面;通过顶板和硬质弹簧的结构,保证从动全向轮与地面的充分接触,既不会过度受力,也不会悬空。基于这两种结构,使从动全向轮与工业机器人在全向从动轮转动方向保持完全相同的运动状态。
本发明中,通过从动全向轮和轮座、联轴器的结构,使得全向从动轮和编码器旋转的角度和角速度完全相同,使工业机器人在这个方向移动的速度、加速度都可以通过编码器,转化为电平信号,被单片机获取。
本发明中,从动全向轮3采用两个正交的轮子,可以通过编码器和全向从动轮测量出两个正交方向的位移,从而获取工业机器人在两个正交方向移动的距离,进而得到机器人的平面坐标。图2即为全向从动轮的外形图,图3为全向从动轮正交放置的结构示意图。
机器人作为整体,其在一个平面内具有三个自由度,两个方向上的位移和绕竖直轴的旋转。通过两个正交的编码器和一个陀螺仪可以实时确定机器人的位置与位姿。
本发明采用全向轮,由编码器记录与全向轮轴向垂直的分运动。使用正交的全向轮,就可以测出两个正交轴系的相对位移,计算出当前地面坐标。
本发明采用直线模型,即每一段线路都微分为无数段直线。假设初始时刻,码盘中心坐标为(0,0),角度为0°,此时机器人坐标系(相对于机器人,随着机器人运动而变化)和世界坐标系(相对于场地启动区,不变)是重合的。在图4中标有某一时刻的坐标和角度(以逆时针为正),下一周期计算的两个全向从动轮的位移增量(相对于机器人坐标系)分别为i和j。i和j的计算方法为:单位时间内编码器增量/2000*定位轮周长。把i和j增量投影到世界坐标系上,得出在世界坐标系中x和y方向的增量dx和dy :
dx=i∗cosθ−j∗sinθ
dy=i∗sinθ+j∗cosθ
再将dx和dy累加,便可计算出当前的坐标,角度θ则由陀螺仪测得。在计算坐标时会有近似,路程越长累计误差越大。一旦车体发生旋转,上面的公式就存在问题,因为在计算时θ是不变的。经测试车体在10ms内可以转过1°,一般情况下小于0.5°,因此在角速度较大的情况下计算的坐标误差较大。
以下对可能出现的误差进行理论分析:
实际情况中,误差总是不可避免,为了研究误差对机器人控制的影响以及提高定位精度,下面对正交码盘定位的误差进行分析。
1. 角度误差:
θ的误差主要来源于机器人起始位置时θ的确定和运动过程中陀螺仪的反馈,设偏差为dθ,则实际增量为:
d_x= di*cos(dθ+θ)−dj∗sin(dθ+θ)
d_y= di*sin(dθ+θ) + dj∗cos(dθ+θ)
对于每一段单位时间内的微小直线,
测量位移:
实际位移:
目标终点到实际终点的距离:
相对误差:
δ=ds/s_
δ也可由三角形余弦定理直接求出,dθ一定时,相对误差δ与θ无关,与di/dj无关,作矢量图可以有直观的认识。
δ与偏差dθ的关系如图5所示。
2.正交码盘误差:
实际情况下,正交码盘的角度存在一定偏差,使得机器人i方向与j方向不一定成90°。图6即为示例图。
图6所示为机器坐标系,设i方向偏差α,j方向偏差β。OA,OB为码盘增量,OC为实际位移增量,可得:
AC直线方程:(y-OA*sinα)=(x-OA*cosα)*tan(90+α)
BC直线方程:(y-OB*cosβ)=(x-OB*sinβ)*tan(180-β)
联解方程可得C(Δi,Δj):
di=(OA*cosβ-OB*sinα)/cos(α+β)
dj=(OB*cosα-OA*sinβ)/cos(α+β)
将di,dj代入坐标模型公式可得世界坐标增量:
d_x= (OA*cos(β-θ)-OB*sin(θ+α))/cos(β+α)
d_y= (OB*cos(θ+α)-OA*sin(β-θ))/cos(β+α)
理想情况下的位移:
实际情况下的位移:
目标终点到实际终点的距离:
相对误差:
δ=ds/s_
实际情况下,两个方向的偏差可以视为一个方向的偏差处理,以j方向为参考,即β=0,仅存在i方向角度偏差α,有以下结论:
(1)相对误差δ与θ无关;
(2)OA=OB的情况下,δ与偏差α的关系如图7所示。
3.全向轮结构误差:
如图8,R为运动曲率半径,r为全向轮小轮上的最大半径,S为量测轨迹长度,L为真实轨迹长度,则:
S=θ1*(R+r),S=θ2*(R-r)
L=R*(θ1+θ2)=R*[S/(R+r)+ S/(R-r)]
相对误差:
实际分析:
目前用的全向轮r=5.1mm,如果走一个半径1250mm的圆弧,相对误差δ只有-0.0017%;即使车体自旋,全向轮中心相对车体中心走一个半径500mm的圆弧,相对误差δ也只有-0.01%。
4.轮径误差:
定位轮真实半径为r,但在触地时,胶圈肯定会发生形变,设形变为Δr,相对误差δ=Δr/r,目前定位全向轮r=25mm,Δr=0.5mm是有可能发生的,则δ=2%,这个误差是直接线性反馈到定位上的,i方向或j方向的增量相对误差也是2%,如果车体沿x轴或y轴平动,位移相对误差也为2%。
5.地面不平:
如图9所示,两点间量测距离:
S=rθ
投影长度(真实距离):
L=2rsin(θ/2)
相对误差:
(单位:弧度)
实际分析:
假设20mm长的连续地面突起1mm,即L=20mm,d=1mm,则:r=50.5mm,θ=0.199337,δ=0.1658%。
因此,三个主要误差:角度信息、码盘正交的误差、轮径误差。而全向轮的结构误差和地面不平的误差可以被忽略。在后期制作中,我们尽量避免前三种误差,并进行算法优化如下:
1、选用更高质量、线数更高的编码器;
2、码盘正交误差:
假设码盘实际夹角为90°+α,j方向码盘沿理想直线走一直线段,di,dj分别为i方向码盘和j方向码盘的计数脉冲增量,则:
dj*sinα=di;
2.初始坐标系夹角θ与轮径d,
S*cosθ=Ly/2000*pi*d
S*sin(θ+α)=Ly/2000*pi*d。
由以上方式,经过数次优化,最终实现单轴移动精度10米内7毫米,多轴移动十米内误差1厘米。论证了该系统的可行性,并最终可应用于生产实践。
附图说明
图1整体模块装配图正视图。
图2全向从动轮结构示意图。
图3 正交全向从动轮结构示意图。
图4为正交全向从动轮模型示意图。
图5为角度相对误差δ与偏差dθ的关系。
图6为正交码盘误差示意图。
图7为OA=OB的情况下,δ与偏差α的关系。
图8为全向轮结构误差示意图。
图9为地面不平误差示意图。
图中标号:1为滑块、2为导轨、3为从动全向轮、4为联轴器、5为编码器、6为轮座、7为硬质弹簧、8为顶板。
具体实施方式
以下为专利具体装置的例子:
1、顶板尺寸为135毫米*135毫米的正方形铝板,厚度为10毫米,顶板与滑块呈垂直,同时也与导轨和硬质弹簧垂直;
2、我们选用上银品牌MGN15H型号导轨和MGN15H-1Y型号滑块,即导轨宽度15毫米,导轨和滑块之间流畅连接。导轨和滑块之间为平行关系;
3、硬质弹簧完全伸展的时候长度为70毫米,硬质弹簧和轮座为中心在同一直线的关系,与从动全向轮纵剖中心也在同一直线上。从动轮直径为4寸(101.6毫米);
4、从动全向轮轮轴方向与联轴器、编码器在同一直线上,联轴器轴孔直径为6毫米。它们运动时具有相同的角速度和旋转角度。编码器品牌为欧姆龙,型号为E6B2-CWZ6C。
以下为算法实现方式:
1、当机器人运动时,两个正交的从动全向轮分为两个正交轴随机器人一同运动。装置保证其运动的速度和机器人完全相同;
2、使从动全向轮的移动角速度和编码器旋转角速度完全一致,可以通过读取编码器获得从动全向轮的移动参数;
3、通过编码器读取编码器中的脉冲数量,把角度转化为数字电平的信号,从而获取机器人在两个正交方向的移动距离,并计算出机器人坐标;
4、通过正交算法、累计误差消除算法等,尽量减少装置测量的误差。最终实现机器人在平面上的精确定位。实现的定位精度高达10米之内误差小于1厘米,误差小于千分之一。