CN116185042B - 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法 - Google Patents

一种基于焊缝数据的球罐内壁爬壁小车行走控制方法 Download PDF

Info

Publication number
CN116185042B
CN116185042B CN202310294313.1A CN202310294313A CN116185042B CN 116185042 B CN116185042 B CN 116185042B CN 202310294313 A CN202310294313 A CN 202310294313A CN 116185042 B CN116185042 B CN 116185042B
Authority
CN
China
Prior art keywords
weld
region
candidate
spherical tank
weld joint
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
Application number
CN202310294313.1A
Other languages
English (en)
Other versions
CN116185042A (zh
Inventor
侯冀川
陈绪荃
梅一清
黄东流
杨博清
李建文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Institute Of Special Equipment Inspection And Research Dongguan Branch
Original Assignee
Guangdong Institute Of Special Equipment Inspection And Research Dongguan Branch
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Institute Of Special Equipment Inspection And Research Dongguan Branch filed Critical Guangdong Institute Of Special Equipment Inspection And Research Dongguan Branch
Priority to CN202310294313.1A priority Critical patent/CN116185042B/zh
Publication of CN116185042A publication Critical patent/CN116185042A/zh
Application granted granted Critical
Publication of CN116185042B publication Critical patent/CN116185042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E30/00Energy generation of nuclear origin
    • Y02E30/30Nuclear fission reactors

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,应用于视觉检测、信号处理以及运动控制的交叉技术领域,包括:获取焊缝数据,并进行预处理得到稳定的焊缝形态数据;应用Ransac算法对焊缝形态数据进行拟合直线,得到离群点集,确定候选焊缝区域,并在候选焊缝区域进行抛物线拟合,识别焊缝位置;以焊缝位置作为PID控制算法的输入,控制小车前行方向、运动速度。本发明能够在多种类型的球罐内壁中对多种焊缝形态进行有效稳定地识别跟踪移动,实现了球罐内壁在无人状态下的自动化巡检需求,提升了巡检的效率,安全性和适用性,使机器人具备高精度和高实时性的焊缝识别处理能力。

Description

一种基于焊缝数据的球罐内壁爬壁小车行走控制方法
技术领域
本发明涉及视觉检测、信号处理以及运动控制的交叉技术领域,特别涉及一种基于焊缝数据的球罐内壁爬壁小车行走控制方法。
背景技术
依据固定式压力容器的相关监察规程,在对球罐进行检验时,需要停机开罐检验。在检验检测之前,通常需要准备相关球罐检验辅助工程工作,如搭设脚手架,脚手架上设置踏板,踏板设置扶手、爬梯,球罐内中上部需要设置安全网等。工人站在脚手架内使用打磨机对球罐内壁焊缝进行手动清洁除锈,然后进行检测。不仅操作不便、效率低、不能保证工作的质量,且具有较大的安全隐患。为此,球罐内壁爬壁机器人应时而生。
现有技术一:天津理工大学的王凯等人提出一种基于双相机焊缝跟踪的球形大型液化石油气球形储罐环境爬壁机器人定位方法,该方法是在传统定位方法中的里程计定位以及惯性导航定位方法的基础上增加了通过双CCD相机识别焊缝的方法以及提出了一种改进加权融合算法。通过配备辅助光源,利用安装在机器人两侧的CCD相机进行图像采集,并实时对图像进行二值化处理,识别出焊缝特征区域并输出相应的检测信号,通过相邻时刻检测信号增量计算来估计机器人的相对位置;通过相邻时刻检测信号增量计算来估计爬壁机器人相对于焊缝的移动距离,该运动估计信息可以对爬壁机器人的线性位移和角位移估计进行校正。该技术采用里程计+imu+相机定位修正,需要调整多方面的权重,且不同的焊缝可能效果会有偏差,不具备应用兼容性,需要在调参步骤上花费大量时间。里程计定位以及惯性导航定位方法会产生累积误差,导致机器人不具备高精度的焊缝定位跟踪功能,而且只是在开发的模拟系统进行测试,并未在真实的现场环境中测试,对于该方案真正的可行性具有巨大的未知性。
现有技术二:基于爬壁机器人移动平台和单目相机的图像采集系统,设计了一种焊后焊缝图像处理方法,将改进的自适应中值滤波算法与灰度形态学方法结合,实现从信噪比较高的图像中提取特征。采用基于边缘检测和Hough变换的焊缝位置提取算法,实现管道爬壁机器人行进过程中的实时焊缝跟踪,并提供了一种引导机器人沿焊缝前进的自主定向方案。该技术采用相机通过图像处理进行焊缝识别跟踪,而在图像处理中还是会有一定的滞后性,在对于球罐内部的带有弧度的焊缝,拟合直线也会产生累积偏差。而且相机的工作环境要求很高,要具备环境光源才可以正常工作,且在脱离理想实验环境下,图像成像质量得不到保证,算法容易失效,稳定性无法得到保证。而且该技术的应用场景是在管道中,若在球罐内壁进行测试,无法确保功能是否适用。
为此,如何提供一种能够在多种类型的球罐内壁中对多种焊缝形态进行有效稳定地识别跟踪移动的基于焊缝数据的球罐内壁爬壁小车行走控制方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提出了一种基于焊缝数据的球罐内壁爬壁小车行走控制方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,包括:
步骤(1):获取焊缝数据,并进行预处理得到稳定的焊缝形态数据;
步骤(2):应用Ransac算法对焊缝形态数据进行拟合直线,得到离群点集,确定候选焊缝区域,并在候选焊缝区域进行抛物线拟合,识别焊缝位置;
步骤(3):以焊缝位置作为PID控制算法的输入,控制小车前行方向、运动速度。
可选的,步骤(1)中,焊缝数据由安装于球罐内壁爬壁小车上的激光线轮廓仪采集得到。
可选的,步骤(1)中,预处理包括:均值滤波和中值滤波。
可选的,步骤(2)中,根据离群点集,确定候选焊缝区域,具体为:
筛选区域内离群点个数大于预设数量阈值的离群点区域作为候选离群点区域;
将每个候选离群点区域的起点位置和终点位置连成一条直线;
遍历计算每个候选离群点区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和;
将区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和大于第一预设数值阈值,且连线中点处离群点的纵坐标减去对应直线的纵坐标之差处于预设数值范围内的候选离群点区域作为候选焊缝区域。
可选的,步骤(2)中,在候选焊缝区域进行抛物线拟合,具体为:
对每个候选焊缝区域都拟合出一个抛物线,如下式:
可选的,步骤(2)中,根据抛物线,识别焊缝位置,具体为:
对每个候选焊缝区域内所有离散点到对应抛物线的距离求和;
选取区域内所有离散点到对应抛物线的距离求和值最小,且所述求和值小于第二预设数值阈值的候选焊缝区域作为最终焊缝区域;
识别最终焊缝区域中的数据最大值点,得到焊缝位置。
经由上述的技术方案可知,与现有技术相比,本发明提出了一种基于焊缝数据的球罐内壁爬壁小车行走控制方法。首先,在面临大型球罐内部光线不足,且空间相对封闭的情况下,本发明中的激光线轮廓仪仍可正常工作,且能满足在大型球罐内部正常采集焊缝形态数据的需求;其次,本发明不仅能够对球罐内壁中多种焊缝形态进行识别,具备出色的稳定性、可行性和抗干扰性,还可将爬壁小车部署在多种类型球罐内壁进行焊缝识别跟踪移动,具备应用通用性,并且,本发明具备高实时性,可以在10ms内完成响应。综上所述,本发明实现了球罐内壁在无人状态下的自动化巡检需求,提升了巡检的效率,安全性和适用性,使机器人具备高精度和高实时性的焊缝识别处理能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的方法流程示意图。
图2为本发明的激光线轮廓仪示意图。
图3为本发明的焊缝形态数据示意图。
图4为本发明的离群点集示意图。
图5为本发明的候选焊缝区域示意图。
图6为本发明进行抛物线拟合前的候选焊缝区域示意图。
图7为本发明将候选焊缝区域内的点投影到的Y'坐标系内的示意图。
图8为本发明的抛物线拟合示意图。
图9为本发明的最终焊缝区域示意图。
图10为本发明的焊缝位置示意图。
图11为本发明的焊缝识别效果演示示意图。
附图中的标记为:1-激光线轮廓仪。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明实施例1公开了一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,如图1所示,包括:
步骤(1):获取如图2所示,安装于球罐内壁爬壁小车上的激光线轮廓仪1采集到的焊缝数据,并进行均值滤波和中值滤波,得到稳定的焊缝形态数据,如图3所示;
步骤(2):应用Ransac算法对焊缝形态数据进行拟合直线,得到离群点集,如图4所示,红线则为离群点集。筛选区域内离群点个数大于预设数量阈值的离群点区域作为候选离群点区域;将每个候选离群点区域的起点位置和终点位置连成一条直线;遍历计算每个候选离群点区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和;将区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和大于第一预设数值阈值,且连线中点处离群点的纵坐标减去对应直线的纵坐标之差处于预设数值范围内的候选离群点区域作为候选焊缝区域,如图5所示,拟合直线上方红线为候选焊缝区域。
对每个候选焊缝区域都拟合出一个抛物线,如图5所示,绿线为抛物线。
抛物线拟合方法,具体为:将如图6所示,图6中的候选焊缝区域(拟合直线上方红线)内的点投影到的Y'坐标系内,如图7所示;假设图7中红色曲线在x=0处y的取值为v,因为红色曲线起点与终点绝对值相等,设为t,则拟合的抛物线,如图8所示,图8中绿色虚线为拟合的抛物线,如下式:
对每个候选焊缝区域内所有离散点到对应抛物线的距离求和;
选取区域内所有离散点到对应抛物线的距离求和值最小,且求和值小于第二预设数值阈值的候选焊缝区域作为最终焊缝区域,如图9所示;
识别最终焊缝区域中的数据最大值点,如图10所示,得到焊缝位置。
焊缝识别效果演示图,如图11所示。
步骤(3):以焊缝位置作为PID控制算法的输入,控制小车前行方向、运动速度。
本发明实施例公开了一种基于焊缝数据的球罐内壁爬壁小车行走控制方法。首先,在面临大型球罐内部光线不足,且空间相对封闭的情况下,本发明中的激光线轮廓仪仍可正常工作,且能满足在大型球罐内部正常采集焊缝形态数据的需求;其次,本发明不仅能够对球罐内壁中多种焊缝形态进行识别,具备出色的稳定性、可行性和抗干扰性,还可将爬壁小车部署在多种类型球罐内壁进行焊缝识别跟踪移动,具备应用通用性,并且,本发明具备高实时性,可以在10ms内完成响应。综上所述,本发明实现了球罐内壁在无人状态下的自动化巡检需求,提升了巡检的效率,安全性和适用性,使机器人具备高精度和高实时性的焊缝识别处理能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (5)

1.一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,其特征在于,包括:
步骤(1):获取焊缝数据,并进行预处理得到稳定的焊缝形态数据;
步骤(2):应用Ransac算法对所述焊缝形态数据进行拟合直线,得到离群点集,确定候选焊缝区域,并在所述候选焊缝区域进行抛物线拟合,识别焊缝位置;
步骤(3):以所述焊缝位置作为PID控制算法的输入,控制小车前行方向、运动速度;
步骤(2)中,根据所述离群点集,确定候选焊缝区域,具体为:
筛选区域内离群点个数大于预设数量阈值的离群点区域作为候选离群点区域;
将每个所述候选离群点区域的起点位置和终点位置连成一条直线;
遍历计算每个所述候选离群点区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和;
将区域内所有离群点的纵坐标减去对应直线的纵坐标之差的和大于第一预设数值阈值,且连线中点处离群点的纵坐标减去对应直线的纵坐标之差处于预设数值范围内的所述候选离群点区域作为所述候选焊缝区域。
2.根据权利要求1所述的一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,其特征在于,步骤(1)中,所述焊缝数据由安装于球罐内壁爬壁小车上的激光线轮廓仪采集得到。
3.根据权利要求1所述的一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,其特征在于,步骤(1)中,所述预处理包括:均值滤波和中值滤波。
4.根据权利要求1所述的一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,其特征在于,步骤(2)中,在所述候选焊缝区域进行抛物线拟合,具体为:
对每个所述候选焊缝区域都拟合出一个抛物线,如下式:
5.根据权利要求1所述的一种基于焊缝数据的球罐内壁爬壁小车行走控制方法,其特征在于,步骤(2)中,根据抛物线,识别焊缝位置,具体为:
对每个所述候选焊缝区域内所有离散点到对应抛物线的距离求和;
选取区域内所有离散点到对应抛物线的距离求和值最小,且所述求和值小于第二预设数值阈值的所述候选焊缝区域作为最终焊缝区域;
识别所述最终焊缝区域中的数据最大值点,得到焊缝位置。
CN202310294313.1A 2023-03-23 2023-03-23 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法 Active CN116185042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310294313.1A CN116185042B (zh) 2023-03-23 2023-03-23 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310294313.1A CN116185042B (zh) 2023-03-23 2023-03-23 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法

Publications (2)

Publication Number Publication Date
CN116185042A CN116185042A (zh) 2023-05-30
CN116185042B true CN116185042B (zh) 2023-11-17

Family

ID=86432859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310294313.1A Active CN116185042B (zh) 2023-03-23 2023-03-23 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法

Country Status (1)

Country Link
CN (1) CN116185042B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006061947A (ja) * 2004-08-27 2006-03-09 Kawasaki Heavy Ind Ltd 溶接ビード加工軌道作成方法と溶接ビード成形装置
JP2013163186A (ja) * 2012-02-09 2013-08-22 Kobe Steel Ltd 溶接制御装置、溶接制御方法および溶接制御プログラム
CN105081627A (zh) * 2015-08-13 2015-11-25 北人机器人系统(苏州)有限公司 基于双线激光测量系统的焊缝测量方法
JP2018126753A (ja) * 2017-02-07 2018-08-16 株式会社ジェイテクト アーク溶接方法およびアーク溶接装置
CN109158730A (zh) * 2018-10-29 2019-01-08 清华大学 一种电弧增材制造中焊道的横向连接形貌预测方法
JP2019058942A (ja) * 2017-09-27 2019-04-18 株式会社タマリ工業 溶接外観不良検出装置、レーザ溶接装置、及び、溶接外観不良検出方法
CN113478483A (zh) * 2021-07-02 2021-10-08 普瑞特机械制造股份有限公司 一种基于不锈钢储罐移动机器人焊接方法及系统
CN113551599A (zh) * 2021-07-22 2021-10-26 江苏省特种设备安全监督检验研究院 一种基于结构光导向的焊缝位置偏差视觉跟踪方法
CN114119534A (zh) * 2021-11-24 2022-03-01 易思维(杭州)科技有限公司 一种基于三维点云的焊缝缺陷检测方法
CN115682947A (zh) * 2022-09-28 2023-02-03 西咸新区大熊星座智能科技有限公司 焊缝扫描跟踪处理方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006061947A (ja) * 2004-08-27 2006-03-09 Kawasaki Heavy Ind Ltd 溶接ビード加工軌道作成方法と溶接ビード成形装置
JP2013163186A (ja) * 2012-02-09 2013-08-22 Kobe Steel Ltd 溶接制御装置、溶接制御方法および溶接制御プログラム
CN105081627A (zh) * 2015-08-13 2015-11-25 北人机器人系统(苏州)有限公司 基于双线激光测量系统的焊缝测量方法
JP2018126753A (ja) * 2017-02-07 2018-08-16 株式会社ジェイテクト アーク溶接方法およびアーク溶接装置
JP2019058942A (ja) * 2017-09-27 2019-04-18 株式会社タマリ工業 溶接外観不良検出装置、レーザ溶接装置、及び、溶接外観不良検出方法
CN109158730A (zh) * 2018-10-29 2019-01-08 清华大学 一种电弧增材制造中焊道的横向连接形貌预测方法
CN113478483A (zh) * 2021-07-02 2021-10-08 普瑞特机械制造股份有限公司 一种基于不锈钢储罐移动机器人焊接方法及系统
CN113551599A (zh) * 2021-07-22 2021-10-26 江苏省特种设备安全监督检验研究院 一种基于结构光导向的焊缝位置偏差视觉跟踪方法
CN114119534A (zh) * 2021-11-24 2022-03-01 易思维(杭州)科技有限公司 一种基于三维点云的焊缝缺陷检测方法
CN115682947A (zh) * 2022-09-28 2023-02-03 西咸新区大熊星座智能科技有限公司 焊缝扫描跟踪处理方法

Also Published As

Publication number Publication date
CN116185042A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN112014857B (zh) 用于智能巡检的三维激光雷达定位导航方法及巡检机器人
WO2020056874A1 (zh) 一种基于视觉识别的自动泊车系统及方法
EP1796039B1 (en) Device and method for image processing
US7860273B2 (en) Device and method for position measurement
CN106181162A (zh) 一种基于机器视觉的实时焊缝跟踪检测系统及方法
US20090210092A1 (en) Method for self-localization of robot based on object recognition and environment information around recognized object
JPH03201110A (ja) 自律走行車の位置方位検出装置
Cherubini et al. Visual navigation with obstacle avoidance
Nassu et al. A vision-based approach for rail extraction and its application in a camera pan–tilt control system
CN108907526A (zh) 一种具有高鲁棒性的焊缝图像特征识别方法
Dong et al. A weld line detection robot based on structure light for automatic NDT
CN114003035A (zh) 一种机器人自主导航的方法、装置、设备及介质
CN116185042B (zh) 一种基于焊缝数据的球罐内壁爬壁小车行走控制方法
Chavez et al. Adaptive navigation scheme for optimal deep-sea localization using multimodal perception cues
Yang et al. Discretization–filtering–reconstruction: railway detection in images for navigation of inspection UAV
CN110320912A (zh) 激光与视觉slam融合的agv定位导航装置及方法
Kim et al. Hybrid position and image based visual servoing for mobile robots
Jia et al. Recent developments in vision based target tracking for autonomous vehicles navigation
Li et al. Spatial positioning robotic system for autonomous inspection of LPG tanks
Pinto et al. An architecture for visual motion perception of a surveillance-based autonomous robot
JP3200062B2 (ja) 移動路データに対する評価方法
Folkesson et al. Sift based graphical slam on a packbot
González et al. Detection and classification of obstacles using a 2D lidar sensor
Zhang et al. Research on parking slot tracking algorithm based on fusion of vision and vehicle chassis information
CN114237262A (zh) 一种水面无人船自动停泊方法及系统

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