CN118032010A - 自动驾驶车辆的姿态角标定方法、装置及电子设备 - Google Patents
自动驾驶车辆的姿态角标定方法、装置及电子设备 Download PDFInfo
- Publication number
- CN118032010A CN118032010A CN202410162982.8A CN202410162982A CN118032010A CN 118032010 A CN118032010 A CN 118032010A CN 202410162982 A CN202410162982 A CN 202410162982A CN 118032010 A CN118032010 A CN 118032010A
- Authority
- CN
- China
- Prior art keywords
- angle
- calibration result
- attitude
- horizontal
- automatic driving
- 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 58
- 238000012795 verification Methods 0.000 claims abstract description 99
- 238000005096 rolling process Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 16
- 238000010200 validation analysis Methods 0.000 claims 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 11
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
- G01C25/005—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/43—Determining position using carrier phase measurements, e.g. kinematic positioning; using long or short baseline interferometry
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/53—Determining attitude
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
本申请公开了一种自动驾驶车辆的姿态角标定方法、装置及电子设备,该方法包括:获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据加速度计信息对自动驾驶车辆的水平角进行标定;根据第一原始姿态角,利用第一预设验证策略对水平角标定结果进行验证;若验证通过,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据位置信息和第二原始姿态角对航向角进行标定;根据水平角标定结果和第二原始姿态角,利用第二预设验证策略对航向角标定结果进行验证;若验证通过,输出水平角标定结果和航向角标定结果。本申请通过优化标定算法和流程,能够自动对姿态角的标定结果进行验证,不需要人工操作,大大提高了标定效率和标定精度。
Description
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种自动驾驶车辆的姿态角标定方法、装置及电子设备。
背景技术
在自动驾驶场景下,需要实时感知自动驾驶车辆准确的姿态角,姿态角不准会影响车辆的感知和规划控制,从而影响自动驾驶车辆的行驶安全性。
为了实时感知自动驾驶车辆准确的姿态角,需要对自动驾驶车辆的姿态角进行标定,主要是标定出IMU相对于车辆后轴中心的姿态。现有的姿态角标定算法主要是欧拉角法,即在进行补偿时直接使用欧拉角进行补偿,此种方式至少存在如下的问题:
1)在安装误差较大时会出现奇异角,奇异角是指一个角度经过旋转以后等于它自身,即旋转后两个角度相等,奇异角的存在会大大增加标定误差;
2)要求车辆在直线行驶状态下进行标定,观测性差,标定结果收敛慢,导致标定时间较长;
3)现有标定算法的标定和验证环节需要分开进行,人工操作较多,导致标定效率低下。
发明内容
针对上述至少一个方面的技术问题,本申请实施例提供了一种自动驾驶车辆的姿态角标定方法、装置及电子设备,以提高标定结果的精度和标定效率。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种自动驾驶车辆的姿态角标定方法,其中,所述方法包括:
获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
可选地,所述加速度计信息为第一预设时间段内获取的,所述水平角包括翻滚角和俯仰角,所述根据所述加速度计信息对自动驾驶车辆的水平角进行标定包括:
根据第一预设时间段内获取的加速度计信息分别计算第一预设时间段内的翻滚角的角误差和俯仰角的角误差;
根据第一预设时间段内的翻滚角的角误差和俯仰角的角误差分别计算翻滚角的角误差均值和俯仰角的角误差均值;
将所述翻滚角的角误差均值和所述俯仰角的角误差均值分别作为翻滚角标定结果和俯仰角标定结果。
可选地,所述根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证包括:
获取自动驾驶车辆的历史姿态角标定结果;
根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证。
可选地,所述根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证包括:
将所述水平角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第一原始姿态角和所述历史姿态角标定结果分别转换为第一原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;
利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第一原始姿态角的姿态四元数进行补偿,得到第一补偿后姿态角的姿态四元数;
将第一补偿后姿态角的姿态四元数还原为第一补偿后姿态角,并根据所述第一补偿后姿态角对所述水平角标定结果进行验证。
可选地,所述第一补偿后姿态角包括补偿后水平角,所述根据所述第一补偿后姿态角对所述水平角标定结果进行验证包括:
对第二预设时间段内的补偿后水平角进行统计,确定补偿后水平角的统计值;
若补偿后水平角的统计值小于第一预设误差阈值,则确定所述水平角标定结果通过验证;
否则,则确定所述水平角标定结果未通过验证,并继续进行迭代标定,直至所述补偿后水平角的统计值小于第一预设误差阈值。
可选地,所述在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定包括:
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的当前速度和当前RTK定位状态;
在所述当前速度大于预设速度阈值且所述当前RTK定位状态为差分状态的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定。
可选地,所述根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果包括:
根据所述自动驾驶车辆的位置信息计算自动驾驶车辆的当前航向角;
根据所述当前航向角和所述第二原始姿态角计算航向角的角误差;
根据航向角的角误差确定航向角标定结果。
可选地,所述根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证包括:
获取自动驾驶车辆的历史姿态角标定结果;
根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证。
可选地,所述根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证包括:
将所述水平角标定结果和所述航向角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第二原始姿态角和所述历史姿态角标定结果分别转换为第二原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;
利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第二原始姿态角的姿态四元数进行补偿,得到第二补偿后姿态角的姿态四元数;
将第二补偿后姿态角的姿态四元数还原为第二补偿后姿态角,并根据所述第二补偿后姿态角对所述航向角标定结果进行验证。
可选地,所述根据所述第二补偿后姿态角对所述航向角标定结果进行验证包括:
根据所述第二补偿后姿态角和自动驾驶车辆的当前航向角计算航向角的角误差;
若所述航向角的角误差小于第二预设误差阈值,则确定所述航向角标定结果通过验证;
否则,则确定所述航向角标定结果未通过验证,并继续进行迭代标定,直至所述航向角的角误差小于第二预设误差阈值。
第二方面,本申请实施例还提供一种自动驾驶车辆的姿态角标定装置,其中,所述装置包括:
第一标定单元,用于获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
第一验证单元,用于根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
第二标定单元,用于在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
第二验证单元,用于根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
输出单元,用于在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
第三方面,本申请实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行前述之任一所述方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前述之任一所述方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例的自动驾驶车辆的姿态角标定方法,先获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;然后根据第一原始姿态角,利用第一预设验证策略对水平角标定结果进行验证;在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;之后根据水平角标定结果和第二原始姿态角,利用第二预设验证策略对航向角标定结果进行验证;最后在航向角标定结果验证通过的情况下,输出水平角标定结果和航向角标定结果。本申请实施例的自动驾驶车辆的姿态角标定方法通过优化标定算法和流程,能够自动对姿态角的标定结果进行验证,不需要人工操作,大大提高了标定效率,且通过对水平角和航向角分别进行标定和验证,大大提高了标定结果的精度,减少了标定时间。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种自动驾驶车辆的姿态角标定方法的流程示意图;
图2为本申请实施例中一种自动驾驶车辆的姿态角标定装置的结构示意图;
图3为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供了一种自动驾驶车辆的姿态角标定方法,如图1所示,提供了本申请实施例中一种自动驾驶车辆的姿态角标定方法的流程示意图,所述方法至少包括如下的步骤S110至步骤S150:
步骤S110,获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果。
自动驾驶车辆的姿态角包括翻滚角(roll)和俯仰角(pitch)以及航向角(yaw),本申请实施例在对自动驾驶车辆的姿态角进行标定时,可以先对自动驾驶车辆的水平角进行标定,这里的水平角是指在垂直于地平面的方向具有角度变化的角度,具体可以包括翻滚角和俯仰角。
在标定自动驾驶车辆的水平角时,可以先将自动驾驶车辆驶入到已标校水平的平台上,录制自动驾驶车辆的IMU(Inertial Measurement Unit,惯性测量单元)加速度计信息,通过对IMU加速度计信息进行姿态分解,即可得到水平角标定结果。
此外,还需要获取RTK(Real-time Kinematic,实时动态)定位设备输出的与加速度计信息对应的第一原始姿态角信息,第一原始姿态角可以理解为是RTK原始输出的翻滚角、俯仰角和航向角,作为后续验证水平角标定结果的依据。
步骤S120,根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证。
由于RTK原始输出的水平角存在较大误差,而水平角标定的目的正是为了弥补这种误差,也即上述水平角标定结果是为了对原始输出的水平角的误差进行补偿,因此水平角标定结果的精度决定了水平角误差补偿的效果。基于此,本申请实施例可以结合上述第一原始姿态角和水平角标定结果,采用一定的验证策略对水平角标定结果的精度进行验证,以保证最终水平角标定结果的精度。
步骤S130,在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果。
如果上述水平角标定结果通过验证,可以进一步对自动驾驶车辆的航向角进行标定,航向角是平行于地平面方向的角度,在标定自动驾驶车辆的航向角时,可以在一段时间内采集RTK定位设备输出的自动驾驶车辆的位置信息和第二原始姿态角,这里的位置信息是指RTK定位设备在差分状态下输出的绝对位置信息,第二原始姿态角是指RTK在航向角标定阶段原始输出的翻滚角、俯仰角和航向角。如果水平角标定结果未通过验证,则需要重复上述水平角标定步骤直至通过验证。
步骤S140,根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证。
RTK原始输出的航向角存在较大误差,而航向角标定的目的正是为了弥补这种误差,也即上述航向角标定结果是为了对原始输出的航向角的误差进行补偿,因此航向角标定结果的精度决定了航向角误差补偿的效果。此外,由于前述步骤已经标定好水平角,基于此,可以在标定好的水平角基础上,进一步结合第二原始姿态角和航向角标定结果,采取一定的验证策略对航向角标定结果的精度进行验证,以保证最终航向角标定结果的精度。
步骤S150,在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
如果上述航向角标定结果通过验证,则标定结束,输出最终的水平角标定结果和航向角标定结果,进一步地,可以将最终的水平角标定结果和航向角标定结果存储至自动驾驶车辆的配置文件中,以供实际场景进行姿态角误差补偿。如果航向角标定结果未通过验证,则需要重复上述航向角标定步骤直至通过验证。
本申请实施例的自动驾驶车辆的姿态角标定方法通过优化标定算法和流程,能够自动对姿态角的标定结果进行验证,不需要人工操作,大大提高了标定效率,且通过对水平角和航向角分别进行标定和验证,大大提高了标定结果的精度,减少了标定时间。
在本申请的一些实施例中,所述加速度计信息为第一预设时间段内获取的,所述水平角包括翻滚角和俯仰角,所述根据所述加速度计信息对自动驾驶车辆的水平角进行标定包括:根据第一预设时间段内获取的加速度计信息分别计算第一预设时间段内的翻滚角的角误差和俯仰角的角误差;根据第一预设时间段内的翻滚角的角误差和俯仰角的角误差分别计算翻滚角的角误差均值和俯仰角的角误差均值;将所述翻滚角的角误差均值和所述俯仰角的角误差均值分别作为翻滚角标定结果和俯仰角标定结果。
本申请实施例的加速度计信息主要包括自动驾驶车辆在x轴,y轴和z轴的加速度,利用加速度计的读数可以计算出IMU的翻滚角和俯仰角,由于车辆在已标校水平的平台上行驶,所以实际的IMU的翻滚角和俯仰角应当均为0,那么基于加速度计的读数计算得到的IMU的翻滚角和俯仰角本质上就可以直接作为翻滚角的角误差d_roll和俯仰角的角误差d_pitch。
考虑到单次计算结果的可靠性不高,本申请实施例可以在第一预设时间段内连续采集多个加速度计数据,从而计算出多个翻滚角的角误差和多个俯仰角的角误差,对多个翻滚角的角误差和俯仰角的角误差分别进行统计,例如可以计算第一预设时间段内多个翻滚角角误差的均值,作为翻滚角标定结果,计算第一预设时间段内多个俯仰角角误差的均值,作为俯仰角标定结果。
需要说明的是,本领域技术人员可以根据实际需求灵活设置上述第一预设时间段的具体长短,在此不作具体限定。
在本申请的一些实施例中,所述根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证包括:获取自动驾驶车辆的历史姿态角标定结果;根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证。
实际标定场景下,可以会存在历史姿态角标定结果,包括历史的翻滚角、俯仰角和航向角的标定结果,分别表示为roll0,pitch0,yaw 0,历史姿态角标定结果具有一定的参考意义,因此本申请实施例可以在历史姿态角标定结果的基础上对水平角标定结果进行验证,从而可以减少迭代标定次数,提高标定效率。当然,如果不存在历史姿态角标定结果,则可以初始化roll0=0,pitch0=0,yaw0=0。
在本申请的一些实施例中,所述根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证包括:将所述水平角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第一原始姿态角和所述历史姿态角标定结果分别转换为第一原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第一原始姿态角的姿态四元数进行补偿,得到第一补偿后姿态角的姿态四元数;将第一补偿后姿态角的姿态四元数还原为第一补偿后姿态角,并根据所述第一补偿后姿态角对所述水平角标定结果进行验证。
由于现有标定算法直接采用欧拉角进行补偿会出现奇异角的问题,因此本申请实施例可以将整个标定流程中涉及到的姿态角信息均转换为姿态四元数的形式进行标定。例如,在水平角标定环节,可以将水平角标定结果d_roll和d_pitch转换为当前姿态角标定结果的姿态四元数dq,其中,d_yaw可以设置为0,同时将第一原始姿态角转换为第一原始姿态角的姿态四元数q,将历史姿态角标定结果转换为历史姿态角标定结果的姿态四元数q0。
由于历史姿态角标定结果也是对原始姿态角误差的补偿,因此本质上相当于可以利用历史姿态角标定结果的姿态四元数q0和当前姿态角标定结果的姿态四元数dq对第一原始姿态角的姿态四元数q进行两次补偿,从而得到补偿后姿态角的姿态四元数。基于姿态四元数的算法原理,上述补偿算法具体可以表示为如下形式:
q’=q*q0*dq
其中,q’为补偿后姿态角的姿态四元数。
进一步地,为了验证当前姿态角标定结果的姿态四元数dq的精度,需要将上述补偿后姿态角的姿态四元数q’再反转为角度形式,即得到补偿后的水平角roll’和pitch’,最后根据补偿后的水平角roll’和pitch’对水平角标定结果进行验证。
在本申请的一些实施例中,所述第一补偿后姿态角包括补偿后水平角,所述根据所述第一补偿后姿态角对所述水平角标定结果进行验证包括:对第二预设时间段内的补偿后水平角进行统计,确定补偿后水平角的统计值;若补偿后水平角的统计值小于第一预设误差阈值,则确定所述水平角标定结果通过验证;否则,则确定所述水平角标定结果未通过验证,并继续进行迭代标定,直至所述补偿后水平角的统计值小于第一预设误差阈值。
在验证水平角标定结果的精度时,可以对第二预设时间段内的多个补偿后水平角进行统计,计算补偿后水平角的统计值,具体可以包括均值和方差,将补偿后水平角的均值和方差分别与第一预设误差阈值进行比较,如果均值和方差均小于第一预设误差阈值,则水平角标定结果通过验证,否则,则未通过验证,需要重复上述标定步骤,直至补偿后水平角的均值和方差均小于第一预设误差阈值。
由于本申请实施例的自动驾驶车辆行驶在已标校水平的平台上,所以实际的三个姿态角应该均为0,如果前述实施例得到的水平角标定结果的精度足够高,那么利用水平角标定结果补偿后得到的水平角就应当等于或者接近于0,因此本申请实施例通过对多个补偿后水平角的均值和方差的计算,判断补偿后水平角的均值和方差是否等于或者接近于0,从而验证水平角标定结果的精度是否足够高。
需要说明的是,本领域技术人员可以根据实际需求灵活设置上述第二预设时间段和第一预设误差阈值的具体大小,在此不作具体限定。
在本申请的一些实施例中,所述在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定包括:在水平角标定结果验证通过的情况下,获取自动驾驶车辆的当前速度和当前RTK定位状态;在所述当前速度大于预设速度阈值且所述当前RTK定位状态为差分状态的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定。
在对航向角进行标定时,需要自动驾驶车辆满足一定的航向角标定条件,由于本申请实施例对于航向角的标定需要基于自动驾驶车辆的位置计算准确的航向角,因此,一方面需要保证航向角的可观测性,另一方面需要保证位置的精度。
基于此,本申请实施例设置的航向角标定条件主要包括对自动驾驶车辆的当前速度和当前RTK定位状态的约束,一方面,自动驾驶车辆的当前速度需要大于一定速度阈值,即产生明显的位移,才能保证航向角的可观测性,另一方面,自动驾驶车辆的当前RTK定位状态需要处于差分状态,才能保证输出位置的精度。当自动驾驶车辆当前满足航向角标定条件时,可进行后续航向角的标定。
需要说明的是,本申请实施例对于航向角的标定可以不受标定场景的限制,也即可以离线标定,也可以在线标定。
在本申请的一些实施例中,所述根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果包括:根据所述自动驾驶车辆的位置信息计算自动驾驶车辆的当前航向角;根据所述当前航向角和所述第二原始姿态角计算航向角的角误差;根据航向角的角误差确定航向角标定结果。
在对航向角进行标定时,可以先对RTK输出的绝对位置P1进行UTM转换,得到UTM坐标系下的位置信息p1x和p1y,p1x和p1y分别表示经度和纬度在UTM坐标系下的值,根据p1x和p1y和上一时刻的px_last和p1y_last计算自动驾驶车辆的当前航向角pos_yaw,具体可以通过如下方式实现:
1)计算相邻两个时刻的距离dp:
dp=|(sqrt((p1x-px_last)*(p1x-px_last)+(p1y-p1y_last)*(p1y-p1y_last)))|,
其中,sqrt表示开根号。
为了减小航向角标定误差,dp不是过大也不宜过小,因此这里可以先对dp的范围进行约束,例如,如果dp大于3m,小于20m,则满足要求,可以进入下一步,否则返回。当然,本领域技术人员可以根据实际需求灵活设置具体范围,在此不作具体限定。
2)根据RTK输出的绝对位置计算当前航向角pos_yaw:
pos_yaw=-atan2(px-px_last,py-py_last)*Rad_To_Deg+90;
pos_yaw=pos_yaw+360,
令msg_cnt_pos=0;msg_cnt_pos_cnt++;
其中,msg_cnt_pos为对pos_yaw的计数。
在得到当前航向角pos_yaw后,可以基于当前航向角pos_yaw衡量RTK原始输出的航向角yaw的角误差yaw_diff_pos,具体可以表示为如下形式:
yaw_diff_pos=pos_yaw-yaw
记录每一时刻的yaw_diff_pos,并通过msg_cnt_pos进行计数,当msg_cnt_pos计数达到预设要求后,使用限幅滤波和最小二乘拟合算法对多个yaw_diff_pos进行拟合,得到航向角标定结果yaw_diff_pos。
在本申请的一些实施例中,所述根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证包括:获取自动驾驶车辆的历史姿态角标定结果;根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证。
如前所述,实际标定场景下,可以会存在历史姿态角标定结果,包括历史的翻滚角、俯仰角和航向角的标定结果,分别表示为roll0,pitch0,yaw 0,历史姿态角标定结果具有一定的参考意义,因此本申请实施例可以在历史姿态角标定结果的基础上对航向角标定结果进行验证,从而可以减少航向角迭代标定次数,提高标定效率。当然,如果不存在历史姿态角标定结果,则可以初始化roll0=0,pitch0=0,yaw0=0。
在本申请的一些实施例中,所述根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证包括:将所述水平角标定结果和所述航向角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第二原始姿态角和所述历史姿态角标定结果分别转换为第二原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第二原始姿态角的姿态四元数进行补偿,得到第二补偿后姿态角的姿态四元数;将第二补偿后姿态角的姿态四元数还原为第二补偿后姿态角,并根据所述第二补偿后姿态角对所述航向角标定结果进行验证。
为了解决直接采用欧拉角进行补偿而带来的奇异角问题,本申请实施例在对航向角标定结果进行验证时,也需要先将涉及到的姿态角均转换成姿态四元数的形式,具体地,将前述实施例标定好的水平角标定结果d_roll和d_pitch以及航向角标定结果d_yaw=yaw_diff_pos转换为当前姿态角标定结果的姿态四元数dq1,同时将第二原始姿态角转换为第二原始姿态角的姿态四元数q,将历史姿态角标定结果转换为历史姿态角标定结果的姿态四元数q0。
由于历史姿态角标定结果和当前当前姿态角标定结果均是对原始姿态角误差的补偿,因此可以利用历史姿态角标定结果的姿态四元数q0和当前姿态角标定结果的姿态四元数dq1对第二原始姿态角的姿态四元数q1进行两次补偿,从而得到补偿后姿态角的姿态四元数。基于姿态四元数的算法原理,上述补偿算法具体可以表示为如下形式:
q1’=q*q0*dq1
其中,q1’为补偿后姿态角的姿态四元数。
需要说明的是,由于前述实施例已经完成对翻滚角和俯仰角这两个水平角的标定,因此本申请实施例相当于是在标定好的水平角的基础上,进一步对航向角的误差进行标定。
在得到补偿后姿态角的姿态四元数q1’,需要将补偿后姿态角的姿态四元数q1’反转成姿态角roll_1’、pitch_1’和yaw_1’,yaw_1’表征的是当前补偿后的航向角,如果航向角标定结果的精度足够高,那么补偿后的航向角的误差也应该足够小,因此可以基于当前补偿后的航向角的误差大小对航向角标定结果的精度进行验证,从而保证航向角标定结果的精度。
在本申请的一些实施例中,所述根据所述第二补偿后姿态角对所述航向角标定结果进行验证包括:根据所述第二补偿后姿态角和自动驾驶车辆的当前航向角计算航向角的角误差;若所述航向角的角误差小于第二预设误差阈值,则确定所述航向角标定结果通过验证;否则,则确定所述航向角标定结果未通过验证,并继续进行迭代标定,直至所述航向角的角误差小于第二预设误差阈值。
在基于补偿后的航向角对航向角标定结果的精度进行验证时,可以先计算补偿后航向角的角误差,具体可以表示为如下形式:
yaw_diff_pos=pos_yaw-yaw
其中,yaw_diff_pos为航向角的角误差,pos_yaw为基于RTK输出的绝对位置计算出的当前航向角,其可以作为衡量补偿后航向角的误差的基准,yaw为基于航向角标定结果补偿后的航向角。
如果航向角标定结果是足够准确的,那么基于航向角标定结果补偿后的航向角yaw与基于RTK输出的绝对位置计算出的当前航向角pos_yaw之间的误差yaw_diff_pos应该小于一定的误差阈值要求,如果当前的航向角误差小于误差阈值,则航向角标定结果通过验证,否则,未通过验证,重复上述航向角标定步骤,进行迭代标定,直至航向角误差小于误差阈值。
需要说明的是,考虑到随着迭代标定过程的进行,每次得到的标定结果逐渐达到收敛,也即会越来越接近要求的精度,因此在每次迭代标定过程中,可以逐渐减少前述实施例中统计的yaw_diff_pos的数量,例如第一次标定,需要累计300个yaw_diff_pos才可以计算航向角标定结果,第二次迭代标定是在第一次的基础上进行的,因此可以适当降低数量要求,例如累计到150个yaw_diff_pos就可以计算航向角标定结果,从而在保证标定精度的同时减少标定时间,提高标定效率。
此外,还需要说明的是,在水平角和航向角迭代标定的过程中,如果水平角标定结果或者航向角标定结果在迭代标定多次后仍然无法得到满足精度要求的标定结果,则可以通过告警等方式人工介入处理。
本申请实施例还提供了一种自动驾驶车辆的姿态角标定装置200,如图2所示,提供了本申请实施例中一种自动驾驶车辆的姿态角标定装置的结构示意图,所述装置200包括:第一标定单元210、第一验证单元220、第二标定单元230、第二验证单元240以及输出单元250,其中:
第一标定单元210,用于获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
第一验证单元220,用于根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
第二标定单元230,用于在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
第二验证单元240,用于根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
输出单元250,用于在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
在本申请的一些实施例中,所述加速度计信息为第一预设时间段内获取的,所述水平角包括翻滚角和俯仰角,所述第一标定单元210具体用于:根据第一预设时间段内获取的加速度计信息分别计算第一预设时间段内的翻滚角的角误差和俯仰角的角误差;根据第一预设时间段内的翻滚角的角误差和俯仰角的角误差分别计算翻滚角的角误差均值和俯仰角的角误差均值;将所述翻滚角的角误差均值和所述俯仰角的角误差均值分别作为翻滚角标定结果和俯仰角标定结果。
在本申请的一些实施例中,所述第一验证单元220具体用于:获取自动驾驶车辆的历史姿态角标定结果;根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证。
在本申请的一些实施例中,所述第一验证单元220具体用于:将所述水平角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第一原始姿态角和所述历史姿态角标定结果分别转换为第一原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第一原始姿态角的姿态四元数进行补偿,得到第一补偿后姿态角的姿态四元数;将第一补偿后姿态角的姿态四元数还原为第一补偿后姿态角,并根据所述第一补偿后姿态角对所述水平角标定结果进行验证。
在本申请的一些实施例中,所述第一补偿后姿态角包括补偿后水平角,所述第一验证单元220具体用于:对第二预设时间段内的补偿后水平角进行统计,确定补偿后水平角的统计值;若补偿后水平角的统计值小于第一预设误差阈值,则确定所述水平角标定结果通过验证;否则,则确定所述水平角标定结果未通过验证,并继续进行迭代标定,直至所述补偿后水平角的统计值小于第一预设误差阈值。
在本申请的一些实施例中,所述第二标定单元230具体用于:在水平角标定结果验证通过的情况下,获取自动驾驶车辆的当前速度和当前RTK定位状态;在所述当前速度大于预设速度阈值且所述当前RTK定位状态为差分状态的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定。
在本申请的一些实施例中,所述第二标定单元230具体用于:根据所述自动驾驶车辆的位置信息计算自动驾驶车辆的当前航向角;根据所述当前航向角和所述第二原始姿态角计算航向角的角误差;根据航向角的角误差确定航向角标定结果。
在本申请的一些实施例中,所述第二验证单元230具体用于:获取自动驾驶车辆的历史姿态角标定结果;根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证。
在本申请的一些实施例中,所述第二验证单元230具体用于:将所述水平角标定结果和所述航向角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第二原始姿态角和所述历史姿态角标定结果分别转换为第二原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第二原始姿态角的姿态四元数进行补偿,得到第二补偿后姿态角的姿态四元数;将第二补偿后姿态角的姿态四元数还原为第二补偿后姿态角,并根据所述第二补偿后姿态角对所述航向角标定结果进行验证。
在本申请的一些实施例中,所述第二验证单元230具体用于:根据所述第二补偿后姿态角和自动驾驶车辆的当前航向角计算航向角的角误差;若所述航向角的角误差小于第二预设误差阈值,则确定所述航向角标定结果通过验证;否则,则确定所述航向角标定结果未通过验证,并继续进行迭代标定,直至所述航向角的角误差小于第二预设误差阈值。
能够理解,上述自动驾驶车辆的姿态角标定装置,能够实现前述实施例中提供的自动驾驶车辆的姿态角标定方法的各个步骤,关于自动驾驶车辆的姿态角标定方法的相关阐释均适用于自动驾驶车辆的姿态角标定装置,此处不再赘述。
图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成自动驾驶车辆的姿态角标定装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
上述如本申请图1所示实施例揭示的自动驾驶车辆的姿态角标定装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中自动驾驶车辆的姿态角标定装置执行的方法,并实现自动驾驶车辆的姿态角标定装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中自动驾驶车辆的姿态角标定装置执行的方法,并具体用于执行:
获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种自动驾驶车辆的姿态角标定方法,其中,所述方法包括:
获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
2.如权利要求1所述方法,其中,所述加速度计信息为第一预设时间段内获取的,所述水平角包括翻滚角和俯仰角,所述根据所述加速度计信息对自动驾驶车辆的水平角进行标定包括:
根据第一预设时间段内获取的加速度计信息分别计算第一预设时间段内的翻滚角的角误差和俯仰角的角误差;
根据第一预设时间段内的翻滚角的角误差和俯仰角的角误差分别计算翻滚角的角误差均值和俯仰角的角误差均值;
将所述翻滚角的角误差均值和所述俯仰角的角误差均值分别作为翻滚角标定结果和俯仰角标定结果。
3.如权利要求1所述方法,其中,所述根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证包括:
获取自动驾驶车辆的历史姿态角标定结果;
根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证。
4.如权利要求3所述方法,其中,所述根据所述第一原始姿态角和所述历史姿态角标定结果,利用所述第一预设验证策略对所述水平角标定结果进行验证包括:
将所述水平角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第一原始姿态角和所述历史姿态角标定结果分别转换为第一原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;
利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第一原始姿态角的姿态四元数进行补偿,得到第一补偿后姿态角的姿态四元数;
将第一补偿后姿态角的姿态四元数还原为第一补偿后姿态角,并根据所述第一补偿后姿态角对所述水平角标定结果进行验证。
5.如权利要求4所述方法,其中,所述第一补偿后姿态角包括补偿后水平角,所述根据所述第一补偿后姿态角对所述水平角标定结果进行验证包括:
对第二预设时间段内的补偿后水平角进行统计,确定补偿后水平角的统计值;
若补偿后水平角的统计值小于第一预设误差阈值,则确定所述水平角标定结果通过验证;
否则,则确定所述水平角标定结果未通过验证,并继续进行迭代标定,直至所述补偿后水平角的统计值小于第一预设误差阈值。
6.如权利要求1所述方法,其中,所述在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定包括:
在水平角标定结果验证通过的情况下,获取自动驾驶车辆的当前速度和当前RTK定位状态;
在所述当前速度大于预设速度阈值且所述当前RTK定位状态为差分状态的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定。
7.如权利要求1所述方法,其中,所述根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果包括:
根据所述自动驾驶车辆的位置信息计算自动驾驶车辆的当前航向角;
根据所述当前航向角和所述第二原始姿态角计算航向角的角误差;
根据航向角的角误差确定航向角标定结果。
8.如权利要求1所述方法,其中,所述根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证包括:
获取自动驾驶车辆的历史姿态角标定结果;
根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证。
9.如权利要求8所述方法,其中,所述根据所述水平角标定结果和所述第二原始姿态角以及所述历史姿态角标定结果,利用第二预设验证策略对所述航向角标定结果进行验证包括:
将所述水平角标定结果和所述航向角标定结果转换为当前姿态角标定结果的姿态四元数,以及将所述第二原始姿态角和所述历史姿态角标定结果分别转换为第二原始姿态角的姿态四元数和历史姿态角标定结果的姿态四元数;
利用所述当前姿态角标定结果的姿态四元数和所述历史姿态角标定结果的姿态四元数对所述第二原始姿态角的姿态四元数进行补偿,得到第二补偿后姿态角的姿态四元数;
将第二补偿后姿态角的姿态四元数还原为第二补偿后姿态角,并根据所述第二补偿后姿态角对所述航向角标定结果进行验证。
10.如权利要求9所述方法,其中,所述根据所述第二补偿后姿态角对所述航向角标定结果进行验证包括:
根据所述第二补偿后姿态角和自动驾驶车辆的当前航向角计算航向角的角误差;
若所述航向角的角误差小于第二预设误差阈值,则确定所述航向角标定结果通过验证;
否则,则确定所述航向角标定结果未通过验证,并继续进行迭代标定,直至所述航向角的角误差小于第二预设误差阈值。
11.一种自动驾驶车辆的姿态角标定装置,其中,所述装置包括:
第一标定单元,用于获取自动驾驶车辆的加速度计信息和第一原始姿态角,并根据所述加速度计信息对自动驾驶车辆的水平角进行标定,得到水平角标定结果;
第一验证单元,用于根据所述第一原始姿态角,利用第一预设验证策略对所述水平角标定结果进行验证;
第二标定单元,用于在水平角标定结果验证通过的情况下,获取自动驾驶车辆的位置信息和第二原始姿态角,并根据所述自动驾驶车辆的位置信息和第二原始姿态角对自动驾驶车辆的航向角进行标定,得到航向角标定结果;
第二验证单元,用于根据所述水平角标定结果和所述第二原始姿态角,利用第二预设验证策略对所述航向角标定结果进行验证;
输出单元,用于在航向角标定结果验证通过的情况下,输出所述水平角标定结果和所述航向角标定结果。
12.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~10之任一所述方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~10之任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410162982.8A CN118032010A (zh) | 2024-02-05 | 2024-02-05 | 自动驾驶车辆的姿态角标定方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410162982.8A CN118032010A (zh) | 2024-02-05 | 2024-02-05 | 自动驾驶车辆的姿态角标定方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118032010A true CN118032010A (zh) | 2024-05-14 |
Family
ID=90988832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410162982.8A Pending CN118032010A (zh) | 2024-02-05 | 2024-02-05 | 自动驾驶车辆的姿态角标定方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118032010A (zh) |
-
2024
- 2024-02-05 CN CN202410162982.8A patent/CN118032010A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10267638B2 (en) | Method and system for adapting a navigation system | |
CN115390086B (zh) | 用于自动驾驶的融合定位方法、装置及电子设备、存储介质 | |
US20170122770A1 (en) | Method and system for providing dynamic error values of dynamic measured values in real time | |
CN112379668A (zh) | 车辆控制数据标定方法、装置、计算机设备和存储介质 | |
CN114973198A (zh) | 目标车辆的航向角预测方法、装置及电子设备、存储介质 | |
CN117007037A (zh) | 移动机器人的位姿估计方法、装置、移动机器人及介质 | |
WO2024046149A1 (zh) | 一种基于车辆运动参数的定位数据处理方法及系统 | |
US11209457B2 (en) | Abnormality detection device, abnormality detection method, and non-transitory tangible computer readable medium | |
CN115856979B (zh) | 自动驾驶车辆的定位方法、装置及电子设备、存储介质 | |
CN118032010A (zh) | 自动驾驶车辆的姿态角标定方法、装置及电子设备 | |
CN116148821A (zh) | 激光雷达的外参修正方法和装置、电子设备和存储介质 | |
CN113932835B (zh) | 自动驾驶车辆定位杆臂的标定方法、装置及电子设备 | |
CN116222586A (zh) | 自动驾驶车辆的融合定位方法、装置及电子设备 | |
CN116295490A (zh) | 车辆定位方法、装置及电子设备、存储介质 | |
CN115014395A (zh) | 用于自动驾驶的车辆航向角实时标定方法、装置 | |
CN112945266A (zh) | 激光导航机器人及其机器人的里程计校准方法 | |
CN116051812A (zh) | 目标检测方法、装置及电子设备、存储介质 | |
CN114397671B (zh) | 目标的航向角平滑方法、装置及计算机可读存储介质 | |
CN113932834B (zh) | 融合定位设备的检验方法、装置及电子设备、存储介质 | |
CN114739416A (zh) | 自动驾驶车辆定位方法、装置及电子设备、存储介质 | |
CN115014332A (zh) | 激光slam建图方法、装置及电子设备、计算机可读存储介质 | |
CN116929407A (zh) | 一种自适应数据校准方法及装置 | |
CN115031755A (zh) | 自动驾驶车辆定位方法、装置及电子设备、存储介质 | |
CN114677448A (zh) | 车载相机的外参校正方法、装置及电子设备、存储介质 | |
CN116518986B (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 |