CN114102590B - 一种工业机器人仿真方法、***及应用 - Google Patents
一种工业机器人仿真方法、***及应用 Download PDFInfo
- Publication number
- CN114102590B CN114102590B CN202111403015.9A CN202111403015A CN114102590B CN 114102590 B CN114102590 B CN 114102590B CN 202111403015 A CN202111403015 A CN 202111403015A CN 114102590 B CN114102590 B CN 114102590B
- Authority
- CN
- China
- Prior art keywords
- industrial robot
- module
- motion
- virtual
- control module
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000033001 locomotion Effects 0.000 claims abstract description 228
- 230000006870 function Effects 0.000 claims abstract description 118
- 230000003993 interaction Effects 0.000 claims abstract description 68
- 238000004519 manufacturing process Methods 0.000 claims abstract description 17
- 238000011161 development Methods 0.000 claims abstract description 12
- 230000008878 coupling Effects 0.000 claims abstract description 7
- 238000010168 coupling process Methods 0.000 claims abstract description 7
- 238000005859 coupling reaction Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims 2
- 238000010276 construction Methods 0.000 description 15
- 230000018109 developmental process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种工业机器人仿真方法、***及应用,属于工业机器人领域,包括:S1、在交互层,根据工业机器人的几何参数,构建工业机器人的三维仿真模型,得到虚拟工业机器人;S2、在运动控制层,根据用户所需的功能设计并添加相应的功能控制模块,以对虚拟工业机器人进行控制;本发明通过对工业机器人在实际生产环境中的功能进行分析,将实体工业机器人抽象为以单功能原子模型耦合而成的仿真模型,采用模块化的方式对虚拟工业机器人的功能控制模块进行分层添加,实现了几何模型与控制器的解耦,可扩展性强,能够支持多类型的工业机器人运动仿真控制,通用性强,用于进行工业机器人孪生体构建时开发成本较低,难度也较小。
Description
技术领域
本发明属于工业机器人领域,更具体地,涉及一种工业机器人仿真方法、***及应用。
背景技术
工业机器人能够根据操作者所编写的指令程序,执行对应的轨迹路径以及作业任务,是智能制造现场生成中的关键制造设备。数字孪生作为智能制造的关键技术,是实现物理世界与信息世界实时交互和融合的一种有效方法。工业机器人数字孪生体能够给在物理设备进行实际布局之前对类型参数进行验证分析,通过对机器人运动状态的模拟仿真,避免机器人在使用私出现碰撞,造成财产损失甚至人员伤害。同时通过传输采集的工业机器人数据,能够实现操作人员在远程对复杂、具有不确定性工作环境的工业机器人状态进行实时监控以及反馈控制。因此,如何对工业机器人进行仿真,以快速有效的实现其数字孪生虚拟实体模型的搭建以及仿真环境中的加工运行模拟和虚实同步运行监控,具有重要的研究价值。
现有的工业机器人仿真***将几何模型与控制器相绑定,代码复用性低,扩展性差,往往仅针对单一类型的工业机器人进行仿真,通用性较差;且将现有的工业机器人仿真***应用于工业机器人孪生体构建时,由于不同类型的工业机器人所使用的控制***以及结构参数各异,针对不同类型的设备对象,需要从底层开始设计工业机器人模块的各个功能,导致工业机器人数字孪生体建模研发过程中“重复造轮子”现象严重,开发成本及难度较高。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种工业机器人仿真方法、***及应用,用以解决现有的工业机器人仿真***的通用性和可扩展性较差,用于进行工业机器人孪生体构建时开发成本及难度较高的技术问题。
为了实现上述目的,第一方面,本发明提供了一种工业机器人仿真方法,包括:
S1、在交互层,根据工业机器人的几何参数,构建工业机器人的三维仿真模型,得到虚拟工业机器人;
S2、在运动控制层,根据用户所需的功能设计并添加相应的功能控制模块,以对虚拟工业机器人进行控制;
其中,功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
进一步优选地,步骤S2包括:
当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,所添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,所添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收用户输入的目标位姿点数据;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,所添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
第二方面,本发明提供了一种工业机器人仿真***,包括:交互层和运动控制层;
交互层包括虚拟工业机器人;虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;
运动控制层包括根据用户所需的功能设计并添加相应的功能控制模块,用于对虚拟工业机器人进行控制;
其中,功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
进一步优选地,当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收用户输入的目标位姿点数据;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
第三方面,本发明提供了一种工业机器人虚实交互***,包括交互层、运动控制层和物理空间层;交互层和物理空间层通过运动控制层进行虚实交互;
交互层包括虚拟工业机器人;虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;
运动控制层包括根据用户所需的功能设计并添加相应的功能控制模块,用于对虚拟工业机器人进行控制;
物理空间层包括实体工业机器人;
运动控制层中对应的功能控制模块接收实体工业机器人的实时状态数据,以实现控制虚拟工业机器人与实体工业机器人的同步运行;或者,运动控制层中对应的功能控制模块接收用户输入的控制指令信息,以实现用户对实体工业机器人的直接控制;
其中,功能控制模块包括状态随动模块、运动控制模块、程序解析模块和反馈控制模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动虚拟工业机器人的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型;
反馈控制模块用于实现交互层与物理空间层之间的数据通讯。
进一步优选地,工业机器人虚实交互***在实现虚拟工业机器人与实体工业机器人的同步运行时:
当虚拟工业机器人与实体工业机器人同步进行单关节旋转运动时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收实体工业机器人输入的实时关节角度值数据;
当虚拟工业机器人与实体工业机器人的同步进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收实体工业机器人输入的实时目标位姿点数据。
进一步优选地,工业机器人虚实交互***在实现用户对实体工业机器人的直接控制时,运动控制层中添加的功能控制模块包括反馈控制模块;此时,反馈控制模块用于接收用户输入的操作指令,并将操作指令下发给实体工业机器人,实现用户对实体工业机器人的远程控制。
进一步优选地,工业机器人虚实交互***还用于直接对工业机器人进行虚拟仿真,具体为:
当对工业机器人进行单关节旋转运动仿真时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当对工业机器人进行轨迹运动仿真时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制层的运动控制模块接收用户输入的目标位姿点数据;
当仿真对工业机器人根据轨迹路径程序进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
进一步优选地,交互层还包括用户操作界面;用户操作界面用于将用户输入发送至运动控制层。
进一步优选地,程序解析模块和状态随动模块采用unity3D仿真引擎进行功能开发;运动控制模块和反馈控制模块基于ROS***进行开发。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
1、本发明提供了一种工业机器人仿真方法及***,通过对工业机器人在实际生产环境中的功能进行分析,将实体工业机器人抽象为以单功能原子模型耦合而成的仿真模型,采用模块化的方式对虚拟工业机器人的功能控制模块进行分层添加,实现了几何模型与控制器的解耦,可扩展性强,能够支持多类型的工业机器人运动仿真控制,通用性强,用于进行工业机器人孪生体构建时开发成本较低,难度也较小。
2、本发明所提供的工业机器人仿真方法及***,能够在仿真环境中进行多种类型的六轴工业机器人运动控制,解决传统机器人仿真软件机器人品牌或类型较为单一的问题,便于在进行多机器人生产线搭建时进行机器人类型的选择。
3、本发明提供了一种工业机器人虚实交互***,采用模块化的思想进行工业机器人虚实交互***设计,实现数字孪生虚拟实体设备模型的快速搭建,支持在仿真环境中进行虚拟控制与同步运行监控,能够快速有效地实现工业机器人数字孪生虚拟实体模型的搭建以及仿真环境中的加工运行模拟和虚实同步运行监控。
4、本发明所提供的工业机器人虚实交互***,基于ROS***进行机器人仿真研究,支持以插件形式对运动学解算、轨迹规划等算法进行替换,实现对自定义算法的优化检测,使机器人虚实交互***具有良好的通用性与可扩展性。解决了现有机器人仿真***构建方法需要从底层开始进行控制***的构建,代码的复用率较高,***开发工作量小。
附图说明
图1为本发明提供的工业机器人仿真方法流程图;
图2为本发明实施例提供的工业机器人虚实交互***的结构示意图;
图3为本发明实施例提供的按照用户所需的功能添加相应的功能控制模块后的工业机器人虚实交互***的结构示意图;
图4为本发明实施例提供的程序解析模块中轨迹指令解释的流程图;
图5为本发明实施例提供的机器人指令数据传输流程图;
图6为本发明实施例提供的机器人运动控制流程图;
图7为本发明实施例提供的平台间通信示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了实现上述目的,第一方面,本发明提供了一种工业机器人仿真方法,如图1所示,包括以下步骤:
S1、在交互层,根据工业机器人的几何参数,构建工业机器人的三维仿真模型,得到虚拟工业机器人;在一些可选实施例中,上述工业机器人可以为多种类型的工业机器人,如hs603、hs605、UR5、UR10等多种类型的六轴工业机器人。
S2、在运动控制层,根据用户所需的功能设计并添加相应的功能控制模块,以对虚拟工业机器人进行控制;
其中,功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
具体地,在一种可选实施方式下,步骤S2包括:
当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,所添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,所添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收用户输入的目标位姿点数据;运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值,并输出至状态随动模块中,从而控制虚拟工业机器人进行轨迹运动;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,所添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
本发明能够在仿真环境中进行工业机器人设备模型的布局搭建,通过对虚拟实体模型进行运动控制操作,模拟设备在实际生产环境中的工作情况,对所选择工业机器人工作空间、设备位姿布局等关键参数进行检测。便于在实际设备平台搭建前,根据仿真环境测试结果对所选择机器人的类型参数以及空间中的布局位姿进行校准与优化。
第二方面,本发明提供了一种工业机器人仿真***,包括:交互层和运动控制层;
交互层包括虚拟工业机器人;虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;在一些可选实施例中,上述工业机器人可以为多种类型的工业机器人,如hs603、hs605、UR5、UR10等多种类型的六轴工业机器人。
运动控制层包括根据用户所需的功能设计并添加相应的功能控制模块,用于对虚拟工业机器人进行控制;
其中,功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
具体地,当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收用户输入的目标位姿点数据;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
优选地,上述交互层还包括用户操作界面;用户操作界面用于将用户输入发送至运动控制层。具体地,用户根据需求在运动控制层中添加对应的功能控制模块,并进行运动参数配置,完成工业机器人仿真模型的自定义搭建,实现在仿真空间中对虚拟设备的运动控制。本实施例所提供的工业机器人仿真***能够对工业机器人进行虚拟仿真,进行设备模型的可视化展示。
需要说明的是,本发明可以同时在运动控制层中添加级联的程序解析模块、运动控制模块和状态随动模块,然后根据用户需求,将用户输入输入到对应的模块中,实现工业机器人的仿真。本实施例能够在仿真环境中通过运动指令和轨迹程序对虚拟工业机器人设备进行驱动控制,模拟机器人在生产环境中与其余设备的配合运行,用于工业机器人加工轨迹路径以及程序间触发逻辑的先验检查。
第三方面,本发明提供了一种工业机器人虚实交互***,通过对工业机器人在实际生产环境中的功能进行分析,将工业机器人抽象为以单功能原子模型耦合而成的仿真模型,完成了工业机器人的仿真模型构建与通讯接口定义,实现了工业机器人虚实交互***的快速搭建。具体地,工业机器人虚实交互***包括交互层、运动控制层和物理空间层;交互层和物理空间层通过运动控制层进行虚实交互;
其中,交互层包括虚拟工业机器人;虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;在一些可选实施例中,上述工业机器人可以为多种类型的工业机器人,如hs603、hs605、UR5、UR10等多种类型的六轴工业机器人。
运动控制层包括根据用户所需的功能设计并添加相应的功能控制模块,用于对虚拟工业机器人进行控制;
物理空间层包括实体工业机器人;
运动控制层中对应的功能控制模块接收实体工业机器人的实时状态数据,以实现控制虚拟工业机器人与实体工业机器人的同步运行;或者,运动控制层中对应的功能控制模块接收用户输入的控制指令信息,以实现用户对实体工业机器人的直接控制;
其中,功能控制模块包括状态随动模块、运动控制模块、程序解析模块和反馈控制模块中的一种或多种;
状态随动模块用于根据关节角度值数据,驱动虚拟工业机器人的轴关节进行旋转运动,到达目标位姿点;
运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型;
反馈控制模块用于实现交互层与物理空间层之间的数据通讯。
在一些可选实施方式下,程序解析模块和状态随动模块采用unity3D仿真引擎进行功能开发;运动控制模块和反馈控制模块基于ROS***进行开发。
进一步地,工业机器人虚实交互***在实现虚拟工业机器人与实体工业机器人的同步运行时:
当虚拟工业机器人与实体工业机器人同步进行单关节旋转运动时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收实体工业机器人输入的实时关节角度值数据;
当虚拟工业机器人与实体工业机器人的同步进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制模块接收实体工业机器人输入的实时目标位姿点数据。
进一步地,工业机器人虚实交互***在实现用户对实体工业机器人的直接控制时,运动控制层中添加的功能控制模块包括反馈控制模块;此时,反馈控制模块用于接收用户输入的操作指令,并将操作指令下发给实体工业机器人,基于用户的操作指令和机器人的状态数据实现用户对实体工业机器人的远程控制。
进一步地,工业机器人虚实交互***还用于直接对工业机器人进行虚拟仿真,具体为:
当对工业机器人进行单关节旋转运动仿真时,运动控制层中添加的功能控制模块包括状态随动模块;此时,状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当对工业机器人进行轨迹运动仿真时,运动控制层中添加的功能控制模块包括级联的运动控制模块和状态随动模块;此时,运动控制层的运动控制模块接收用户输入的目标位姿点数据;
当仿真对工业机器人根据轨迹路径程序进行轨迹运动时,运动控制层中添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,程序解析模块接收用户输入的轨迹路径程序。
在一种可选实施方式下,上述交互层还包括用户操作界面;用户操作界面用于将用户输入发送至运动控制层。
需要说明的是,现有方法进行工业机器人虚实交互***平台构建时,将设备几何模型与功能控制器相绑定,针对不同设备模型从底层***进行功能开发实现,导致***代码的复用率低、通用性差等问题。本发明通过对工业机器人在实际生产环境中的功能进行分析,将设备抽象为以单功能原子模型耦合而成的仿真模型,采用模块化的方式对虚拟设备功能模型进行分层添加,完成了设备的仿真模型构建与通讯接口定义,实现了工业机器人虚实交互***的快速搭建。
为了进一步说明本发明所提供的工业机器人虚实交互***,下面结合具体实施例进行详述:
实施例
本实施例中,工业机器人虚实交互***分为运动控制与虚拟仿真两个部分,其中运动控制部分根据操作指令进行动作执行,虚拟仿真部分用于进行设备模型的可视化展示以及人机交互指令的处理。
工业机器人虚实交互***开发的目标功能为:离线状态下的仿真运行预演以及连接状态下的设备监控与反馈控制。如图2所示,本实施例采用模块化的构建方式将工业机器人虚实交互***划分为人机交互层、动作控制层以物理空间层。
其中,人机交互层包括用户操作界面以及三维状态显示模块(即虚拟工业机器人),用于进行虚拟工业机器人的运动控制以及设备运行状态显示:运动控制层用于根据运动指令进行动作执行。在实际使用的过程中,用户根据仿真模型需求添加对应的功能模块并进行参数设置,实现工业机器人数字孪生体模型的快速构建。
传统机器人虚拟实体模型将几何模型与控制器相绑定,导致代码复用性低,扩展性差,而本发明提出将机器人功能转化为相互独立节点功能耦合的创建方法。具体地,本实施例中,如图3所示,根据指令类型的不同,在运动控制层中添加程序解析模块和运动器部分。进一步地,根据具体的用户需求,运动器部分添加对应的功能模型。本实施例中,运动器部分扩展划分为状态随动模块、运动控制模块以及反馈控制模块三个部分。
其中,程序解析模块用于将用户所编辑的工业机器人轨迹路径程序进行识别,获取当前命令行的控制指令信息,之后将解析后的目标点位姿数据、插补类型命令以及动作参数传输到运动控制模块,其工作流程如图4所示。具体地,目标点位姿数据包括:位置数据、姿态数据和关节角度;插补类型命令包括关节指令、直线指令和圆弧指令;动作参数包括速度、点位序号和加速比。
运动控制模块根据所要求的运动类型以及目标点位姿参数进行轨迹插补,并将插补计算后的轴关节转动角度值参数进行输出。具体地,如图5所示为机器人指令程序数据传输流程,运动控制模块根据所获取的目标位姿点数据以及插补类型进行运算,并将运算后的关节角度值数据传输到状态随动模块中,实现机器人的手动控制以及轨迹程序运行。具体地,插补类型包括多项式插补、直线位置插补、对四元素进行插补和圆弧位置插补。当机器人类型为虚拟仿真状态时,运动控制模块的输入数据由程序解析模块或者用户操作界面控制按钮进行传输。当机器人类型为虚实交互状态时,运动控制器模块的输入数据为物理空间层中的实体工业机器人在工作空间中的位姿数据。本实施例中,在进行构建时,首先对被控机器人对象进行参数化描述,包括臂杆参数以及各臂杆间的相对关系,完成机械臂运动关系链的构建。ROS中的机器人模型是通过URDF。使用SolidWorks软件创建URDF模型文件(URDF文件使用XML格式以模型树的结构形式对设备模型结构参数进行记录,将工业机械臂各臂解释为连杆并通过tag标签中的link进行标记,记录当前连杆的形状、尺寸、颜色、惯性矩阵碰撞参数等;连杆之间的关节使用tag标签中的joint进行标记,记录关节类型、运动限制值、关节关系等参数),然后根据用户需求对功能选项参数进行设置,具体地,使用机械臂集成库MoveIt!工具插件实现运动学参数的配置,通过调用机器人运动学与轨迹插补算法插件,实现了关节空间与笛卡尔空间中的轨迹运行。本实施例基于ROS***进行机器人运动控制模块进行设计,首先对URDF文件的描述内容进行简要说明,介绍使用六自由度工业机器人模型创建URDF文件的方法,并借助Rviz仿真环境通过可视化方式进行校验。之后借助MoveIt!所提供的Setup Assistant配置界面对设备模型的运动属性进行配置。最后针对机器人在关节空间以及笛卡尔空间中的运动学解算以及轨迹规划算法进行研究,实现机器人的轴关节、线轨迹路径以及圆弧轨迹路径的运动控制。
状态随动模块根据生产现场设备的实时状态数据以及运动控制模块输出的关节状态数据,控制人机交互层中虚拟工业机器人的状态更新,实现仿真空间中虚拟设备模型与真实空间中物理设备模型的虚实交互,以及仿真状态下的运行模拟。具体地,状态随动模块根据所获取的关节角度值数据驱动仿真环境中的虚拟工业机器人运行,其工作流程如图6所示。当机器人类型为虚拟仿真状态时,状态随动模块输入数据由运动控制模块或者用户操作界面轴关节控制功能进行数据;当机器人类型为虚实交互状态时,运动控制器模块的输入数据为实体工业机器人的轴关节角度值实时数据;当实际生产现场的实体工业机器人进行工作运行时,仿真环境中的虚拟工业机器人通过与实体工业机器人进行数据通讯,保持与实体工业机器人工作状态的一致性,使操作者能够通过仿真界面实现对现场设备的远程监控。
反馈控制模块根据机器人的状态数据以及用户的操作指令对物理空间中的工业机器人进行运动控制。具体地,反馈控制模块用于进行人机交互界面与物理设备控制***间的数据通讯,将相关的控制指令信息下发给实体机器人控制***,实现通过操作仿真环境中的虚拟工业机器人驱动机器人本体进行运动,便于用户对工业机器人的远程控制。基于上述反馈控制模块,操作者能够通过操作虚拟工业机器人对实体工业机器人的运动控制,实现根据虚拟空间中的仿真运行结果对物理实体设备的运行状态进行动态调整,满足数字孪生信息空间与物理空间的双向控制。
进一步地,上述各功能模块设计完成后,本实施例根据模块特点进行开发平台选择。本实施例中,程序解析模块与状态随动模块在执行过程中不需要参与运动学的计算,为减小机器人控制器运动过程中的资源损耗,因此该部分与人机交互层界面功能模块归类为虚拟仿真部分,使用unity3D仿真引擎进行功能开发。运动控制部分在本发明的研究内容中,主要进行工业机器人运动学解算、轨迹插补以及反馈控制的功能实现,基于ROS***进行开发。ROS***内部的通讯使用话题发布与订阅机制进行实现。ROSbridge是ROS官方所提供的,用于实现ROS***与非ROS***之间数据传输实现的功能包,关键部分由ROSbridgeProtocol以及ROSbridge Implementation组成。因此***整体通讯框架如图7所示。本实施例使用三维机器人模型创建URDF文件,并通过MoveIt!工具进行相关参数的配置,不需要从底层进行开发,就能够快速完成多类型机器人运动学模型的设置,便于进行自定义模型库的创建。
进一步地,工业机器人运动控制分为轨迹规划以及运动学解算两个部分。轨迹规划用于根据用户所指定的运动方式以及目标点位进行路径插补,将轨迹线条转化为一系列中间位姿点,之后控制器驱动机器人依次到达所生成的点位,实现轨迹路径的执行。运动学解算分为正向运动学和逆向运动学两种类型,其中,逆向运动学根据解算方式的不同能够分为数值解与解析解。在ROS***中进行机器人运动控制功能开发时,用户通过人机交互界面调用move_group所提供的API接口函数连接需要的规划组,并发送运动规划请求到OMPL运动规划库。运动请求中会包含用户所指定的目标点位姿(关节空间或笛卡尔空间)以及当前轨迹路径中的约束条件,例如位姿约束、方向约束以及用户自定义约束等,经过OMPL进行规划后,生成一条到达目点位的轨迹路径作为响应。之后通过插补算法将运动轨迹转为连续的运动点,并通过逆向运动学解算出路径点下机器人的轴关节状态。最后将关节角度值以及用户自定义设置的运动速度、加速度等参数发送到驱动控制器进行轨迹运行,完成机器人在ROS环境中的运动控制。
本实施例针对工业机器人虚实交互***的功能需求进行分析,根据需求分析结果提出采用模块化的方法进行***软件的总体框架设计,并对主要功能模块的具体任务内容进行描述,提出使用ROS***进行虚拟实体模型创建方法,完成各模块开发平台的选择。最后根据各模块运行环境的不同进行通讯方案设计。本实施例所提供的基于ROS的工业机器人虚实交互***,能够支持多类型的工业机器人运动仿真控制,实现在设计阶段通过仿真预演,对工业机器人轨迹路径程序以及运动学算法进行验证与优化,以及在生产阶段通过与物理空间中的设备进行数据通讯,实现对工业机器人的状态监控与反馈控制。能够快速有效地实现工业机器人数字孪生虚拟实体模型的搭建以及仿真环境中的加工运行模拟和虚实同步运行监控。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种工业机器人仿真方法,其特征在于,包括以下步骤:
S1、在交互层,根据工业机器人的几何参数,构建工业机器人的三维仿真模型,得到虚拟工业机器人;
S2、在运动控制层,通过对工业机器人在实际生产环境中的功能进行分析,根据用户所需的功能设计并添加相应的功能控制模块,以对虚拟工业机器人进行控制,从而将工业机器人抽象为以单功能原子模型耦合而成的仿真模型;
其中,所述功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
所述状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
所述运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
所述程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
2.根据权利要求1所述的工业机器人仿真方法,其特征在于,所述步骤S2包括:
当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,所添加的功能控制模块包括所述状态随动模块;此时,所述状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,所添加的功能控制模块包括级联的所述运动控制模块和所述状态随动模块;此时,所述运动控制模块接收用户输入的目标位姿点数据;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,所添加的功能控制模块包括级联的所述程序解析模块、所述运动控制模块和所述状态随动模块;此时,所述程序解析模块接收用户输入的轨迹路径程序。
3.一种工业机器人仿真***,其特征在于,包括:交互层和运动控制层;
所述交互层包括虚拟工业机器人;所述虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;
所述运动控制层用于通过对工业机器人在实际生产环境中的功能进行分析,根据用户所需的功能设计并添加相应的功能控制模块,以对所述虚拟工业机器人进行控制,从而将工业机器人抽象为以单功能原子模型耦合而成的仿真模型;
其中,所述功能控制模块包括状态随动模块、运动控制模块和程序解析模块中的一种或多种;
所述状态随动模块用于根据关节角度值数据,驱动三维仿真模型中的轴关节进行旋转运动,到达目标位姿点;
所述运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
所述程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型。
4.根据权利要求3所述的工业机器人仿真***,其特征在于,当用户所需的功能为控制虚拟工业机器人进行单关节旋转运动时,所述运动控制层中添加的功能控制模块包括所述状态随动模块;此时,所述状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当用户所需的功能为控制虚拟工业机器人进行轨迹运动时,所述运动控制层中添加的功能控制模块包括级联的所述运动控制模块和所述状态随动模块;此时,所述运动控制模块接收用户输入的目标位姿点数据;
当用户所需的功能为控制虚拟工业机器人根据轨迹路径程序进行轨迹运动时,所述运动控制层中添加的功能控制模块包括级联的所述程序解析模块、所述运动控制模块和所述状态随动模块;此时,所述程序解析模块接收用户输入的轨迹路径程序。
5.一种工业机器人虚实交互***,其特征在于,包括交互层、运动控制层和物理空间层;所述交互层和所述物理空间层通过所述运动控制层进行虚实交互;
所述交互层包括虚拟工业机器人;所述虚拟工业机器人为根据工业机器人的几何参数,构建得到的工业机器人的三维仿真模型;
所述运动控制层用于通过对工业机器人在实际生产环境中的功能进行分析,根据用户所需的功能设计并添加相应的功能控制模块,以对所述虚拟工业机器人进行控制,从而将工业机器人抽象为以单功能原子模型耦合而成的仿真模型;
所述物理空间层包括实体工业机器人;
所述运动控制层中对应的功能控制模块接收所述实体工业机器人的实时状态数据,以实现控制所述虚拟工业机器人与所述实体工业机器人的同步运行;或者,所述运动控制层中对应的功能控制模块接收用户输入的控制指令信息,以实现用户对所述实体工业机器人的直接控制;
其中,所述功能控制模块包括状态随动模块、运动控制模块、程序解析模块和反馈控制模块中的一种或多种;
所述状态随动模块用于根据关节角度值数据,驱动所述虚拟工业机器人的轴关节进行旋转运动,到达目标位姿点;
所述运动控制模块用于根据目标位姿点数据和运动轨迹类型进行轨迹插补,得到插补后的关节角度值;
所述程序解析模块用于识别轨迹路径程序,获取当前命令行的控制指令信息,并解析控制指令信息中的目标位姿点数据和运动轨迹类型;
所述反馈控制模块用于实现所述交互层与所述物理空间层之间的数据通讯。
6.根据权利要求5所述的工业机器人虚实交互***,其特征在于,在实现虚拟工业机器人与实体工业机器人的同步运行时:
当所述虚拟工业机器人与所述实体工业机器人同步进行单关节旋转运动时,所述运动控制层中添加的功能控制模块包括所述状态随动模块;此时,所述状态随动模块接收所述实体工业机器人输入的实时关节角度值数据;
当所述虚拟工业机器人与所述实体工业机器人的同步进行轨迹运动时,所述运动控制层中添加的功能控制模块包括级联的所述运动控制模块和所述状态随动模块;此时,所述运动控制模块接收所述实体工业机器人输入的实时目标位姿点数据。
7.根据权利要求5所述的工业机器人虚实交互***,其特征在于,在实现用户对实体工业机器人的直接控制时,所述运动控制层中添加的功能控制模块包括所述反馈控制模块;此时,所述反馈控制模块用于接收用户输入的操作指令,并将所述操作指令下发给实体工业机器人,实现用户对实体工业机器人的远程控制。
8.根据权利要求5所述的工业机器人虚实交互***,其特征在于,还用于直接对工业机器人进行虚拟仿真,具体为:
当对工业机器人进行单关节旋转运动仿真时,所述运动控制层中添加的功能控制模块包括所述状态随动模块;此时,所述状态随动模块接收用户输入的目标位姿点所对应的关节角度值数据;
当对工业机器人进行轨迹运动仿真时,所述运动控制层中添加的功能控制模块包括级联的所述运动控制模块和所述状态随动模块;此时,所述运动控制层的运动控制模块接收用户输入的目标位姿点数据;
当仿真对工业机器人根据轨迹路径程序进行轨迹运动时,所述运动控制层中添加的功能控制模块包括级联的程序解析模块、运动控制模块和状态随动模块;此时,所述程序解析模块接收用户输入的轨迹路径程序。
9.根据权利要求5-8任意一项所述的工业机器人虚实交互***,其特征在于,交互层还包括用户操作界面;所述用户操作界面用于将用户输入发送至所述运动控制层。
10.根据权利要求9所述的工业机器人虚实交互***,其特征在于,所述程序解析模块和所述状态随动模块采用unity3D仿真引擎进行功能开发;所述运动控制模块和所述反馈控制模块基于ROS***进行开发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111403015.9A CN114102590B (zh) | 2021-11-24 | 2021-11-24 | 一种工业机器人仿真方法、***及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111403015.9A CN114102590B (zh) | 2021-11-24 | 2021-11-24 | 一种工业机器人仿真方法、***及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114102590A CN114102590A (zh) | 2022-03-01 |
CN114102590B true CN114102590B (zh) | 2023-12-01 |
Family
ID=80371689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111403015.9A Active CN114102590B (zh) | 2021-11-24 | 2021-11-24 | 一种工业机器人仿真方法、***及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114102590B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115056231B (zh) * | 2022-07-26 | 2023-12-22 | 江苏邑文微电子科技有限公司 | 半导体设备机械臂和动画的运动匹配方法和装置 |
CN115401696A (zh) * | 2022-09-29 | 2022-11-29 | 中国科学院沈阳自动化研究所 | 一种数据/模型混合驱动的机器人远程驱动方法 |
CN116277041B (zh) * | 2023-05-24 | 2023-08-29 | 深蓝(天津)智能制造有限责任公司 | 一种结合需求分析的机器人结构优化方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699122A (zh) * | 2015-02-12 | 2015-06-10 | 哈尔滨工业大学 | 一种机器人运动控制*** |
CN111300416A (zh) * | 2020-03-10 | 2020-06-19 | 南京工程学院 | 基于增强现实的模块化可重构机器人规划仿真方法和*** |
CN111381515A (zh) * | 2020-01-20 | 2020-07-07 | 兰州理工大学 | 基于数字孪生五维模型的软体机器人或驱动器***及其建模方法 |
CN111538294A (zh) * | 2019-11-15 | 2020-08-14 | 武汉理工大学 | 基于数字孪生的工业机器人制造***可重构***与方法 |
CN111633644A (zh) * | 2020-05-15 | 2020-09-08 | 哈尔滨工程大学 | 一种结合智能视觉的工业机器人数字孪生***及其运行方法 |
CN112684717A (zh) * | 2020-12-08 | 2021-04-20 | 南京理工大学 | 一种虚实结合数字孪生仿真实验平台构建方法 |
CN113246122A (zh) * | 2021-04-26 | 2021-08-13 | 广东工贸职业技术学院 | 一种工业机器人的数字孪生实训方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11318616B2 (en) * | 2019-11-11 | 2022-05-03 | Rockwell Automation Technologies, Inc. | Robotic digital twin control with industrial context simulation |
-
2021
- 2021-11-24 CN CN202111403015.9A patent/CN114102590B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699122A (zh) * | 2015-02-12 | 2015-06-10 | 哈尔滨工业大学 | 一种机器人运动控制*** |
CN111538294A (zh) * | 2019-11-15 | 2020-08-14 | 武汉理工大学 | 基于数字孪生的工业机器人制造***可重构***与方法 |
CN111381515A (zh) * | 2020-01-20 | 2020-07-07 | 兰州理工大学 | 基于数字孪生五维模型的软体机器人或驱动器***及其建模方法 |
CN111300416A (zh) * | 2020-03-10 | 2020-06-19 | 南京工程学院 | 基于增强现实的模块化可重构机器人规划仿真方法和*** |
CN111633644A (zh) * | 2020-05-15 | 2020-09-08 | 哈尔滨工程大学 | 一种结合智能视觉的工业机器人数字孪生***及其运行方法 |
CN112684717A (zh) * | 2020-12-08 | 2021-04-20 | 南京理工大学 | 一种虚实结合数字孪生仿真实验平台构建方法 |
CN113246122A (zh) * | 2021-04-26 | 2021-08-13 | 广东工贸职业技术学院 | 一种工业机器人的数字孪生实训方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114102590A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114102590B (zh) | 一种工业机器人仿真方法、***及应用 | |
CN112487668B (zh) | 一种基于数字孪生的近物理仿真集成调试方法及其*** | |
CN107932504B (zh) | 基于PyQt的机械臂运行控制*** | |
CN106502095B (zh) | 一种多工业机器人的协同控制方法 | |
CN107901039B (zh) | 基于Python的桌面级机器人离线编程仿真*** | |
EP3002646B1 (en) | Virtual design engineering | |
US12011836B2 (en) | Cloud based computer-implemented system and method for computer-assisted planning and simulation of robot motions in construction | |
JP6950347B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
EP1310844B1 (en) | Simulation device | |
CN105955230B (zh) | 基于Unity 3D的智能制造车间的实时监控方法 | |
US20110054685A1 (en) | Robot off-line teaching method | |
CN111797521B (zh) | 一种自动化生产线三维仿真调试及监控方法 | |
EP1842631A1 (en) | Apparatus and method for automatic path generation for an industrial robot | |
CN109262609A (zh) | 基于虚拟现实技术的机械臂远程控制***及方法 | |
CN113156834B (zh) | 一种半实物仿真飞行模拟***开发方法 | |
US6748283B2 (en) | Method of using neutral event specification file for manufacturing line analysis | |
CN113942012A (zh) | 机械臂关节方法、***、计算机及可读存储介质 | |
Sørensen et al. | Towards digital twins for industrial assembly-improving robot solutions by intuitive user guidance and robot programming | |
CN109001986B (zh) | 一种网络化柔性机械臂控制仿真平台及其工作方法 | |
CN115401696A (zh) | 一种数据/模型混合驱动的机器人远程驱动方法 | |
Aksonov et al. | Interactive design of CNC equipment operator panels | |
CN115032914A (zh) | 一种机器人智能仿真调试平台 | |
JPH0944219A (ja) | ロボットシミュレータ装置 | |
Pozzi et al. | Context-Aware Industrial Robot Testing: Low-Cost Virtual Prototyping Environment | |
EP0315002A2 (en) | Design system using visual language |
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 |