CN111158380B - 一种带拖曳线阵列的水面无人船避障方法 - Google Patents

一种带拖曳线阵列的水面无人船避障方法 Download PDF

Info

Publication number
CN111158380B
CN111158380B CN202010059874.XA CN202010059874A CN111158380B CN 111158380 B CN111158380 B CN 111158380B CN 202010059874 A CN202010059874 A CN 202010059874A CN 111158380 B CN111158380 B CN 111158380B
Authority
CN
China
Prior art keywords
obstacle
water surface
unmanned ship
line array
field
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
CN202010059874.XA
Other languages
English (en)
Other versions
CN111158380A (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.)
China E Tech Ningbo Maritime Electronics Research Institute Co ltd
Original Assignee
China E Tech Ningbo Maritime Electronics Research Institute Co ltd
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 China E Tech Ningbo Maritime Electronics Research Institute Co ltd filed Critical China E Tech Ningbo Maritime Electronics Research Institute Co ltd
Priority to CN202010059874.XA priority Critical patent/CN111158380B/zh
Publication of CN111158380A publication Critical patent/CN111158380A/zh
Application granted granted Critical
Publication of CN111158380B publication Critical patent/CN111158380B/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/0206Control of position or course in two dimensions specially adapted to water vehicles

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)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明涉及船舶控制技术领域,具体公开了一种带拖曳线阵列的水面无人船避障方法,包括如下步骤:S1、基于一体化模型通过仿真计算得到在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;S2、无人船利用搭载的环境感知设备对水面障碍物探测,连续跟踪水面障碍物,实时输出水面障碍物的位置、障碍物中心坐标,并构建水面障碍物膨胀化区域;S3、当无人船到水面障碍物的距离小于或等于避障安全距离时,执行基于虚拟斥力场的改进人工势场算法,得到综合势场;S4、利用综合势场的方向作为无人船下一步的航向角输入指令,进行打舵,实施避障。采用本发明的技术方案能够同时实现拖曳线阵列和无人船整体避障,使机动幅度更平滑。

Description

一种带拖曳线阵列的水面无人船避障方法
技术领域
本发明涉及船舶控制技术领域,特别涉及一种带拖曳线阵列的水面无人船避障方法。
背景技术
在船舶智能化发展的趋势下,利用无人船替代人员执行任务成为当前的研究热点。
为了充分保障无人船的航行安全,国内外学者提出了无人船避碰方法。其中的典型方法是上海大学提出的椭圆碰撞锥的无人艇动态避障方法(蒲华燕,丁峰,李小毛,etal.基于椭圆碰撞锥的无人船动态避障方法[J].仪器仪表学报,2017(7).),依据《国际海上避碰规则》对动态船只进行椭圆聚类,提升了无人船的避障效率。在探测到静态、动态障碍物时进行近程的大幅机动。
然而,该种方法仅适用于无人船船体本身避碰,并不适用于包含拖曳式负载的无人船。现阶段无人船舶功能需求的日益增多,针对无人船船体本身的避障方法逐渐显示出其局限性。例如,水下探测型无人船往往搭载了较为昂贵的拖曳任务载荷,如若沿用此前针对无人船船体避障设计的方法,过大幅度的机动、连续转弯机动将可能导致拖曳缆阵打结、断裂的情况,水下拖曳体跟随运动的滞后性甚至导致拖曳缆缠入其他船只螺旋桨,造成更大的损失。
为此,需要一种能够同时实现拖曳线阵列和水面无人船整体避障的方法。
发明内容
本发明提供了一种带拖曳线阵列的水面无人船避障方法,能够同时实现拖曳线阵列和水面无人船整体避障,使机动幅度更平滑。
为了解决上述技术问题,本申请提供如下技术方案:
一种带拖曳线阵列的水面无人船避障方法,包括如下步骤:
S1、建立带拖曳线阵列的无人船的一体化模型,并基于一体化模型通过仿真计算得到在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;
S2、无人船利用搭载的环境感知设备对水面障碍物探测,连续跟踪水面障碍物,实时输出水面障碍物的位置、障碍物中心坐标,并构建水面障碍物膨胀化区域;
S3、当无人船到水面障碍物的距离小于或等于避障安全距离时,执行基于虚拟斥力场的改进人工势场算法,得到综合势场;
S4、利用综合势场的方向作为无人船下一步的航向角输入指令,进行打舵,实施避障。
基础方案原理及有益效果如下:
1.本方案针对传统无人船避碰方法只能解决船体本身避碰的问题,设计了考虑拖曳线阵列的无人船避碰方法,能够综合无人船和拖曳线阵列的运动特性,实现对障碍物的“无人船+拖曳线阵列”整体避免碰撞。
2.相比于传统人工势场法,在实现无人船避障的基础上,本方案能同时保证拖曳线阵列的空间安全。通过控制拖曳线阵列自由尾端,避免其进入障碍物膨胀化区域,同时所需的避障路径也大大缩短,无人船航速下降更小。
3.在实现无人船避障的基础上,本方案还能够保障拖曳线阵列的受力安全。通过降低避障时的转动幅度,输出更加平顺的避障机动轨迹,能够保障拖曳线阵列有效张力峰值小于拖曳线阵列强度范围,避免缆阵断裂。
进一步,所述S1中,无人船的一体化模型,其表达式为:
式中,η=(x,y,ψ)T,其中x,y,ψ分别为x轴向位置,y轴向位置和航向角;
ν=(u,v,r)T,其中u,v,r分别为x轴向速度,y轴向速度,转艏角速率;
M为质量矩阵,C(ν)为科氏矩阵,D(ν)为非线性阻尼矩阵;
mi为拖曳线阵列单个节点的质量矩阵,i=1,2,...,n,其中n为拖曳线阵列的分段数;
为第i个节点加速度;
Fi为作用于第i个节点上的力,包括节点处的重力、浮力、张力、剪切力和流体力;
J(ψ)为转换矩阵。
以往针对无人船的避障问题,只考虑了船体本身运动模型,而没有考虑无人船船体和拖曳线阵列的一体化模型,乏对一体化运动特性的描述。通过建立一体化模型能够更好地用于拖曳线阵列缆体内收距离的仿真。
进一步,所述S1中,转换矩阵J(ψ)的表达式为:
进一步,所述S3中,基于虚拟斥力场的改进人工势场算法,其计算包括如下子步骤:
S301、选定虚拟斥力点;
所述虚拟斥力点,位于以障碍物中心为圆心且以避障安全距离为半径的圆上;虚拟斥力点与障碍物中心的连线与无人船的速度矢量垂直;
S302、构建虚拟斥力场;
所述虚拟斥力场,以虚拟斥力点为圆心,作用半径为虚拟斥力场作用距离。
进一步,所述S3中,综合势场F′all(t)的表达式为:
F′all(t)=Fatt(t)+F′rep(t)
式中,d1=2d0+d2,d0为避障安全距离,d1为虚拟斥力场作用距离,d2为在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;d(t)为障碍物到无人船的距离矢量,k′rep为斥力增益系数;Fatt(t)为引力场。
进一步,所述S3中,引力场Fatt(t)表达式为:
Fatt(t)=kattdgoal(t)
式中,Fatt(t)为引力场,katt为引力增益系数,dgoal(t)为无人船距离目标点的距离。
进一步,所述S3中,虚拟斥力场作用距离d1,其表达式为d1=2d0+dcurrent+d2,其中dcurrent为流作用下拖曳线阵列垂向于航向的偏移距离。
进一步,所述S4中,打舵角度在区间[-30°,+30°]中取值,其中负值表示向左打舵,正值表示向右打舵。
进一步,所述S3中,综合势场F′all(t)的表达式为
F′all(t)=Fatt(t)+Frep(t)+F′rep(t)
其中,Frep(t)为原斥力场,d(t)为障碍物距离无人船的距离矢量,krep为原斥力增益系数。
相比于传统人工势场法的综合势场,本优选方案中的综合势场作用范围更大,产生的斥力值更大,能够更好地避免无人船进入障碍物膨胀区。
附图说明
图1为实施例一一种带拖曳线阵列的水面无人船避障方法的流程图;
图2为实施一中基于虚拟斥力场的改进人工势场算法的示意图;
图3为实施例一避障场景中时刻为T=17.5s时的仿真图;
图4为实施例一避障场景中时刻为T=21.9s时的仿真图;
图5为实施例一避障场景中时刻为T=34.6s时的仿真图;
图6为实施例一避障场景中时刻为T=64.4s时的仿真图;
图7为实施例一避障完整过程的拖曳线阵列有效张力曲线图;
图8为采用传统人工势场法在避障时产生的拖曳线阵列甩尾示意图;
图9为采用传统人工势场法在避障时拖曳线阵列有效张力曲线图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
本实施例的一种带拖曳线阵列的水面无人船避障方法,如图1所示,包括如下步骤:
S1、建立带拖曳线阵列的无人船的一体化模型,并基于一体化模型通过仿真计算得到在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;
所涉及带拖曳线阵列的无人船一体化模型,其表达式为:
式中,η=(x,y,ψ)T,其中x,y,ψ分别为x轴向位置,y轴向位置,航向角;ν=(u,v,r)T,其中u,v,r分别为x轴向速度,y轴向速度,转艏角速率;
M为质量矩阵,C(ν)为科氏矩阵,D(ν)为非线性阻尼矩阵;
mi为拖曳线阵列单个节点的质量矩阵,i=1,2,...,n;为第i个节点加速度;
Fi为作用于第i个节点上的力,包括节点处的重力、浮力、张力、剪切力和流体力;
转换矩阵J(ψ)的表达式为:
S2、带拖曳线阵列无人船利用搭载的环境感知设备对水面障碍物探测,连续跟踪水面障碍物,实时输出水面障碍物的位置、障碍物中心坐标o,并构建水面障碍物膨胀化区域,如图2中小虚线圆所示;
S3、当带拖曳线阵列无人船到水面障碍物的距离小于或等于避障安全距离d0时,执行基于虚拟斥力场的改进人工势场算法,得到综合势场F′all(t);
基于虚拟斥力场的改进人工势场算法,其计算包括如下子步骤:
S301、选定虚拟斥力点,如图2中o′所示;
所述虚拟斥力点,位于以障碍物中心为圆心且以避障安全距离为半径的圆上;虚拟斥力点与障碍物中心的连线与无人船的速度矢量垂直;如图2所示。
S302、构建虚拟斥力场,如图2中大虚线圆所示;
所述的虚拟斥力场,以虚拟斥力点为圆心,作用半径为虚拟斥力场作用距离d1
综合势场F′all(t)为:
F′all(t)=Fatt(t)+F′rep(t)
式中,d1=2d0+d2,d2为在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;d(t)为障碍物到无人船的距离矢量,k′rep为斥力增益系数;
引力场Fatt(t)表达式为:
Fatt(t)=kattdgoal(t)
式中,Fatt(t)为引力场,katt为引力增益系数,dgoal(t)为无人船距离目标点的距离;
虚拟斥力场作用距离d1,其表达式为d1=2d0+dcurrent+d2,dcurrent为流作用下拖曳线阵列垂向于航向的偏移距离。
S4、利用综合势场的方向作为无人船下一步的航向角输入指令,进行打舵,实施避障。本实施例中,无人船打舵角度在区间[-30°,+30°]中取值,其中负值表示向左打舵,正值表示向右打舵。
作为对比,传统人工势场法规划的避障路径,如图2中细实线所示。本发明方法规划的避障路径,如图2中粗实线所示。由图2可知,通过虚拟构建新的斥力场,其作用区域如图2中大圆所示。相比于传统的人工势场法,本方法的避障机动发生的位置和时间均提前,能够降低避障时的转动幅度,形成更加平顺的避障机动轨迹。
例如一避障场景:带拖曳线阵列的无人船从原点坐标(0,0)前往目标点(150,150),艇长10m,航速5m/s。拖曳线阵列建模时一端固定于无人船尾部,另一端为自由端,为了减小计算量,将拖曳线阵列总长度缩短至60m,每个分段长度为1m。拖曳线参数设置:直径0.08m,单位长度质量0.0052t/m,弯曲刚度0.02kN.m2,轴向刚度100kN。
障碍物安全距离设置为30m,则仿真结果如图3~图6所示。
由避障仿真过程可知,本方法避障时的转动幅度小,形成更加平顺的避障机动轨迹,且能更好地控制拖曳线阵列自由尾端,避免其进入障碍物膨胀化区域。同时所需的避障路径,也大大缩短。
本实施例的拖曳线阵列有效张力曲线如图7所示。采用本实施例的方法在20.6s附近开始转弯时,达到有效张力峰值,且有效张力峰值远小于拖曳线阵列刚度值。这表明本实施例的方法有效保障拖曳线阵列在避障过程中的力学安全性,能避免缆阵断裂。
作为对比,传统人工势场法的避障过程曲线如图8和图9所示。传统人工势场法的无人船在进入障碍作用区域后,实施了大幅转向机动。这产生了两方面的问题:一是拖曳线阵列进入了障碍物膨胀化圆形区域内,又若是区域内存在礁石等物体,容易导致拖缆卡住或断裂。二是拖曳线阵列在大幅机动中甚至产生了一个甩尾动作,因为该动作拖曳线阵列产生一个过大的瞬态力,导致拖缆断裂。在仿真中计算得到的缆阵瞬态力峰值达到了187kN,大大超出了这类空心缆阵所能够承受的强度。
此外,通过统计传统方法和本发明方法避障,表明本实施例的方法能够以更少的步数完成避障动作,轨迹段路程总长更短,能够更快抵达目标点。
实施例二
本实施例和实施例一的区别在于,本实施例S3中,综合势场F′all(t)的表达式为:
F′all(t)=Fatt(t)+Frep(t)+F′rep(t)
其中,Frep(t)为原斥力场,d(t)为障碍物距离无人船的距离矢量,krep为原斥力增益系数。
相比于传统人工势场法的综合势场,本实施例中的综合势场作用范围更大,产生的斥力值更大,能够更好地避免无人船进入障碍物膨胀区。
以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

