CN115096186A - 基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 - Google Patents
基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 Download PDFInfo
- Publication number
- CN115096186A CN115096186A CN202210741490.5A CN202210741490A CN115096186A CN 115096186 A CN115096186 A CN 115096186A CN 202210741490 A CN202210741490 A CN 202210741490A CN 115096186 A CN115096186 A CN 115096186A
- Authority
- CN
- China
- Prior art keywords
- data
- plate spring
- group
- range
- vision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 238000005259 measurement Methods 0.000 claims description 40
- 239000000463 material Substances 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,利用抗光干扰性强的2D视觉与激光测距,提供了一种更简易可靠、低成本的用于板簧类零件的三维位姿估算方法,价格比常规的3D视觉的方案便宜60%以上,定位精度可与3D视觉媲美并略高于一般3D视觉,且由于2D视觉自带光源,镜头增加滤镜,因此抗光干扰性比3D视觉好。本发明实际验证其定位误差为2.5mm,配合可浮动的电磁吸盘使用,对于板簧类工件的视觉引导抓取,精度足够满足要求。
Description
技术领域
本发明涉及汽车零部件技术领域,具体涉及一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法。
背景技术
汽车板簧的主要功能是作为汽车悬架系统的弹性元件,是汽车悬架系统中不可或缺的零部件。随着自动化技术的发展和工业制造的升级,板簧行业也越来越多的使用机器人协助或者代替人类完成作业,视觉引导机器人作业也变得越来越重要。在板簧自动上料工序,需要利用3D视觉引导机器人从料框中抓取板簧,且要求抓取板簧中心孔位置,然后放置到下一工序的托架或者辊道上。但3D视觉价格高昂,且技术门槛也较高,限制了客户的大批量使用。且3D视觉抗外界光干扰性较差,抗反光性较差,实际应用起来无法识别的情况较多,经常造成错误引导机器人导致撞击,损机械结构。
发明内容
为解决以上问题,本发明提供一种简易可靠、低成本、抗光干扰性强的基于2D视觉与激光测距的板簧类零件的三维位姿计算方法。
本发明采用的技术方案是:一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,首先机器人带动激光测距等间距横向扫描料框中的最上层板簧表面,之后通过分析处理激光测距采集到的数据,利用两个激光测距数据之差和三角函数关系求出料框中位置最高的那根板簧,作为目标板簧,计算目标板簧的倾斜角和中心高度,同时记录目标板簧距离第一个扫描点的横向距离Wx;然后机器人手臂调整倾斜角度和高度,使2D视觉镜头面平行于目标板簧上表面,再根据Wx调整2D视觉位置使镜头位于目标板簧的上方;然后2D视觉进行拍照识别,机器人根据当前拍照位置坐标和2D视觉反馈的板簧中心孔位置偏移坐标,计算出位置最高的板簧的三维位姿坐标,进而引导机器人用电磁吸盘抓取;具体包括以下步骤:
S0:开始时,将装有板簧的料框放入指定位置,已知料框内侧宽度为745mm,每层板簧码放数量为N;且工序规定:当板簧宽度Wx在90~99mm范围内时,N=7;当板簧宽度Wx在100~120mm范围内时,N=6;在系统中输入当前板簧的宽度信息Wx,并传送给机器人,然后启动机器人;
S1:机器人内部程序根据Wx值自动判断出每层码放板簧数量Nx,Nx的值为6或7;然后机器人手臂带动激光测距,从限位挡板8侧沿X坐标轴的正方向扫描测距,扫描起始点为固定点P1,坐标为{X1,Y1,Z1,RZ1,RY1,RX1};扫描过程中保持匀速,且速度为20mm/s-50mm/s,扫描过程中,机器人每前进距离为Ds时读取一次激光测距数值,即机器人从起始点P1前进Ds时,读取第一次数据;并分别用数组记录两个激光测距数值LA{1}、LA{2}、LA{3}…LA{10*Nx+10}和LB{1}、LB{2}、LB{3}…LB{10*Nx+10};测距间距Ds=745/Nx/10,总扫描点数为10*Nx个,即假设每一层板簧是等距均匀分布码放时,每一根板簧上均被激光测距扫描到10次;
S2:将S1步骤中通过激光测距所获取的数据分组,LA{1}、LA{2}…LA{10}为A1组,LA{11}、LA{12}、LA{13}…LA{20}为A2组…LA{Nx*10+1}、LA{Nx*10+2}、LA{Nx*10+3}…LA{Nx*10+10}为ANx组;LB{1}、LB{2}…LB{10}为B1组,LB{11}、LB{12}、LB{13}…LB{20}为B2组…LB{Nx*10+1}、LB{Nx*10+2}、LB{Nx*10+3}…LB{Nx*10+10}为BNx组;则理论上,A1和B1应该为第一块板簧所在区域的测距数据,A2和B2应该为第二块板簧所在区域的测距数据…ANx和BNx应该为第Nx块板簧所在区域的测距数据;
S3:对S2中分组的数据A1组和B1组进行分析处理:利用机器人的FOR循环指令,将A1组中第一个数据LA{1}分别与LA{2}-LA{10}的9个数据做减法,并记录差值在±2范围内的次数NA1{1};将A1组中第二个数据LA{2}分别与LA{1}、LA{3}-LA{10}的9个数据做减法,并记录差值在±2范围内的次数NA1{2};以此类推…将A1组中第十个数据LA{10}分别与LA{1}-LA{9}的9个数据做减法,并记录差值在±2范围内的次数NA1{10};然后将B1组中第一个数据LB{1}分别与LB{2}-LB{10}的9个数据做减法,并记录差值在±2范围内的次数NB1{1};将B1组中第二个数据LB{2}分别与LB{1}、LB{3}-LB{10}的9个数据做减法,并记录差值在±2范围内的次数NB1{2};以此类推…将B1组中第十个数据LB{10}分别与LB{1}-LB{9}的9个数据做减法,并记录差值在±2范围内的次数NB1{10};然后比较NA1{1}和NB1{1},用数组记两者最小值为N{1};比较NA1{2}和NB1{2},两者最小值为N{2};比较NA1{3}和NB1{3},两者最小值为N{3}…比较NA1{10}和NB1{10},记两者最小值为N{10};
之后再对N{1}-N{10}的十个数值进行比较,找出十个数中的最大数为N{X1},记录在数组M{1}中,即M{1}=N{X1},X1表示数组N中的第X1个数;若M{1}>=5,则说明A/B两个激光测距同时测量到第一块板簧的次数大于等于5次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用(这里的比较基准5仅为参考值,实际可能根据实际使用情况,调高或调低)。对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第一位,本步骤将A1和B1组内的数据互相做差,差值与数字“2”进行比较,是认为板簧在料框中不存在RY方向的旋转角,因此在同一板簧表面沿X轴方向的多次测距数据误差范围不应超过2mm;
S4:按照与S3步骤相同的方法,将A2组中第一个数据LA{11}分别与LA{12}-LA{20}的9个数据做减法,并记录差值在±2范围内的次数NA2{1};将A2组中第二个数据LA{12}分别与LA{11}、LA{13}-LA{20}的9个数据做减法,并记录差值在±2范围内的次数NA2{2};以此类推…将A2组中第十个数据LA{20}分别与LA{11}-LA{19}的9个数据做减法,并记录差值在±2范围内的次数NA2{10};然后将B2组中第一个数据LB{11}分别与LB{12}-LB{20}的9个数据做减法,并记录差值在±2范围内的次数NB2{1};将B2组中第二个数据LB{12}分别与LB{11}、LB{13}-LB{20}的9个数据做减法,并记录差值在±2范围内的次数NB2{2};以此类推…将B2组中第十个数据LB{20}分别与LB{11}-LB{19}的9个数据做减法,并记录差值在±2范围内的次数NB2{10};然后比较NA2{1}和NB2{1},记两者最小值为N{11};比较NA2{2}和NB2{2},记两者最小值为N{12};比较NA2{3}和NB2{3},记两者最小值为N{13}…比较NA2{10}和NB2{10},记两者最小值为N{20};
之后再对N{11}-N{20}的十个数据进行比较,找出十个数中的最大数为N{X2},记录在数组M{2}中,即M{2}=N{X2},X2表示数组N中的第X2个数;若M{2}>=5,则说明A/B两个激光测距同时测量到第二块板簧的次数大于等于5次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用。对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第二位,
S5:按照S3-S4同样的方法,分别对第3到第Nx块板簧测距数据进行处理,分别找到N{X3}、N{X4}…N{XNx}以及M{3}、M{4}…M{Nx};如果为有效测量,求出H{3}、H{4}…H{Nx}的值,然后找出H{1}-H{Nx}中的最大值H{Nt},即H数组中第Nt个数为最大值;本步骤即找到了中心位置最高的板簧,即位于第Nt个位置的板簧就是目标抓取板簧;
S6:目标板簧的倾斜角其中D表示两个激光测距之间的距离;然后计算出拍照位置坐标P2{X2,Y2,Z2,RZ2,RY2,RX2},其中X2=X1+(Nt-1)*Wx+5*Ds,即目标板簧位置正中间;Y2=Y1;RY2=RY1;RZ2=RZ1;RX2=RX1+β,即调整拍照角度,使得拍照时镜头平面与目标板簧表面平行;
计算其中Hd为镜头面到激光测距之间的垂直距离,Hp表示2D视觉镜头面与目标板簧面平行时的拍照高度,即两个面之间的垂直距离;拍照高度Hp为2D视觉标定时的拍照高度,后续拍照时须保证此高度不变,否则增大2D视觉识别误差;
S7:拍照点P2计算出以后,机器人到达位置,将当前拍照坐标P2的X2/Y2/RZ2值发送给2D视觉并执行拍照;2D视觉识别到目标板簧的位姿后,根据当前拍照位置与标准拍照位置之差,计算出当前抓取坐标,然后再减去标准拍照位置时的标准抓取坐标,得到基于标准抓取位置的偏移坐标PX{X,Y,RZ},并发送给机器人;已知标准位置抓取坐标为P3A{X3A,Y3A,RZ3A};
S8:机器人收到偏移坐标PX{X,Y,RZ}后,先判断Y的范围,若Y|>200,机器人报警提示不予抓取,此时可能是因为2D相机误识别,或者板簧中心孔超出抓取范围,会导致电磁吸盘抓取时与料框立柱发生干涉。若Y|<=200,认为该抓取坐标有效;将该坐标与当前拍照位置坐标进行组合和运算,形成一个新的具有六个维度的坐标,即目标板簧的抓取坐标P0{X0,Y0,Z0,RZ0,RY0,RX0},其中X0=X3A+X;Y0=Y3A+Y;Z0=Z2-He*cosβ,其中He表示拍照时,电磁吸盘平面与目标板簧表面之间的垂直距离;RZ0=RZ3A+RZ;RY0=RY2;RX0=RX2;
S9:机器人执行运动,到目标点P0位置,利用可浮动电磁吸盘抓取目标板簧。
本发明取得的有益效果是:本发明利用技术十分成熟、抗光干扰性强的2D视觉与激光测距,提供了一种更简易可靠、低成本的用于板簧类零件的三维位姿估算方法,价格比常规的3D视觉的方案便宜60%以上,定位精度可与3D视觉媲美并略高于一般3D视觉,且由于2D视觉自带光源,镜头增加滤镜,因此抗光干扰性比3D视觉好。本发明实际验证其定位误差为2.5mm,配合可浮动的电磁吸盘使用,对于板簧类工件的视觉引导抓取,精度足够满足要求。
附图说明
图1-2为本发明具体实施的立体结构示意图;
图3为平直式板簧摆放在料框内的示意图;
图4为机器人调整相机角度拍照示意图;
附图标记:1、料框;2、板簧;3、压缩弹簧;4、2D相机;5、机器人手臂;6、激光测距传感器;7、可浮动电磁吸盘;8、限位挡板。
具体实施方式
下面结合附图和具体实施例对本发明作更进一步的说明。
如图1-4所示,本发明的一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,利用安装在机器人手臂末端的2D视觉4、沿机器人法兰中心轴对称分布的2个激光测距传感器6、压缩弹簧3和可浮动电磁吸盘7,板簧2一层一层码放在料框1中,由于板簧2有包耳式,如图1所示,码放后有一定角度β;也有平直式,如图3所示,码放后β值近似为零。叉车将装有板簧的料框1运送至限位挡板8中,且紧贴限位挡板内壁,保证料框中心在已知范围变动,不超出2D相机视野。首先机器人带动激光测距等间距横向扫描料框中的最上层板簧表面,之后通过分析处理激光测距采集到的数据,利用两个激光测距数据之差和三角函数关系求出料框中位置最高的那根板簧,作为目标板簧,计算目标板簧的倾斜角和中心高度,同时记录目标板簧距离第一个扫描点的横向距离Wx;然后机器人手臂调整倾斜角度和高度,使2D视觉镜头面平行于目标板簧上表面,再根据Wx调整2D视觉位置使镜头位于目标板簧的上方;然后2D视觉进行拍照识别,机器人根据当前拍照位置坐标和2D视觉反馈的板簧中心孔位置偏移坐标,计算出位置最高的板簧的三维位姿坐标,进而引导机器人用电磁吸盘抓取。
本发明的一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,具体包括以下步骤:
S0:开始时,叉车将装有板簧的料框放入指定位置,已知料框内侧宽度为745mm,每层板簧码放数量为N;且工序规定:当板簧宽度Wx在90~99mm范围内时,N=7;当板簧宽度Wx在100~120mm范围内时,N=6;操作员会在系统中输入当前生产板簧的宽度信息Wx,并传送给机器人,然后启动机器人;
S1:机器人内部程序根据Wx值自动判断出每层码放板簧数量Nx,Nx的值为6或7;然后机器人手臂带动激光测距,从限位挡板8侧沿X坐标轴的正方向扫描测距,扫描起始点为固定点P1,坐标为{X1,Y1,Z1,RZ1,RY1,RX1};扫描过程中保持匀速,且速度为20mm/s-50mm/s,扫描过程中,机器人每前进距离为Ds时读取一次激光测距数值,即机器人从起始点P1前进Ds时,读取第一次数据;并分别用数组记录两个激光测距数值LA{1}、LA{2}、LA{3}…LA{10*Nx+10}和LB{1}、LB{2}、LB{3}…LB{10*Nx+10};测距间距Ds=745/Nx/10,总扫描点数为10*Nx个,即假设每一层板簧是等距均匀分布码放时,每一根板簧上均被激光测距扫描到10次;
S2:将S1步骤中通过激光测距所获取的数据分组,LA{1}、LA{2}…LA{10}为A1组,LA{11}、LA{12}、LA{13}…LA{20}为A2组…LA{Nx*10+1}、LA{Nx*10+2}、LA{Nx*10+3}…LA{Nx*10+10}为ANx组;LB{1}、LB{2}…LB{10}为B1组,LB{11}、LB{12}、LB{13}…LB{20}为B2组…LB{Nx*10+1}、LB{Nx*10+2}、LB{Nx*10+3}…LB{Nx*10+10}为BNx组;则理论上,A1和B1应该为第一块板簧所在区域的测距数据,A2和B2应该为第二块板簧所在区域的测距数据…ANx和BNx应该为第Nx块板簧所在区域的测距数据;
S3:对S2中分组的数据A1组和B1组进行分析处理:利用机器人的FOR循环指令,将A1组中第一个数据LA{1}分别与LA{2}-LA{10}的9个数据做减法,并记录差值在±2范围内的次数NA1{1};将A1组中第二个数据LA{2}分别与LA{1}、LA{3}-LA{10}的9个数据做减法,并记录差值在±2范围内的次数NA1{2};以此类推…将A1组中第十个数据LA{10}分别与LA{1}-LA{9}的9个数据做减法,并记录差值在±2范围内的次数NA1{10};然后将B1组中第一个数据LB{1}分别与LB{2}-LB{10}的9个数据做减法,并记录差值在±2范围内的次数NB1{1};将B1组中第二个数据LB{2}分别与LB{1}、LB{3}-LB{10}的9个数据做减法,并记录差值在±2范围内的次数NB1{2};以此类推…将B1组中第十个数据LB{10}分别与LB{1}-LB{9}的9个数据做减法,并记录差值在±2范围内的次数NB1{10};然后比较NA1{1}和NB1{1},用数组记两者最小值为N{1};比较NA1{2}和NB1{2},两者最小值为N{2};比较NA1{3}和NB1{3},两者最小值为N{3}…比较NA1{10}和NB1{10},记两者最小值为N{10};
之后再对N{1}-N{10}的十个数值进行比较,找出十个数中的最大数为N{X1},记录在数组M{1}中,即M{1}=N{X1},X1表示数组N中的第X1个数;若M{1}>=5,则说明A/B两个激光测距同时测量到第一块板簧的次数大于等于5次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用(这里的比较基准5仅为参考值,实际可能根据实际使用情况,调高或调低)。对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第一位,本步骤将A1和B1组内的数据互相做差,差值与数字“2”进行比较,是认为板簧在料框中不存在RY方向的旋转角,因此在同一板簧表面沿X轴方向的多次测距数据误差范围不应超过2mm;
S4:按照与S3步骤相同的方法,将A2组中第一个数据LA{11}分别与LA{12}-LA{20}的9个数据做减法,并记录差值在±2范围内的次数NA2{1};将A2组中第二个数据LA{12}分别与LA{11}、LA{13}-LA{20}的9个数据做减法,并记录差值在±2范围内的次数NA2{2};以此类推…将A2组中第十个数据LA{20}分别与LA{11}-LA{19}的9个数据做减法,并记录差值在±2范围内的次数NA2{10};然后将B2组中第一个数据LB{11}分别与LB{12}-LB{20}的9个数据做减法,并记录差值在±2范围内的次数NB2{1};将B2组中第二个数据LB{12}分别与LB{11}、LB{13}-LB{20}的9个数据做减法,并记录差值在±2范围内的次数NB2{2};以此类推…将B2组中第十个数据LB{20}分别与LB{11}-LB{19}的9个数据做减法,并记录差值在±2范围内的次数NB2{10};然后比较NA2{1}和NB2{1},记两者最小值为N{11};比较NA2{2}和NB2{2},记两者最小值为N{12};比较NA2{3}和NB2{3},记两者最小值为N{13}…比较NA2{10}和NB2{10},记两者最小值为N{20};
之后再对N{11}-N{20}的十个数据进行比较,找出十个数中的最大数为N{X2},记录在数组M{2}中,即M{2}=N{X2},X2表示数组N中的第X2个数;若M{2}>=5,则说明A/B两个激光测距同时测量到第二块板簧的次数大于等于5次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用。对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第二位,
S5:按照S3-S4同样的方法,分别对第3到第Nx块板簧测距数据进行处理,分别找到N{X3}、N{X4}…N{XNx}以及M{3}、M{4}…M{Nx};如果为有效测量,求出H{3}、H{4}…H{Nx}的值,然后找出H{1}-H{Nx}中的最大值H{Nt},即H数组中第Nt个数为最大值;本步骤即找到了中心位置最高的板簧,即位于第Nt个位置的板簧就是目标抓取板簧;
S6:目标板簧的倾斜角其中D表示两个激光测距之间的距离;然后计算出拍照位置坐标P2{X2,Y2,Z2,RZ2,RY2,RX2},其中X2=X1+(Nt-1)*Wx+5*Ds,即目标板簧位置正中间;Y2=Y1;RY2=RY1;RZ2=RZ1;RX2=RX1+β,即调整拍照角度,使得拍照时镜头平面与目标板簧表面平行;
计算其中Hd为镜头面到激光测距之间的垂直距离,Hp表示2D视觉镜头面与目标板簧面平行时的拍照高度,即两个面之间的垂直距离;拍照高度Hp为2D视觉标定时的拍照高度,后续拍照时须保证此高度不变,否则增大2D视觉识别误差;
S7:拍照点P2计算出以后,机器人到达位置,将当前拍照坐标P2的X2/Y2/RZ2值发送给2D视觉并执行拍照;2D视觉识别到目标板簧的位姿后,根据当前拍照位置与标准拍照位置之差,计算出当前抓取坐标,然后再减去标准拍照位置时的标准抓取坐标,得到基于标准抓取位置的偏移坐标PX{X,Y,RZ},并发送给机器人;已知标准位置抓取坐标为P3A{X3A,Y3A,RZ3A};
S8:机器人收到偏移坐标PX{X,Y,RZ}后,先判断Y的范围,若|Y|>200,机器人报警提示不予抓取,此时可能是因为2D相机误识别,或者板簧中心孔超出抓取范围,会导致电磁吸盘抓取时与料框立柱发生干涉。若|Y|<=200,认为该抓取坐标有效;将该坐标与当前拍照位置坐标进行组合和运算,形成一个新的具有六个维度的坐标,即目标板簧的抓取坐标P0{X0,Y0,Z0,RZ0,RY0,RX0},其中X0=X3A+X;Y0=Y3A+Y;Z0=Z2-He*cosβ,其中He表示拍照时,电磁吸盘平面与目标板簧表面之间的垂直距离;RZ0=RZ3A+RZ;RY0=RY2;RX0=RX2;
S9:机器人执行运动,到目标点P0位置,利用可浮动电磁吸盘抓取目标板簧。
以上显示和描述了本发明的基本原理和主要结构特征。本发明不受上述实例的限制,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,包括以下步骤:
S0:开始时,将装有板簧的料框放入指定位置,已知料框内侧宽度为L,板簧宽度Wx;在系统中输入当前板簧的宽度信息Wx,并传送给机器人,然后启动机器人;
S1:机器人内部程序根据Wx值自动判断出每层码放板簧数量Nx,然后机器人手臂带动激光测距,从限位挡板侧沿X坐标轴的正方向扫描测距,扫描起始点为固定点P1,坐标为{X1,Y1,Z1,RZ1,RY1,RX1};扫描过程中,机器人每前进距离为Ds时读取一次激光测距数值,即机器人从起始点P1前进Ds时,读取第一次数据;并分别用数组记录两个激光测距数值LA{1}、LA{2}、LA{3}…LA{10*Nx+10}和LB{1}、LB{2}、LB{3}…LB{10*Nx+10};测距间距Ds=745/Nx/10,总扫描点数为10*Nx个;
S2:将S1步骤中通过激光测距所获取的数据分组,LA{1}、LA{2}…LA{10}为A1组,LA{11}、LA{12}、LA{13}…LA{20}为A2组…LA{Nx*10+1}、LA{Nx*10+2}、LA{Nx*10+3}…LA{Nx*10+10}为ANx组;LB{1}、LB{2}…LB{10}为B1组,LB{11}、LB{12}、LB{13}…LB{20}为B2组…LB{Nx*10+1}、LB{Nx*10+2}、LB{Nx*10+3}…LB{Nx*10+10}为BNx组;A1和B1为第一块板簧所在区域的测距数据,A2和B2为第二块板簧所在区域的测距数据…ANx和BNx为第Nx块板簧所在区域的测距数据;
S3:对S2中分组的数据A1组和B1组进行分析处理:利用机器人的FOR循环指令,将A1组中第一个数据LA{1}分别与LA{2}-LA{10}的9个数据做减法,并记录差值在±a范围内的次数NA1{1};将A1组中第二个数据LA{2}分别与LA{1}、LA{3}-LA{10}的9个数据做减法,并记录差值在±a范围内的次数NA1{2};以此类推…将A1组中第十个数据LA{10}分别与LA{1}-LA{9}的9个数据做减法,并记录差值在±a范围内的次数NA1{10};然后将B1组中第一个数据LB{1}分别与LB{2}-LB{10}的9个数据做减法,并记录差值在±a范围内的次数NB1{1};将B1组中第二个数据LB{2}分别与LB{1}、LB{3}-LB{10}的9个数据做减法,并记录差值在±a范围内的次数NB1{2};以此类推…将B1组中第十个数据LB{10}分别与LB{1}-LB{9}的9个数据做减法,并记录差值在±a范围内的次数NB1{10};然后比较NA1{1}和NB1{1},用数组记两者最小值为N{1};比较NA1{2}和NB1{2},两者最小值为N{2};比较NA1{3}和NB1{3},两者最小值为N{3}…比较NA1{10}和NB1{10},记两者最小值为N{10};
之后再对N{1}-N{10}的十个数值进行比较,找出十个数中的最大数为N{X1},记录在数组M{1}中,即M{1}=N{X1},X1表示数组N中的第X1个数;若M{1}>=b,则说明A/B两个激光测距同时测量到第一块板簧的次数大于等于b次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用;对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第一位,
S4:按照与S3步骤相同的方法,将A2组中第一个数据LA{11}分别与LA{12}-LA{20}的9个数据做减法,并记录差值在±a范围内的次数NA2{1};将A2组中第二个数据LA{12}分别与LA{11}、LA{13}-LA{20}的9个数据做减法,并记录差值在±a范围内的次数NA2{2};以此类推…将A2组中第十个数据LA{20}分别与LA{11}-LA{19}的9个数据做减法,并记录差值在±a范围内的次数NA2{10};然后将B2组中第一个数据LB{11}分别与LB{12}-LB{20}的9个数据做减法,并记录差值在±a范围内的次数NB2{1};将B2 组中第二个数据LB{12}分别与LB{11}、LB{13}-LB{20}的9个数据做减法,并记录差值在±a范围内的次数NB2{2};以此类推…将B2组中第十个数据LB{20}分别与LB{11}-LB{19}的9个数据做减法,并记录差值在±a范围内的次数NB2{10};然后比较NA2{1}和NB2{1},记两者最小值为N{11};比较NA2{2}和NB2{2},记两者最小值为N{12};比较NA2{3}和NB2{3},记两者最小值为N{13}…比较NA2{10}和NB2{10},记两者最小值为N{20};
之后再对N{11}-N{20}的十个数据进行比较,找出十个数中的最大数为N{X2},记录在数组M{2}中,即M{2}=N{X2},X2表示数组N中的第X2个数;若M{2}>=b,则说明A/B两个激光测距同时测量到第二块板簧的次数大于等于b次,认为是有效测量,否则认为该板簧为无效测量,数据不予采用;对于有效测量,计算出该板簧中心位置的高度值并记录在数组H的第二位,
S5:按照S3-S4同样的方法,分别对第3到第Nx块板簧测距数据进行处理,分别找到N{X3}、N{X4}…N{XNx}以及M{3}、M{4}…M{Nx};如果为有效测量,求出H{3}、H{4}…H{Nx}的值,然后找出H{1}-H{Nx}中的最大值H{Nt},即H数组中第Nt个数为最大值;本步骤即找到了中心位置最高的板簧,即位于第Nt个位置的板簧就是目标抓取板簧;
S6:目标板簧的倾斜角其中D表示两个激光测距之间的距离;然后计算出拍照位置坐标P2{X2,Y2,Z2,RZ2,RY2,RX2},其中X2=X1+(Nt-1)*Wx+5*Ds,即目标板簧位置正中间;Y2=Y1;RY2=RY1;RZ2=RZ1;RX2=RX1+β,即调整拍照角度,使得拍照时镜头平面与目标板簧表面平行;
S7:拍照点P2计算出以后,机器人到达位置,将当前拍照坐标P2的X2/Y2/RZ2值发送给2D视觉并执行拍照;2D视觉识别到目标板簧的位姿后,根据当前拍照位置与标准拍照位置之差,计算出当前抓取坐标,然后再减去标准拍照位置时的标准抓取坐标,得到基于标准抓取位置的偏移坐标PX{X,Y,RZ},并发送给机器人;已知标准位置抓取坐标为P3A{X3A,Y3A,RZ3A};
S8:机器人收到偏移坐标PX{X,Y,RZ}后,先判断Y的范围,若|Y|>c,机器人报警提示不予抓取,此时可能是因为2D相机误识别,或者板簧中心孔超出抓取范围,会导致电磁吸盘抓取时与料框立柱发生干涉。若|Y|<=c,认为该抓取坐标有效;将该坐标与当前拍照位置坐标进行组合和运算,形成一个新的具有六个维度的坐标,即目标板簧的抓取坐标P0{X0,Y0,Z0,RZ0,RY0,RX0},其中X0=X3A+X;Y0=Y3A+Y;Z0=Z2-He*cosβ,其中He表示拍照时,电磁吸盘平面与目标板簧表面之间的垂直距离。RZ0=RZ3A+RZ;RY0=RY2;RX0=RX2;
S9:机器人执行运动,到目标点P0位置,利用可浮动电磁吸盘抓取目标板簧。
2.根据权利要求1所述的基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,其特征在于:步骤S0中,已知料框内侧宽度为L=745mm,当板簧宽度Wx在90~99mm范围内时,N=7;当板簧宽度Wx在100~120mm范围内时,N=6。
3.根据权利要求1所述的基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,其特征在于:步骤S1中,从限位挡板侧沿X坐标轴的正方向扫描测距,扫描过程中保持匀速,速度为20mm/s-50mm/s。
4.根据权利要求1所述的基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,其特征在于:步骤S3、S4中,a=2,b=5。
5.根据权利要求1所述的基于2D视觉与激光测距的板簧类零件的三维位姿计算方法,其特征在于:步骤S8中,c=200。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741490.5A CN115096186B (zh) | 2022-06-27 | 2022-06-27 | 基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741490.5A CN115096186B (zh) | 2022-06-27 | 2022-06-27 | 基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115096186A true CN115096186A (zh) | 2022-09-23 |
CN115096186B CN115096186B (zh) | 2024-06-14 |
Family
ID=83294962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210741490.5A Active CN115096186B (zh) | 2022-06-27 | 2022-06-27 | 基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115096186B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005077295A (ja) * | 2003-09-02 | 2005-03-24 | Canon Inc | 光学式3次元位置測定装置および位置測定方法 |
JP2008116279A (ja) * | 2006-11-02 | 2008-05-22 | Matsushita Electric Ind Co Ltd | 三次元形状測定装置 |
CN110509300A (zh) * | 2019-09-30 | 2019-11-29 | 河南埃尔森智能科技有限公司 | 基于三维视觉引导的钢箍加工上料控制系统及控制方法 |
CN214121074U (zh) * | 2021-01-29 | 2021-09-03 | 山东大学 | 一种用于汽车板簧尺寸的测量系统 |
-
2022
- 2022-06-27 CN CN202210741490.5A patent/CN115096186B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005077295A (ja) * | 2003-09-02 | 2005-03-24 | Canon Inc | 光学式3次元位置測定装置および位置測定方法 |
JP2008116279A (ja) * | 2006-11-02 | 2008-05-22 | Matsushita Electric Ind Co Ltd | 三次元形状測定装置 |
CN110509300A (zh) * | 2019-09-30 | 2019-11-29 | 河南埃尔森智能科技有限公司 | 基于三维视觉引导的钢箍加工上料控制系统及控制方法 |
CN214121074U (zh) * | 2021-01-29 | 2021-09-03 | 山东大学 | 一种用于汽车板簧尺寸的测量系统 |
Non-Patent Citations (1)
Title |
---|
张慧智;高箴;周健;: "基于激光视觉技术的运动目标位姿测量与误差分析", 激光杂志, no. 04, 25 April 2020 (2020-04-25) * |
Also Published As
Publication number | Publication date |
---|---|
CN115096186B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9746855B2 (en) | Information processing system, method, and program | |
EP2543483B1 (en) | Information processing apparatus and information processing method | |
CN102735166B (zh) | 三维扫描仪和机器人系统 | |
JP5567908B2 (ja) | 3次元計測装置、その計測方法及びプログラム | |
EP2636493B1 (en) | Information processing apparatus and information processing method | |
JP2020116726A (ja) | 移送ロボットの操作方法、移送ロボットを操作するためのシステム、有形の非一時的なコンピュータ可読媒体 | |
US11667036B2 (en) | Workpiece picking device and workpiece picking method | |
JP5088278B2 (ja) | 物体検出方法と物体検出装置およびロボットシステム | |
CN112123342B (zh) | 一种机器人系统以及测控方法 | |
JPH0435885A (ja) | 視覚センサのキャリブレーション方法 | |
CN113386122B (zh) | 测量参数的优化方法和装置以及计算机可读存储介质 | |
CN109952178B (zh) | 作业机器人及作业位置修正方法 | |
KR20110095700A (ko) | 작업대상물 픽업을 위한 산업용 로봇 제어방법 | |
KR102218894B1 (ko) | 중복인식 물체를 처리하는 컨베이어 벨트 영상 처리장치 및 방법 | |
CN115096186A (zh) | 基于2d视觉与激光测距的板簧类零件的三维位姿计算方法 | |
CN112129809B (zh) | 一种基于视觉引导的铜片热阻率检测装置及其检测方法 | |
CN117506888A (zh) | 基于单目和结构光传感器融合的视觉引导抓件方法及系统 | |
US20230007960A1 (en) | Method and system for object identification | |
US20240003675A1 (en) | Measurement system, measurement device, measurement method, and measurement program | |
JP7436170B2 (ja) | ロボットシステム | |
JP7513381B2 (ja) | ワークを検出する検出システム | |
US11697210B2 (en) | Robot system | |
Shi et al. | Research and applications of the hybrid cameras visual servo robot | |
JP7218881B1 (ja) | 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 | |
US20230111819A1 (en) | Workpiece holding apparatus, workpiece holding method, program, and control apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |