An AGV positioning method, device and related components
By filtering the positioning data of the inertial navigation system and external positioning data sources and selecting effective positioning data based on their confidence, the problem of multiple data source selection in AGV positioning is solved, and the operation efficiency and positioning accuracy of AGV are improved.
Patent Information
- Application Number
- CN202110128939.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-29
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-01-29
AI Technical Summary
In the existing AGV positioning scheme, the credibility of a single navigation algorithm is insufficient, resulting in the difficulty of selecting reliable positioning data in multiple positioning data sources.
By obtaining the estimated positioning data of the inertial navigation system and its confidence and the absolute positioning data of the external positioning data source, the positioning data with a high current confidence is selected as the effective positioning data so that the AGV can accurately locate.
It improves the operating efficiency of AGV, ensures that AGV can be positioned more accurately, and enhances the reliability of the system.
Smart Images

Figure CN114812550B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of AGVs, and particularly to an AGV positioning method, device and related components. Background Art
[0002] In the current positioning solutions of AGVs (Automated Guided Vehicles), since any single navigation algorithm has its advantages and disadvantages, and a single data source cannot achieve 100% credibility, therefore, multiple positioning data sources have become the mainstream. However, there is currently no solution for selecting reliable positioning data from multiple positioning data sources.
[0003] Therefore, how to provide a solution to solve the above technical problems is an issue that those skilled in the art need to solve currently. Summary of the Invention
[0004] The purpose of this application is to provide an AGV positioning method, device, electronic device and computer-readable storage medium, which can screen out effective positioning data closer to the true pose and improve the operation efficiency of AGVs.
[0005] To solve the above technical problems, this application provides an AGV positioning method, including:
[0006] Obtain the estimated positioning data of the inertial navigation system and the current confidence level of the estimated positioning data;
[0007] Obtain the absolute positioning data of the external positioning data source and the current confidence level of the absolute positioning data;
[0008] Determine the estimated positioning data or the absolute positioning data with a larger current confidence level as the effective positioning data, so that the AGV can perform positioning through the effective positioning data.
[0009] Preferably, the process of obtaining the current confidence level of the estimated positioning data includes:
[0010] Calculate the current confidence level attenuation amount of the inertial navigation system;
[0011] Calculate the current confidence level of the estimated positioning data according to the current confidence level attenuation amount.
[0012] Preferably, the process of calculating the current confidence level attenuation amount of the inertial navigation system includes:
[0013] Calculate the current confidence level attenuation amount of the inertial navigation system according to the pre-set confidence level attenuation curve and the current driving distance, where the current driving distance is the driving distance of the AGV during the time period when the effective positioning data is not obtained.
[0014] Preferably, the current confidence level of the estimated positioning data includes the current estimated position confidence level and the current estimated angle confidence level;
[0015] The process of calculating the current confidence level of the estimated positioning data according to the current confidence level attenuation amount includes:
[0016] Taking the sum of the current initial position value confidence level and the current confidence level attenuation amount as the current estimated position confidence level;
[0017] Calculating the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when gyro zero bias calibration is not performed, and the cumulative driving time when the effective positioning data is not obtained.
[0018] Preferably, the process of calculating the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when gyro zero bias calibration is not performed, and the cumulative driving time when the effective positioning data is not obtained includes:
[0019] Calculating the current estimated angle confidence level according to the first relational expression, where the first relational expression is Pe_angel = P0_angel - T2 / 3(1+(T1 / 60));
[0020] Wherein, Pe_angel is the current estimated angle confidence level, P0_angel is the current initial angle confidence level, T1 is the cumulative time when gyro zero bias calibration is not performed, and T2 is the cumulative driving time when the effective positioning data is not obtained.
[0021] Preferably, this AGV positioning method further includes:
[0022] Judging whether the current confidence level of the estimated positioning data is less than or equal to the error reporting threshold;
[0023] If so, performing a pose abnormal error reporting operation.
[0024] Preferably, the process of obtaining the current confidence level of the absolute positioning data includes:
[0025] Determining the target positioning data source among all the external positioning data sources;
[0026] Obtaining the current confidence level of the absolute positioning data by using the estimated positioning data, the absolute positioning data of the target positioning data source, the current confidence level of the estimated positioning data, and the confidence level of the target positioning data source.
[0027] Preferably, the process of determining the target positioning data source among all the external positioning data sources includes:
[0028] Determining the external positioning data source with the highest confidence level among all the external positioning data sources as the target positioning data source.
[0029] Preferably, after determining the target positioning data source among all the external positioning data sources, the AGV positioning method further includes:
[0030] Calculating the absolute corrected positioning data corresponding to the current moment after delay compensation or time backtracking according to the absolute positioning data of the target positioning data source;
[0031] Correspondingly, the process of determining the estimation positioning data or the absolute positioning data with a relatively high current confidence as the effective positioning data is specifically as follows:
[0032] Determining the estimation positioning data or the absolute corrected positioning data with a relatively high current confidence as the effective positioning data.
[0033] Preferably, after obtaining the current confidence of the absolute positioning data by using the estimation positioning data, the absolute positioning data of the target positioning data source, the current confidence of the estimation positioning data, and the confidence of the target positioning data source, the AGV positioning method further includes:
[0034] Judging whether the current confidence of the absolute positioning data is greater than the deceleration confidence threshold;
[0035] If so, reset the current confidence to the deceleration confidence threshold.
[0036] Preferably, the current confidence of the absolute positioning data includes the current absolute position confidence and the current absolute angle confidence, and the current confidence of the estimation positioning data includes the current estimated position confidence and the current estimated angle confidence;
[0037] The process of determining the estimation positioning data or the absolute positioning data with a relatively high current confidence as the effective positioning data includes:
[0038] Judging whether the current absolute position confidence is greater than or equal to the current estimated position confidence;
[0039] If so, determining the position data in the absolute corrected positioning data as the effective position data, and determining the current absolute position confidence as the current initial position confidence;
[0040] If not, determining the estimated position data in the estimation positioning data as the effective position data;
[0041] Judging whether the current absolute angle confidence is greater than or equal to the current estimated angle confidence;
[0042] If so, determining the angle data in the absolute corrected positioning data as the effective angle data, and determining the current absolute angle confidence as the current initial angle confidence;
[0043] Otherwise, determine the estimated angle data in the estimated positioning data as the valid angle data.
[0044] To solve the above technical problems, the present application also provides an AGV positioning device, including:
[0045] A first acquisition module, configured to acquire the estimated positioning data of an inertial navigation system and the current confidence level of the estimated positioning data;
[0046] A second acquisition module, configured to acquire the absolute positioning data of an external positioning data source and the current confidence level of the absolute positioning data;
[0047] A positioning output module, configured to determine the estimated positioning data or the absolute positioning data with a larger current confidence level as the valid positioning data, so that the AGV can perform positioning through the valid positioning data.
[0048] To solve the above technical problems, the present application also provides an electronic device, including:
[0049] A memory, configured to store a computer program;
[0050] A processor, configured to implement the steps of the AGV positioning method as described in any one of the above when executing the computer program.
[0051] To solve the above technical problems, the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the AGV positioning method as described in any one of the above are implemented.
[0052] The present application provides an AGV positioning method, which sets confidence levels for the positioning data output by an inertial navigation system and an external positioning data source, and screens out the valid positioning data that is closer to the true pose according to the confidence levels corresponding to different positioning data, so that the AGV can perform accurate positioning according to the valid positioning data during operation, improving the operation efficiency. The present application also provides an AGV positioning device, an electronic device, and a computer-readable storage medium, which have the same beneficial effects as the above AGV positioning method. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0054] Figure 1The flowchart of the steps of an AGV positioning method provided by this application;
[0055] Figure 2 The flowchart of the steps of a method for obtaining the current confidence level of estimated positioning data provided by this application;
[0056] Figure 3 The flowchart of the steps of a method for obtaining the current confidence level of absolute positioning data provided by this application;
[0057] Figure 4 The flowchart of the steps of a calibration method provided by this application;
[0058] Figure 5 The schematic structural diagram of an AGV positioning device provided by this application;
[0059] Figure 6 The schematic structural diagram of an electronic device provided by this application. Specific embodiments
[0060] The core of this application is to provide an AGV positioning method, device, electronic device and computer-readable storage medium, which can screen out effective positioning data closer to the true pose and improve the operation efficiency of the AGV.
[0061] To make the objectives, technical solutions and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of this application without creative efforts shall fall within the scope of protection of this application.
[0062] Please refer to Figure 1 , Figure 1 The flowchart of the steps of an AGV positioning method provided by this application. The AGV positioning method includes:
[0063] S1: Obtain the estimated positioning data of the inertial navigation system and the current confidence level of the estimated positioning data;
[0064] Specifically, the inertial navigation system of the AGV (referred to as the inertial navigation system in this application) is an autonomous navigation system that does not rely on external information and is not easily interfered with. A gyroscope is installed on the AGV, and positioning blocks are installed on the ground in the driving area. The AGV can determine its own position and heading by calculating the deviation signal (angular rate) of the gyroscope and collecting the signals of the ground positioning blocks, thereby achieving guidance. After the initial conditions are given, the inertial navigation system can output estimated positioning data without external reference. After obtaining the estimated positioning data, calculate the current confidence of the estimated positioning data. Here, the estimated positioning data includes estimated position data (X0, Y0) and estimated angle data Theta0, and the current confidence includes the current estimated position confidence Pe_position and the current estimated angle confidence Pe_angel.
[0065] It can be understood that as the AGV moves, the confidence of the estimated positioning data of the inertial navigation system decays. Therefore, to improve the reliability and accuracy of the confidence of the estimated positioning data output by the inertial navigation system, the process of obtaining the current confidence of the estimated positioning data in this application includes: calculating the current confidence decay amount of the inertial navigation system; calculating the current confidence of the estimated positioning data according to the current confidence decay amount. To calculate the current confidence decay amount and the current confidence, it is also necessary to obtain some other operating parameters of the AGV, including but not limited to the cumulative time T1 of unexecuted gyroscope zero bias calibration, the cumulative driving time T2 of not obtaining valid positioning data, and the cumulative driving distance L_m of not obtaining valid positioning data.
[0066] Specifically, when the initialization is completed, it is judged whether the gyroscope zero bias calibration is completed. When the positioning module is not initialized, let Pe_position = 0, Pe_angel = 0, L_m = 0, T1 = 0, T2 = 0. In the uninitialized state, when multiple frames are confirmed to pass, it is considered that the positioning module initialization is completed. It can be understood that the AGV positioning method in this embodiment can be implemented through the positioning module. Here, the initialization completion judgment refers to judging whether the positioning module is initialized, and the initialization judgment result can be used as a judgment basis for the subsequent data reliability. When the gyroscope zero bias calibration is completed, clear the cumulative time T1 of unexecuted gyroscope zero bias calibration, that is, let T1 = 0. After the gyroscope zero bias calibration is completed, accumulate the cumulative time T1 of unexecuted gyroscope zero bias calibration. Then judge whether the AGV is in a non-stationary state. If so, accumulate the time of not obtaining valid positioning data to obtain the cumulative driving time T2, and accumulate the driving distance of not obtaining valid positioning data to obtain the cumulative driving distance L_m. If not, accumulate the driving distance of not obtaining valid positioning data to obtain the cumulative driving distance L_m.
[0067] After obtaining the above AGV operation parameters, as a preferred embodiment, the process of calculating the current confidence attenuation of the inertial navigation system includes: calculating the current confidence attenuation of the inertial navigation system according to the preset confidence attenuation curve and the current driving distance, where the current driving distance is the driving distance of the AGV during the period when no valid positioning data is obtained. Here, the preset confidence attenuation curve is a relationship curve between the confidence attenuation and the driving distance calculated offline according to the characteristics of the inertial navigation system and the empirical formula.
[0068] As a preferred embodiment, the process of calculating the current confidence of the estimated positioning data according to the current confidence attenuation includes:
[0069] Taking the sum of the current initial position value confidence and the current confidence attenuation as the current estimated position confidence;
[0070] Calculating the current estimated angle confidence according to the current initial angle confidence, the cumulative time of not performing gyro zero bias calibration, and the cumulative driving time of not obtaining valid positioning data.
[0071] As a preferred embodiment, the process of calculating the current estimated angle confidence according to the current initial angle confidence, the cumulative time of not performing gyro zero bias calibration, and the cumulative driving time of not obtaining valid positioning data includes:
[0072] Calculating the current estimated angle confidence according to the first relational expression, where the first relational expression is Pe_angel = P0_angel - T2 / 3(1 + (T1 / 60));
[0073] Where, Pe_angel is the current estimated angle confidence, P0_angel is the current initial angle confidence, T1 is the cumulative time of not performing gyro zero bias calibration, and T2 is the cumulative driving time of not obtaining valid positioning data;
[0074] Calculating the estimated position confidence according to the second relational expression, where the second relational expression is Pe_position = P0_position + positionConfidence_reduction, where Pe_position is the current estimated position confidence, P0_position is the current initial position confidence, and positionConfidence_reduction is the current confidence attenuation.
[0075] As a preferred embodiment, the AGV positioning method further includes:
[0076] Judging whether the current confidence of the estimated positioning data is less than or equal to the error reporting threshold;
[0077] If so, perform the pose abnormality error reporting operation.
[0078] Specifically, the current estimated position confidence and the current estimated angle confidence correspond to the same error reporting threshold. If any one of the current estimated position confidence or the current estimated angle confidence is less than this error reporting threshold, an error is reported. The pose abnormality error reporting operation includes controlling the AGV to slow down and stop to improve the running safety of the AGV. After an error is reported, the current data is considered unreliable, and the current confidence of the estimated positioning data is no longer updated, waiting for repositioning.
[0079] Refer to Figure 2 as shown in Figure 2 is a step flowchart of a method for obtaining the current confidence of estimated positioning data provided by the present application. The method for obtaining the current confidence of the estimated positioning data includes:
[0080] S101: Determine whether the positioning module has completed initialization. If not, execute S102; if so, execute S103.
[0081] S102: Let Pe_position = 0, Pe_angel = 0, L_m = 0, T1 = 0, T2 = 0, and execute S112.
[0082] S103: Determine whether gyro zero bias calibration is performed. If not, execute S104; if so, execute S105.
[0083] S104: Accumulate the time after gyro zero bias calibration is not performed, and then execute S106.
[0084] S105: Clear the time after gyro zero bias calibration is not performed, and then execute S106.
[0085] S106: Determine whether the AGV is in a non - stationary state. If so, execute S107; if not, execute S108.
[0086] S107: Accumulate the time when no valid positioning data is obtained.
[0087] S108: Accumulate the driving distance when no valid positioning data is obtained.
[0088] S109: Decrease the position confidence and the angle confidence (the minimum value is 0) respectively through the first relationship and the second relationship:
[0089] The first relationship is Pe_angel = P0_angel - T2 / 3(1+(T1 / 60));
[0090] The second relationship is Pe_position = P0_position + positionConfidence_reduction;
[0091] S110: Determine whether Pe_position or Pe_angel is less than the error reporting threshold (20%). If so, execute S111; if not, execute S112;
[0092] S111: Report a pose abnormality error, and then execute S112;
[0093] S112: Update the current estimated position confidence Pe_position and the current estimated angle confidence Pe_angel.
[0094] S2: Obtain the absolute positioning data of the external positioning data source and the current confidence of the absolute positioning data;
[0095] It can be understood that the number of external positioning data sources can be one or more, and each external positioning data source has its corresponding confidence. Assuming there are three external positioning data sources, denoted as S A 、S B 、S C , and their respective confidences are P A 、P B 、P C . The positioning data output by the external positioning data source is the absolute positioning data, and the absolute positioning data includes absolute position data and absolute angle data. Specifically, the absolute positioning data output by the external positioning data source can be obtained through serial communication.
[0096] Specifically, first, the absolute positioning data with higher confidence can be screened according to the confidence of each external positioning data source to ensure the reliability of the absolute positioning data. As a preferred embodiment, the process of obtaining the current confidence of the absolute positioning data includes: determining the target positioning data source among all external positioning data sources; obtaining the current confidence of the absolute positioning data using the estimated positioning data, the absolute positioning data of the target positioning data source, the current confidence of the estimated positioning data, and the confidence of the target positioning data source. Among them, the external positioning data source with the highest confidence among all external positioning data sources can be determined as the target positioning data source.
[0097] Specifically, when screening the absolute positioning data, in addition to considering the confidence of the external positioning data source, it is also necessary to consider whether the absolute positioning data is within the effective map range. The effective map range is the yard map where the AGV works, that is, whether the absolute positioning data is within reasonable coordinates, so as to ensure that the positioning data does not exceed the map boundary and improve the pose safety of the positioning data output by the positioning module. Assuming that the absolute positioning data output by the external positioning data source S A is not within the effective map range, then let P A = 0 to indicate that the absolute positioning data output by the external positioning data source S A is not credible.
[0098] When screening for target positioning data sources with relatively high confidence, it can be achieved by setting a confidence watchdog. Specifically, the highest confidence received recently is used as the watchdog confidence $P_{wd}$. When dealing with multiple external positioning data sources, preference is given to selecting more reliable data sources. For example, the highest confidence received recently is for the external positioning data source S B The absolute positioning data with a confidence of 100. This data is used as the watchdog confidence. After driving for a period of time subsequently (at this time, the overall confidence of the positioning module decays to 80), the external positioning data source S B is continuously received with absolute positioning data with a confidence of 100 and the external positioning data source S C When receiving absolute positioning data with a confidence of 90, filter the absolute positioning data of the external positioning data source S C .
[0099] Assume that the absolute positioning data output by the external positioning data source S B is within the valid map range. Determine whether $P$ B is greater than 0. If not, set the current confidence $P_1$ of the absolute positioning data to 0 to indicate that the absolute positioning data is not credible. If so, determine whether $P$ B is greater than $P_{wd}$. If so, reset the value of $P_{wd}$ to the value of $P$ B . If not, determine whether $Dis_{wd}$ is less than or equal to 0. If so, reset the value of $P_{wd}$ to the value of $P$ B . If not, set the current confidence $P_1$ of the absolute positioning data to 0 to indicate that the absolute positioning data is not credible. Here, $Dis_{wd}$ is the driving distance after receiving the absolute positioning data with the highest confidence recently, which is set to decrease according to the current speed of the AGV.
[0100] As a preferred embodiment, after determining the target positioning data source among all external positioning data sources, this AGV positioning method further includes:
[0101] Calculating the absolute corrected positioning data at the current moment after delay compensation or time backtracking based on the absolute positioning data of the target positioning data source.
[0102] Specifically, when the attitude angle of the AGV changes too much (such as in the case of curved movement), or when the output frequency of the external data source is too low, the time backtracking method is used. In the case of uniform linear motion, the delay compensation method is used. Specifically, multiplying the speed of the AGV by the data delay gives the compensation amount, and adding this compensation amount to the absolute positioning data gives the absolute corrected positioning data at the current moment.
[0103] Further, it is determined whether the positioning module is in the Idle state or the relocating state. If so, the current absolute position confidence P1_position = P and the current absolute angle confidence P1_angel = P, where P is the confidence of the target positioning data source. If not, the current confidence of the absolute positioning data is obtained by using the estimated positioning data, the absolute positioning data of the target positioning data source, the current confidence of the estimated positioning data, and the confidence of the target positioning data source. The current confidence P1 here includes the current absolute position confidence P1_position and the current absolute angle confidence P1_angel.
[0104] Specifically, the current confidence of the absolute positioning data is obtained according to the difference between the estimated positioning data and the absolute positioning data, and the comparison result between the current confidence of the estimated positioning data and the confidence of the target positioning data source.
[0105] As a preferred embodiment, after obtaining the current confidence of the absolute positioning data by using the estimated positioning data, the absolute positioning data of the target positioning data source, the current confidence of the estimated positioning data, and the confidence of the target positioning data source, the AGV positioning method further includes:
[0106] Determine whether the current confidence of the absolute positioning data is greater than the deceleration confidence threshold;
[0107] If so, reset the current confidence to the deceleration confidence threshold.
[0108] Based on the above embodiments, please refer to Figure 3 , Figure 3 which is the flowchart of the steps of a method for obtaining the current confidence of absolute positioning data provided by this application. The method for obtaining the current confidence of absolute positioning data includes:
[0109] S201: Obtain the current estimated position confidence Pe_position and the current estimated angle confidence Pe_angel;
[0110] S202: Determine whether the positioning module has completed initialization. If not, execute S203. If so, execute S204;
[0111] S203: Clear Dis_wd and P_wd, and then execute S205;
[0112] S204: Obtain Dis_wd and P_wd, and then execute S205;
[0113] S205: Determine whether the absolute positioning data is within the valid map range. If not, execute S206. If so, execute S207;
[0114] S206: Let P = 0;
[0115] S207: Determine whether P is greater than 0. If so, execute S208; if not, execute S211;
[0116] S208: Determine whether P is greater than or equal to P_wd. If so, execute S210; if not, execute S209;
[0117] S209: Determine whether Dis_wd is less than or equal to 0. If so, execute S210; if not, execute S211;
[0118] S210: Reset Dis_wd and P_wd, and then execute S212;
[0119] S211: Let P1 = 0, and then execute S234;
[0120] S212: Calculate the absolute calibration positioning data corresponding to the current moment after delay compensation or time backtracking;
[0121] S213: Determine whether the positioning module is in the Idle state or the repositioning state. If so, execute S214; if not, execute S215;
[0122] S214: Let P1_position = P, P1_angel = P, and then execute S234;
[0123] S215: Calculate the error value between the estimated positioning data and the absolute positioning data. Here, the error value includes the position error and the angle error;
[0124] S216: Determine whether the position error is less than or equal to the threshold A, and whether the angle error is less than or equal to the threshold B. If so, it means that the error of the absolute positioning data is within the tolerance threshold, and execute S217; if not, execute S223;
[0125] Among them, both the threshold A and the threshold B are determined according to the characteristics of each navigation system.
[0126] S217: Determine whether P is greater than or equal to Pe_position. If so, execute S218; if not, execute S219;
[0127] S218: Let P1_position = P, and then execute S220;
[0128] S219: Let P1_position = 0, and then execute S220;
[0129] S220: Determine whether P is greater than or equal to Pe_angel. If so, execute S221; if not, execute S222;
[0130] S221: Set P1_angel = P, then execute S234;
[0131] S222: Set P1_angel = 0, then execute S234;
[0132] S223: Determine whether the position error is less than or equal to threshold A. If yes, execute S224; if no, execute S228;
[0133] S224: Set P1_angel = 0, that is, do not adopt the absolute angle data, then execute S225;
[0134] S225: Determine whether P is greater than or equal to Pe_position. If yes, execute S226; if no, execute S227;
[0135] S226: Set P1_position = P, then execute S234;
[0136] S227: Set P1_position = 0, then execute S234;
[0137] S228: Set P1_position = 0, that is, do not adopt the absolute position data, then execute S229;
[0138] S229: Determine whether the angle error is less than or equal to threshold B. If no, execute S230; if yes, execute S231;
[0139] It can be understood that in this application, the sequence of S223 and S229 is not specifically limited, and the two can also be performed simultaneously.
[0140] S230: Set P1_position = 0, that is, do not adopt the absolute position data, then execute S234;
[0141] S231: Determine whether P is greater than or equal to Pe_angel. If yes, execute S232; if no, execute S233;
[0142] S232: Set P1_angel = P, then execute S234;
[0143] S233: Set P1_angel = 0, then execute S234;
[0144] S234: Determine whether the positioning module has completed initialization. If yes, execute S235; if no, execute S238;
[0145] S235: Clear the multi-frame confirmation calculation value, then execute S236;
[0146] Among them, the multi-frame confirmation calculated value is the number of frames in the multi-frame confirmation, and it increments by 1 when each frame of data is confirmed.
[0147] S236: Determine whether the pose reliability identifier is 1. If not, execute S237; if so, execute S244.
[0148] S237: If P1 is greater than the deceleration confidence threshold, reset it to the deceleration confidence threshold, and then execute S244.
[0149] S238: If P1 is greater than the deceleration confidence threshold, reset it to the deceleration confidence threshold, and then execute S239.
[0150] Specifically, the deceleration confidence threshold is used for the AGV to decelerate to ensure safety when the confidence level is lower than a certain value. When the external positioning data has a high confidence level but the position is unreliable, the confidence level of the external positioning data is reset to the deceleration confidence threshold, aiming to reduce the confidence level so that the AGV decelerates and resumes when the data is determined to be reliable.
[0151] S239: Determine whether P1_angel is greater than Pe_angel and whether P1_position is greater than Pe_position. If not, execute S240; if so, execute S241.
[0152] S240: Clear the multi-frame confirmation calculated value, and then execute S244.
[0153] S241: Calculate the deviation between the absolute positioning data of the previous and current frames, that is, the current AGV pose error (including position error and angle error), and then execute S242.
[0154] S242: Determine whether the position error is less than or equal to threshold A and whether the angle error is less than or equal to threshold B. If so, execute S243; if not, execute S240.
[0155] S243: Accumulate the multi-frame confirmation calculation, and then execute S244.
[0156] S244: Update the current absolute position confidence P1_position, the current absolute angle confidence P1_angel, and the absolute corrected positioning data X1, Y1, Theta1.
[0157] Further, when the multi-frame confirmation count is greater than 3, set the initialization completion status word of the positioning module and record the position at that moment; if the reliability of the positioning data has not been confirmed, obtain the cumulative driving distance after obtaining the correct absolute calibration positioning data, and set the reliable status word of the positioning data if it exceeds the preset distance. It can be understood that after the external data is multi-frame confirmed, the initialization is completed, but it cannot ensure that the external positioning data is completely reliable. Therefore, when the initialization is completed, the absolute positioning data is considered reliable only after receiving the external positioning data after walking a certain distance.
[0158] S3: Determine the current estimated positioning data or absolute positioning data with a higher confidence as the effective positioning data, so that the AGV can perform positioning based on the effective positioning data.
[0159] Specifically, compare the current confidence levels corresponding to the estimated positioning data and the absolute positioning data respectively, and select the estimated positioning data or absolute positioning data with a higher current confidence as the effective positioning data.
[0160] Among them, the current confidence level of the absolute positioning data includes the current absolute position confidence level and the current absolute angle confidence level, and the current confidence level of the estimated positioning data includes the current estimated position confidence level and the current estimated angle confidence level;
[0161] The process of determining the current estimated positioning data or absolute positioning data with a higher confidence as the effective positioning data includes:
[0162] Judge whether the current absolute position confidence level is greater than or equal to the current estimated position confidence level;
[0163] If so, determine the position data in the absolute calibration positioning data as the effective position data, and determine the current absolute position confidence level as the current initial position confidence level;
[0164] If not, determine the estimated position data in the estimated positioning data as the effective position data;
[0165] Judge whether the current absolute angle confidence level is greater than or equal to the current estimated angle confidence level;
[0166] If so, determine the angle data in the absolute calibration positioning data as the effective angle data, and determine the current absolute angle confidence level as the current initial angle confidence level;
[0167] If not, determine the estimated angle data in the estimated positioning data as the effective angle data.
[0168] Specifically, refer to Figure 4 as shown Figure 4 is a flowchart of the steps of a calibration method provided by the present application. The calibration method includes:
[0169] S301: Obtain the current absolute position confidence P1_position, the current absolute angle confidence P1_angel, and the absolute calibration positioning data X1, Y1, Theta1;
[0170] S302: Determine whether P1_position is greater than or equal to Pe_position. If so, execute S303; if not, execute S304;
[0171] S303: Let X = X1, Y = Y1, P0_position = P1_position, set the positioning status word: the position is absolutely calibrated, and then execute S305;
[0172] S304: Let X = X0, Y = Y0, clear the positioning status word: the position is absolutely calibrated, and then execute S305;
[0173] S305: Determine whether P1_angel is greater than or equal to Pe_angel. If so, execute S306; if not, execute S307;
[0174] S306: Let Theta = Theta1, P0_angel = P1_angel, set the positioning status word: the angle is absolutely calibrated, and then execute S308;
[0175] S307: Let Theta = Theta0, clear the positioning status word: the angle is absolutely calibrated, and then execute S308;
[0176] S308: Output the corrected effective absolute positioning data X, Y, Theta and P0.
[0177] In summary, in order to obtain more realistic effective positioning data, the present application adds the definition of pose confidence to the positioning data output by each positioning data source. By evaluating the pose confidence of multiple data sources, the positioning data closer to the true pose is screened in real time. And using the status mechanism (initialization, pose reliability, etc.) managed by the positioning module to ensure the reliability of external positioning data. On the premise that the external positioning data is valid, according to the pose data estimated by the inertial navigation system and the error value between the estimated confidence and the external positioning data, evaluate the confidence of the current positioning data, filter the external positioning data according to the evaluated confidence, and at the same time for the processing of multiple data sources, use the watchdog to screen the confidence to ensure that the most reliable external positioning data is used to adjust the pose of the AGV.
[0178] Please refer to Figure 5 , Figure 5 which is the structural schematic diagram of an AGV positioning device provided by the present application. The AGV positioning device includes:
[0179] The first acquisition module 11 is configured to acquire the estimated positioning data of the inertial navigation system and the current confidence level of the estimated positioning data;
[0180] The second acquisition module 12 is configured to acquire the absolute positioning data of the external positioning data source and the current confidence level of the absolute positioning data;
[0181] The positioning output module 13 is configured to determine the estimated positioning data or the absolute positioning data with a larger current confidence level as the valid positioning data, so that the AGV can perform positioning based on the valid positioning data.
[0182] It can be seen that in this embodiment, a confidence level is set for the positioning data output by the inertial navigation system and the external positioning data source, and the valid positioning data closer to the true pose is filtered out according to the confidence levels corresponding to different positioning data, so that the AGV can perform accurate positioning based on the valid positioning data during operation, improving the operation efficiency.
[0183] As a preferred embodiment, the process of acquiring the current confidence level of the estimated positioning data includes:
[0184] Calculating the current confidence level attenuation amount of the inertial navigation system;
[0185] Calculating the current confidence level of the estimated positioning data according to the current confidence level attenuation amount.
[0186] As a preferred embodiment, the process of calculating the current confidence level attenuation amount of the inertial navigation system includes:
[0187] Calculating the current confidence level attenuation amount of the inertial navigation system according to the pre-set confidence level attenuation curve and the current driving distance, where the current driving distance is the driving distance of the AGV during the time period when no valid positioning data is obtained.
[0188] As a preferred embodiment, the current confidence level of the estimated positioning data includes the current estimated position confidence level and the current estimated angle confidence level;
[0189] The process of calculating the current confidence level of the estimated positioning data according to the current confidence level attenuation amount includes:
[0190] Taking the sum of the current initial position value confidence level and the current confidence level attenuation amount as the current estimated position confidence level;
[0191] Calculating the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when the gyroscope zero bias calibration is not performed, and the cumulative driving time when no valid positioning data is obtained.
[0192] As a preferred embodiment, the process of calculating the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when the gyroscope zero bias calibration is not performed, and the cumulative driving time when no valid positioning data is obtained includes:
[0193] Calculate the current estimated angle confidence according to the first relational expression, where the first relational expression is Pe_angel = P0_angel - T2 / 3(1 + (T1 / 60));
[0194] Among them, Pe_angel is the current estimated angle confidence, P0_angel is the current initial angle confidence, T1 is the cumulative time when gyro zero bias calibration is not performed, and T2 is the cumulative driving time when no valid positioning data is obtained.
[0195] As a preferred embodiment, the AGV positioning device further includes:
[0196] An alarm module, used to determine whether the current confidence of the estimated positioning data is less than or equal to the error reporting threshold, and perform a pose abnormality error reporting operation.
[0197] As a preferred embodiment, the process of obtaining the current confidence of the absolute positioning data includes:
[0198] Determine the target positioning data source among all external positioning data sources;
[0199] Use the estimated positioning data, the absolute positioning data of the target positioning data source, the current confidence of the estimated positioning data, and the confidence of the target positioning data source to obtain the current confidence of the absolute positioning data.
[0200] As a preferred embodiment, the process of determining the target positioning data source among all external positioning data sources includes:
[0201] Determine the external positioning data source with the highest confidence among all external positioning data sources as the target positioning data source.
[0202] As a preferred embodiment, the AGV positioning device further includes:
[0203] A correction module, used to calculate the absolute corrected positioning data at the current moment after delay compensation or time backtracking according to the absolute positioning data of the target positioning data source;
[0204] Correspondingly, the process of determining the estimated positioning data or absolute positioning data with a larger current confidence as the valid positioning data is specifically:
[0205] Determine the estimated positioning data or absolute corrected positioning data with a larger current confidence as the valid positioning data.
[0206] As a preferred embodiment, the AGV positioning device further includes:
[0207] A monitoring module, used to determine whether the current confidence of the absolute positioning data is greater than the deceleration confidence threshold. If so, reset the current confidence to the deceleration confidence threshold.
[0208] As a preferred embodiment, the current confidence of the absolute positioning data includes the current absolute position confidence and the current absolute angle confidence, and the current confidence of the estimated positioning data includes the current estimated position confidence and the current estimated angle confidence;
[0209] The process of determining the estimated positioning data or the absolute positioning data with a larger current confidence as the effective positioning data includes:
[0210] Determine whether the current absolute position confidence is greater than or equal to the current estimated position confidence;
[0211] If so, determine the position data in the absolute calibration positioning data as the effective position data, and determine the current absolute position confidence as the current initial position confidence;
[0212] If not, determine the estimated position data in the estimated positioning data as the effective position data;
[0213] Determine whether the current absolute angle confidence is greater than or equal to the current estimated angle confidence;
[0214] If so, determine the angle data in the absolute calibration positioning data as the effective angle data, and determine the current absolute angle confidence as the current initial angle confidence;
[0215] If not, determine the estimated angle data in the estimated positioning data as the effective angle data.
[0216] On the other hand, the present application also provides an electronic device, see Figure 6 , which shows a schematic structural diagram of an electronic device according to an embodiment of the present application. The electronic device in this embodiment may include: a processor 21 and a memory 22.
[0217] Optionally, the electronic device may further include a communication interface 23, an input unit 24, a display 25, and a communication bus 26.
[0218] The processor 21, the memory 22, the communication interface 23, the input unit 24, and the display 25 all complete communication with each other through the communication bus 26.
[0219] In the embodiment of the present application, the processor 21 may be a central processing unit (CPU), an application specific integrated circuit, a digital signal processor, a field programmable gate array, or other programmable logic devices, etc.
[0220] The processor may call the program stored in the memory 22. Specifically, the processor may execute the operations performed on the electronic device side in the following embodiments of the AGV positioning method.
[0221] The memory 22 is used to store one or more programs, and the programs may include program codes, and the program codes include computer operation instructions. In the embodiments of the present application, at least programs for implementing the following functions are stored in the memory:
[0222] Obtain the estimated positioning data of the inertial navigation system and the current confidence level of the estimated positioning data;
[0223] Obtain the absolute positioning data of the external positioning data source and the current confidence level of the absolute positioning data;
[0224] Determine the estimated positioning data or the absolute positioning data with a larger current confidence level as the valid positioning data, so that the AGV can perform positioning through the valid positioning data.
[0225] It can be seen that in this embodiment, a confidence level is set for the positioning data output by the inertial navigation system and the external positioning data source, and the valid positioning data closer to the true pose is selected according to the confidence levels corresponding to different positioning data, so that the AGV can perform accurate positioning according to the valid positioning data during operation, improving the operation efficiency.
[0226] In a possible implementation manner, the memory 22 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, application programs required for at least one function (such as a confidence level calculation function, etc.); the data storage area may store data created during the use of the computer.
[0227] In addition, the memory 22 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device or other volatile solid-state storage devices.
[0228] The communication interface 23 may be an interface of a communication module, such as an interface of a GSM module.
[0229] The present application may further include a display 24, an input unit 25, and so on.
[0230] Of course, Figure 6 The structure of the shown Internet of Things device does not limit the Internet of Things device in the embodiments of the present application. In practical applications, the electronic device may include more or fewer components than Figure 6 those shown, or combine some components.
[0231] On the other hand, the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the AGV positioning method described in any one of the above embodiments are implemented.
[0232] For the introduction of a computer-readable storage medium provided in this application, please refer to the above-mentioned embodiments, and details will not be repeated here.
[0233] This application provides a computer-readable storage medium that has the same beneficial effects as the above-mentioned AGV positioning method.
[0234] It should also be noted that in this specification, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variation thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0235] The above description of the disclosed embodiments enables those skilled in the art to implement or use this application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application will not be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. An AGV positioning method, characterized in that, it includes: Obtain the estimated positioning data of the inertial navigation system and the current confidence level of the estimated positioning data; Obtain the absolute positioning data of the external positioning data source and the current confidence level of the absolute positioning data; Determine the estimated positioning data or the absolute positioning data with a larger current confidence level as the effective positioning data, so that the AGV can perform positioning through the effective positioning data; The process of obtaining the current confidence level of the estimated positioning data includes: Calculate the current confidence level attenuation amount of the inertial navigation system according to the preset confidence level attenuation curve and the current driving distance, where the current driving distance is the driving distance of the AGV during the time period when the effective positioning data is not obtained; Calculate the current confidence level of the estimated positioning data according to the current confidence level attenuation amount.
2. The AGV positioning method according to claim 1, characterized in that, The current confidence level of the estimated positioning data includes the current estimated position confidence level and the current estimated angle confidence level; The process of calculating the current confidence level of the estimated positioning data according to the current confidence level attenuation amount includes: Use the sum of the current initial position value confidence level and the current confidence level attenuation amount as the current estimated position confidence level; Calculate the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when the gyroscope zero bias calibration is not performed, and the cumulative driving time when the effective positioning data is not obtained.
3. The AGV positioning method according to claim 2, characterized in that, The process of calculating the current estimated angle confidence level according to the current initial angle confidence level, the cumulative time when the gyroscope zero bias calibration is not performed, and the cumulative driving time when the effective positioning data is not obtained includes: Calculate the current estimated angle confidence level according to the first relational expression, where the first relational expression is ; Among them, is the current estimated angle confidence, is the current initial angle confidence, is the cumulative time when gyroscope zero bias calibration has not been performed, is the cumulative driving time when the effective positioning data has not been obtained.
4. The AGV positioning method according to any one of claims 1-3, characterized in that, This AGV positioning method further includes: Judge whether the current confidence level of the estimated positioning data is less than or equal to the error reporting threshold; If so, perform the pose abnormal error reporting operation.
5. The AGV positioning method according to claim 1, characterized in that, The process of obtaining the current confidence level of the absolute positioning data includes: Determine the target positioning data source among all the external positioning data sources; Obtain the current confidence level of the absolute positioning data according to the difference between the estimated positioning data and the absolute positioning data of the target positioning data source, and the comparison result between the current confidence level of the estimated positioning data and the confidence level of the target positioning data source.
6. The AGV positioning method according to claim 5, characterized in that, The process of determining the target positioning data source among all the external positioning data sources includes: Determine the external positioning data source with the highest confidence level among all the external positioning data sources as the target positioning data source.
7. The AGV positioning method according to claim 5, characterized in that, After determining the target positioning data source among all the external positioning data sources, this AGV positioning method further includes: Calculate the absolute corrected positioning data corresponding to the current moment after delay compensation or time backtracking based on the absolute positioning data of the target positioning data source; Correspondingly, the process of determining the estimated positioning data or the absolute positioning data with a relatively high current confidence as the valid positioning data is specifically as follows: Determine the estimated positioning data or the absolute corrected positioning data with a relatively high current confidence as the valid positioning data.
8. The AGV positioning method according to claim 5, wherein, after obtaining the current confidence of the absolute positioning data according to the difference between the estimated positioning data and the absolute positioning data of the target positioning data source, and the comparison result between the current confidence of the estimated positioning data and the confidence of the target positioning data source, the AGV positioning method further includes: Determine whether the current confidence of the absolute positioning data is greater than the deceleration confidence threshold; If so, reset the current confidence to the deceleration confidence threshold.
9. The AGV positioning method according to claim 7, wherein, The current confidence of the absolute positioning data includes the current absolute position confidence and the current absolute angle confidence, and the current confidence of the estimated positioning data includes the current estimated position confidence and the current estimated angle confidence; The process of determining the estimated positioning data or the absolute positioning data with a relatively high current confidence as the valid positioning data includes: Determine whether the current absolute position confidence is greater than or equal to the current estimated position confidence; If so, determine the position data in the absolute corrected positioning data as the valid position data, and determine the current absolute position confidence as the current initial position confidence; If not, determine the estimated position data in the estimated positioning data as the valid position data; Determine whether the current absolute angle confidence is greater than or equal to the current estimated angle confidence; If so, determine the angle data in the absolute corrected positioning data as the valid angle data, and determine the current absolute angle confidence as the current initial angle confidence; If not, determine the estimated angle data in the estimated positioning data as the valid angle data.
10. An AGV positioning device, wherein, including: A first acquisition module, configured to acquire the estimated positioning data of the inertial navigation system and the current confidence of the estimated positioning data; A second acquisition module, configured to acquire the absolute positioning data of the external positioning data source and the current confidence of the absolute positioning data; A positioning output module, configured to determine the estimated positioning data or the absolute positioning data with a relatively high current confidence as the valid positioning data, so that the AGV performs positioning through the valid positioning data; The process of obtaining the current confidence of the estimated positioning data includes: Calculate the current confidence attenuation amount of the inertial navigation system according to the pre-set confidence attenuation curve and the current driving distance, where the current driving distance is the driving distance of the AGV during the time period when the valid positioning data has not been obtained; Calculate the current confidence of the estimated positioning data according to the current confidence attenuation amount.
11. An electronic device, wherein, including: A memory, configured to store a computer program; A processor, configured to implement the steps of the AGV positioning method according to any one of claims 1-9 when executing the computer program.
12. A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps of the AGV positioning method according to any one of claims 1-9.
Citation Information
Patent Citations
Indoor inertial navigation algorithm based on posture recognition and step length model
CN106705968A
Intelligent positioning method and device, server and computer readable storage medium
CN108064019A