Claims (9)

1.一种带拖曳线阵列的水面无人船避障方法,其特征在于,包括如下步骤:
S1、建立带拖曳线阵列的无人船的一体化模型,并基于一体化模型通过仿真计算得到在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;
S2、无人船利用搭载的环境感知设备对水面障碍物探测,连续跟踪水面障碍物,实时输出水面障碍物的位置、障碍物中心坐标,并构建水面障碍物膨胀化区域;
S3、当无人船到水面障碍物的距离小于或等于避障安全距离时,执行基于虚拟斥力场的改进人工势场算法,得到综合势场;
S4、利用综合势场的方向作为无人船下一步的航向角输入指令,进行打舵,实施避障。
2.根据权利要求1所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S1中,无人船的一体化模型,其表达式为:
式中,η=(x,y,ψ)T,其中x,y,ψ分别为x轴向位置,y轴向位置和航向角;
ν=(u,v,r)T,其中u,v,r分别为x轴向速度,y轴向速度,转艏角速率;
M为质量矩阵,C(ν)为科氏矩阵,D(ν)为非线性阻尼矩阵;
mi为拖曳线阵列单个节点的质量矩阵,i=1,2,...,n,其中n为拖曳线阵列的分段数;
为第i个节点加速度;
Fi为作用于第i个节点上的力,包括节点处的重力、浮力、张力、剪切力和流体力;
J(ψ)为转换矩阵。
3.根据权利要求2所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S1中,转换矩阵J(ψ)的表达式为:
4.根据权利要求3所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S3中,基于虚拟斥力场的改进人工势场算法,其计算包括如下子步骤:
S301、选定虚拟斥力点;
所述虚拟斥力点,位于以障碍物中心为圆心且以避障安全距离为半径的圆上;虚拟斥力点与障碍物中心的连线与无人船的速度矢量垂直;
S302、构建虚拟斥力场;
所述虚拟斥力场,以虚拟斥力点为圆心,作用半径为虚拟斥力场作用距离。
5.根据权利要求4所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S3中,综合势场F′all(t)的表达式为:
F′all(t)=Fatt(t)+F′rep(t)
式中,d1=2d0+d2,d0为避障安全距离,d1为虚拟斥力场作用距离,d2为在巡航速度下无人船打舵角度时的拖曳线阵列内收距离;d(t)为障碍物到无人船的距离矢量,k′rep为斥力增益系数;Fatt(t)为引力场。
6.根据权利要求5所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S3中,引力场Fatt(t)表达式为:
Fatt(t)=kattdgoal(t)
式中,Fatt(t)为引力场,katt为引力增益系数,dgoal(t)为无人船距离目标点的距离。
7.根据权利要求6所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S3中,虚拟斥力场作用距离d1,其表达式为d1=2d0+dcurrent+d2,其中dcurrent为流作用下拖曳线阵列垂向于航向的偏移距离。
8.根据权利要求7所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S4中,打舵角度在区间[-30°,+30°]中取值,其中负值表示向左打舵,正值表示向右打舵。
9.根据权利要求4所述的一种带拖曳线阵列的水面无人船避障方法,其特征在于:所述S3中,综合势场F′all(t)的表达式为
F′all(t)=Fatt(t)+Frep(t)+F′rep(t)
其中,Frep(t)为原斥力场,d(t)为障碍物距离无人船的距离矢量,krep为原斥力增益系数。
CN202010059874.XA 2020-01-19 2020-01-19 一种带拖曳线阵列的水面无人船避障方法 Active CN111158380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010059874.XA CN111158380B (zh) 2020-01-19 2020-01-19 一种带拖曳线阵列的水面无人船避障方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010059874.XA CN111158380B (zh) 2020-01-19 2020-01-19 一种带拖曳线阵列的水面无人船避障方法

