CN114633800A - 一种转向轮角度的检测方法、装置及设备 - Google Patents
一种转向轮角度的检测方法、装置及设备 Download PDFInfo
- Publication number
- CN114633800A CN114633800A CN202011486990.6A CN202011486990A CN114633800A CN 114633800 A CN114633800 A CN 114633800A CN 202011486990 A CN202011486990 A CN 202011486990A CN 114633800 A CN114633800 A CN 114633800A
- Authority
- CN
- China
- Prior art keywords
- angle
- steering
- vehicle
- steering wheel
- wheel
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012546 transfer Methods 0.000 claims abstract description 81
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000005259 measurement Methods 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
- B62D15/021—Determination of steering angle
- B62D15/024—Other means for determination of steering angle without directly measuring it, e.g. deriving from wheel speeds on different sides of the car
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
本申请实施例公开了一种转向轮角度的检测方法、装置及设备,先通过定位天线模块以及惯性测量单元采集得到车辆行驶速度和航向角速率,根据车辆行驶速度、航向角速率以及车辆前后轮轴距计算得到转向角期望值。通过方向盘编码器检测得到的转向轴角速率,并输入至传递模型中,得到第一转向轮角速率。通过传递模型可以实现转向轴角速率与转向轮角速率之间的转换,得到转向轴角速度对应的转向轮角速度。最后,将转向角期望值和第一转向轮角速率经过滤波器可以拟合得到转向轮角度。如此可以通过转向角的期望值和转向角的计算值拟合得到转向轮角度,实现了在不安装角度传感器的前提下方便地获得较为准确的车辆转向轮角度,降低了获取转向轮角度的成本。
Description
技术领域
本申请涉及车辆控制领域,具体涉及一种转向轮角度的检测方法、装置及设备。
背景技术
在车辆实现自动驾驶的过程中,需要通过车辆中设置的传感器获取车辆的运行参数。自动驾驶系统利用车辆的运行参数,通过液压或者电控系统驱动车轮转向机构,实现对于车辆的自动驾驶。
在运行参数中,转向轮角度涉及到车辆控制的转向精度。目前,车辆的转向轮角度是通过设置在车辆中的模拟量角度传感器或者是陀螺仪式的增量式角度传感器得到的。通过角度传感器测量转向轮角度较为复杂,设置模拟量角度传感器以及陀螺仪式的增量式角度传感器成本较高并且容易损坏。如何较为便捷地获取转向轮角度是亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种转向轮角度的检测方法、装置及设备,能够在不安装角度传感器的前提下实现获取较为准确的车辆转向角度,便于获取转向轮角度,并且降低了获取转向轮角度的成本。
为解决上述问题,本申请实施例提供的技术方案如下:
一种转向轮角度的检测方法,所述方法包括:
通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率;
根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值;
通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系;
将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
在一种可能的实现方式中,在根据所述车辆行驶速度、航向角速率以及车辆前后轮轴距计算转向角期望值之前,所述方法还包括:
通过定位天线模块以及惯性测量单元采集所述天线模块的位置以及车辆姿态角;
根据所述车辆行驶速度、所述航向角速率、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度;
将所述速度杠臂补偿之后的行驶速度确定为车辆行驶速度。
在一种可能的实现方式中,所述根据所述车辆行驶速度、所述车辆位置、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度,包括:
计算所述定位天线模块的位置与车辆参考点之间的杠臂长度;
由所述车辆姿态角确定车辆载体坐标系至导航坐标系的转换矩阵;
根据所述杠臂长度、所述航向角速率以及所述转换坐标,计算杠臂效应造成的速度误差;
将所述车辆行驶速度减去所述杠臂效应造成的速度误差,得到杠臂补偿之后的行驶速度。
在一种可能的实现方式中,所述方法还包括:
按照时间序列保存所述转向轴角速率以及第二转向轮角速率,所述第二转向轮角速率是根据所述转向轮角度进行微分处理得到的;
将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型,将所述传递模型更新为所述目标传递模型。
在一种可能的实现方式中,在将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型之前,所述方法还包括:
计算目标时刻对应的转向角期望值与转向轮角度的差值;
如果所述差值不在预设范围内,将所述目标时刻对应的转向轴角速率以及第二转向轮角速率,从按照时间序列保存的转向轴角速率以及第二转向轮角速率中剔除。
在一种可能的实现方式中,所述根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值,包括:
将所述航向角速率乘以车辆前后轮轴距之后,再除以所述车辆行驶速度,得到中间结果,对所述中间结果取反正切得到转向角期望值。
在一种可能的实现方式中,所述将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度,包括:
将所述转向角期望值作为卡尔曼滤波器的系统观测向量,将所述第一转向轮角速率作为所述卡尔曼滤波器的系统控制量,将采样间隔时间作为所述卡尔曼滤波器的系统控制矩阵,经过所述卡尔曼滤波器得到转向轮角度。
一种转向轮角度的检测装置,所述装置包括:
第一采集单元,用于通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率;
第一计算单元,用于根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值;
输入单元,用于通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系;
第一拟合单元,用于将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
一种转向轮角度的检测设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的转向轮角度的检测方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述的转向轮角度的检测方法。
由此可见,本申请实施例具有如下有益效果:
在本申请实施例提供的一种转向轮角度的检测方法、装置及设备中,先通过定位天线模块以及惯性测量单元采集得到车辆行驶速度和航向角速率,根据获得的车辆行驶速度、航向角速率以及车辆前后轮轴距计算得到转向角期望值。通过方向盘编码器检测得到的转向轴角速率,将转向轴角速率输入至传递模型中,得到第一转向轮角速率。其中,传递模型包括转向角速率与转向轮角速率的对应关系。通过传递模型可以实现转向轴角速率与转向轮角速率之间的转换,得到转向轴角速度对应的转向轮角速度。最后,将转向角期望值和第一转向轮角速率经过滤波器可以拟合得到转向轮角度。如此可以实现通过定位天线模块以及惯性测量单元采集得到车辆行驶速度和航向角速率,以及方向盘编码器检测得到的转向轴角速率,通过传递模型和滤波器计算得到车辆的转向轮角度。从而实现了在不安装角度传感器的前提下方便的获取较为准确的车辆转向轮角度,降低了获取转向轮角度的成本。
附图说明
图1为本申请实施例提供的示例性应用场景的框架示意图;
图2为本申请实施例提供的一种转向轮角度的检测方法的流程图;
图3为本申请实施例提供的一种计算车辆转向轮角度的示意图;
图4为本申请实施例提供的一种计算车辆行驶速度的示意图;
图5为本申请实施例提供的另一种计算车辆转向轮角度的示意图;
图6为本申请实施例提供的一种拟合目标传递模型的示意图;
图7为本申请实施例提供的另一种计算车辆转向轮角度的示意图;
图8为本申请实施例提供的另一种拟合传递模型的示意图;
图9为本申请实施例提供的另一种拟合传递模型的示意图;
图10为本申请实施例提供的一种转向轮角度的检测装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
发明人在对传统的阿克曼型车辆的转向轮角度的检测方法进行研究后发现,现有的自动驾驶系统中,是通过安装在车辆中的角度传感器实现对于车辆转向角的测量获取的。但是,车辆中的角度传感器安装的成本较高,在使用的过程中还需要对角度传感器进行调试。并且,在车辆行驶的过程中角度传感器容易损坏,导致不能正常进行车辆自动驾驶的控制。
基于此,本申请实施例提供了一种转向轮角度的检测方法、装置及设备,先通过定位天线模块以及惯性测量单元采集得到车辆行驶速度和航向角速率,根据获得的车辆行驶速度、航向角速率以及车辆前后轮轴距计算得到转向角期望值。转向角期望值是车辆转向角的理论值。通过方向盘编码器检测得到的转向轴角速率,将转向轴角速率输入至包括转向角速率与转向轮角速率的对应关系的传递模型中,得到第一转向轮角速率。通过传递模型可以实现转向轴角速率与转向轮角速率之间的转换,得到转向轴角速度对应的转向轮角速度,也就是车辆转向角的计算值。最后,将转向角期望值和第一转向轮角速率经过滤波器可以拟合得到转向轮角度。从而实现了通过车辆转向角的理论值和计算值的拟合得到车辆的转向轮角度,便于获取车辆的转向轮角度,可以减少获取转向轮角度的成本。
为了便于理解本申请实施例提供的转向轮角度的检测方法,下面结合图1所示的场景示例进行说明。参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图。
在实际应用中,先通过车辆中安装的定位天线模块101以及惯性测量单元102对车辆的行驶速度和航向角速率进行测量,利用车辆前后轮轴距以及测量得到的行驶速度和航向角速率可以计算得到转向角期望值。利用方向盘编码器103检测得到转向轴角速率,再利用包括转向轴角速率和转向轮角速率之间的对应关系的传递模型实现将转向轴角速率转换为第一转向轮角速率。最后,可以利用得到的转向角期望值和第一转向轮角速率,通过滤波器拟合得到转向轮角度。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
为了便于理解本申请,下面结合附图对本申请实施例提供的一种转向轮角度的检测方法进行说明。
首先需要说明的是,本申请实施例提供的转向轮角度检测方法应用于阿克曼型车辆。阿克曼型车辆是具有阿克曼转向机构的车辆,阿克曼转向机构可以解决车辆由于左、右转向轮的转向半径不同导致的左、右转向轮转角不同的问题,实现车辆较为顺畅的转弯。
参见图2,该图为本申请实施例提供的一种转向轮角度的检测方法的流程图,如图2所示,该方法可以包括S201-S204:
S201:通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率。
定位天线模块可以是安装在车辆中的,用于测量车辆位置的装置。通过定位天线模块可以实现车辆的定位,得到车辆的位置、姿态以及速度等信息。本申请实施例不限定定位天线模块所包括的天线的数量,可以为单天线组成的定位天线模块,也可以包括双天线组成的定位天线模块。
惯性测量单元可以安装在车辆控制器中,用于对车辆的姿态信息进行测量。通过惯性测量单元可以得到车辆在三维空间中的加速度和角速度。
利用车辆中的定位天线模块和惯性测量单元,可以获取车辆的车辆行驶速度和航向角速率。车辆行驶速度用于表示车辆当前的行驶的速度,航向角速率用于表示车辆在航向角上的行驶速率。
S202:根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值。
根据获取的车辆行驶速度、航向角速率和车辆前后轮轴距,可以计算得到实时的转向角期望值。转向角期望值是计算得到的转向角的理论值。
具体的,所述根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值,包括:
将所述航向角速率乘以车辆前后轮轴距之后,再除以所述车辆行驶速度,得到中间结果,对所述中间结果取反正切得到转向角期望值。
转向角期望值可以通过车辆运动模型计算得到。参见图3,该图为本申请实施例提供的一种计算车辆转向轮角度的示意图。利用获取的车辆行驶速度、航向角速率以及车辆前后轮轴距,可以通过车辆运动模型计算得到转向角期望值。
根据阿克曼型车辆的运动学模型可知,航向角速率可以通过车辆行驶速度与车辆车轮期望转角的正切值相乘,再除以车辆前后轮轴距得到。参见公式(1):
根据阿克曼型车辆的运动学模型可以得到车辆运动模型中车辆的转向角期望值的计算方法,计算公式如公式(2)所示:
S203:通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系。
转向角期望值是车辆转向角的理论值,为了确保计算得到的车辆的转向角的准确性,可以对车辆的转向角进行计算,将转向角的理论值和转向角的计算值进行结合,得到较为准确的转向角。
方向盘编码器安装在电控方向盘中,用于测量方向盘的转角。通过方向盘编码器可以检测得到车辆的转向轴角速率。
参见图3所示,将得到的转向轴角速率输入至传递模型中,可以得到传递模型输出的第一转向轮角速率。传递模型是预先建立的,包括转向轴角速率与转向轮角速率之间对应关系的模型。通过传递模型可以实现转向轴角速率与转向轮角速率之间的转换。
S204:将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
将得到的表示转向角理论值的转向角期望值以及表示转向角计算值的第一转向轮角速率输入至滤波器中,通过滤波器对转向角进行拟合,得到最优估计的车辆的转向轮角度。
本申请实施例不限定滤波器的具体类型,滤波器可以为卡尔曼滤波器、指数滤波器或者加权滤波器等。本申请实施例提供一种滤波器为卡尔曼滤波器时拟合得到转向轮角度的具体实施方式,请参见下文。
基于上述S201-S204的相关内容可知,在本申请实施例中,通过利用车辆行驶速度、航向角速率和车辆前后轮轴距计算得到车辆的转向角期望值,通过将转向轴角速率输入至传递模型中得到转向轮角速率。利用车辆转向角的理论值和计算值,通过滤波器拟合得到较为准确的转向轮角度。实现了通过计算得到车辆的转向轮角度,便于获取车辆的转向轮角度,可以减少获取转向轮角度的成本。
可以理解的是,定位天线模块的位置与车辆的转向轮之间可能存在杠臂。基于杠臂效应,定位天线与车辆转向轮轴之间存在安装位置的不同,在车辆在转向产生角速度时,不同的位置对应的速度之间存在一个与杠臂长度和车辆角速率乘积成正比的误差速度。这导致定位天线模块测量得到的车辆的行驶速度与实际转向轴的行驶速度存在着杠臂误差。
基于上述问题,本申请实施例还提供了一种转向轮角度的检测方法,可以实现对于定位天线模块测量得到的车辆行驶速度进行修正,进而得到较为准确的转向角期望值。
在根据所述车辆行驶速度、航向角速率以及车辆前后轮轴距计算转向角期望值之前,所述方法还包括以下A1-A3三个步骤:
A1:通过定位天线模块以及惯性测量单元采集所述天线模块的位置以及车辆姿态角。
基于杆臂误差与定位天线的位置以及车辆姿态角相关,先通过定位天线模块和惯性测量单元采集得到天线模块的位置和车辆姿态角。定位天线模块的位置为在车辆中天线的位置,具体可以采用天线的中心位置表示。当定位天线模块为多个时,对应的定位天线模块的位置为多个。车辆姿态角为表示车辆姿态的角度,具体可以包括横滚角和航向角。
A2:根据所述车辆行驶速度、所述航向角速率、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度。
参见图4,该图为本申请实施例提供的一种计算车辆行驶速度的示意图。通过定位天线模块401和惯性测量单元402得到的车辆姿态角、定位天线模块的位置以及获取的车辆行驶速度、航向角速率可以实现对车辆行驶速度的杠臂误差的修正,计算得到杠臂补偿后的车辆的行驶速度。
在一种可能的实现方式中,本申请实施例提供一种根据所述车辆行驶速度、所述车辆位置、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度,包括以下B1-B4四个步骤:
B1:计算所述定位天线模块的位置与车辆参考点之间的杠臂长度。
车辆参考点为表示车辆转向轴所在位置的点,具体可以为车辆后轮轴中心所在的位置。
根据定位天线模块的位置和车辆参考点,计算定位天线模块与车辆参考点之间的杠臂长度。杠臂长度可以表示为l=[lLR,lFR,lH]。其中lLR、lFR、lH分别为定位天线模块的位置与车辆参考点投影的左右偏差、前后偏差、高程偏差。
B2:由所述车辆姿态角确定车辆载体坐标系至导航坐标系的转换矩阵。
利用车辆姿态角可以得到车辆载体坐标系与导航坐标系之间的转换矩阵。通过转换矩阵可以实现基于车辆载体坐标系的杠臂补偿至基于导航坐标系的杠臂补偿的转换。
车辆载体坐标系b具体可以是以车辆质心为原点,x轴为沿车辆横轴指向右,y轴为沿车辆纵轴指向前,z轴为沿车辆竖轴指向上建立的坐标系。导航坐标系n可以为东北天地理坐标系。对应的坐标转换矩阵可以由公式(3)表示:
B3:根据所述杠臂长度、所述航向角速率以及所述转换坐标,计算杠臂效应造成的速度误差。
利用得到的杠臂长度、航向角速率以及转换坐标,可以计算得到速度误差。
具体的,当车辆姿态角具有航向角和横滚角时,可以利用横滚角和航向角计算得到车辆的转动角速度ωbn。
对应的,速度误差δ可以由公式(5)表示:
B4:将所述车辆行驶速度减去所述杠臂效应造成的速度误差,得到杠臂补偿之后的行驶速度。
利用得到的速度误差对车辆行驶速度进行修正。从车辆行驶速度中减去杠臂效应造成的速度误差,得到杠臂补偿之后的行驶速度。
杠臂补偿后的行驶速度可以通过公式(6)表示:
v=vgnss-δ=vgnss-Cbn(ωbn×l) (6)
其中,vgnss为定位天线模块测量得到的车辆行驶速度。
A3:将所述杠臂补偿之后的行驶速度确定为车辆行驶速度。
通过杠臂补偿之后的行驶速度较为准确,将补偿后的行驶速度确定为车辆行驶速度。参见图5,该图为本申请实施例提供的另一种计算车辆转向轮角度的示意图。车辆运动模型利用杠臂补偿之后的行驶速度,即车辆行驶速度、航向角速率以及车辆前后轮轴距离计算得到更为准确的转向角期望值。
基于上述内容可知,通过获取杠臂长度和车辆姿态角,可以对定位天线模块得到的车辆行驶速度进行修正,实现车辆行驶速度的杠臂补偿。基于杠臂补偿后得到的车辆行驶速度更为准确,从而可以利用补偿后的车辆行驶速度得到更加准确的转向角期望值。
传递模型中的模型参数可以是预先设置的。但是,预设的模型参数可能不能与车辆相匹配。一方面,获得的车辆的数据可能存在着噪声,会导致预先设置的传递模型的模型参数不够准确。另一方面,方向盘的转向器在转动时可能存在转动误差,使得转向轴角速率和转向轮角速率之间不能完全满足线性关系,导致预设的传递模型的模型参数也不能与车辆相匹配。
基于上述问题,本申请实施例还提供了一种转向轮角度的检测方法,除上述S201-S204的步骤以外,所述方法还包括以下C1-C2两个步骤:
C1:按照时间序列保存所述转向轴角速率以及第二转向轮角速率,所述第二转向轮角速率是根据所述转向轮角度进行微分处理得到的。
参见图6所示,该图为本申请实施例提供的一种拟合目标传递模型的示意图。
时间序列中包括一定的时刻,对应的车辆的转向轴角速率以及第二转向轮角速率。其中,第二转向轮角速率是对转向轮角度进行微分处理得到的。转向轴角速率是通过方向盘编码器检测得到的。
按照时间序列保存的车辆的转向轴角速率和第二转向轮角速率与当前时刻车辆的行驶状况相对应,可以利用转向轴角速率和第二转向轮角速率拟合得到传递模型。
在一种可能的实现方式中,可以将时刻、该时刻对应的转向轴角速率以及该时刻对应的第二转向轮角速率作为时间序列储存至数据库中。储存的时间序列数据的格式可以为(t,ωshaft,ωr),其中,ωshaft为转向轴角速度,ωr为第二转向轮角速率,t为对应的时刻。
C2:将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型,将所述传递模型更新为所述目标传递模型。
对按照时间序列保存的转向轴角速率和第二转向轮角速率进行函数拟合,可以得到对应的目标传递模型。本申请实施例不限定函数拟合的具体种类,在一种可能的实现方式中,函数拟合可以采用最小二乘拟合法。
将传递模型更新为目标传递模型,得到适用于当前车辆的传递模型。在一种可能的实现方式中,可以将更新的传递模型传输至对应的更新单元中,以便下次在使用传递模型时读取并使用更新的传递模型。
在本申请实施例中,通过按照时间序列保存车辆的转向轴角速率和第二转向轮角速率进行函数拟合,可以得到适配于当前车辆的传递模型。并且基于按照时间序列保存的转向轴角速率和第二转向轮角速率,可以进行动态的迭代学习,得到较为精确的传递模型。从而实现得到较为准确的第一转向角速率,提高计算得到的转向轮角度的准确度。
在一种可能的实现方式中,获取的转向轮角度可能具有较大的误差,可以在进行函数拟合目标传递模型之前对转向轴角速率以及第二转向轮角速率进行筛选,实现对于转向轴角速率以及第二转向轮角速率的动态辨识。
参见图7,该图为本申请实施例提供的另一种计算车辆转向轮角度的示意图。在得到转向轴角速率、转向角期望值和转向轮角度后,先利用转向轮角度和转向角期望值进行动态辨识,确定可以用于目标传递模型拟合的转向轴角速率以及第二转向轮角速率。
在将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型之前,所述方法还包括:
计算目标时刻对应的转向角期望值与转向轮角度的差值;
如果所述差值不在预设范围内,将所述目标时刻对应的转向轴角速率以及第二转向轮角速率,从按照时间序列保存的转向轴角速率以及第二转向轮角速率中剔除。
参见图8所示,该图为本申请实施例提供的另一种拟合传递模型的示意图。在对目标传递模型进行拟合之前,还可以对转向轴角速率和第二转向轮角速率进行筛选。
转向轮角度可能具有一定的误差,转向轮角度的误差可以通过转向角期望值进行衡量。计算目标时刻下的转向角期望值与转向轮角度之间的差值。可以理解的是,当目标时刻下的转向角期望值与转向轮角度之间的差值较大,不在预设范围内时,说明转向轮角度的误差较大,不适合用于目标传递模型的拟合。将目标时刻对应的转向轴角速率以及第二转向轮角速率从按照时间序列保存的转向轴角速率以及第二转向轮角速率剔除。
在一种可能的实现方式中,在拟合得到目标传递模型后,可以对目标传递模型进行误差的判定,以确保拟合得到的目标传递模型的准确性较高。
参见图9所示,该图为本申请实施例提供的另一种拟合传递模型的示意图。在利用函数拟合得到目标传递模型之后,进一步的对拟合得到的目标传递模型进行误差判定。例如,将得到的转向轴角速率代入目标传递模型中,确定目标传递模型输出的转向轮角速率与通过对转向轮角度进行积分得到的转向轮角速率之间的差距。若目标传递模型的误差较小,可以确定目标传递模型是有效的,可以将目标传递模型更新为传递模型。若目标传递模型的误差较大,则拟合得到的目标传递模型无效,不能将目标传递模型更新为传递模型。
基于上述内容可知,根据转向轮角度与转向角期望值之间的差值可以将误差较大的转向轮角度进行剔除,从而使得用于进行目标传递模型拟合的转向轴角速率以及第二转向轮角速率误差较小,得到较为准确的目标传递模型。
在一种可能的实现方式中滤波器可以为卡尔曼滤波器。对应的,本申请实施例提供一种将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度的具体实施方式,具体包括:
将所述转向角期望值作为卡尔曼滤波器的系统观测向量,将所述第一转向轮角速率作为所述卡尔曼滤波器的系统控制量,将采样间隔时间作为所述卡尔曼滤波器的系统控制矩阵,经过所述卡尔曼滤波器得到转向轮角度。
卡尔曼滤波器可以为扩展一阶卡尔曼滤波器,具体的,卡尔曼滤波状态方程如公式(7)所示:
Xk=AkXk-1+Bkuk+Wk (7)
其中,Ak为离散系统状态转移矩阵,Ak=[1]。Xk为k时刻系统状态向量,具体为k时刻输出的转向轮角度。Bk=Δt为离散系统控制矩阵,Δt为滤波时间间隔。为k时刻系统控制量,ωshaft为转向轴角速度,uk具体为k时刻的第一转向轮角速率。Bkuk为滤波时间间隔内的第一转向轮角速率对应的角度值。Wk为离散时间过程噪声,属N(0,Qk)的高斯白噪声,Qk为系统噪声的方差矩阵。
卡尔曼滤波器的观测方程为如公式(8)所示:
Zk=HkXk+Vk (8)
其中,Hk为观测矩阵,Hk=[1]。Xk为k时刻系统状态向量,具体为k时刻输出的转向轮角度。Vk为观测噪声,属N(0,Rk)的高斯白噪声,Rk为系统噪声的方差矩阵。
在本申请实施例中,通过卡尔曼滤波器,可以实现对于转向轮角度的最优估计,得到较为准确的转向轮角度,实现了在不安装角度传感器下获取转向轮角度,便于获取转向轮角度,降低了获取转向轮角度的成本。
基于上述方法实施例提供的转向轮角度的检测方法,本申请实施例还提供了一种转向轮角度的检测装置,下面将结合附图对该转向轮角度的检测装置进行说明。
参见图10,该图为本申请实施例提供的一种转向轮角度的检测装置的结构示意图。如图10所示,该转向轮角度的检测装置包括:
第一采集单元1001,用于通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率;
第一计算单元1002,用于根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值;
输入单元1003,用于通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系;
第一拟合单元1004,用于将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
在一种可能的实现方式中,所述装置还包括:
第二采集单元,用于通过定位天线模块以及惯性测量单元采集所述天线模块的位置以及车辆姿态角;
第二计算单元,用于根据所述车辆行驶速度、所述航向角速率、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度;
确定单元,用于将所述速度杠臂补偿之后的行驶速度确定为车辆行驶速度。
在一种可能的实现方式中,所述第二计算单元,具体用于计算所述定位天线模块的位置与车辆参考点之间的杠臂长度;
由所述车辆姿态角确定车辆载体坐标系至导航坐标系的转换矩阵;
根据所述杠臂长度、所述航向角速率以及所述转换坐标,计算杠臂效应造成的速度误差;
将所述车辆行驶速度减去所述杠臂效应造成的速度误差,得到杠臂补偿之后的行驶速度。
在一种可能的实现方式中,所述装置还包括:
保存单元,用于按照时间序列保存所述转向轴角速率以及第二转向轮角速率,所述第二转向轮角速率是根据所述转向轮角度进行微分处理得到的;
第二拟合单元,用于将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型,将所述传递模型更新为所述目标传递模型。
在一种可能的实现方式中,在将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型之前,所述装置还包括:
第三计算单元,用于计算目标时刻对应的转向角期望值与转向轮角度的差值;
剔除单元,用于如果所述差值不在预设范围内,将所述目标时刻对应的转向轴角速率以及第二转向轮角速率,从按照时间序列保存的转向轴角速率以及第二转向轮角速率中剔除。
在一种可能的实现方式中,所述第一计算单元1002,具体用于将所述航向角速率乘以车辆前后轮轴距之后,再除以所述车辆行驶速度,得到中间结果,对所述中间结果取反正切得到转向角期望值。
在一种可能的实现方式中,所述第一拟合单元1004,具体用于将所述转向角期望值作为卡尔曼滤波器的系统观测向量,将所述第一转向轮角速率作为所述卡尔曼滤波器的系统控制量,将采样间隔时间作为所述卡尔曼滤波器的系统控制矩阵,经过所述卡尔曼滤波器得到转向轮角度。
基于上述方法实施例提供的转向轮角度的检测方法,本申请实施例还提供了一种转向轮角度的检测设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一实施例所述的转向轮角度的检测方法。
基于上述方法实施例提供的转向轮角度的检测方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一实施例所述的转向轮角度的检测方法。
本申请实施例提供的一种转向轮角度的检测装置及设备,先通过定位天线模块以及惯性测量单元采集得到车辆行驶速度和航向角速率,根据获得的车辆行驶速度、航向角速率以及车辆前后轮轴距计算得到转向角期望值。转向角期望值是车辆转向角的理论值。通过方向盘编码器检测得到的转向轴角速率,将转向轴角速率输入至包括转向角速率与转向轮角速率的对应关系的传递模型中,得到第一转向轮角速率。通过传递模型可以实现转向轴角速率与转向轮角速率之间的转换,得到转向轴角速度对应的转向轮角速度,也就是车辆转向角的计算值。最后,将转向角期望值和第一转向轮角速率经过滤波器可以拟合得到转向轮角度。从而实现了通过车辆转向角的理论值和计算值的拟合得到车辆的转向轮角度,便于获取车辆的转向轮角度,可以减少获取转向轮角度的成本。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种转向轮角度的检测方法,其特征在于,所述方法包括:
通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率;
根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值;
通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系;
将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
2.根据权利要求1所述的方法,其特征在于,在根据所述车辆行驶速度、航向角速率以及车辆前后轮轴距计算转向角期望值之前,所述方法还包括:
通过定位天线模块以及惯性测量单元采集所述天线模块的位置以及车辆姿态角;
根据所述车辆行驶速度、所述航向角速率、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度;
将所述速度杠臂补偿之后的行驶速度确定为车辆行驶速度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述车辆行驶速度、所述车辆位置、所述车辆姿态角以及所述定位天线模块的位置,计算杠臂补偿之后的行驶速度,包括:
计算所述定位天线模块的位置与车辆参考点之间的杠臂长度;
由所述车辆姿态角确定车辆载体坐标系至导航坐标系的转换矩阵;
根据所述杠臂长度、所述航向角速率以及所述转换坐标,计算杠臂效应造成的速度误差;
将所述车辆行驶速度减去所述杠臂效应造成的速度误差,得到杠臂补偿之后的行驶速度。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照时间序列保存所述转向轴角速率以及第二转向轮角速率,所述第二转向轮角速率是根据所述转向轮角度进行微分处理得到的;
将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型,将所述传递模型更新为所述目标传递模型。
5.根据权利要求4所述的方法,其特征在于,在将按照时间序列保存的转向轴角速率以及第二转向轮角速率进行函数拟合得到目标传递模型之前,所述方法还包括:
计算目标时刻对应的转向角期望值与转向轮角度的差值;
如果所述差值不在预设范围内,将所述目标时刻对应的转向轴角速率以及第二转向轮角速率,从按照时间序列保存的转向轴角速率以及第二转向轮角速率中剔除。
6.根据权利要求1所述的方法,其特征在于,所述根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值,包括:
将所述航向角速率乘以车辆前后轮轴距之后,再除以所述车辆行驶速度,得到中间结果,对所述中间结果取反正切得到转向角期望值。
7.根据权利要求1所述的方法,其特征在于,所述将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度,包括:
将所述转向角期望值作为卡尔曼滤波器的系统观测向量,将所述第一转向轮角速率作为所述卡尔曼滤波器的系统控制量,将采样间隔时间作为所述卡尔曼滤波器的系统控制矩阵,经过所述卡尔曼滤波器得到转向轮角度。
8.一种转向轮角度的检测装置,其特征在于,所述装置包括:
第一采集单元,用于通过定位天线模块以及惯性测量单元采集车辆行驶速度以及航向角速率;
第一计算单元,用于根据所述车辆行驶速度、所述航向角速率以及车辆前后轮轴距计算转向角期望值;
输入单元,用于通过方向盘编码器检测转向轴角速率,将所述转向轴角速率输入传递模型得到第一转向轮角速率,所述传递模型包括转向轴角速率与转向轮角速率的对应关系;
第一拟合单元,用于将所述转向角期望值以及所述第一转向轮角速率经过滤波器拟合得到转向轮角度。
9.一种转向轮角度的检测设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的转向轮角度的检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的转向轮角度的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011486990.6A CN114633800B (zh) | 2020-12-16 | 2020-12-16 | 一种转向轮角度的检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011486990.6A CN114633800B (zh) | 2020-12-16 | 2020-12-16 | 一种转向轮角度的检测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114633800A true CN114633800A (zh) | 2022-06-17 |
CN114633800B CN114633800B (zh) | 2023-08-29 |
Family
ID=81944972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011486990.6A Active CN114633800B (zh) | 2020-12-16 | 2020-12-16 | 一种转向轮角度的检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114633800B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326094A (zh) * | 2005-10-15 | 2008-12-17 | 天宝导航有限公司 | 基于转向组件角度及角速率传感器的车辆陀螺仪 |
DE102013005991A1 (de) * | 2012-12-28 | 2014-07-03 | Bomag Gmbh | Verfahren und Vorrichtung zur Ermittlung des Lenkwinkels einer richtungssteuerbaren Maschine |
CN104670321A (zh) * | 2013-11-29 | 2015-06-03 | 比亚迪股份有限公司 | 电动叉车以及用于电动叉车的转向控制系统 |
CN107063241A (zh) * | 2017-03-16 | 2017-08-18 | 上海联适导航技术有限公司 | 基于双gnss天线及单轴mems陀螺的前轮测角系统 |
US20190009708A1 (en) * | 2017-07-05 | 2019-01-10 | Ford Global Technologies, Llc | Determining a steering angle for an automobile application |
CN109533156A (zh) * | 2017-09-20 | 2019-03-29 | 北京凌云智能科技有限公司 | 平衡车车轮滑动的判断方法以及平衡车 |
US20190154546A1 (en) * | 2016-10-27 | 2019-05-23 | Shanghai Huace Navigation Technology Ltd | Automatic calibration method of an angle sensor for an automatic drive control system of a farm machine |
CN110426011A (zh) * | 2018-04-28 | 2019-11-08 | 西安合众思壮导航技术有限公司 | 车辆转向角测量系统及方法 |
CN110530361A (zh) * | 2019-08-26 | 2019-12-03 | 青岛农业大学 | 一种基于农业机械双天线gnss自动导航系统的转向角度估计器 |
CN110796853A (zh) * | 2018-08-03 | 2020-02-14 | 丰田自动车工程及制造北美公司 | 用于范围外车辆的中间车辆转发器 |
CN111943091A (zh) * | 2020-09-18 | 2020-11-17 | 安徽合力股份有限公司 | 一种叉车液压转向的控制方法及液压转向系统 |
CN111976833A (zh) * | 2020-08-10 | 2020-11-24 | 驭势科技(北京)有限公司 | 方向盘参数的标定方法、装置、设备和存储介质 |
CN112014122A (zh) * | 2020-07-21 | 2020-12-01 | 无锡卡尔曼导航技术有限公司 | 一种车轮转角测量装置及运行方法 |
-
2020
- 2020-12-16 CN CN202011486990.6A patent/CN114633800B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326094A (zh) * | 2005-10-15 | 2008-12-17 | 天宝导航有限公司 | 基于转向组件角度及角速率传感器的车辆陀螺仪 |
DE102013005991A1 (de) * | 2012-12-28 | 2014-07-03 | Bomag Gmbh | Verfahren und Vorrichtung zur Ermittlung des Lenkwinkels einer richtungssteuerbaren Maschine |
CN104670321A (zh) * | 2013-11-29 | 2015-06-03 | 比亚迪股份有限公司 | 电动叉车以及用于电动叉车的转向控制系统 |
US20190154546A1 (en) * | 2016-10-27 | 2019-05-23 | Shanghai Huace Navigation Technology Ltd | Automatic calibration method of an angle sensor for an automatic drive control system of a farm machine |
CN107063241A (zh) * | 2017-03-16 | 2017-08-18 | 上海联适导航技术有限公司 | 基于双gnss天线及单轴mems陀螺的前轮测角系统 |
US20190009708A1 (en) * | 2017-07-05 | 2019-01-10 | Ford Global Technologies, Llc | Determining a steering angle for an automobile application |
CN109533156A (zh) * | 2017-09-20 | 2019-03-29 | 北京凌云智能科技有限公司 | 平衡车车轮滑动的判断方法以及平衡车 |
CN110426011A (zh) * | 2018-04-28 | 2019-11-08 | 西安合众思壮导航技术有限公司 | 车辆转向角测量系统及方法 |
CN110796853A (zh) * | 2018-08-03 | 2020-02-14 | 丰田自动车工程及制造北美公司 | 用于范围外车辆的中间车辆转发器 |
CN110530361A (zh) * | 2019-08-26 | 2019-12-03 | 青岛农业大学 | 一种基于农业机械双天线gnss自动导航系统的转向角度估计器 |
CN112014122A (zh) * | 2020-07-21 | 2020-12-01 | 无锡卡尔曼导航技术有限公司 | 一种车轮转角测量装置及运行方法 |
CN111976833A (zh) * | 2020-08-10 | 2020-11-24 | 驭势科技(北京)有限公司 | 方向盘参数的标定方法、装置、设备和存储介质 |
CN111943091A (zh) * | 2020-09-18 | 2020-11-17 | 安徽合力股份有限公司 | 一种叉车液压转向的控制方法及液压转向系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114633800B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8200452B2 (en) | Attitude-angle detecting apparatus and attitude-angle detecting method | |
CN100380098C (zh) | 车辆动态特性检测器、车载处理系统、检测信息校正器及车载处理器 | |
JPH06273187A (ja) | 車体重心スリップ角計測装置 | |
CN110077392B (zh) | 一种自动泊车定位系统的航迹推算方法 | |
CN110530361B (zh) | 基于农业机械双天线gnss自动导航系统的转向角度估计器 | |
CN110440797A (zh) | 车辆姿态估计方法及系统 | |
CN110133695B (zh) | 一种双天线gnss位置延迟时间动态估计系统及方法 | |
JP2014240266A (ja) | センサドリフト量推定装置及びプログラム | |
CN114526731A (zh) | 一种基于助力车的惯性组合导航方向定位方法 | |
CN114475581B (zh) | 基于轮速脉冲和imu卡尔曼滤波融合的自动泊车定位方法 | |
CN108426584B (zh) | 汽车多传感器的校准方法 | |
CN112577512A (zh) | 一种基于轮速融合的状态量误差确定方法及车载终端 | |
CN114633800B (zh) | 一种转向轮角度的检测方法、装置及设备 | |
CN112577513A (zh) | 一种状态量误差确定方法及车载终端 | |
JP4517298B2 (ja) | 方位センサの補正係数演算装置及び演算プログラム | |
JPH0566713A (ja) | ナビゲーシヨン装置 | |
JP2021018112A (ja) | 自己位置推定装置 | |
JP2020094989A (ja) | 車両状態推定装置 | |
CN111637894B (zh) | 一种定常系数陆标图像导航滤波方法 | |
EP1206683B1 (en) | Integrated inertial/vms navigation system | |
JP4831441B2 (ja) | 方位センサの補正係数演算装置及び演算プログラム | |
CN113030504B (zh) | 车辆测速方法、装置、车载计算机设备和存储介质 | |
JP2020097316A (ja) | 車体姿勢角推定装置 | |
CN116588121B (zh) | 基于车辆信息的车辆参数估计方法、装置、介质及设备 | |
CN114911225B (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 |