CN113836702A - 机器人示教编程方法及机器人示教编程装置 - Google Patents
机器人示教编程方法及机器人示教编程装置 Download PDFInfo
- Publication number
- CN113836702A CN113836702A CN202111032710.9A CN202111032710A CN113836702A CN 113836702 A CN113836702 A CN 113836702A CN 202111032710 A CN202111032710 A CN 202111032710A CN 113836702 A CN113836702 A CN 113836702A
- Authority
- CN
- China
- Prior art keywords
- robot
- target
- simulation
- program file
- motion
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004088 simulation Methods 0.000 claims abstract description 170
- 230000033001 locomotion Effects 0.000 claims abstract description 89
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请公开了一种机器人示教编程方法及机器人示教编程装置,涉及工业机器人技术领域。机器人示教编程方法包括:构建机器人仿真环境,并将目标机器人的仿真模型导入仿真环境中;在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;获取目标机器人的机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。本申请能够获取多种品牌机器人的目标程序文件,实现多种机器人的统一操作和示教方式。
Description
技术领域
本申请涉及工业机器人技术领域,具体涉及一种机器人示教编程方法及机器人示教编程装置。
背景技术
随着先进制造技术不断发展进步,机器人在工业制造领域得到广泛应用,尤其在简单重复动作或高强度高精度作业的岗位上,工业机器人已经逐渐取代人力劳动,成为重要工业中广泛应用的生产设备。
示教器又叫示教编程器,它是进行机器人手动操纵、程序编写、参数配置以及监控用的手持装置。作为人和机器人交互的媒介,示教器在机器人任务部署中扮演着重要角色。当前全世界有70多种知名品牌的机器人,每个机器人都有自己的示教器和控制软件。另外,几乎每种机器人都有独特的编程或脚本语言,需要大量培训才能确保正确使用。
发明内容
本申请提出一种机器人示教编程方法及机器人示教编程装置,以适用于多种品牌的机器人,实现多种机器人的统一操作和示教方式。
为解决上述技术问题,本申请采用的一个技术方案是:提供了一种机器人示教编程方法,该机器人示教编程方法包括:
构建机器人仿真环境,并将目标机器人的仿真模型导入仿真环境中;在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;获取目标机器人的仿真机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
为解决上述技术问题,本申请采用的另一个技术方案是:提供了一种机器人示教编程装置,该机器人示教编程装置包括:
环境搭建模块,用于构建机器人仿真工作场景,并将目标机器人的仿真模型导入仿真环境中;轨迹规划模块,与环境搭建模块连接,用于在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;程序转译模块,与轨迹规划模块连接,用于获取目标机器人的仿真模型信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
本申请的有益效果是:区别于现有技术的情况,本申请先在仿真环境中对机器人的仿真模型进行运动仿真,并生成轨迹程序文件,然后将该轨迹程序文件转译成与该仿真模型对应的目标程序文件,以使得该目标程序文件能够在该机器人上执行。通过这种方式,本申请能够针对不同的机器人,仿真并生成对应的目标程序文件,因此能够适用于多种品牌的机器人,实现多种机器人的统一操作和示教方式。
附图说明
图1是本申请一实施例的机器人示教编程方法流程示意图;
图2是图1中步骤S102的具体流程示意图;
图3是图2中步骤S202的具体流程示意图;
图4是图3中步骤S303的具体流程示意图;
图5是图1中步骤S103的具体流程示意图;
图6是图5中步骤S501的具体流程示意图;
图7是图5中步骤S502的具体流程示意图;
图8是本申请一实施例的机器人示教编程装置结构示意图;
图9是本申请一实施例的仿真环境初始化及搭建方法流程示意图;
图10是本申请一实施例的示教编程系统的工作流程示意图;
图11是本申请一实施例的示教获取点位的流程示意图;
图12是本申请一实施例的轨迹程序文件转译和下发的流程示意图;
图13是本申请一实施例的程序编辑模块的流程示意图;
图14是本申请一实施例的程序编辑模块结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请首先提出了一种机器人示教编程方法,如图1所示,本实施机器人示教编程方法具体包括步骤S101至步骤S103:
步骤S101:构建机器人仿真环境,并将目标机器人的仿真模型导入仿真环境中。
基于图形用户界面(Graphical User Interface,GUI)搭建机器人的仿真环境,从本地模型库选择机器人的仿真模型或工件,或者导入外部文件将目标机器人的仿真模型导入仿真环境中。
步骤S102:在仿真环境中对目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件。
当机器人的仿真模型导入完成后,根据用户输入指令数据生成轨迹程序文件,并在仿真环境中对目标机器人的仿真模型进行运动仿真。。
可选地,本实施例可通过如图2所示的方法实现步骤S102,具体实施步骤包括步骤S201至步骤S203:
步骤S201:对在仿真环境中的仿真模型配置参数及运动控制指令。
用户在仿真模型进行运动仿真之前要在仿真环境中输入仿真模型的配置参数及运动控制指令。
配置参数包括:根据仿真模型确定的机器人运动学模型、以及点位提取模块中路径点的位姿信息,并添加轨迹的运动参数(如:运动类型、速度、加速度、过渡误差)、规划参数(如:轨迹类型、路径精度、姿态误差、是否平滑、是否简化)和相关工艺参数条件。
步骤S202:基于运动控制指令控制目标机器人的仿真模型运动。
基于用户输入的运动控制指令,执行器控制目标机器人的仿真模型运动。
可选地,本实施例可通过如图3所示的方法实现步骤S202,具体实施步骤包括步骤S301至步骤S303:
步骤S301:基于运动控制指令确定目标机器人的仿真模型运动的路径点。
基于用户输入的运动控制指令,确定目标机器人的仿真模型运动的路径点。
用户确定仿真模型运动的路径点时主要是通过在仿真模型中示教、直接导入或鼠标选取、模型计算等方法确定路径点。例如:
示教可通过设定步长和速度点动控制机器人的仿真模型移动到目标位置,或者直接拖动机器人末端工具的仿真模型移动到目标位置确定路径点。
在3D界面中通过鼠标点击选点,在点位管理器直接输入轨迹点的信息或者导入外部点文件确定路径点。
当机器人的仿真模型的末端工具需要在物体表面运行时,可以在面轨迹提取点位。
上述方式选取的路径点信息都存储在点位管理器中,后续调整优化路径时可对点位信息进行修改、删除、插入、恢复等操作。
步骤S302:基于路径点及目标机器人的仿真模型的运动学模型,生成初始运动轨迹。
基于上述方式确定的路径点及上述配置参数的目标机器人的仿真模型的运动学模型,可自行生成初始运动轨迹。
步骤S303:对初始运动轨迹进行优化调整,获取运动轨迹数据。
由路径点和运动学模型生成的初始运动轨迹可能存在一定的问题,用户需要对初始运动轨迹进行优化调整,获取更优的运动轨迹数据。
可选地,本实施例可通过如图4所示的方法实现步骤S303,具体实施步骤包括步骤S401至步骤S402:
步骤S401:基于初始运动轨迹对目标机器人的仿真模型进行运动碰撞仿真。
基于初始运动轨迹,用户对目标机器人的仿真模型进行运动碰撞仿真。
碰撞仿真的主要作用是减少目标机器人运动时出现碰撞的情况,避免机器人本体或者外围设损坏。运动碰撞仿真比传统传感器侦查测方式更为安全,当即将碰撞发生时,机器人会立即停止,并沿之前的行走路径往反方向移动一小段距离。
步骤S402:基于运动碰撞仿真结果,对初始运动轨迹规划进行优化调整,获取运动轨迹数据。
通过运动仿真和碰撞仿真的结果对初始运动轨迹的相关参数进行调整直到得到所需轨迹。
步骤S203:将目标机器人的仿真模型的运动轨迹数据保存为预设格式的轨迹程序文件。
在得到目标机器人的仿真模型的运动轨迹数据后,将其保存为按照自定义语法规则保存为预设的格式的轨迹程序文件,并保存为对象简谱(JavaScript Object Notation,JSON)文件。
步骤S103:获取目标机器人的机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
程序转译模块要获取目标机器人的机器人信息,将轨迹程序文件转译为与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
可选地,本实施例可通过如图5所示的方法实现步骤S103,具体实施步骤包括步骤S501至步骤S504:
步骤S501:对轨迹程序文件进行解析,生成第一语法树。
程序转译模块对轨迹程序文件进行解析,生成第一语法树。
可选地,本实施例可通过如图6所示的方法实现步骤S501,具体实施步骤包括步骤S601至步骤S602:
步骤S601:将轨迹程序文件的字符流转换为记号流,并将记号流按照预设规则合成标识数组。
程序转译模块将对轨迹程序文件进行解析,包括词法分析。词法分析是将轨迹程序文件中的字符流转换为记号流,读取代码然后按照一定的规则合成一个个的标识数组。
步骤S602:将标识数组转换成第一语法树。
程序转译模块将对轨迹程序文件的解析进一步包括词法分析,词法分析是将分析出来的标志数组转换成第一语法树。
步骤S502:基于目标机器人的机器人信息将第一语法树转换成第二语法树。
程序转译模块获取目标机器人的机器人信息,目标机器人的机器人信息包括仿真模型适用的程序语言的词法规则和语法结构。程序转译模块遍历第一语法树并按照该词法规则和语法结构进行转换生成第二语法树,同时验证语法正确性。基于该词法规则和语法结构设置转换规则,建立起对应的映射,实现轨迹程序文件的转译。
可选地,本实施例可通过如图7所示的方法实现步骤S502,具体实施步骤包括步骤S701至步骤S703:
步骤S701:从目标机器人的机器人信息中获取词法规则和语法结构。
程序转译模块从目标机器人的机器人信息中获取词法规则和语法结构。
步骤S702:基于词法规则及语法结构生成转换规则。
程序转译模块基于词法规则及语法结构生成转换规则。
步骤S703:按照转换规则将第一语法树转换成第二语法树。
程序转译模块按照转换规则将第一语法树转换成第二语法树。
步骤S503:基于第二语法树生成与机器人信息对应的目标程序文件。
程序转译模块基于第二语法树生成与机器人信息对应的目标程序文件。
步骤S504:获取与目标机器人的机器人信息对应的仿真执行器,以通过仿真执行器控制目标程序文件在目标机器人上执行。
程序转译模块获取与目标机器人的机器人信息对应的仿真执行器,以通过仿真执行器控制目标程序文件在目标机器人上执行。
本申请进一步提出了一种机器人示教编程装置,如图8所示,该装置包括:
环境搭建模块801,用于构建机器人仿真工作场景,并将目标机器人的仿真模型导入仿真环境中;轨迹规划模块802,与环境搭建模块801连接,用于在仿真环境中对仿真模型进行运动仿真,并生成轨迹程序文件;程序转译模块803,与轨迹规划模块802连接,用于获取目标机器人的机器人信息,将轨迹程序文件转译成与机器人信息对应的目标程序文件,以使目标程序文件能在目标机器人上执行。
环境搭建模块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具有从外部模型导入机器人仿真模型、工具仿真模型以及几何体仿模型的能力,其支持导入的格式也有很多,对环境搭建和机器人的仿真模型创建具有极大的便利性,方便用户使用。
在上述仿真环境中用户能对上述仿真模型的颜色、安装位置、尺寸、原位、关节极值等信息进行查看和修改,按照现场实际环境调整各仿真模型的位置,并通过三点法使仿真模型位置与物体实际位置同步,搭建准确的仿真环境。
轨迹规划模块802包括:点位提取模块8021,用于基于运动控制指令确定目标机器人的仿真模型运动的路径点;程序编辑模块8022,用于基于路径点及目标机器人的仿真模型的运动学模型,生成初始运动轨迹,并对初始运动轨迹进行优化调整,生成轨迹程序文件。
点位提取模块8021主要是通过在目标机器人的仿真模型中示教、直接导入或鼠标选取、模型计算等方法确定路径点。
示教通过设定步长和速度点动控制机器人的仿真模型移动到目标位置,也可以直接拖动机器人末端工具的仿真模型移动到目标位置确定路径点;或者直接在3D界面中通过鼠标点击选点、在点位管理器直接输入轨迹点的信息及导入外部点文件确定路径点,当机器人的仿真模型需要在物体表面运行时也可以在面轨迹提取点位。
所有选取的路径点信息可以存储在点位管理器中,可对点位信息进行修改、删除、插入、恢复等操作。
轨迹规划模块802路径点的选取方式上设置了多种方式,方便用户使用,对各种机器人的运动方式有很强的适应性,有助于各种机器人的点位示教。
程序编辑模块8022根据目标机器人的仿真模型确定的机器人运动学模型、以及点位提取模块8021中路径点的位姿信息,并添加轨迹的运动参数(如:运动类型、速度、加速度,过渡误差)、规划参数(如:轨迹类型、路径精度、姿态误差、是否平滑、是否简化)和相关工艺参数条件,可以自动生成初始运动轨迹,并通过运动仿真运行和碰撞仿真的结果对初始运动轨迹的相关参数进行调整直到得到所需轨迹。程序编辑模块8022能够通过机器人运动学模型及路径点和参数设置确定最优的机器人运动路径,保证了机器人在后续运行中能够到达预定位置,方便机器人后续调整。
程序编辑模块8022可以在程序窗口进行程序指令及相关参数的设置,并按自定义语法规则生成有固定格式的程序文件,并可以保存为JSON文件。全部保存为JSON文件有助于程序转译。所述程序指令包括逻辑指令、运动指令、通讯指令和其他指令,逻辑指令包括loop、if(嵌套ELSE、ELIF)、while等常用逻辑指令,运动指令包括普通轨迹、规划轨迹(给定起点终点,自动完成轨迹规划)、打磨轨迹等,通讯指令包括设置数字输出、等待数字输入等,其他指令如delay指令、打印指令等。
程序转译模块803包括转译模块(图未示)及下发模块(图未示),其中转译模块对轨迹程序文件进行解析(包括词法分析和语法分析)生成第一语法树,遍历第一语法树并进行转换生成第二语法树,最后按导入的机器人的仿真模型的型号生成相应的目标程序文件。将相应的目标程序文件下发给真实机器人。
程序转译模块具体转译方法可以如下所所示:
首先生成轨迹程序文件,轨迹程序文件下设各个程序块,程序块可能内含子程序块,程序块包括逻辑命令、输入/输出(Input/Output,I/O)命令、运动命令等,每条命令包括命令关键字、命令参数等;程序结构包括程序头、程序主体及程序尾;参数包括参数名及参数值;逻辑结构包括选择结构及循环结构等。
其次,通过识别程序头及程序尾,将轨迹程序文件分割为程序块,程序块又可以进一步分为子程序块,对于程序块,识别其中的参数段及逻辑结构段,参数名包括速度参数、加速度参数、轨迹类型参数、误差参数及点参数等参数,参数量包括参数值及参数格式。
转译过程中轨迹程序文件结构段与对应目标程序文件结构段一般是固定对应关系;轨迹程序文件与目标程序文件逻辑结构段转译一般是通过识别逻辑词来判断进行转译;参数段的转译是根据不同机器人编程语言的习惯进行顺序调整以及参数值表达方式转换,参数值表达方式转换包括数据格式转换以及单位转换。
本实施例的机器人示教编程装置可以是上位机(即下发目标程序文件的装置,图未示)使用传输控制协议(Transmission Control Protocol,TCP)通讯与工业机器人建立连接,建立统一的通讯协议。通过通讯实时接收状态指令,拆解指令获取机器人状态,以10ms量级的频率更新机器人状态。机器人状态信息包括:是否紧急停止、当前工作模式(自动,手动)、程序运行状态、机械臂是否上电、电机是否上电、机器人笛卡尔位置信息(X,Y,Z,RX,RY,RZ)、机器人关节位置信息(J1,J2,J3,J4,J5,J6)、机器人速度、机器人加速度及机器人扭矩。
通过通讯实现机器人运动控制,包括机器人基于世界坐标系和TCP在笛卡尔空间的运动(X,Y,Z,RX,RY,RZ),机器人在关节空间的运动(J1,J2,J3,J4,J5,J6),方便点位示教和程序编写。
通过通讯实现机器人的IO管理,包括数字输出信号状态的设置和获取,数字输入信号状态的获取,模拟输出信号状态的设置和获取,模拟输入信号状态的获取。信号状态更新频率在10ms量级。
上位机通用的程序格式可以为JSON文件,针对不同机器人,上位机可以将JSON文件转译成对应机器人的目标程序文件。上位机将转译好的目标程序文件下发到真实机器人,下发方式根据机器人类型的不同有所区别,上位机通过通讯实现执行程序和删除程序。
上位机通过TCP通讯能够实时控制实际机器人,对后续实际机器人进行微调具有重要作用。
本申请进一步提出了仿真环境初始化及搭建方法,如图9所示。具体实施步骤包括步骤S901至步骤S906:
步骤S901:系统程序集(RVT-core)软件实现GUI界面,用户界面输入。
通过RVT-core软件实现GUI界面,便于用户进行界面输入。
步骤S902:进行环境搭建,设置参数。
在GUI界面进行环境搭建,设置参数。
步骤S903:进行模型导入。
在GUI界面进行仿真模型导入,导入整个仿真环境、机器人仿真模型、工具仿真模型及障碍物仿真模型。
步骤S904:初始化执行器。
对仿真机器人的执行器进行初始化,基于导入仿真机器人的机器人信息设置对应的执行器,进行连接,使能准备工作。
步骤S905:进行程序编辑。
在进行程序编辑时,分为两种方式,当真实机器人处于在线方式,通过上位机和控制器的TCP通讯来控制真实机器人运动以获取目标机器人状态;当处于离线方式,控制仿真环境中的机器人的仿真模型,获取数据。
本申请进一步提出了示教编程系统工作方法,如图10所示。具体实施步骤包括步骤S1001至步骤S1009:
步骤S1001:系统程序集(RVT-core)软件实现GUI界面,用户界面输入。
步骤S1001与步骤S901类似。
步骤S1002:进行环境搭建,设置参数。
步骤S1002与步骤S902类似。
步骤S1003:进行模型导入。
步骤S1003与步骤S903类似。
步骤S1004:进行点位获取。
通过固提取、点位管理器和点动或者拖动实现点位获取。
步骤S1005:进行程序编辑。
用户在程序窗口进行程序指令及相关参数的设置,生成机器人初始轨迹规划。
步骤S1006:进行运动碰撞仿真检测。
真实机器人处于离线方式时,对仿真机器人进行运动碰撞仿真检测。
步骤S1007:判断仿真检测是否通过。
判断仿真检测是否通过,通过则保存文件为轨迹程序文件,调至步骤S1008,否,则跳转至步骤S1004。
步骤S1008:进行程序转译并下发至目标机器人。
程序转译模块转译轨迹程序文件成目标程序文件,并下发至目标机器人。
步骤S1009:试运行并进行微调,判断是否达标。
将目标程序文件在真实机器人进行试运行并微调,若控制未达标,则转至步骤S1004。
本申请进一步提出了一种示教获取点位的方法。如图11所示,具体实施步骤包括步骤S1101至步骤S1105:
步骤S1101:进行点动与拖动。
对机器人的仿真模型进行点动与拖动,点动与拖动的操作方式可以进行选择。
步骤S1102:记录机器人路径点位置,存储至点文件。
将上述机器人的仿真模型的路径点位置存储至点文件。
步骤S1103:对点文件进行编辑。
对点文件进行编辑,对其进行删除、插入、修改、移动操作进行保存。
步骤S1104:进行点编号。
对上述点文件的路径点进行点编号。
步骤S1105:对路径点进行定义。
若路径点已定义,则示教;无定义,则弹窗定义。
本申请进一步提出了一种轨迹程序文件转译和下发的方法。如图12所示,具体实施步骤包括步骤S1201至步骤S1203:
步骤S1201:对轨迹程序进行试运行。
程序编辑模块对运动轨迹程序进行试运行。
步骤S1202:将轨迹程序软件转译成目标程序文件。
程序转译模块将轨迹程序软件转译成目标程序文件。
步骤S1203:下发至目标机器人并执行。
程序转译模块将目标程序文件下发至目标机器人并执行。
本申请进一步提出了一种程序编辑模块工作方法。如图13所示,具体步骤包括步骤S1301至步骤S1304:
步骤S1301:RVT软件实现GUI界面,用户界面输入指令。
在GUI界面,用户在用户界面输入指令。
步骤S1302:对指令进行回调函数处理。
程序编辑模块对指令进行回调函数处理。
步骤S1303:根据不同的指令生成不同程序块,生成失败则修改参数或重新输入。
在生成程序块的过程中要进行轨迹生成任务和数字输出设置任务,轨迹生成任务从之前点位提取模块中获取路径点,用户输入所需参数:位置点、运动空间、速度及加速度、轨迹类型及过渡半径。调用算法生成轨迹,生成失败则修改参数;数字输出设置任务,则是用户输入参数,调用Controller验证信息,完成两个任务则生成对应的程序块。
步骤S1304:成功则将程序块插入主程序中。
上述生成程序块成功则将程序块插入主程序中。
可选的,本申请进一步提出了一种程序编辑的模块,其如图14所示,程序编辑模块包括GUI1401、系统程序集(RVT-core)1402、机器人控制器1403、自定义函数库(RVS)1404及自定义指令类型(RVScript)1405。RVT-core1402与GUI1401、RVS1404、RVScript1405及机器人控制器1403连接,RVS1404与机器人控制器1403连接。
RVS1404自定义函数库中含有以下模块:
Kinematics:机器人运动学模型,机器人末端位姿与关节变量之间的转化(输入末端姿态或关节变量);
Liegroup:李群,数学函数库,定义机器人姿态便于进行姿态计算;
Environment:解析仿真环境文件中的参数信息用于计算,包括机器人型号参数,Denavit–Hartenberg parameters(DH)参数、坐标相对关系等,并将计算的得到的信息在模型中进行显示,包括碰撞检测、轨迹规划、点动拖动等机器人模型,用于提供机器人运动学参数,仿真显示的模型等数据。Planner:规划模块,提供自动生成路径点的算法;
Trajectory:轨迹插补(根据轨迹类型自主进行轨迹插补);
Controller:执行器,提供执行轨迹、IO指令等控制机器人的接口;
Programgenerator:程序转译下发。
在本地模型库选择机器人的仿真模型或工件仿真模型,或者导入外部文件,文件格式统一为环境文件,加载环境文件,通过GUI1401在界面显示,在图形界面同时可进行相关参数编辑,通过标定程序,进行机器人的仿真模式工作场景标定。
在图形界面点击点动,RVT-core1402中点动程序运行,用户在界面输入相关参数,通过RVS1404中的Controller模块,机器人进行点动。在图形界面点击拖动,RVT-core1402中拖动程序运行,用户在界面拖动机器人末端的工具仿真模型到达目标点位,通过RVS1404中的Controller模块,机器人的仿真模型按拖动轨迹运动。点位信息可以在点位管理器中进行编辑,也可以从本地文件中导入。
IO管理通过RVT-core1402中执行器控制Controller是否与实际机器人连接以及状态信息。
在图形界面点击程序编辑,RVT-core1402中程序编辑程序运行,用户在界面中选择程序指令,并输入或选择相关参数,RVScript1405根据用户编辑信息生成固定格式程序,RVT-core1402调动RVS1404相应模块中进行计算,最终计算结果反馈给Controller,Controller控制机器人进行仿真运行,点击碰撞仿真,Controller控制机器人进行仿真运行过程中,会进整体环境监测碰撞,并实时反馈碰撞检测结果。
根据指定,在Environment得到机器人的型号参数和DH参数,建立关节变换矩阵,在Kinematics根据参数和点位信息进行机器人运动学计算,Planner根据规划参数进行轨迹规划,在Trajectory根据示教点位置和轨迹参数、运动(速度加速度要求、轨迹类型)进行路径插补计算。
如果仿真运行结果合格,在界面点击转译,RVT-core1402调用Programgenerator程序将生成的轨迹程序文件转译对应型号的机器人目标程序文件。
若仿真结果不合格,返回点位获取模块,重新进行示教或点位编辑,直至程序合格,生成程序文件可以以JSON格式保存在本地文件夹。
若转译失败,弹窗报错失败原因,返回程序编辑模块进行修改,若转译成功,将目标程序文件保存在本地文件夹,下发至相应机器人控制柜。
区别于现有技术的情况,本申请先在仿真环境中对机器人的仿真模型进行运动仿真,并生成轨迹程序文件,然后将该轨迹程序文件转译成与该仿真模型对应的目标程序文件,以使得该目标程序文件能够在该机器人上执行。通过这种方式,本申请能够针对不同的机器人,仿真并生成对应的目标程序文件,因此能够适用于多种品牌机器人,实现多种机器人的统一操作和示教方式。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种机器人示教编程方法,其特征在于,所述机器人示教编程方法包括:
构建机器人仿真环境,并将目标机器人的仿真模型导入所述仿真环境中;
在所述仿真环境中对所述目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;
获取所述目标机器人的机器人信息,将所述轨迹程序文件转译成与所述机器人信息对应的目标程序文件,以使所述目标程序文件能在所述目标机器人上执行。
2.根据权利要求1所述的机器人示教编程方法,其特征在于,所述将所述轨迹程序文件转译成与所述机器人信息对应的目标程序文件包括:
对所述轨迹程序文件进行解析,生成第一语法树;
基于所述目标机器人的机器人信息将所述第一语法树转换成第二语法树;
基于所述第二语法树生成与所述机器人信息对应的目标程序文件。
3.根据权利要求2所述的机器人示教编程方法,其特征在于,所述目标机器人的机器人信息包括所述目标机器人适用的程序语言的词法规则和语法结构,所述基于所述目标机器人的机器人信息将所述第一语法树转换成第二语法树包括:
从所述目标机器人的机器人信息中获取所述词法规则和所述语法结构;
基于所述词法规则及所述语法结构生成转换规则;
按照所述转换规则将所述第一语法树转换成第二语法树。
4.根据权利要求2所述的机器人示教编程方法,其特征在于,所述对所述轨迹程序文件进行解析,生成第一语法树包括:
将所述轨迹程序文件的字符流转换为记号流,并将所述记号流按照预设规则合成标识数组;
将所述标识数组转换成第一语法树。
5.根据权利要求1所述的机器人示教编程方法,其特征在于,所述在所述仿真环境中对所述目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件包括:
对在所述仿真环境中的所述目标机器人的仿真模型配置参数及运动控制指令;
基于所述运动控制指令控制所述目标机器人的仿真模型运动;
将所述目标机器人的仿真模型的运动轨迹数据保存为预设格式的轨迹程序文件。
6.根据权利要求5所述的机器人示教编程方法,其特征在于,所述基于所述运动控制指令控制所述目标机器人的仿真模型运动包括:
基于所述运动控制指令确定所述目标机器人的仿真模型运动的路径点;
基于所述路径点及所述目标机器人的仿真模型的运动学模型,生成初始运动轨迹;
对所述初始运动轨迹进行优化调整,获取所述运动轨迹数据。
7.根据权利要求6所述的机器人示教编程方法,其特征在于,所述对所述初始运动轨迹进行优化调整,获取所述运动轨迹数据包括:
基于所述初始运动轨迹对所述目标机器人的仿真模型进行运动碰撞仿真;
基于所述运动碰撞仿真结果,对所述初始运动轨迹规划进行优化调整,获取所述运动轨迹数据。
8.根据权利要求1所述的机器人示教编程方法,其特征在于,进一步包括:
获取与所述目标机器人的仿真机器人信息对应的仿真执行器,以通过所述仿真执行器控制所述目标程序文件在所述目标机器人上执行。
9.一种机器人示教编程装置,其特征在于,包括:
环境搭建模块,用于构建机器人仿真工作场景,并将目标机器人的仿真模型导入所述仿真环境中;
轨迹规划模块,与所述环境搭建模块连接,用于在所述仿真环境中对所述目标机器人的仿真模型进行运动仿真,并生成轨迹程序文件;
程序转译模块,与所述轨迹规划模块连接,用于获取所述目标机器人的机器人信息,将所述轨迹程序文件转译成与所述机器人信息对应的目标程序文件,以使所述目标程序文件能在所述目标机器人上执行。
10.根据权利要求9所述的机器人示教编程装置,其特征在于,所述轨迹规划模块包括:
点位提取模块,用于基于运动控制指令确定所述目标机器人的仿真模型运动的路径点;
程序编辑模块,用于基于所述路径点及所述目标机器人的仿真模型的运动学模型,生成初始运动轨迹,并对所述初始运动轨迹进行优化调整,生成所述轨迹程序文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032710.9A CN113836702A (zh) | 2021-09-03 | 2021-09-03 | 机器人示教编程方法及机器人示教编程装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032710.9A CN113836702A (zh) | 2021-09-03 | 2021-09-03 | 机器人示教编程方法及机器人示教编程装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836702A true CN113836702A (zh) | 2021-12-24 |
Family
ID=78962239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032710.9A Pending CN113836702A (zh) | 2021-09-03 | 2021-09-03 | 机器人示教编程方法及机器人示教编程装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836702A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114310918A (zh) * | 2022-03-14 | 2022-04-12 | 珞石(北京)科技有限公司 | 一种人机协作下的机械臂轨迹生成与修正方法 |
CN114347039A (zh) * | 2022-02-14 | 2022-04-15 | 北京航空航天大学杭州创新研究院 | 机器人控制方法及相关装置 |
CN116604535A (zh) * | 2023-07-19 | 2023-08-18 | 深圳墨影科技有限公司 | 应用于机器人产业链模块化设计的示教系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103085072A (zh) * | 2013-03-11 | 2013-05-08 | 南京埃斯顿机器人工程有限公司 | 基于三维建模软件实现工业机器人离线编程的方法 |
KR101263487B1 (ko) * | 2012-09-26 | 2013-05-10 | 한국기계연구원 | 로봇의 교시 장치 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN107838922A (zh) * | 2017-10-25 | 2018-03-27 | 中国科学院沈阳自动化研究所 | 一种机器人免重复示教的方法 |
CN107972034A (zh) * | 2017-12-31 | 2018-05-01 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于ros平台的复杂工件轨迹规划仿真系统 |
CN110315534A (zh) * | 2019-05-11 | 2019-10-11 | 深圳市鲲鹏智能装备制造有限公司 | 船舶焊接机器人离线编程的处理方法和系统 |
CN110370298A (zh) * | 2019-07-26 | 2019-10-25 | 上海交通大学 | 一种焊接机器人轨迹自动规划方法 |
CN110625615A (zh) * | 2019-09-25 | 2019-12-31 | 华中科技大学 | 一种机器人离线编程信息处理系统及方法 |
CN111113426A (zh) * | 2019-12-31 | 2020-05-08 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于cad平台的机器人离线编程系统 |
CN111376262A (zh) * | 2018-12-31 | 2020-07-07 | 广州智信科技有限公司 | 机器人离线编程方法 |
-
2021
- 2021-09-03 CN CN202111032710.9A patent/CN113836702A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101263487B1 (ko) * | 2012-09-26 | 2013-05-10 | 한국기계연구원 | 로봇의 교시 장치 |
CN103085072A (zh) * | 2013-03-11 | 2013-05-08 | 南京埃斯顿机器人工程有限公司 | 基于三维建模软件实现工业机器人离线编程的方法 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN107838922A (zh) * | 2017-10-25 | 2018-03-27 | 中国科学院沈阳自动化研究所 | 一种机器人免重复示教的方法 |
CN107972034A (zh) * | 2017-12-31 | 2018-05-01 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于ros平台的复杂工件轨迹规划仿真系统 |
CN111376262A (zh) * | 2018-12-31 | 2020-07-07 | 广州智信科技有限公司 | 机器人离线编程方法 |
CN110315534A (zh) * | 2019-05-11 | 2019-10-11 | 深圳市鲲鹏智能装备制造有限公司 | 船舶焊接机器人离线编程的处理方法和系统 |
CN110370298A (zh) * | 2019-07-26 | 2019-10-25 | 上海交通大学 | 一种焊接机器人轨迹自动规划方法 |
CN110625615A (zh) * | 2019-09-25 | 2019-12-31 | 华中科技大学 | 一种机器人离线编程信息处理系统及方法 |
CN111113426A (zh) * | 2019-12-31 | 2020-05-08 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于cad平台的机器人离线编程系统 |
Non-Patent Citations (1)
Title |
---|
唐新华等: "机器人三维可视化离线编程和仿真系统", 《焊接学报》, pages 64 - 68 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114347039A (zh) * | 2022-02-14 | 2022-04-15 | 北京航空航天大学杭州创新研究院 | 机器人控制方法及相关装置 |
CN114347039B (zh) * | 2022-02-14 | 2023-09-22 | 北京航空航天大学杭州创新研究院 | 机器人前瞻控制方法及相关装置 |
CN114310918A (zh) * | 2022-03-14 | 2022-04-12 | 珞石(北京)科技有限公司 | 一种人机协作下的机械臂轨迹生成与修正方法 |
CN116604535A (zh) * | 2023-07-19 | 2023-08-18 | 深圳墨影科技有限公司 | 应用于机器人产业链模块化设计的示教系统及方法 |
CN116604535B (zh) * | 2023-07-19 | 2023-09-12 | 深圳墨影科技有限公司 | 应用于机器人产业链模块化设计的示教系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107932504B (zh) | 基于PyQt的机械臂运行控制系统 | |
CN113836702A (zh) | 机器人示教编程方法及机器人示教编程装置 | |
CN110625615B (zh) | 一种机器人离线编程信息处理系统及方法 | |
CN100460159C (zh) | 工业机器人离线编程系统 | |
CN108568818B (zh) | 机器人的控制系统和方法 | |
US6445964B1 (en) | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine | |
US6718231B2 (en) | Authoring system and authoring method, and storage medium | |
EP1643327B1 (en) | Systems and methods that facilitate motion control through coordinate system transformations | |
EP1310844B1 (en) | Simulation device | |
EP1842631B1 (en) | Apparatus and method for automatic path generation for an industrial robot | |
US20110054685A1 (en) | Robot off-line teaching method | |
CN104457566A (zh) | 一种无须示教机器人系统的空间定位方法 | |
Miner et al. | An interactive virtual reality simulation system for robot control and operator training | |
EP3673334B1 (en) | Method for engineering autonomous system with reusable skills | |
CN114564192A (zh) | 一种实时以太网工控软件开发环境的数据映射方法 | |
CN116096534A (zh) | 用于对机器人进行编程的方法和系统 | |
TWI594858B (zh) | 機械手臂教導控制系統 | |
JPH0944219A (ja) | ロボットシミュレータ装置 | |
JP2827239B2 (ja) | 動作状態表示装置,動作指示制御装置および制御装置 | |
CN115008439A (zh) | 信息处理设备和方法、机器人系统、产品制造方法 | |
Hwang et al. | Interactive task planning through natural language | |
Freund et al. | A system to automate the generation of program variants for industrial robot applications | |
JPH0699377A (ja) | ロボット軌道を教示するための方法 | |
CN111862297A (zh) | 基于Coin3D的协作机器人可视化仿真示教方法 | |
WO2024142289A1 (ja) | プログラミング装置、プログラミング方法及びプログラム |
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 |