Publications (2)

Publication Number Publication Date
CN111158380A CN111158380A (zh) 2020-05-15
CN111158380B true CN111158380B (zh) 2023-08-04

Family

ID=70564368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010059874.XA Active CN111158380B (zh) 2020-01-19 2020-01-19 一种带拖曳线阵列的水面无人船避障方法

Country Status (1)

Country Link
CN (1) CN111158380B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8985904B1 (en) * 2012-10-02 2015-03-24 Lockheed Martin Corporation Method and apparatus for launch and retrieval of a line array attached to a towbody
WO2014147165A1 (en) * 2013-03-20 2014-09-25 Cgg Services Sa Methods and underwater bases for using autonomous underwater vehicle for marine seismic surveys
EP3405815A1 (en) * 2016-01-19 2018-11-28 ION Geophysical Corporation Unmanned marine vessel for node deployment and retrieval
CN109508022B (zh) * 2019-01-14 2021-09-10 哈尔滨工程大学 基于分层制导与拖曳力补偿的双无人艇协同溢油围捕方法
CN110262492B (zh) * 2019-06-25 2022-04-08 北京航天控制仪器研究所 一种无人艇的实时避碰和目标跟踪方法

Also Published As

Publication number Publication date
CN111158380A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
Fang et al. AUV position tracking and trajectory control based on fast-deployed deep reinforcement learning method
CN112650231B (zh) 一种实现避碰和避障的欠驱船编队控制系统
Shi et al. Study on intelligent collision avoidance and recovery path planning system for the waterjet-propelled unmanned surface vehicle
CN107067871A (zh) 拖轮傍拖大型油轮工况的仿真系统
CN111158381B (zh) 一种带长拖曳线阵列的无人船避障方法
CN117707162B (zh) 基于改进lvs制导的无人帆船动态事件触发控制方法
CN115758587A (zh) 一种用于船浪耦合仿真运动的方法
CN112051742A (zh) 一种基于mpc的全驱动船舶航迹跟踪方法
Wang et al. Obstacle avoidance for environmentally-driven USVs based on deep reinforcement learning in large-scale uncertain environments
CN116048090A (zh) 一种具有能耗优化效应的风帆助航船路径跟踪控制方法
Xiang et al. Manoeuvring-based actuation evaluation of an AUV with control surfaces and through-body thrusters
Jeon et al. Analysis of maneuverability of X-rudder submarine considering environmental disturbance and jamming situations
Jiang et al. Research on motion attitude control of under-actuated autonomous underwater vehicle based on deep reinforcement learning
Gao et al. Design, fabrication, and testing of a maneuverable underwater vehicle with a hybrid propulsor
CN111158380B (zh) 一种带拖曳线阵列的水面无人船避障方法
Abrougui et al. Backstepping control of an autonomous catamaran sailboat
CN111679674A (zh) 一种无人艇灵活会遇规避方法
Zhu et al. Analysis of landing strategies and influencing factors of an autonomous underwater vehicle
Zou et al. Adaptive iterative sliding mode berthing control for underactuated ship based on chaotic particle swarm
Man et al. Comparative study on keel effects of catamaran-type sail drone
Lee et al. Design and experiment of a small boat auto-berthing control system
Malecki Fuzzy track-keeping steering design for a precise control of the ship
Wang et al. AUV modeling and motion control strategy design
CN114217521B (zh) 基于推进器矢量布局的水下机器人的全姿态运动控制方法
Yang et al. A control-theoretic outlook at the no-go zone in sailing vessels

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