本发明涉及机器人路径规划领域,尤其涉及一种机器人的路径搜索方法、系统、装置和存储介质。
背景技术:
在工业机器人的生产加工应用中,在对工件批量加工前,将机器人对该工件进行示教;在对工件批量加工时,由于加工的工件与示教时工件位置存有位置偏移与误差。为解决上述问题,现有的技术方式是通过对比起始示教点位,搜索并计算工作物件的平行与旋转偏移来确认实际的工作路径。
在搜索工作路径这一技术中,现在主要是采用偏移搜索,偏移搜索虽然有缜密的偏移计算方式以及点位叠加方式,但是也存在很大的弊端。那就是触碰点位需要严格按照特定的方向进行示教,以及示教步骤繁琐。另外,对于l字形工作物件在偏移搜索方式中要求双面垂直,这一需求降低了搜索方法的适用性。
技术实现要素:
为了解决上述技术问题之一,本发明的目的是提供一种搜索步骤更加简便、更具有适用性的路径搜索方法、系统、装置和存储介质。
本发明所采用的第一技术方案是:
一种机器人的路径搜索方法,包括以下步骤:
结合起始坐标点和第一预设坐标点,控制机器人在工件的第一平面上获取n个坐标点,根据获得的坐标点获取第一平面的第一平面方程;
结合起始坐标点和第二预设坐标点,控制机器人在工件的第二平面上获取n个坐标点,根据获得的坐标点获取第二平面的第二平面方程;
结合第一平面方程和第二平面方程获取机器人的加工路径;
所述起始坐标点、第一预设坐标点和第二预设坐标点通过机器人示教获得,所述n为大于2的整数,且n个坐标点不共线。
进一步,所述n为3,所述结合起始坐标点和第一预设坐标点,控制机器人在工件的第一平面上获取n个坐标点,根据获得的坐标点获取第一平面的第一平面方程这一步骤,具体包括以下步骤:
控制机器人移动至预设起始坐标点;
控制机器人往第一预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第一坐标点;
控制机器人往第二预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第二坐标点;
控制机器人往第三预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第三坐标点;
结合第一坐标点、第二坐标点和第三坐标点获取第一平面的第一平面方程;
所述结合起始坐标点和第二预设坐标点,控制机器人在工件的第二平面上获取n个坐标点,根据获得的坐标点获取第二平面的第二平面方程这一步骤,具体包括以下步骤:
控制机器人移动至预设起始坐标点;
控制机器人往第四预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第四坐标点;
控制机器人往第五预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第五坐标点;
控制机器人往第六预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第六坐标点;
结合第四坐标点、第五坐标点和第六坐标点获取第二平面的第二平面方程。
进一步,所述起始坐标点可通过直线路径移动至第一平面和第二平面。
进一步,还包括机器人示教步骤,具体为:
移动机器人至预设点,并记录该预设点的坐标点为起始坐标点;
控制机器人从起始坐标点沿着第一平面的法线方向移动至第一平面,记录机器人与第一平面的触碰点为第一预设坐标点;
控制机器人从起始坐标点沿着第二平面的法线方向移动至第二平面,记录机器人与第二平面的触碰点为第二预设坐标点。
进一步,所述第一预设方向、第二预设方向和第三预设方向通过以下方式获取:
以第一预设坐标点为圆心,结合预设的半径参数在第一平面获取第一圆;
在第一圆上获取三个不同的坐标点,将起始坐标点分别与这三个坐标点的连线的方向作为第一预设方向、第二预设方向和第三预设方向;
所述第四预设方向、第五预设方向和第六预设方向通过以下方式获取:
以第二预设坐标点为圆心,结合预设的半径参数在第二平面获取第二圆;
在第二圆上获取三个不同的坐标点,将起始坐标点分别与这三个坐标点的连线的方向作为第四预设方向、第五预设方向和第六预设方向。
进一步,所述结合第一平面方程和第二平面方程获取机器人的加工路径这一步骤,具体为:
结合第一平面方程和第二平面方程计算两面的交线;
结合交线和预设方式获取机器人的加工路径。
进一步,所述第一平面和第二平面的夹角为70°-170°。
本发明所采用的第二技术方案是:
一种机器人的路径搜索系统,包括:
第一计算模块,用于结合起始坐标点和第一预设坐标点,控制机器人在工件的第一平面上获取n个坐标点,根据获得的坐标点获取第一平面的第一平面方程;
第二计算模块,用于结合起始坐标点和第二预设坐标点,控制机器人在工件的第二平面上获取n个坐标点,根据获得的坐标点获取第二平面的第二平面方程;
路径计算模块,用于结合第一平面方程和第二平面方程获取机器人的加工路径;
所述起始坐标点、第一预设坐标点和第二预设坐标点通过机器人示教获得,所述n为大于2的整数,且n个坐标点不共线。
本发明所采用的第三技术方案是:
一种机器人的路径搜索装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明所采用的第四技术方案是:
一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明通过采用两个平面方程直接获取机器人的加工路径,避免偏移搜索方法中获取工件的偏移量,再基于偏移量计算加工路径,极大地简化了机器人示教和搜索的步骤,提供了机器人的工作效率;另外,本方案对工件并严格的要求,提升了本发明灵活性和实用性。
附图说明
图1是具体实施例中一种机器人的路径搜索方法的步骤流程图;
图2是现有技术中偏移搜索方案中示教部分的示意图;
图3是现有技术中偏移搜索方案中搜索部分的示意图;
图4是现有技术中偏移搜索方案中偏移量的示意图;
图5是具体实施例中平面搜索方案中示教部分的示意图;
图6是具体实施例中平面搜索方案中搜索部分的示意图;
图7是具体实施例中一种机器人的路径搜索系统的结构框图。
附图标记:
图2中:
2-1、工作物件的卧面;
2-2、点3;
2-3、点1;
2-4、点a;
2-5、点4;
2-6、点2;
2-7、点5;
2-8、点6;
2-9、点b;
2-10、工作物件的立面;
2-11、加工路径。
图3中:
3-1、原始运动方向;
3-2、偏移后的运动方向;
3-3、点1;
3-4、点1a;
3-5、示教立面;
3-6、实际立面;
3-7、点2;
3-8、点2a。
图4中:
4-1、点2a;
4-2、实际立面;
4-3、示教立面;
4-4、点5b;
4-5、点5a;
4-6、点4b;
4-7、点4a;
4-8、偏移后的运动方向;
4-9、原始运动方向。
图5中:
5-1、点3y;
5-2、点3x;
5-3、点3;
5-4、点3z;
5-5、工作物件的卧面;
5-6、第二个平面;
5-7、点1;
5-8、点2x;
5-9、点2y;
5-10、点2;
5-11、点2z;
5-12、第一个平面;
5-13、工作物件的立面;
5-14、加工路径。
图6中:
6-1、点1;
6-2、示教立面;
6-3、实际立面;
6-4、点2y;
6-5、点2;
6-6、点2z;
6-7、点2x。
具体实施方式
以下结合图2-4,以l字型的工件为例,对现有的偏移搜索方法进行描述,该偏移搜索方法包括示教步骤、搜索步骤和与计算步骤。
其中,参照图2,所述示教步骤的控制流程如下:
步骤1:控制示教机器人到达起始点,从该起始点机器人可无障碍到达工作物件两个平面(为工作物件的卧面和工作物件的立面),记录此起始点为点1;
步骤2:控制示教机器人水平移动,并触碰工件的第一个平面(工作物件的立面),记录此触碰点位为点2;
步骤3:将示教机器移动回到点1;
步骤4:控制示教机器人垂直移动并触碰工件的第二个平面(工作物件的卧面),记录此触碰点位为点3;
步骤5:将示教机器移动回到点1;
步骤6:控制示教机器人移动到与点1拥有相同条件,但不是同一点位的第二个起始点,记录第二个起始点为点4;
步骤7:控制示教机器人以与步骤2相同的方向移动并触碰工件的第一个平面,记录此点位为点5;
步骤8:将示教机器移动回到点4;
步骤9:控制示教机器人以与步骤4相同的方向移动并触碰第二个平面,记录此触碰点位为点6;
步骤10:将示教机器移动回到点4,结束示教步骤。
由上述可知,偏移搜索方法中示教部分需要记录6个点,且示教的移动步骤需严格要求。如垂直移动等。执行完示教步骤后,对工件进行批量加工,针对每一件工件需进行以下的搜索步骤,具体参照图3和图4:
步骤1:控制机器人移动到点1;
步骤2:控制机器人往点2方向移动直到触碰,记录此触碰点位为点2a;
步骤3:由点2与点2a计算出平移量(如图2所示);
步骤4:将平移量叠加到点1,获得点1a(如图2所示);
步骤5:将平移量叠加到点3,获得点3a;
步骤6:将机器人移动到点1a;
步骤7:将机器人往点3a方向移动直到触碰,记录此触碰点位为点3b;
步骤8:由点3a与点3b计算出平移量并叠加到原有平移量;
步骤9:将平移量叠加到点4,获得点4a;
步骤10:将平移量叠加到点5,获得点5a;
步骤11:将机器人移动到点1a;
步骤12:将机器人移动到点4a;
步骤13:将机器人往点5a方向移动直到触碰,记录此触碰点位为点5b;
步骤14:由点2a、点3a、点3b计算出旋转偏移量(如图3所示);
步骤15:将旋转偏移量叠加到点4a,记录此点位为点4b(如图3所示);
步骤16:将平移量与旋转偏移量叠加到点6,记录此点位为点6a;
步骤17:将机器人移动到点4b;
步骤18:将机器人往点6a方向移动直到触碰,记录此触碰点位为点6b;
步骤19:由点2a、点3a、点3b计算出旋转偏移量并叠加到原有旋转偏移量;
步骤20:将机器人移动到点4b,完成搜索步骤。
搜索到对应的点后,执行以下的计算步骤,获得最终的机器人加工路径:
步骤1:由点1a、点2a、点3b计算出在工作路径上的一个点位,记录此点位为点a(如图1所示);
步骤2:由点4b、点5b、点6b计算出在工作路径上的另一个点位,记录此点位为点b(如图1所示);
步骤3:连接点a与点b获得直线,从而得出工作路径。
由上述可知,所述偏移搜索方法中,触碰点位需要严格按照特定的方向进行示教,如需要按照垂直方向移动,这大大地加大了实际操作的困难,降低了实用性与灵活性。另外,针对这种l字形工件,需要求工件的两个平面相互垂直,严重限制的工件的形状,极大地降低了偏移搜索方法的适用性。
为解决上述的问题之一,本实施例提供了一种机器人的路径搜索方法,如图1所示,包括以下步骤:
s1、结合起始坐标点和第一预设坐标点,控制机器人在工件的第一平面上获取n个坐标点,根据获得的坐标点获取第一平面的第一平面方程;
s2、结合起始坐标点和第二预设坐标点,控制机器人在工件的第二平面上获取n个坐标点,根据获得的坐标点获取第二平面的第二平面方程;
s3、结合第一平面方程和第二平面方程获取机器人的加工路径;
所述起始坐标点、第一预设坐标点和第二预设坐标点通过机器人示教获得,所述n为大于2的整数,且n个坐标点不共线。
在本实施例中,机器人示教步骤,只需获取三个点,分别为起始坐标点、第一预设坐标点和第二预设坐标点,所述第一预设坐标点和第二预设坐标点为通过机器人与工件的两个平面触碰后,记录获得;具体地,由机器人检测焊丝触碰金属工件后产生的电流电压变化来实现。所述工件的由两个金属平面拼接组成,拼接的角度可根据设计需要作调整,并不要求角度为90°,工业机器人的加工路径为工件的两个平面之间的缝隙,所述机器人可以为对工件进行焊接的机器人,也可以为对工件进行贴胶等机器人。
结合起始坐标点和第一预设坐标点,控制机器人在第一平面上获得多个坐标点的方式有多种,比如以起始坐标点和第一预设坐标点的连线作为虚拟圆锥的中心线,控制机器人沿着虚拟圆锥的多条侧线进行移动,直至与平面触碰,如此可在第一平面上获取多个坐标点;不仅为虚拟圆锥,正四面体等形状也可以获得多个坐标点。具体地,本实施例通过步骤s11~s15来在工件的第一平面上获取多个坐标点,以及第一平面方程:
s11、控制机器人移动至预设起始坐标点;所述起始坐标点可通过直线路径移动至第一平面和第二平面。
s12、控制机器人往第一预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第一坐标点;
s13、控制机器人往第二预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第二坐标点;
s14、控制机器人往第三预设方向移动,直到触碰到工件的第一平面,将触碰点记录为第三坐标点;
s15、结合第一坐标点、第二坐标点和第三坐标点获取第一平面的第一平面方程。
其中,第一预设方向、第二预设方向和第三预设方向通过以下步骤a1~a2获得:
a1、以第一预设坐标点为圆心,结合预设的半径参数在第一平面获取第一圆;
a2、在第一圆上获取三个不同的坐标点,将起始坐标点分别与这三个坐标点的连线的方向作为第一预设方向、第二预设方向和第三预设方向。
通过步骤s21~s25来在工件的第二平面上获取多个坐标点,以及第二平面方程:
s21、控制机器人移动至预设起始坐标点;所述起始坐标点可通过直线路径移动至第一平面和第二平面。
s22、控制机器人往第四预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第四坐标点;
s23、控制机器人往第五预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第五坐标点;
s24、控制机器人往第六预设方向移动,直到触碰到工件的第二平面,将触碰点记录为第六坐标点;
s25、结合第四坐标点、第五坐标点和第六坐标点获取第二平面的第二平面方程。
所述第四预设方向、第五预设方向和第六预设方向通过以下步骤b1~b2获得:
b1、以第二预设坐标点为圆心,结合预设的半径参数在第二平面获取第二圆;
b2、在第二圆上获取三个不同的坐标点,将起始坐标点分别与这三个坐标点的连线的方向作为第四预设方向、第五预设方向和第六预设方向。
由于第一预设方向、第二预设方向、第三预设方向、第四预设方向、第五预设方向和第六预设方向在示教过程中,通过预设方式计算获得,故无需控制机器人进行示教步骤,示教的流程缩减了一半左右,极大地提高了效率。进一步作为优选的实施方式,在第一圆或第二圆上获取三个不同的坐标点时,使其中两个坐标点的连线为圆的直径。其中,机器人进行示教的步骤具体如下b1~b3:
b1、移动机器人至预设点,并记录该预设点的坐标点为起始坐标点;
b2、控制机器人从起始坐标点沿着第一平面的法线方向移动至第一平面,记录机器人与第一平面的触碰点为第一预设坐标点;
b3、控制机器人从起始坐标点沿着第二平面的法线方向移动至第二平面,记录机器人与第二平面的触碰点为第二预设坐标点。
其中,具体控制机器人以垂直的方式接触平面的方式,可采用现有方法,比如通过在机器人上安装有光线传感器,光线传感器对平面发射光线,并在接收到光反射光线后,获得与平面垂直的路径。获得第一预设坐标点和第二预设坐标点后,结合半径参数,即可在平面获得圆。
在获得第一坐标点、第二坐标点和第三坐标点后,可获得第一平面的第一平面方程,结合第一平面方程和第一圆所在的平面方程,可获得第一平面的偏移情况,但是本方案只需获得机器人的最终加工路径即可,无需获取偏移情况,具体计算加工路径的步骤如下:
其中,步骤s3具体包括步骤s31~s32:
s31、结合第一平面方程和第二平面方程计算两面的交线;
s32、结合交线和预设方式获取机器人的加工路径。
获得两平面相交的直线,机器人的加工路径在该直线中。机器人原始起始点与结束点由初始示教得到,起始点与结束点所构成的直线存在于加工路径上,结合搜索后两平面的偏移,获得新的加工路径起始点与结束点的位置。
综上所述,通过本实施例的路径搜索方法(以下简称平面搜索),机器人示教步骤中,将原有的偏移搜索的示教部分缩减了一半左右,搜索也缩减的四分之一左右。另外,平面搜索不存在任何偏移搜索操作中包含的方向要求,大幅地提升了搜索方式的实用性。除此之外,平面搜索的搜索方式可以适用于任何角度拼接的工作物件,大幅地提升了搜索方式的灵活性和实用性。
具体实施例
以下结合焊接机器人为例,对上述平面搜索方法进行详细解释:
本平面搜索方法包括示教步骤、搜索步骤和计算步骤;参照图5,其中示教部分在机器人进行批量作业之前由工人进行操作。示教部分的流程如下:
步骤1:控制示教机器人移动到可以在不被妨碍的情况下直线移动并触碰到两个面的起始点,记录此点位为点1(x1,y1,z1);
步骤2:将示教机器人往第一个平面方向移动并触碰,记录此触碰点位为点2(x2,y2,z2);
步骤3:设定以点2为中心的圆圈的半径r1,圆圈垂直于点1与点2所连接的直线,使得从点1往圆上的任意点位移动可触碰到第一个平面;
步骤4:将示教机器人往第二个平面方向移动并触碰,记录此触碰点位为点3(x3,y3,z3);
步骤5:设定以点3为中心的圆圈的半径r2,圆圈垂直于点1与点3所连接的直线,使得从点1往圆上的任意点位移动可触碰到第二个平面;
步骤6:控制机器人移动到点1。
步骤7:示教机器人实际执行弧焊工艺的路径。
参照图6,搜索步骤为机器人作弧焊工艺前的搜索运动。搜索步骤的流程如下:
步骤1:控制机器人移动到点1;
步骤2:由以点2为中心与设定的半径计算出的圆圈提取三个点位,记录此点位为点2a、点2b、点2c。计算方法如下:假设圆圈在与y轴垂直的平面上:则点2a(x2a,y2a,z2a)为(x2,y2,z2-r1),点2b(x2b,y2b,z2b)为(x2-r1,y2,z2),点2c(x2c,y2c,z2c)为(x2+r1,y2,z2);此步骤可有示教步骤中执行。
步骤3:控制机器人往点2a方向移动直到触碰,记录此触碰点为点2x(x2x,y2x,z2x);
步骤4:控制机器人移动到点1;
步骤5:控制机器人往点2b方向移动直到触碰,记录此触碰点为点2y(x2y,y2y,z2y);
步骤6:控制机器人移动到点1;
步骤7:控制机器人往点2c方向移动直到触碰,记录此触碰点为点2z(x2z,y2z,z2z);
步骤8:控制机器人移动到点1;
步骤9:由以点3为中心与设定的半径计算出的圆圈提取三个点位,记录此点位为点3a、点3b、点3c。计算方法如下:假设圆圈在与z轴垂直的平面上:则点3a(x3a,y3a,z3a)为(x3,y3+r2,z3),点3b(x3b,y3b,z3b)为(x3+r2,y3,z3),点3c(x3c,y3c,z3c)为(x3+r2,y3,z3);此步骤可有示教步骤中执行。
步骤10:控制机器人往点3a方向移动直到触碰,记录此触碰点为点3x(x3x,y3x,z3x);
步骤11:控制机器人移动到点1;
步骤12:控制机器人往点3b方向移动直到触碰,记录此触碰点为点3y(x3y,y3y,z3y);
步骤13:控制机器人移动到点1;
步骤14:控制机器人往点3c方向移动直到触碰,记录此触碰点为点3z(x3z,y3z,z3z);
步骤15:控制机器人移动到点1。
在机器人完成搜索部分的流程后,计算步骤如下:
步骤1:由点2x、点2y、点2z计算出第一个平面的平面公式。计算方法如下:
由三个点设立三条方程式:
a*(x-x2x)+b*(y-y2x)+c*(z-z2x)=0;
a*(x2y-x2x)+b*(y2y-y2x)+c*(z2y-z2x)=0;
a*(x2z-x2x)+b*(y2z-y2x)+c*(z2z-z2x)=0;
由三条方程式求出a、b、c的值并带入x2x,y2x,z2x计算出第一个平面的平面公式;
步骤2:由点3x、点3y、点3z计算出第二个平面的平面公式。计算方法除了点3x代替点2x,点3y代替点2y,点3z代替点2z,其余与步骤1相同;
步骤3:由两个平面的平面公式计算出交线的公式得出工作路径。计算方法如下:
假设第一个平面与第二个平面的公式分别为:
a1*x+b1*y+c1*z+d=0;
a2*x+b2*y+c2*z+d=0;
由所述两条方程式可求出格式为(x-x0)/a=(y-y0)/b=(z-z0)/c的直线公式为工作路径。其中a、b、c和d代表计算出来的定义平面的计算常量,a、b和c代表计算出来的定义直线的斜率常量,(x0,y0,z0)为坐标系原点坐标。
在完成示教,搜索与计算流程之后,机器人可以通过计算出新的路径对工件作弧焊加工。由上述的实施例可知,平面搜索中的示教步骤和搜索步骤明显比偏移搜索中的示教步骤和搜索步骤少,且机器人移动方式的要求和工件类型的要求更低,极大提高了平面搜索的灵活性和实用性。
如图7所示,本实施例还提供了一种机器人的路径搜索系统,包括:
第一计算模块,用于结合起始坐标点和第一预设坐标点,控制机器人在工件的第一平面上获取n个坐标点,根据获得的坐标点获取第一平面的第一平面方程;
第二计算模块,用于结合起始坐标点和第二预设坐标点,控制机器人在工件的第二平面上获取n个坐标点,根据获得的坐标点获取第二平面的第二平面方程;
路径计算模块,用于结合第一平面方程和第二平面方程获取机器人的加工路径;
所述起始坐标点、第一预设坐标点和第二预设坐标点通过机器人示教获得,所述n为大于2的整数,且n个坐标点不共线。
本实施例的一种机器人的路径搜索系统,可执行本发明方法实施例所提供的一种机器人的路径搜索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本实施例还提供了一种机器人的路径搜索装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本实施例的一种机器人的路径搜索装置,可执行本发明方法实施例所提供的一种机器人的路径搜索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
本实施例的一种存储介质,可执行本发明方法实施例所提供的一种机器人的路径搜索方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。