Real-time calibration method and device for vehicle heading angle for autonomous driving
Through the online real-time calibration method, the relative error value of heading angle is calculated using the RTK positioning module and the IMU, the problem of insufficient calibration accuracy in the prior art is solved, and high-precision heading angle calibration under various driving conditions is achieved, and the safety and stability of autonomous driving is improved.
Patent Information
- Application Number
- CN202210727763.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-22
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2042-06-22
AI Technical Summary
In the prior art, the calibration method of vehicle heading angle can only be calculated offline, and requires the vehicle to travel in a straight line and the ground level, resulting in poor calibration accuracy and affecting the safety of autonomous driving.
The online real-time calibration method is adopted to obtain the heading angle and position information of the vehicle through the RTK positioning module and the inertia measurement unit (IMU), calculate the current driving distance, and real-time calibration of the heading angle is performed based on the relative error value, which is suitable for various driving conditions.
It realizes high-precision heading angle calibration under various driving conditions, improves the safety and stability of autonomous driving, and does not require specific routes and terrain requirements.
Smart Images

Figure CN115014395B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving technology, and in particular to a method and device for real-time calibration of vehicle heading angles for autonomous driving. Background Art
[0002] The vehicle heading angle refers to the angle between the vehicle's center of mass velocity and the horizontal axis (the X-axis of the ground coordinate system) in the ground coordinate system.
[0003] In autonomous driving, it is necessary to obtain the vehicle's accurate heading angle in real time. If the heading angle is inaccurate, it will affect perception, planning and control, thereby affecting the safety of autonomous driving.
[0004] The calibration methods in related technologies can usually only be calculated offline, and usually require the vehicle to be traveling in a straight line and the ground to be relatively level when obtaining vehicle data, which further leads to poor calibration accuracy. Summary of the Invention
[0005] The embodiments of the present application provide a method and device for real-time calibration of vehicle heading angle for autonomous driving, so as to realize online real-time calibration of heading angle and improve calibration accuracy.
[0006] The embodiments of the present application adopt the following technical solutions: In the first aspect, the embodiments of the present application provide a method for real-time calibration of a vehicle heading angle for autonomous driving, wherein the method includes: starting the vehicle for autonomous driving, and determining whether the vehicle meets a preset online calibration condition; if it is determined that the vehicle meets the preset online calibration condition, obtaining the first heading angle and first position information of the vehicle at the current moment; using the difference between the first position information and the second position information of the vehicle at the previous moment as the current driving distance of the vehicle; if it is determined that the current driving distance of the vehicle is within a preset driving distance length interval, obtaining the second heading angle of the vehicle at the previous moment determined by the RTK positioning module; and calibrating the vehicle heading angle online in real time based on the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
[0007] In a second aspect, an embodiment of the present application further provides a real-time calibration device for a vehicle heading angle for automatic driving, wherein the device comprises: a first judgment module, for judging whether the vehicle satisfies a preset online calibration condition when the vehicle starts automatic driving; a second judgment module, for obtaining the first heading angle and first position information of the vehicle at the current moment if it is judged that the vehicle satisfies the preset online calibration condition; a distance calculation module, for taking the difference between the first position information and the second position information of the vehicle at the previous moment as the current driving distance of the vehicle; an acquisition module, for obtaining the second heading angle of the vehicle at the previous moment determined by the RTK positioning module if it is judged that the current driving distance of the vehicle is within a preset driving distance length interval; a calibration module, for online real-time calibration of the vehicle heading angle based on the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
[0008] In a third aspect, an embodiment of the present application further provides an electronic device comprising: a processor; and a memory arranged to store computer-executable instructions, wherein the executable instructions, when executed, cause the processor to perform any of the aforementioned methods.
[0009] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, which stores one or more programs. When the one or more programs are executed by an electronic device including multiple applications, the electronic device executes any of the aforementioned methods.
[0010] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects:
[0011] After the vehicle starts automatic driving, it is necessary to determine whether the vehicle meets the preset online calibration conditions. If satisfied, the first heading angle and the first position information of the vehicle at the current moment will be obtained, and the difference between the first position information and the second position information of the vehicle at the previous moment will be used as the current distance traveled by the vehicle. According to the current distance traveled by the vehicle, the second heading angle of the vehicle at the previous moment determined by the RTK positioning module is obtained. Finally, the relative error value between the second heading angle and the first heading angle is used as the heading angle calibration result, and the vehicle heading angle is calibrated online in real time. Online real-time calibration is achieved through this application, and the calibration accuracy is high. In addition, the calibration process has no special requirements for the data obtained during the vehicle's driving process, and the calibration can be completed without a fixed straight line and absolutely flat ground, which is more robust. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0013] Figure 1 The flowchart of the method for real-time calibration of vehicle heading angle for autonomous driving according to an embodiment of the present application is a schematic diagram;
[0014] Figure 2 This is a schematic structural diagram of a real-time calibration device for vehicle heading angle used in autonomous driving according to an embodiment of the present application;
[0015] Figure 3 This is a structural diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0016] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0017] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.
[0018] The present application provides a method for real-time calibration of vehicle heading angle for autonomous driving. Figure 1 As shown, a flow chart of a method for real-time calibration of a vehicle heading angle for autonomous driving according to an embodiment of the present application is provided. The method includes at least the following steps S110 to S150:
[0019] In step S110, the vehicle starts automatic driving and determines whether the vehicle meets the preset online calibration conditions.
[0020] For vehicles with autonomous driving capabilities, real-time heading angle positioning information is required for perception and control planning. Generally speaking, vehicle heading angle calibration is to calculate the relative error between the IMU and the vehicle.
[0021] After the automatic driving is started, the vehicle heading angle configuration file will be read to obtain the historical heading angle calibration result yaw0, and the initial setting is yaw 0 = 0.
[0022] Since the entire process is an online real-time calibration, after the automatic driving is started, it is necessary to first determine whether the vehicle meets the preset online calibration conditions. If so, it is considered that the online real-time calibration can be started. If not, it returns to the previous step or terminates.
[0023] It should be noted that in order to perform online real-time calibration of the vehicle, the entire calibration calculation process needs to be performed on the vehicle side, which is different from the offline calibration method in related technologies.
[0024] At the same time, in order to make the vehicle suitable for calibration in various situations, there is no need to restrict the vehicle to a specified section of road (such as driving in a straight line), restrict the vehicle from turning, or require the ground to be relatively level. These will be filtered out during the vehicle's online real-time calibration process, that is, only data that meets the conditions will be selected.
[0025] Step S120 , when it is determined that the vehicle meets the preset online calibration conditions, obtain the first heading angle and first position information of the vehicle at the current moment.
[0026] If it is determined that the vehicle meets multiple or at least one of the preset online calibration conditions, the vehicle's heading angle and position information at the current moment are further obtained. To distinguish between the current moment and the following, the positioning information obtained at the current moment is referred to as the first heading angle and the first position information.
[0027] That is, the current positioning information sent by the RTK module and the inertial navigation IMU is obtained. The positioning information includes the heading angle yaw and the position information P1 sent. It can be understood that according to the refresh rate of the inertial navigation IMU, each refresh is considered a beat.
[0028] Furthermore, after performing UTM conversion on the location information P1, P1x and P1y are obtained. P1x and P1y represent the longitude and latitude values in the UTM coordinate system, respectively. Counting msg_cnt_pos is performed, which is initially 0.
[0029] Preferably, in one embodiment of the present application, when it is determined that the vehicle meets the preset online calibration conditions, the first heading angle and first position information of the vehicle at the current moment obtained by positioning the vehicle based on the IMU and RTK modules are obtained, wherein x and y respectively represent the values of longitude and latitude in the UTM coordinate system after the first position information is converted to UTM. When the counter is 0,
[0030] Step S130: taking the difference between the first position information and the second position information of the vehicle at the previous moment as the current travel distance of the vehicle.
[0031] The vehicle's current distance is calculated based on the position information corresponding to different moments. Note that the first position information is the current vehicle's position. The second position information is the vehicle's position at the previous moment. The difference between the two is used as the vehicle's current distance. The yaw angle is calculated based on the vehicle's current distance, improving calibration stability and accuracy. When the counter msg_cnt_pos is 0, the previous position is the current position.
[0032] Furthermore, the current driving distance can be calculated using the following formula:
[0033] dp=|(sqrt((p1x-px_last)*(p1x-px_last)+(p1y-p1y_last)*(p1y-p1y_last)))|
[0034] Here, sqrt represents square root.
[0035] It can be understood that if msg_cnt_pos=0, then P_last=P1; P_last represents the previous beat position.
[0036] Step S140: If it is determined that the current driving distance of the vehicle is within the preset driving distance length interval, a second heading angle of the vehicle at the previous moment determined by the RTK positioning module is obtained.
[0037] Based on the calculated current distance traveled by the vehicle, it is determined whether the current distance traveled by the vehicle is within a preset distance range, that is, whether the vehicle has traveled a minimum distance (e.g., 3 meters) and a maximum distance range (e.g., 300 meters). It can be understood that for the purpose of clipping, the accuracy of calculating the heading angle within the preset distance range is relatively high. For example, if the distance is too short, the noise is large, while if the distance is too long, the noise is high.
[0038] Step S150 , performing online real-time calibration on the vehicle heading angle based on a relative error value between the second heading angle and the first heading angle as a heading angle calibration result.
[0039] The relative error value between the second heading angle calculated by the RTK positioning module and the first heading angle in the current positioning information of the vehicle is used as the heading angle calibration result.
[0040] Furthermore, the following method can be used to limit the calibration range of the heading angle so that the yaw error is within the range of -180 to 180.
[0041] yaw_diff_pos=pos_yaw-yaw, i.e. yaw error per beat
[0042] if(yaw_diff_pos>180) yaw_diff_pos-=360;
[0043] if(yaw_diff_pos<-180) yaw_diff_pos+=360;
[0044] In one embodiment of the present application, the online real-time calibration of the vehicle heading angle based on the relative error value between the second heading angle and the first heading angle as the heading angle calibration result also includes: determining a preset update frequency based on the refresh frequency of the IMU; if the preset update frequency is greater than a first threshold value, sliding filtering the heading angle calibration result according to the second heading angle and the first heading angle obtained at the preset update frequency to obtain a mean of the heading angle calibration result.
[0045] In specific implementation, stability can be improved by sliding filtering. First, the preset update frequency is determined based on the refresh frequency of the IMU, that is, whether it is updated once per beat or once per multiple beats. If the determined preset update frequency is greater than the first threshold value (frequency / number of times), the heading angle calibration result is subjected to sliding filtering according to the second heading angle and the first heading angle obtained at the preset update frequency, and the data collection results updated at the preset frequency are averaged to obtain the average heading angle calibration result.
[0046] In some embodiments, such as:
[0047] if(msg_cnt_pos_cnt>3)
[0048] {
[0049] msg_cnt_pos_cnt=0;
[0050] Update P_last every three beats
[0051] ave_yaw_diff_pos=(ave_yaw_diff_pos*msg_cnt_pos_cnt+yaw_diff_pos) / (msg_cnt_pos_cnt+1).
[0052] In one embodiment of the present application, the method further includes: if the preset update frequency is equal to a first threshold value, and the difference between the mean of the heading angle calibration result and the historical heading angle calibration result is not greater than a second threshold value, then recalculating a new heading angle calibration result through Gaussian filtering.
[0053] In a specific implementation, when the relative error value between the second heading angle and the first heading angle is used as the heading angle calibration result, a new heading angle calibration result can be recalculated through Gaussian filtering. This can be performed based on the preset update frequency being equal to a first threshold value and the difference between the mean heading angle calibration result and the historical heading angle calibration result being no greater than a second threshold value (frequency / number of times). In other words, it is necessary to consider the mean heading angle calibration result and the historical heading angle calibration results before recalculating the heading angle.
[0054] In some embodiments, the above solution may be implemented as follows:
[0055] When msg_cnt_pos_cnt=3 and ||ave_yaw_diff_pos|-|yaw0||<=2.0, calculate the new heading angle calibration result.
[0056] sum_yaw_error_cnt++;
[0057] sum_yaw_error=sum_yaw_error+ave_yaw_diff_pos;
[0058] yaw_error_new=double(sum_yaw_error / sum_yaw_error_cnt).
[0059] In one embodiment of the present application, when the vehicle meets the preset online calibration conditions, obtaining the first heading angle and first position information of the vehicle at the current moment includes: determining whether the vehicle speed is greater than the preset speed, if not, the preset online calibration condition is not met; determining whether there is a fixed solution and a preset number of satellites in the RTK positioning module, if there is no fixed solution and no preset number of satellites, the preset online calibration condition is not met; determining whether the vehicle is traveling in a straight line, if not, the preset online calibration condition is not met; and obtaining the first heading angle and first position information of the vehicle at the current moment when it is determined that the vehicle meets the preset online calibration conditions through the vehicle speed, RTK positioning module, and straight driving.
[0060] During specific implementation, it is necessary to judge the vehicle speed, whether the RTK positioning module is normal and can provide high-precision positioning information, whether the vehicle is traveling in a straight line, etc. If the above conditions are met, it is considered that the vehicle meets the preset online calibration conditions, and the first heading angle and first position information of the vehicle at the current moment can be further obtained.
[0061] In some embodiments, it is necessary to determine whether the vehicle speed is greater than a preset speed. If not, the preset online calibration condition is not met. If greater, it is considered to be met. For example, it is determined whether the vehicle speed is greater than 1 m / s. If so, the process continues.
[0062] In some embodiments, it is necessary to determine whether the RTK positioning module has a fixed solution and a preset number of satellites. If neither a fixed solution nor the preset number of satellites is available, the preset online calibration conditions are not met. For example, the RTK status is determined to be a 42-differential fixed solution and the number of satellites is greater than 24. If so, proceed to the next step; otherwise, return.
[0063] In some embodiments, it is necessary to determine whether the vehicle is traveling in a straight line. If the vehicle is not traveling in a straight line, the preset online calibration condition is not satisfied. For example, to determine whether the vehicle is traveling in a straight line, the angular velocity can usually be used to determine whether the vehicle is traveling in a straight line.
[0064] When it is determined that the vehicle meets the preset online calibration conditions through the vehicle speed, RTK positioning module, and straight-line driving, the first heading angle and first position information of the vehicle at the current moment are obtained.
[0065] In one embodiment of the present application, if it is determined that the current driving distance of the vehicle is within a preset driving distance length interval, then obtaining the second heading angle of the vehicle at the previous moment determined by the RTK positioning module includes: determining whether the current driving distance of the vehicle is within a preset driving distance length interval that is greater than the first driving distance and less than the second driving distance; if so, obtaining the second heading angle of the vehicle at the previous moment determined by the position of the vehicle at the current moment and the previous moment obtained by the RTK positioning module.
[0066] In a specific implementation, a determination is made as to whether the vehicle's current travel distance is within a preset travel distance range that is greater than the first travel distance and less than the second travel distance. For example, if dp is greater than 3 meters and less than 30 meters, the process proceeds to the next step; otherwise, the process returns. If so, a second heading angle of the vehicle at the previous moment is obtained, determined by comparing the vehicle's current and previous positions obtained by the RTK positioning module.
[0067] Furthermore, the second heading angle obtained by the RTK positioning module can be calculated as follows:
[0068] Calculate the heading angle pos_yaw calculated by the RTK positioning module = -atan2(px-px_last,py-py_last)*Rad_To_Deg+90.
[0069] pos_yaw=pos_yaw+360, and set msg_cnt_pos=0; msg_cnt_pos_cnt++.
[0070] In one embodiment of the present application, the online real-time calibration of the vehicle heading angle based on the relative error value between the second heading angle and the first heading angle as the heading angle calibration result also includes: when it is determined that the statistical count of the calibration result exceeds a preset value or the vehicle driving distance is greater than a preset distance, the online real-time calibration of the vehicle heading angle is completed, and the new heading angle calibration result is written into the calibration configuration file, wherein the calibration configuration file includes a heading angle configuration file.
[0071] In specific implementation, when the calibration result statistics count exceeds a preset value or the vehicle travels a distance greater than a preset distance, the online real-time calibration of the vehicle heading angle is completed. Using the online real-time calibration method for the heading angle, for example, when the sum_yaw_error_cnt count exceeds 1000 or the vehicle's current travel distance is greater than 20km, the calibration is considered complete and the new yaw_error_new is written to the calibration configuration file.
[0072] The calibration configuration file includes a heading angle configuration file. The new heading angle configuration file is updated to the autopilot program, and the updated heading angle configuration file is used as the calibration result. The calibration configuration file can be read as a historical heading angle calibration result during the next online calibration.
[0073] The embodiment of the present application also provides a vehicle heading angle real-time calibration device 200 for automatic driving, such as Figure 2 As shown, a schematic diagram of the structure of a real-time calibration device for vehicle heading angle for autonomous driving according to an embodiment of the present application is provided. The device 200 includes at least: a first judgment module 210, a second judgment module 220, a distance calculation module 230, an acquisition module 250, and a calibration module 250, wherein:
[0074] In one embodiment of the present application, the first judgment module 210 is specifically used to: when the vehicle starts automatic driving, determine whether the vehicle meets the preset online calibration conditions.
[0075] For vehicles with autonomous driving capabilities, real-time heading angle positioning information is required for perception and control planning. Generally speaking, vehicle heading angle calibration is to calculate the relative error between the IMU and the vehicle.
[0076] After the automatic driving is started, the vehicle heading angle configuration file will be read to obtain the historical heading angle calibration result yaw0, and the initial setting is yaw 0 = 0.
[0077] Since the entire process is an online real-time calibration, after the automatic driving is started, it is necessary to first determine whether the vehicle meets the preset online calibration conditions. If so, it is considered that the online real-time calibration can be started. If not, it returns to the previous step or terminates.
[0078] It should be noted that in order to perform online real-time calibration of the vehicle, the entire calibration calculation process needs to be performed on the vehicle side, which is different from the offline calibration method in related technologies.
[0079] At the same time, in order to make the vehicle suitable for calibration in various situations, there is no need to restrict the vehicle to a specified section of road (such as driving in a straight line), restrict the vehicle from turning, or require the ground to be relatively level. These will be filtered out during the vehicle's online real-time calibration process, that is, only data that meets the conditions will be selected.
[0080] In one embodiment of the present application, the second determination module 220 is specifically configured to: upon determining that the vehicle meets a preset online calibration condition, obtain the first heading angle and first position information of the vehicle at the current moment.
[0081] If it is determined that the vehicle meets multiple or at least one of the preset online calibration conditions, the vehicle's heading angle and position information at the current moment are further obtained. To distinguish between the current moment and the following, the positioning information obtained at the current moment is referred to as the first heading angle and the first position information.
[0082] This means obtaining the current positioning information sent by the RTK module and the inertial navigation unit (IMU). This positioning information includes the heading angle yaw and position information P1. As you can understand, based on the IMU's refresh rate, each refresh is considered a beat.
[0083] Furthermore, UTM conversion is performed based on the position information P1, P1x and P1y respectively represent the values of precision and latitude in the UTM coordinate system, and msg_cnt_pos is counted, which is initially 0.
[0084] Preferably, in one embodiment of the present application, when it is determined that the vehicle meets the preset online calibration conditions, the first heading angle and first position information of the vehicle at the current moment are obtained based on the positioning of the vehicle based on the IMU and RTK modules, wherein the first position information is converted by UTM, and x and y respectively represent the values of longitude and latitude in the UTM coordinate system. When the counter is 0, the position at the previous moment is the current position.
[0085] In one embodiment of the present application, the distance calculation module 230 is specifically configured to use the difference between the first position information and the second position information of the vehicle at the previous moment as the current travel distance of the vehicle.
[0086] The vehicle's current distance is calculated based on the position information corresponding to different moments. Note that the first position information is the current vehicle's position. The second position information is the vehicle's position at the previous moment. The difference between the two is used as the vehicle's current distance, and the yaw angle is calculated based on the vehicle's current distance, improving calibration stability and accuracy.
[0087] Furthermore, the current driving distance can be calculated using the following formula:
[0088] dp=|(sqrt((p1x-px_last)*(p1x-px_last)+(p1y-p1y_last)*(p1y-p1y_last)))|
[0089] Here, sqrt represents square root.
[0090] It can be understood that if msg_cnt_pos=0, then P_last=P1; P_last represents the previous beat position.
[0091] In one embodiment of the present application, the acquisition module 240 is specifically used to: if it is determined that the current driving distance of the vehicle is within a preset driving distance length interval, then obtain the second heading angle of the vehicle at the previous moment determined by the RTK positioning module.
[0092] Based on the calculated current distance traveled by the vehicle, it is determined whether the current distance traveled by the vehicle is within a preset distance range, that is, whether the vehicle has traveled a minimum distance while being within a maximum distance range. It can be understood that for the purpose of clipping, the accuracy of calculating the heading angle within the preset distance range is higher. For example, if the distance is too short, the noise is too loud, while if the distance is too long, the noise is relatively high.
[0093] In one embodiment of the present application, the calibration module 250 is specifically configured to perform online real-time calibration of the vehicle heading angle based on a relative error value between the second heading angle and the first heading angle as a heading angle calibration result.
[0094] The relative error value between the second heading angle calculated by the RTK positioning module and the first heading angle in the current positioning information of the vehicle is used as the heading angle calibration result.
[0095] It can be understood that the above-mentioned vehicle heading angle real-time calibration device for autonomous driving can implement the various steps of the vehicle heading angle real-time calibration method for autonomous driving provided in the aforementioned embodiment. The relevant explanations on the vehicle heading angle real-time calibration method for autonomous driving are applicable to the vehicle heading angle real-time calibration device for autonomous driving and will not be repeated here.
[0096] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. Figure 3 At the hardware level, the electronic device includes a processor and, optionally, an internal bus, a network interface, and memory. The memory may include internal memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for its services.
[0097] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0098] The memory is used to store programs. Specifically, the program may include program code, which includes computer operating instructions. The memory may include internal memory and non-volatile memory, and provides instructions and data to the processor.
[0099] The processor reads the corresponding computer program from the non-volatile memory into the internal memory and then runs it, forming a real-time vehicle heading angle calibration device for autonomous driving at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:
[0100] The vehicle starts automatic driving and determines whether the vehicle meets the preset online calibration conditions;
[0101] When it is determined that the vehicle meets the preset online calibration conditions, obtaining the first heading angle and first position information of the vehicle at the current moment;
[0102] taking the difference between the first position information and the second position information of the vehicle at the previous moment as the current travel distance of the vehicle;
[0103] If it is determined that the current travel distance of the vehicle is within the preset travel distance length interval, obtaining a second heading angle of the vehicle at the previous moment determined by the RTK positioning module;
[0104] The vehicle heading angle is calibrated online in real time according to the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
[0105] The above application Figure 1 The method performed by the real-time vehicle heading angle calibration device for autonomous driving disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor or by software instructions. The above processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in conjunction with the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0106] The electronic device may also perform Figure 1 A method for executing a vehicle heading angle real-time calibration device for autonomous driving, and realizing a vehicle heading angle real-time calibration device for autonomous driving in Figure 1 The functions of the illustrated embodiment will not be described in detail in the embodiments of the present application.
[0107] The embodiment of the present application also provides a computer-readable storage medium, which stores one or more programs, wherein the one or more programs include instructions, which, when executed by an electronic device including multiple application programs, can enable the electronic device to execute Figure 1 The method performed by the real-time calibration device for vehicle heading angle for autonomous driving in the illustrated embodiment is specifically used to perform:
[0108] The vehicle starts automatic driving and determines whether the vehicle meets the preset online calibration conditions;
[0109] When it is determined that the vehicle meets the preset online calibration conditions, obtaining the first heading angle and first position information of the vehicle at the current moment;
[0110] taking the difference between the first position information and the second position information of the vehicle at the previous moment as the current travel distance of the vehicle;
[0111] If it is determined that the current travel distance of the vehicle is within the preset travel distance length interval, obtaining a second heading angle of the vehicle at the previous moment determined by the RTK positioning module;
[0112] The vehicle heading angle is calibrated online in real time according to the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
[0113] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0114] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0115] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0116] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0117] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0118] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0119] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0120] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0121] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0122] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A method for real-time calibration of vehicle heading angle for autonomous driving, wherein: The method comprises: The vehicle starts automatic driving and determines whether the vehicle meets the preset online calibration conditions; When it is determined that the vehicle meets the preset online calibration conditions, obtaining the first heading angle and first position information of the vehicle at the current moment; The step of obtaining the first heading angle and first position information of the vehicle at a current moment when the vehicle meets a preset online calibration condition includes: Determining whether the vehicle speed is greater than a preset speed, and if not, the preset online calibration condition is not met; Determine whether there is a fixed solution and a preset number of satellites in the RTK positioning module. If there is no fixed solution and no preset number of satellites, the preset online calibration condition is not met; Determine whether the vehicle is traveling in a straight line; if not, the preset online calibration condition is not met; When it is determined that the vehicle meets the preset online calibration conditions through the vehicle speed, RTK positioning module, and straight-line driving, obtaining the first heading angle and first position information of the vehicle at the current moment; taking the difference between the first position information and the second position information of the vehicle at the previous moment as the current travel distance of the vehicle; If it is determined that the current travel distance of the vehicle is within the preset travel distance length interval, obtaining a second heading angle of the vehicle at the previous moment determined by the RTK positioning module; If it is determined that the current travel distance of the vehicle is within a preset travel distance length interval, obtaining a second heading angle of the vehicle at a previous moment determined by the RTK positioning module includes: Determining whether the current driving distance of the vehicle is within a preset driving distance length interval that is greater than the first driving distance and less than the second driving distance; If yes, obtain the second heading angle of the vehicle at the previous moment determined by the position of the vehicle at the current moment and the previous moment obtained by the RTK positioning module; The vehicle heading angle is calibrated online in real time according to the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
2. The method according to claim 1, wherein: The online real-time calibration of the vehicle heading angle based on the relative error between the second heading angle and the first heading angle as the heading angle calibration result further includes: Determine the preset update frequency based on the IMU refresh rate; If the preset update frequency is greater than a first threshold value, sliding filtering is performed on the heading angle calibration result according to the second heading angle and the first heading angle obtained at the preset update frequency to obtain a mean of the heading angle calibration results.
3. The method according to claim 2, wherein: Also includes: If the preset update frequency is equal to the first threshold value, and the difference between the mean value of the heading angle calibration result and the historical heading angle calibration result is not greater than the second threshold value, a new heading angle calibration result is recalculated through Gaussian filtering.
4. The method according to claim 1, wherein: The online real-time calibration of the vehicle heading angle based on the relative error between the second heading angle and the first heading angle as the heading angle calibration result further includes: When it is determined that the calibration result statistical count exceeds a preset value or the vehicle travel distance is greater than a preset distance, the online real-time calibration of the vehicle heading angle is completed, and the new heading angle calibration result is written into the calibration configuration file, wherein the calibration configuration file includes the heading angle configuration file.
5. The method of claim 1, wherein: The obtaining of the first heading angle and first position information of the vehicle at the current moment when it is determined that the vehicle meets the preset online calibration conditions includes: When it is determined that the vehicle meets the preset online calibration conditions, the first heading angle and first position information of the vehicle at the current moment are obtained based on the positioning of the vehicle based on the IMU and RTK modules. After the first position information is converted to UTM, x and y represent the values of longitude and latitude in the UTM coordinate system respectively. When the counter is 0, the position at the previous moment is the current position.
6. A real-time calibration device for vehicle heading angle for autonomous driving, wherein: The device comprises: The first judgment module is used to judge whether the vehicle meets the preset online calibration conditions when the vehicle starts automatic driving; A second judgment module is used to obtain the first heading angle and first position information of the vehicle at a current moment when it is determined that the vehicle meets the preset online calibration conditions; The step of obtaining the first heading angle and first position information of the vehicle at a current moment when the vehicle meets a preset online calibration condition includes: Determining whether the vehicle speed is greater than a preset speed, and if not, the preset online calibration condition is not met; Determine whether there is a fixed solution and a preset number of satellites in the RTK positioning module. If there is no fixed solution and no preset number of satellites, the preset online calibration condition is not met; Determine whether the vehicle is traveling in a straight line; if not, the preset online calibration condition is not met; a distance calculation module, configured to use the difference between the first position information and the second position information of the vehicle at a previous moment as the current travel distance of the vehicle; an acquisition module, configured to acquire a second heading angle of the vehicle at a previous moment determined by the RTK positioning module if it is determined that the current driving distance of the vehicle is within a preset driving distance length interval; If it is determined that the current travel distance of the vehicle is within a preset travel distance length interval, obtaining a second heading angle of the vehicle at a previous moment determined by the RTK positioning module includes: Determining whether the current driving distance of the vehicle is within a preset driving distance length interval that is greater than the first driving distance and less than the second driving distance; If yes, obtain the second heading angle of the vehicle at the previous moment determined by the position of the vehicle at the current moment and the previous moment obtained by the RTK positioning module; The calibration module is used to calibrate the vehicle heading angle online in real time based on the relative error value between the second heading angle and the first heading angle as the heading angle calibration result.
7. An electronic device comprising: processor; as well as A memory arranged to store computer executable instructions, which when executed cause the processor to perform the method of any one of claims 1 to 5.
8. A computer-readable storage medium storing one or more programs, wherein when the one or more programs are executed by an electronic device including a plurality of application programs, the electronic device executes the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Course installation error determination method and device, electronic equipment and storage medium
CN111426332A
Ship track control method and device
CN111538339A
Inertial measurement unit installation error angle calibration method and related equipment
CN113375699A