导航:X技术最新专利计算;推算;计数设备的制造及其应用技术
1.本技术涉及工业机器人技术领域,具体涉及一种机器人示教编程方法及机器人示教编程装置。
2.随着先进制造技术持续不断的发展进步,机器人在工业制造领域得到普遍应用,尤其在简单重复动作或高强度高精度作业的岗位上,工业机器人已经逐渐取代人力劳动,成为重要工业中大范围的应用的生产设备。
3.示教器又叫示教编程器,它是进行机器人手动操纵、程序编写、参数配置以及监控用的手持装置。作为人和机器人交互的媒介,示教器在机器人任务部署中扮演着重要角色。当前全世界有70多种知名品牌的机器人,每个机器人都有自己的示教器和控制系统软件。另外,几乎每种机器人都有独特的编程或脚本语言,需要大量培训才能确保正确使用。
4.本技术提出一种机器人示教编程方法及机器人示教编程装置,以适用于多种品牌的机器人,实现多种机器人的统一操作和示教方式。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供了一种机器人示教编程方法,该机器人示教编程方法包括:
6.构建机器人仿真环境,并将目标机器人的仿真模型导入仿真环境中;在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;获取目标机器人的仿真机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
7.为解决上述技术问题,本技术采用的另一个技术方案是:提供了一种机器人示教编程装置,该机器人示教编程装置包括:
8.环境搭建模块,用于构建机器人仿真工作场景,并将目标机器人的仿真模型导入仿真环境中;轨迹规划模块,与环境搭建模块连接,用于在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;程序转译模块,与轨迹规划模块连接,用于获取目标机器人的仿真模型信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
9.本技术的有益效果是:区别于现存技术的情况,本技术先在仿真环境中对机器人的仿真模型进行运动仿真,并生成轨迹程序文件,然后将该轨迹程序文件转译成与该仿真模型对应的目标程序文件,以使得该目标程序文件能够在该机器人上执行。通过这一种方式,本技术能够针对不同的机器人,仿真并生成对应的目标程序文件,因此能够适用于多种品牌的机器人,实现多种机器人的统一操作和示教方式。
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.本技术首先提出了一种机器人示教编程方法,如图1所示,本实施机器人示教编程方法具体包括步骤s101至步骤s103:
26.步骤s101:构建机器人仿真环境,并将目标机器人的仿真模型导入仿线.基于图形用户界面(graphical user interface,gui)搭建机器人的仿真环境,从本地模型库选择机器人的仿真模型或工件,或者导入外部文件将目标机器人的仿真模型导入仿线:在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件。
29.当机器人的仿真模型导入完成后,根据用户输入指令数据生成轨迹程序文件,并在仿真环境中对目标机器人的仿真模型进行运动仿线.可选地,本实施例可通过如图2所示的方法实现步骤s102,具体实施步骤包括步骤s201至步骤s203:
32.用户在仿真模型进行运动仿真之前要在仿真环境中输入仿真模型的配置参数及运动控制指令。
33.配置参数包括:根据仿真模型确定的机器人运动学模型、以及点位提取模块中路径点的位姿信息,并添加轨迹的运动参数(如:运动类型、速度、加速度、过渡误差)、规划参数(如:轨迹类型、路径精度、姿态误差、是否平滑、是否简化)和相关工艺参数条件。
34.步骤s202:基于运动控制指令控制目标机器人的仿线.基于用户输入的运动控制指令,执行器控制目标机器人的仿线.可选地,本实施例可通过如图3所示的方法实现步骤s202,具体实施步骤包括步骤s301至步骤s303:
37.步骤s301:基于运动控制指令确定目标机器人的仿线.基于用户输入的运动控制指令,确定目标机器人的仿线.用户确定仿真模型运动的路径点时主要是通过在仿真模型中示教、直接导入或鼠标选取、模型计算等方法确定路径点。例如:
40.示教可通过设定步长和速度点动控制机器人的仿真模型移动到目标位置,或者直接拖动机器人末端工具的仿真模型移动到目标位置确定路径点。
41.在3d界面中通过鼠标点击选点,在点位管理器直接输入轨迹点的信息或者导入外部点文件确定路径点。
42.当机器人的仿真模型的末端工具需要在物体表面运行时,可以在面轨迹提取点位。
43.上述方式选取的路径点信息都存储在点位管理器中,后续调整优化路径时可对点位信息进行修改、删除、插入、恢复等操作。
44.步骤s302:基于路径点及目标机器人的仿真模型的运动学模型,生成初始运动轨迹。
45.基于上述方式确定的路径点及上述配置参数的目标机器人的仿真模型的运动学模型,可自行生成初始运动轨迹。
47.由路径点和运动学模型生成的初始运动轨迹可能存在一定的问题,用户需要对初始运动轨迹进行优化调整,获取更优的运动轨迹数据。
48.可选地,本实施例可通过如图4所示的方法实现步骤s303,具体实施步骤包括步骤s401至步骤s402:
49.步骤s401:基于初始运动轨迹对目标机器人的仿真模型进行运动碰撞仿线.基于初始运动轨迹,用户对目标机器人的仿真模型进行运动碰撞仿线.碰撞仿真的主要作用是减少目标机器人运动时出现碰撞的情况,避免机器人本体或者外围设损坏。运动碰撞仿真比传统传感器侦查测方式更为安全,当即将碰撞发生时,机器人会立即停止,并沿之前的行走路径往反方向移动一小段距离。
52.步骤s402:基于运动碰撞仿真结果,对初始运动轨迹规划进行优化调整,获取运动轨迹数据。
53.通过运动仿真和碰撞仿真的结果对初始运动轨迹的相关参数进行调整直到得到所需轨迹。
54.步骤s203:将目标机器人的仿真模型的运动轨迹数据保存为预设格式的轨迹程序文件。
55.在得到目标机器人的仿真模型的运动轨迹数据后,将其保存为按照自定义语法规则保存为预设的格式的轨迹程序文件,并保存为对象简谱(javascript object notation,json)文件。
56.步骤s103:获取目标机器人的机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
57.程序转译模块要获取目标机器人的机器人信息,将轨迹程序文件转译为与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
58.可选地,本实施例可通过如图5所示的方法实现步骤s103,具体实施步骤包括步骤s501至步骤s504:
61.可选地,本实施例可通过如图6所示的方法实现步骤s501,具体实施步骤包括步骤s601至步骤s602:
62.步骤s601:将轨迹程序文件的字符流转换为记号流,并将记号流按照预设规则合成标识数组。
63.程序转译模块将对轨迹程序文件进行解析,包括词法分析。词法分析是将轨迹程序文件中的字符流转换为记号流,读取代码然后按照一定的规则合成一个个的标识数组。
65.程序转译模块将对轨迹程序文件的解析进一步包括词法分析,词法分析是将分析出来的标志数组转换成第一语法树。
66.步骤s502:基于目标机器人的机器人信息将第一语法树转换成第二语法树。
67.程序转译模块获取目标机器人的机器人信息,目标机器人的机器人信息包括仿真模型适用的程序语言的词法规则和语法结构。程序转译模块遍历第一语法树并按照该词法规则和语法结构进行转换生成第二语法树,同时验证语法正确性。基于该词法规则和语法结构设置转换规则,建立起对应的映射,实现轨迹程序文件的转译。
68.可选地,本实施例可通过如图7所示的方法实现步骤s502,具体实施步骤包括步骤s701至步骤s703:
69.步骤s701:从目标机器人的机器人信息中获取词法规则和语法结构。
75.步骤s503:基于第二语法树生成与机器人信息对应的目标程序文件。
77.步骤s504:获取与目标机器人的机器人信息对应的仿真执行器,以通过仿真执行器控制目标程序文件在目标机器人上执行。
78.程序转译模块获取与目标机器人的机器人信息对应的仿真执行器,以通过仿真执行器控制目标程序文件在目标机器人上执行。
79.本技术进一步提出了一种机器人示教编程装置,如图8所示,该装置包括:
80.环境搭建模块801,用于构建机器人仿真工作场景,并将目标机器人的仿真模型导入仿线连接,用于在仿真环境中对仿真模型
进行运动仿真,并生成轨迹程序文件;程序转译模块803,与轨迹规划模块802连接,用于获取目标机器人的机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
81.环境搭建模块801中包括机器人模型库、基本几何体库以及外部模型导入端,其中,机器人模型库中包含各大机器人的标准机器人仿真模型和末端工具仿真模型等,基本几何体库包括简单的正方体仿真模型、长方体仿真模型和圆柱体仿真模型等,从外部模型导入端可以导入其他工具和设备的三维仿真模型。从外部模型导入支持导入格式包括3d、3ds、3mf、ac、ac3d、acc、amj、ase、ask、b3d、blend、bvh、cms、cob、dae/collada、dxf、enff、fbx、gltf 1.0+glb等。环境搭建模块801具有从外部模型导入机器人仿真模型、工具仿真模型以及几何体仿模型的能力,其支持导入的格式也有很多,对环境搭建和机器人的仿真模型创建具有极大的便利性,方便用户使用。
82.在上述仿真环境中用户能对上述仿真模型的颜色、安装位置、尺寸、原位、关节极值等信息进行查看和修改,按照现场实际环境调整各仿真模型的位置,并通过三点法使仿真模型位置与物体实际位置同步,搭建准确的仿线,用于基于运动控制指令确定目标机器人的仿真模型运动的路径点;程序编辑模块8022,用于基于路径点及目标机器人的仿真模型的运动学模型,生成初始运动轨迹,并对初始运动轨迹进行优化调整,生成轨迹程序文件。
84.点位提取模块8021主要是通过在目标机器人的仿真模型中示教、直接导入或鼠标选取、模型计算等方法确定路径点。
85.示教通过设定步长和速度点动控制机器人的仿真模型移动到目标位置,也可以直接拖动机器人末端工具的仿真模型移动到目标位置确定路径点;或者直接在3d界面中通过鼠标点击选点、在点位管理器直接输入轨迹点的信息及导入外部点文件确定路径点,当机器人的仿真模型需要在物体表面运行时也可以在面轨迹提取点位。
86.所有选取的路径点信息可以存储在点位管理器中,可对点位信息进行修改、删除、插入、恢复等操作。
87.轨迹规划模块802路径点的选取方式上设置了多种方式,方便用户使用,对各种机器人的运动方式有很强的适应性,有助于各种机器人的点位示教。
88.程序编辑模块8022根据目标机器人的仿真模型确定的机器人运动学模型、以及点位提取模块8021中路径点的位姿信息,并添加轨迹的运动参数(如:运动类型、速度、加速度,过渡误差)、规划参数(如:轨迹类型、路径精度、姿态误差、是否平滑、是否简化)和相关工艺参数条件,可以自动生成初始运动轨迹,并通过运动仿真运行和碰撞仿真的结果对初始运动轨迹的相关参数进行调整直到得到所需轨迹。程序编辑模块8022能够通过机器人运动学模型及路径点和参数设置确定最优的机器人运动路径,保证了机器人在后续运行中能够到达预定位置,方便机器人后续调整。
89.程序编辑模块8022可以在程序窗口进行程序指令及相关参数的设置,并按自定义语法规则生成有固定格式的程序文件,并可以保存为json文件。全部保存为json文件有助于程序转译。所述程序指令包括逻辑指令、运动指令、通讯指令和其他指令,逻辑指令包括loop、if(嵌套else、elif)、while等常用逻辑指令,运动指令包括普通轨迹、规划轨迹(给定
起点终点,自动完成轨迹规划)、打磨轨迹等,通讯指令包括设置数字输出、等待数字输入等,其他指令如delay指令、打印指令等。
90.程序转译模块803包括转译模块(图未示)及下发模块(图未示),其中转译模块对轨迹程序文件进行解析(包括词法分析和语法分析)生成第一语法树,遍历第一语法树并进行转换生成第二语法树,最后按导入的机器人的仿真模型的型号生成相应的目标程序文件。将相应的目标程序文件下发给线.程序转译模块具体转译方法可以如下所所示:
92.首先生成轨迹程序文件,轨迹程序文件下设各个程序块,程序块可能内含子程序块,程序块包括逻辑命令、输入/输出(input/output,i/o)命令、运动命令等,每条命令包括命令关键字、命令参数等;程序结构包括程序头、程序主体及程序尾;参数包括参数名及参数值;逻辑结构包括选择结构及循环结构等。
93.其次,通过识别程序头及程序尾,将轨迹程序文件分割为程序块,程序块又可以进一步分为子程序块,对于程序块,识别其中的参数段及逻辑结构段,参数名包括速度参数、加速度参数、轨迹类型参数、误差参数及点参数等参数,参数量包括参数值及参数格式。
94.转译过程中轨迹程序文件结构段与对应目标程序文件结构段一般是固定对应关系;轨迹程序文件与目标程序文件逻辑结构段转译一般是通过识别逻辑词来判断进行转译;参数段的转译是根据不同机器人编程语言的习惯进行顺序调整以及参数值表达方式转换,参数值表达方式转换包括数据格式转换以及单位转换。
95.本实施例的机器人示教编程装置可以是上位机(即下发目标程序文件的装置,图未示)使用传输控制协议(transmission control protocol,tcp)通讯与工业机器人建立连接,建立统一的通讯协议。通过通讯实时接收状态指令,拆解指令获取机器人状态,以10ms量级的频率更新机器人状态。机器人状态信息包括:是否紧急停止、当前工作模式(自动,手动)、程序运行状态、机械臂是否上电、电机是否上电、机器人笛卡尔位置信息(x,y,z,rx,ry,rz)、机器人关节位置信息(j1,j2,j3,j4,j5,j6)、机器人速度、机器人加速度及机器人扭矩。
96.通过通讯实现机器人运动控制,包括机器人基于世界坐标系和tcp在笛卡尔空间的运动(x,y,z,rx,ry,rz),机器人在关节空间的运动(j1,j2,j3,j4,j5,j6),方便点位示教和程序编写。
97.通过通讯实现机器人的io管理,包括数字输出信号状态的设置和获取,数字输入信号状态的获取,模拟输出信号状态的设置和获取,模拟输入信号状态的获取。信号状态更新频率在10ms量级。
98.上位机通用的程序格式可以为json文件,针对不同机器人,上位机可以将json文件转译成对应机器人的目标程序文件。上位机将转译好的目标程序文件下发到真实机器人,下发方式根据机器人类型的不同有所区别,上位机通过通讯实现执行程序和删除程序。
99.上位机通过tcp通讯能够实时控制实际机器人,对后续实际机器人进行微调具有重要作用。
100.本技术进一步提出了仿真环境初始化及搭建方法,如图9所示。具体实施步骤包括步骤s901至步骤s906:
106.在gui界面进行仿真模型导入,导入整个仿真环境、机器人仿真模型、工具仿真模型及障碍物仿线.对仿真机器人的执行器进行初始化,基于导入仿真机器人的机器人信息设置对应的执行器,进行连接,使能准备工作。
110.在进行程序编辑时,分为两种方式,当真实机器人处于在线方式,通过上位机和控制器的tcp通讯来控制真实机器人运动以获取目标机器人状态;当处于离线方式,控制仿真环境中的机器人的仿线.本技术进一步提出了示教编程系统工作方法,如图10所示。具体实施步骤包括步骤s1001至步骤s1009:
121.用户在程序窗口进行程序指令及相关参数的设置,生成机器人初始轨迹规划。
122.步骤s1006:进行运动碰撞仿线.真实机器人处于离线方式时,对仿真机器人进行运动碰撞仿线:判断仿线.判断仿真检测是否通过,通过则保存文件为轨迹程序文件,调至步骤s1008,否,则跳转至步骤s1004。
127.程序转译模块转译轨迹程序文件成目标程序文件,并下发至目标机器人。
129.将目标程序文件在真实机器人进行试运行并微调,若控制未达标,则转至步骤s1004。
130.本技术进一步提出了一种示教获取点位的方法。如图11所示,具体实施步骤包括步骤s1101至步骤s1105:
132.对机器人的仿真模型进行点动与拖动,点动与拖动的操作方式可以进行选择。
136.对点文件进行编辑,对其进行删除、插入、修改、移动操作进行保存。
141.本技术进一步提出了一种轨迹程序文件转译和下发的方法。如图12所示,具体实施步骤包括步骤s1201至步骤s1203:
148.本技术进一步提出了一种程序编辑模块工作方法。如图13所示,具体步骤包括步骤s1301至步骤s1304:
153.步骤s1303:根据不同的指令生成不同程序块,生成失败则修改参数或重新输入。
154.在生成程序块的过程中要进行轨迹生成任务和数字输出设置任务,轨迹生成任务从之前点位提取模块中获取路径点,用户输入所需参数:位置点、运动空间、速度及加速度、轨迹类型及过渡半径。调用算法生成轨迹,生成失败则修改参数;数字输出设置任务,则是用户输入参数,调用controller验证信息,完成两个任务则生成对应的程序块。
157.可选的,本技术进一步提出了一种程序编辑的模块,其如图14所示,程序编辑模块包括gui1401、系统程序集(rvt
core)1402、机器人控制器1403、自定义函数库(rvs)1404及自定义指令类型(rvscript)1405。rvt
core1402与gui1401、rvs1404、rvscript1405及机器人控制器1403连接,rvs1404与机器人控制器1403连接。
159.kinematics:机器人运动学模型,机器人末端位姿与关节变量之间的转化(输入末端姿态或关节变量);
160.liegroup:李群,数学函数库,定义机器人姿态便于进行姿态计算;
161.environment:解析仿真环境文件中的参数信息用于计算,包括机器人型号参数,denavit
hartenberg parameters(dh)参数、坐标相对关系等,并将计算的得到的信息在模
型中进行显示,包括碰撞检测、轨迹规划、点动拖动等机器人模型,用于提供机器人运动学参数,仿真显示的模型等数据。planner:规划模块,提供自动生成路径点的算法;
162.trajectory:轨迹插补(根据轨迹类型自主进行轨迹插补);
165.在本地模型库选择机器人的仿真模型或工件仿真模型,或者导入外部文件,文件格式统一为环境文件,加载环境文件,通过gui1401在界面显示,在图形界面同时可进行相关参数编辑,通过标定程序,进行机器人的仿线.在图形界面点击点动,rvt
core1402中点动程序运行,用户在界面输入相关参数,通过rvs1404中的controller模块,机器人进行点动。在图形界面点击拖动,rvt
core1402中拖动程序运行,用户在界面拖动机器人末端的工具仿真模型到达目标点位,通过rvs1404中的controller模块,机器人的仿真模型按拖动轨迹运动。点位信息可以在点位管理器中进行编辑,也可以从本地文件中导入。
core1402中执行器控制controller是否与实际机器人连接以及状态信息。
core1402中程序编辑程序运行,用户在界面中选择程序指令,并输入或选择相关参数,rvscript1405根据用户编辑信息生成固定格式程序,rvt
core1402调动rvs1404相应模块中进行计算,最终计算结果反馈给controller,controller控制机器人进行仿真运行,点击碰撞仿真,controller控制机器人进行仿真运行过程中,会进整体环境监测碰撞,并实时反馈碰撞检测结果。
169.根据指定,在environment得到机器人的型号参数和dh参数,建立关节变换矩阵,在kinematics根据参数和点位信息进行机器人运动学计算,planner根据规划参数进行轨迹规划,在trajectory根据示教点位置和轨迹参数、运动(速度加速度要求、轨迹类型)进行路径插补计算。
core1402调用programgenerator程序将生成的轨迹程序文件转译对应型号的机器人目标程序文件。
171.若仿真结果不合格,返回点位获取模块,重新进行示教或点位编辑,直至程序合格,生成程序文件可以以json格式保存在本地文件夹。
172.若转译失败,弹窗报错失败原因,返回程序编辑模块进行修改,若转译成功,将目标程序文件保存在本地文件夹,下发至相应机器人控制柜。
173.区别于现有技术的情况,本技术先在仿真环境中对机器人的仿真模型进行运动仿真,并生成轨迹程序文件,然后将该轨迹程序文件转译成与该仿真模型对应的目标程序文件,以使得该目标程序文件能够在该机器人上执行。通过这样的形式,本技术能够针对不一样的机器人,仿真并生成对应的目标程序文件,因此能够适用于多种品牌机器人,实现多种机器人的统一操作和示教方式。
174.以上仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
...