AGV position and orientation determination method, apparatus, and computer program
By combining Type 1 and Type 2 obstacles, the AGV positioning method enhances stability and accuracy in dynamic environments, addressing the limitations of traditional SLAM technology.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2024-04-12
- Publication Date
- 2026-05-19
AI Technical Summary
Existing AGV positioning technologies face challenges in chaotic and dynamic real-world environments due to the lack of stable positioning references, leading to positioning drift and decreased accuracy when using laser radar SLAM technology.
A method and device that utilizes both Type 1 (fixed obstacles) and Type 2 (reflective objects) obstacles to enhance positioning stability and accuracy by calculating matching rates and weights based on sensor data, incorporating a particle filter approach to determine AGV position and orientation.
The method reduces positioning errors and provides a more stable and robust positioning result by integrating reflective objects into the positioning process, improving accuracy in environments with few fixed obstacles.
Smart Images

Figure 2026516020000001_ABST
Abstract
Description
Technical Field
[0001] (Cross - reference to related applications) This application claims priority based on a Chinese patent application with application number 202310515390.5 filed on May 8, 2023, and the entire disclosure content thereof is incorporated into this application by reference.
[0002] This disclosure relates to the field of positioning technology, and particularly to an AGV position and attitude determination method, device, and storage medium.
Background Art
[0003] Automated guided vehicles (AGVs) are facilities commonly used in warehouse logistics environments. They are equipped with automatic induction sensors such as electromagnetic or optical sensors, travel along a defined induction path, and have safety protection and transfer functions. The most commonly used positioning technology in the autonomous navigation of AGVs is the laser radar simultaneous localization and mapping (SLAM) technology. In the application scenarios of this technology, in order to accurately estimate the position and attitude of an AGV, there must be a number of fixed obstacles with clear texture features. However, in real - world scenes (such as factories), most objects are moving objects, and the environment is vast and chaotic, making it difficult to provide a stable positioning environment for AGVs.
Summary of the Invention
Means for Solving the Problems
[0004] One embodiment provides a method for determining the position and orientation of an AGV. The AGV position and orientation determination method includes the steps of: obtaining an estimated position and orientation of an AGV and the position and orientation of at least one particle, wherein the particle is a random sample for characterizing the AGV; obtaining sensor measurement data, wherein the measurement data includes the distance and angle from the sensor to an obstacle scanned by the sensor, wherein the obstacle includes a first-class obstacle and a second-class obstacle, wherein the second-class obstacle is an object having reflective material; and calculating the coordinates of the obstacle scanned by the sensor mapped on a map according to the measurement data, under the position and orientation of the particle, wherein the coordinates of the obstacle scanned by the sensor mapped on a map are such that the first-class obstacle is on the ground The process includes the steps of: including a first coordinate mapped on a figure and a second coordinate of a second type obstacle mapped on a map; comparing the first and second coordinates with the coordinates of an obstacle pre-set on the map, and obtaining a first and second matching rate corresponding to the particle, wherein the first matching rate is obtained by comparing the first coordinate with the coordinates of a first type obstacle pre-set on the map, and the second matching rate is obtained by comparing the second coordinate with the coordinates of a second type obstacle pre-set on the map; calculating the weight of the particle based on the first and second matching rates corresponding to the particle; and updating the estimated position and orientation of the AGV based on the weight and position and orientation of at least one particle.
[0005] In another embodiment, an AGV position and orientation determination device is provided. The AGV position and orientation determination device comprises an acquisition unit, a calculation unit, a matching unit, and an update unit. The acquisition unit acquires the estimated position and orientation of the AGV and the position and orientation of at least one particle, the particle's position and orientation being a random sample for characterizing the AGV position and orientation, and acquires sensor measurement data, the measurement data including the distance and angle from the sensor to an obstacle scanned by the sensor, the obstacles including first-class obstacles and second-class obstacles, the second-class obstacle being an object having reflective material. The calculation unit, under the particle's position and orientation, calculates the coordinates of the obstacle scanned by the sensor mapped on a map according to the measurement data, the coordinates of the obstacle scanned by the sensor mapped on a map including a first coordinate mapped on the map for the first-class obstacle and a second coordinate mapped on the map for the second-class obstacle. The matching unit matches the first and second coordinates with the coordinates of obstacles pre-set on the map, respectively, and obtains a first and second matching rate corresponding to the particle. The first matching rate is obtained by matching the first coordinate with the coordinates of a first-type obstacle pre-set on the map, and the second matching rate is obtained by matching the second coordinate with the coordinates of a second-type obstacle pre-set on the map. The calculation unit further calculates the particle weight based on the first and second matching rates corresponding to the particle. The update unit updates the estimated position and orientation based on the weight and position and orientation of at least one particle.
[0006] In yet another embodiment, an AGV position and attitude determination device is provided. The AGV position and attitude determination device comprises a memory and a processor, the memory and the processor being coupled, the memory being used to store a computer program, and the processor executing the computer program to realize the AGV position and attitude determination method described in the above embodiment.
[0007] In yet another embodiment, a computer-readable storage medium is provided. Computer program instructions are stored in the computer-readable storage medium, and when the computer program instructions are executed by a processor, the AGV position and orientation determination method described in the above embodiment is realized.
[0008] In yet another embodiment, a computer program product is provided. The computer program product includes computer program instructions, and when the computer program instructions are executed by a processor, the AGV position and orientation determination method described in the above embodiment is implemented.
[0009] To more clearly illustrate the technical solutions of this disclosure, the drawings used in some embodiments of this disclosure are briefly described below. Obviously, the drawings in the following description are only those of some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these. [Brief explanation of the drawing]
[0010] [Figure 1] This is a schematic diagram of an AGV position and attitude determination device relating to an AGV position and attitude determination method according to some embodiments of the present disclosure. [Figure 2] This is a flowchart of an AGV position and orientation determination method according to some embodiments of the present disclosure. [Figure 3] This is a schematic diagram of a driving scene of an AGV according to some embodiments of this disclosure. [Figure 4] This is a schematic diagram of a driving scene of another AGV according to some embodiments of the present disclosure. [Figure 5] These are schematic diagrams of scan maps according to some embodiments of the present disclosure. [Figure 6] This is a schematic diagram of another scan map according to some embodiments of the present disclosure. [Figure 7] This is a schematic diagram of a grid map according to some embodiments of the present disclosure. [Figure 8]This is a flowchart for determining obstacles according to some embodiments of the present disclosure. [Figure 9] This is a schematic diagram of the structure of an AGV position and orientation determining device according to some embodiments of the present disclosure. [Modes for carrying out the invention]
[0011] To enable those skilled in the art to better understand the technical solutions of the embodiments of this disclosure, the technical solutions of this disclosure will be clearly and completely described below with reference to the drawings of this disclosure. Obviously, the embodiments described are only a selection of embodiments of this disclosure, not all embodiments. All other embodiments that those skilled in the art may obtain without creative work based on the embodiments of this disclosure are within the scope of this disclosure.
[0012] In this disclosure, expressions such as "exemplary" or "for example" are used to provide examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in this disclosure is not representative of the actual implementation. This disclosure This should not be interpreted as having priority or superiority over other embodiments or design schemes. More precisely, the use of expressions such as "exemplary" or "for example" is intended to illustrate the relevant concepts in detail.
[0013] Hereafter, terms such as "First," "Second," etc., are used solely for explanatory purposes and should not be understood as indicating or implying relative importance, or implicitly indicating the number of designated technical features. Thus, features limited by "First," "Second," etc., may explicitly or implicitly include one or more of those features.
[0014] In this disclosure, unless otherwise specified, " / " means "or". For example, A / B can mean A or B. In this text, "and / or" describes only the relationship between related objects and indicates that there may be three types of relationships. For example, A and / or B can mean that only A exists, only B exists, or both A and B exist. Also, "at least one" refers to one or more, and "multiple" refers to two or more.
[0015] In some technologies, a commonly used AGV positioning method is a particle filter-based positioning method. The principle of this method is to use the position and orientation of multiple particles as candidate position and orientation for the AGV, map the contours of multiple obstacles within a map to the position and orientation of each particle in the AGV's laser radar data, compare the contour coordinates of the multiple obstacles with the contour coordinates of obstacles pre-set in the map, select the contour coordinates with the highest matching value, and then comprehensively calculate the position and orientation of the particle corresponding to the contour coordinate with the highest matching value to obtain the AGV's position and orientation. However, this method only considers the matching rate between the mapping contour of each particle in each map and the obstacles, and when there are few obstacles in the scene, positioning drift is likely to occur, the cumulative positioning error gradually increases, and the positioning accuracy decreases.
[0016] Based on this, the present disclosure provides a method for determining the position and orientation of an AGV. In this method, in addition to Type 1 obstacles (e.g., walls), Type 2 obstacles (e.g., reflectors) are placed in the scene in which the AGV travels. Under the position and orientation of each particle, the Type 1 and Type 2 obstacles scanned by the sensor are mapped onto a map, the matching rate between the Type 1 and Type 2 obstacles mapped on the map and the Type 1 and Type 2 obstacles pre-set on the map is calculated, the weight of each particle is calculated, and the position and orientation of the AGV is further determined. In this method, it is understood that the matching rate of Type 1 and Type 2 obstacles is taken into account when calculating the weight of each particle. Type 2 obstacles are highly reflective. Having a rate material ofAs an object, it can significantly enhance the positioning stability and accuracy in a scene with few type-1 obstacles. Therefore, in the present disclosure, by combining two types of obstacles, the positioning error can be reduced, and a more stable and robust positioning result can be obtained.
[0017] Hereinafter, referring to the drawings, the embodiments of the examples of the present disclosure will be described in detail.
[0018] Referring to FIG. 1, an AGV position and orientation determination device 100 related to an AGV position and orientation determination method according to an embodiment of the present disclosure is shown.
[0019] This AGV position and orientation determination device 100 includes a processor 101, a bus 102, a memory 103, and a communication interface 104.
[0020] The processor 101 can implement or execute various exemplary logical blocks, modules, and circuits described in the embodiments of the present disclosure. This processor 101 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, other programmable logical devices, transistor logic devices, hardware components, or any combination thereof. The processor 101 can also implement or execute various exemplary logical blocks, modules, and circuits described in the embodiments of the present disclosure. The processor 101 can also implement a combination of computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0021] The bus 102 can be an extended industry standard architecture (EISA) bus or the like. The bus 102 may be divided into an address bus, a data bus, a control bus, etc. For convenience, in FIG. 1, it is only shown by a thick solid line, but it does not indicate that there is only one bus or one type of bus.
[0022] The memory 103 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, a random access memory (RAM) or other type of dynamic storage device capable of storing dynamic information and instructions, an electrically erasable programmable read-only memory (EEPROM), a magnetic storage medium, other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer.
[0023] In some embodiments, the memory 103 may exist independently of the processor 101, or it may be connected to the processor 101 via a bus 102 and used to store instructions or program code. When the processor 101 calls and executes the instructions or program code stored in the memory 103, the AGV position and orientation determination method provided by embodiments of this disclosure can be realized.
[0024] In some embodiments, the memory 103 may be integrated with the processor 101.
[0025] The communication interface 104 is used to connect to other devices via a communication network. This communication network may be Ethernet®, a wireless access network, a wireless local area network (WLAN), or the like.
[0026] The AGV position and orientation determination device 100 described above may be the AGV itself, or it may be another device that communicates with the AGV. For example, the other device that communicates with the AGV may be a terminal such as a mobile phone, tablet computer, desktop computer, laptop computer, notebook computer, or netbook, or it may be a server. The embodiments of this disclosure are not particularly limited in form to the AGV position and orientation determination device 100.
[0027] If the AGV position and attitude determination device 100 is the AGV itself, the AGV position and attitude determination device 100 further includes a sensor 105.
[0028] Sensor 105 is an electromagnetic or optical sensor for acquiring information such as the position of obstacles scanned by the AGV in the environment and the light intensity information of the scanned obstacles. Sensor 105 may also be used to determine the position and orientation of the AGV.
[0029] For example, sensor 105 may include one or more of the following: laser radar, wheel encoder, inertial measurement unit (IMU), camera, magnetic medium, and global positioning system (GPS).
[0030] Generally, using the above sensors in combination can improve the accuracy of AGV position and attitude determination.
[0031] The following describes the AGV position and orientation determination method provided by the embodiments of this disclosure.
[0032] Referring to Figure 2, a flowchart of the AGV position and attitude determination method provided by an embodiment of this disclosure is shown. This AGV position and attitude determination method is applied to the AGV position and attitude determination device shown in Figure 1, and the following description will be based on the example where the AGV position and attitude determination device is an AGV. As shown in Figure 2, this method may include steps S101 to S112.
[0033] S101: The AGV initializes the map.
[0034] The AGV's map initialization process includes steps S101a through S101c.
[0035] S101a: The AGV scans the driving scene of the AGV and constructs a scan map.
[0036] The AGV driving scenes may include indoor facilities, factory interiors, or outdoor facilities such as roads. These driving scenes may include Type 1 and Type 2 obstacles.
[0037] Type 1 obstacles are generally fixed obstacles within the driving scene, including walls, pillars, and large cabinets.
[0038] A Type 2 obstacle is an object with reflective material placed within the AGV's driving scene, but is not limited to reflectors or reflective poles.
[0039] In some embodiments of this disclosure, the second type of obstacle is , the One type of obstacle occupies The ratio between the area and the area where the AGV's driving scene is located is It is placed in an area that is less than a predetermined percentage (e.g., 30%).
[0040] For example, in the AGV driving scene shown in Figure 3, in an area where Type 1 obstacles (walls) occupy less than 30% of the space, for example, a wide-open path, a Type 2 obstacle is placed on one side. Alternatively, as in the AGV driving scene shown in Figure 4, a wide-open path is lined with Type 2 obstacles on both sides. In Figures 3 and 4 above, if the Type 2 obstacle is a reflective pole, its diameter is generally about 10 cm, and the spacing between them is generally about 5 to 10 meters. In Figures 3 and 4, 5 meters is used as an example.
[0041] In related technologies, methods for determining the position and orientation of an AGV using only Type 2 obstacles have high requirements for the placement of Type 2 obstacles. The AGV must be able to identify three or more Type 2 obstacles from each position and viewpoint within its operating area, and the distance between each Type 2 obstacle must be at least 1 meter. When Type 2 obstacles are placed on both sides of a straight path, the positions of each Type 2 obstacle must not be symmetrical, the number of obstacles must not be the same, and the spacing between them must not be equal. On the other hand, in the embodiments of this disclosure, Type 1 and Type 2 obstacles are used comprehensively. Compared to conventional methods that rely solely on Type 2 obstacles, the placement of Type 2 obstacles in the embodiments of this disclosure has no special requirements regarding placement location, quantity, etc., and the placement conditions are more flexible and simpler.
[0042] A scanning map is a map generated after an AGV scans its driving scene through its sensors, such as a SLAM map.
[0043] As an example, a method by which an AGV constructs a scan map includes the steps of the AGV moving under manual control or automatically moving within the AGV driving scene according to a pre-set path, while simultaneously using Google's open-source algorithm, cartographer, to scan the map for Type 1 and Type 2 obstacles (e.g., reflective poles) within the driving scene using sensors, thereby generating a scan map.
[0044] As shown in Figure 5, Figure 5 shows a schematic diagram of a scan map. Figure 5 is a scan map obtained by scanning the AGV driving scene in Figure 3. This scan map is generally a grayscale image, where obstacles are shown in black, passable areas in white, and unknown content (e.g., noise) in gray. Generally, obstacles are marked in black by default, but during calculations, it is necessary to distinguish between Type 1 and Type 2 obstacles (e.g., with different colors). To distinguish Type 2 obstacles, Type 2 obstacles may be marked with a different identifier than Type 1 obstacles. For example, Type 2 obstacles are marked in orange, which corresponds to the white circular marks in Figure 5 or the diagonal marks in Figure 6. As shown in Figure 5 or Figure 6, after marking Type 2 obstacles in this scan map, black represents Type 1 obstacles, orange represents Type 2 obstacles, gray represents unknown content, and white represents passable areas.
[0045] S101b: The AGV converts the scan map into a grid map.
[0046] A grid map is obtained by dividing a scan map into units, where the resolution of the x and y axes is equal to the size of a single grid. When the resolution of the x axis is equal to the resolution of the y axis, each grid is square, and a smaller resolution indicates a higher accuracy of the grid map. A grid map matches a scan map in terms of content, geometric accuracy, and color.
[0047] As shown in Figure 7, Figure 7 shows a schematic diagram of the scanned map shown in Figure 6 after it has been converted to a grid map. In the grid map, different categories of obstacles are displayed using different identifiers. For example, in the grid map, black is the identifier for Type 1 obstacles, and orange (corresponding to the diagonal lines in Figure 7) is the identifier for Type 2 obstacles.
[0048] A grid containing the identifiers for the above-mentioned Type 1 obstacles is defined as a Type 1 grid, and a grid containing the identifiers for Type 2 obstacles is defined as a Type 2 grid. For example, black grids in the grid map are Type 1 grids, and orange grids are Type 2 grids.
[0049] Grid maps have advantages such as being easy to construct, represent, and store, having a unique position for each grid, and being convenient for planning short paths. Therefore, in the embodiments of this disclosure, converting a scan map to a grid map for subsequent processing can improve the computation speed of AGV position and orientation determination.
[0050] Converting the scan map described above into a grid map is just one specific implementation method, but the embodiments of this disclosure are not limited to which map is used for processing.
[0051] S101c: The AGV calculates and stores the distance between each grid in the grid map, the nearest Type 1 grid to that grid, and the nearest Type 2 grid to that grid.
[0052] In some embodiments, the following methods are proposed for calculating the distance between each grid and the nearest first-type grid, and the distance between each grid and the nearest second-type grid.
[0053]
number
[0054]
number
[0055] This operation pre-calculates the distance between each grid in the grid map and the nearest Type 1 and Type 2 obstacles. By directly using these distances during subsequent matching, the matching calculation speed can be improved, and the efficiency of AGV position and attitude determination can be increased.
[0056] S102: Initialize the AGV's positioning and pre-set at least one particle.
[0057] Positioning initialization, or the AGV, acquires its initial position and orientation. This operation can be completed by manually providing the AGV's initial position and orientation relative to the map.
[0058] The particles are random samples that characterize the AGV. Generally, when an AGV selects a particle, it selects the positional orientations of multiple particles as candidate positional orientations to improve the accuracy of positional orientation determination.
[0059] Pre-setting multiple particles means randomly selecting multiple position and orientation points near the AGV's initial position to represent particles, and each particle's position and orientation represents a candidate position and orientation for the AGV.
[0060] S103: After the AGV travels a certain distance in the above driving scene, the estimated position and attitude of the AGV is obtained.
[0061] A certain distance may be a section in which the AGV travels along a pre-set route in the above driving scenario, or it may be a certain section in which the AGV travels freely.
[0062] Estimated position and attitude is the position and attitude of an AGV after it has traveled a certain distance, generally estimated based on measurement data from sensors on the AGV, such as laser radar, wheel encoders, and / or IMUs.
[0063] S104: The AGV determines whether the change between its estimated position and attitude and its position and attitude at the previous time is greater than the position and attitude threshold.
[0064] If the change in the estimated position and attitude of the AGV is greater than the position and attitude threshold, execute S105.
[0065] If the change in the estimated position and attitude of the AGV is below the position and attitude threshold, execute S112.
[0066] The AGV position and orientation at the previous time point refers to the position and orientation output by the AGV at the last moment. For example, this could be the position and orientation at the time of positioning initialization, the position and orientation output after obtaining the previously estimated position and orientation, or the position and orientation output after updating the previously estimated position and orientation.
[0067] The AGV may be configured to output its position and orientation at pre-set time intervals, or to output its position and orientation after traveling a pre-set distance. For example, the AGV may output its position and orientation every 5 seconds, or every 1 meter it travels.
[0068] In one example, suppose an AGV outputs its position and attitude every 5 seconds, and the position and attitude threshold is set to a travel distance of 1 meter and a change in the direction of travel angle of ±10 degrees. If the estimated position and attitude of the AGV is greater than the position and attitude output by the AGV 5 seconds prior, and the travel distance exceeds 1 meter and the change in the direction of travel angle exceeds ±10 degrees, then the change in the estimated position and attitude of the AGV is considered to be greater than the position and attitude threshold.
[0069] In this operation, after the AGV travels a certain distance, it determines whether the change between the acquired estimated position and attitude and the position and attitude at the previous time is greater than a threshold. If it is greater than the threshold, it is considered that there is a deviation in the estimated position and attitude, and that the deviation is large. In this case, the deviation needs to be corrected, and the corrected AGV position and attitude is used as the AGV's current position and attitude. If it is less than or equal to the threshold, the deviation in the determined position and attitude is considered small, and the estimated AGV position and attitude can be used directly as the AGV's current position and attitude.
[0070] S105: The AGV obtains the position and orientation of at least one particle.
[0071] In some embodiments, the AGV updates the motion of at least one particle and obtains the position and orientation of at least one particle after the motion update.
[0072] The updating of a particle's motion can be understood as the updating of its position and orientation. The updating of the particle's position and orientation is determined based on the estimated position and orientation of the AGV, and the particle moves in accordance with how far the AGV has moved. In other words, the particle moves along with the movement of the AGV.
[0073] In one example, when the AGV moves from position 1 to position 2, the particles around position 1 also move correspondingly to the area around position 2. The AGV acquires the position and orientation of multiple particles around position 2.
[0074] Since at least one particle is pre-set in S102, the position and orientation of this at least one particle is a candidate position and orientation for the AGV. After the AGV travels a certain distance in S103, the position and orientation of this at least one particle needs to be updated based on the change in the AGV's position and orientation. In other words, the AGV performs a motion update for at least one particle and obtains the position and orientation of at least one particle after the motion update.
[0075] S106: The AGV acquires sensor measurement data.
[0076] Sensor measurement data includes the distance and angle from the sensor to the obstacle scanned by the sensor. Obstacles include Type 1 and Type 2 obstacles.
[0077] The distance and angle from the sensor to the obstacle scanned by the sensor include the distance and angle from each scanning point of the sensor to the obstacle scanned by the sensor. A scanning point is a point on the obstacle when the sensor scans it.
[0078] S107: The AGV calculates the coordinates on which the obstacles scanned by the sensor are mapped to the map, based on the measurement data, under the position and orientation of the particles.
[0079] The coordinates to which obstacles scanned by the sensor are mapped on the map include a first coordinate to which a first-class obstacle is mapped on the map, and a second coordinate to which a second-class obstacle is mapped on the map.
[0080] The above particle is any one of at least one particle.
[0081] The calculation of the coordinates of obstacles scanned by the sensor and mapped onto the map is performed by the sensor On obstacles scanned by Each scanning point is This includes calculating the coordinates to be mapped to the figure.
[0082]
number
[0083] Based on the coordinates of each scanning point in the obstacle scanned by the above sensor, it is possible to obtain the coordinates of the obstacle scanned by the sensor that are mapped onto the map.
[0084] S108: The AGV classifies obstacles scanned by its sensors into Type 1 and Type 2 obstacles.
[0085] The classification method includes the step of determining whether the AGV is on a Type 2 obstacle, thereby distinguishing the obstacles scanned by the sensor.
[0086] If the scanning point meets predetermined conditions, the sensor determines that the scanning point is on a Type 2 obstacle; otherwise, it determines that it is on a Type 1 obstacle.
[0087] If the sensor includes a laser radar, the sensor measurement data further includes the light intensity of the scanning point, in which case, given conditions, The light intensity of the scanning point is greater than the light intensity threshold, The distance from the scanning point to the sensor is less than the distance threshold, The method includes at least one of the following: the distance between a grid where a scanning point is mapped to a grid map and the closest Type 2 grid to that grid is less than a grid distance threshold, and the Type 2 grid is a grid containing an identifier for a Type 2 obstacle.
[0088] Generally, when the above-mentioned conditions are met simultaneously, the distinction between Type 1 and Type 2 obstacles is most accurate.
[0089]
number
[0090] S108a: The AGV determines whether the grid map includes a Type 2 grid.
[0091] If the AGV determines that the grid map includes a Type 2 grid, it executes S108b.
[0092] If the AGV determines that the grid map does not contain a Type 2 grid, it determines that the k-th scan point is on a Type 1 obstacle and does not execute the subsequent S108b to S108d steps.
[0093] Since a grid containing the identifier of a Type 2 obstacle is a Type 2 grid, if the identifier of a Type 2 obstacle is orange, verify whether the grid map contains an orange grid. If it contains an orange grid, it indicates that the grid map contains a Type 2 grid, and in this case, S108b may be executed. Otherwise, it indicates that the grid map does not contain a Type 2 grid, that no Type 2 obstacles are placed in the AGV's driving scene, that there is no need to distinguish obstacles at this point, and the subsequent S108b to S108d are not executed.
[0094] S108b: The AGV determines whether the light intensity of the scanning point is greater than the light intensity threshold.
[0095]
number
[0096]
number
[0097] In the embodiments of this disclosure, by determining the light intensity of the scanning point, it is possible to effectively distinguish whether the scanning point is on a Type II obstacle or a Type I obstacle.
[0098] S108c:AGV determines whether the distance between the scanning point and the laser radar is less than the threshold for the optical intensity point distance.
[0099] The threshold for the light intensity point distance is, From laser radar Laser radar by scanning Up to the maximum possible reflective material This is the longest effective range.
[0100]
number
[0101]
number
[0102] S108d: The AGV determines whether the distance between the grid on which the scan point is mapped and the nearest Type 2 grid is less than the grid distance threshold.
[0103] The grid distance threshold mentioned above is the maximum distance to a pre-set Type 2 obstacle.
[0104]
number
[0105] Since Type 1 obstacles may include objects with reflective materials (for example, aluminum plates made of metallic materials), in order to avoid interference between the scanning points verified in S108b to S108c above and objects with reflective materials included in Type 1 obstacles, this operation further eliminates interference from reflective materials present in Type 1 obstacles by checking whether the distance to the Type 2 grid is smaller than the maximum distance to a preset Type 2 obstacle after the scanning points have been mapped onto the grid map.
[0106]
number
[0107] If a scan point satisfies all conditions after completing the verification processes S108a to S108d above, that scan point is considered to be a scan point on a Type 2 obstacle. Embodiments of this disclosure do not limit the order of the verification processes S108a to S108d above. Generally, in a process that performs verification in the above order, computational resources can be saved because it is not necessary to execute the remaining processes after a scan point fails to satisfy any of the terms.
[0108] S109: The AGV compares the first and second coordinates with the coordinates of obstacles pre-set on the map, and obtains the first and second matching rates corresponding to the particles.
[0109] The first matching rate is obtained by matching the first coordinate with the coordinates of a pre-set Type 1 obstacle on the map. The second matching rate is obtained by matching the second coordinate with the coordinates of a pre-set Type 2 obstacle on the map.
[0110] In some embodiments, if a sensor scan point is on a Type 1 obstacle, the AGV compares each scan point of the Type 1 obstacle scanned by the sensor with a grid mapped to a Type 1 grid pre-configured on the grid map, and obtains a matching rate for each scan point of the Type 1 obstacle scanned by the sensor.
[0111] The first matching rate is equal to the product of the matching rates of each scanning point where the sensor scanned a Type 1 obstacle.
[0112]
number
[0113] Equation (4) above is a measurement model for when the scanning point is on a Type 1 obstacle, and based on this model, the scanning point matching rate (also called the probability that the scanning point is mapped to a Type 1 obstacle) can be obtained.
[0114] If a sensor scan point is on a Type 2 obstacle, the AGV compares each scan point of the Type 2 obstacle scanned by the sensor with a grid mapped to a Type 2 grid pre-configured on the grid map, and obtains the matching rate for each scan point of the Type 2 obstacle scanned by the sensor.
[0115] The second matching rate is equal to the product of the matching rates of each scanning point where the sensor scanned a Type 2 obstacle.
[0116]
number
[0117]
number
[0118]
number
[0119] Equation (5) above is a measurement model for when the scanning point is on a Type 2 obstacle, and based on this model, the scanning point matching rate (also called the probability that the scanning point is mapped to a Type 2 obstacle) can be obtained.
[0120] S110: The AGV calculates the weight of a particle based on the first and second matching rates corresponding to that particle.
[0121] In some embodiments, the particle weight is obtained by multiplying a first identification factor, a weighting factor of the first identification factor, a second identification factor, and a weighting factor of the second identification factor. The weighting factor of the first identification factor is smaller than the weighting factor of the second identification factor.
[0122] The weight coefficient of the first matching rate described above may be set to a fixed value, such as 1.
[0123] The weighting coefficient for the second matching rate described above is related to the target distance. The smaller the target distance, the higher the weighting coefficient for the second matching rate. The target distance is the distance between the target coordinates mapped on the map from a scanning point on a Type 2 obstacle, and the Type 2 obstacle closest to those target coordinates.
[0124]
number
[0125]
number
[0126]
number
[0127]
number
[0128] As can be seen from the above formula, the closer the scanning point is to a Type 2 obstacle, the higher the confidence coefficient and the higher the resulting confidence. This indicates that the closer the scanning point is to a Type 2 obstacle, the higher the reference value of the scanning point's position.
[0129] From the above process, if we let w be the weight of each particle, we can obtain the weight of each particle using equation (8).
[0130]
number
[0131] As can be seen from equation (8) above, the weight of each particle is obtained by multiplying the confidence level of each scanning point of the sensor by the position and orientation of that particle.
[0132] In one example, assuming there are 100 scanning points, with points 1-30 on Type 1 obstacles and points 31-100 on Type 2 obstacles, the weight of one particle would be as follows:
[0133]
number
[0134] The weight of each particle is related to each scanning point, and the second seed By setting weighting coefficients for scanning points on obstacles and determining the reliability of those scanning points, the weight of the particles can be determined more accurately, providing more valuable particles for subsequent AGV position and orientation determination.
[0135] S111: The AGV updates its estimated position and orientation based on the weight and position and orientation of at least one particle.
[0136] In some embodiments, the AGV applies a clustering algorithm to multiple particles based on their position and orientation, selects some of the particles with high weights, takes the average value of the position and orientation of those particles, and uses that average value to update the AGV's estimated position and orientation.
[0137] S112: The AGV outputs its position and attitude.
[0138] In this operation, the position and attitude output by the AGV is either the estimated position and attitude in S103 or the estimated position and attitude after updating in S111.
[0139] In the AGV position and orientation determination method proposed in this disclosure, the estimated position and orientation of the AGV may drift after it has traveled a certain distance. To update this estimated position and orientation and make the output position and orientation more accurate, multiple position and orientation values are selected around the estimated position and orientation of the AGV, and candidate position and orientation values of the AGV, i.e., the position and orientation values of multiple particles, are selected as candidate position and orientation values for the AGV. Under the position and orientation values of each particle, Type 1 and Type 2 obstacles scanned by the sensor are mapped onto a map, and the matching rate between the Type 1 and Type 2 obstacles pre-set in the map is calculated. Based on this matching rate, the weight of each particle is determined, thereby determining the position and orientation of the AGV. A higher particle weight indicates that the position and orientation of that particle is closer to the true position and orientation of the AGV. In this disclosure, the matching rate between Type 1 and Type 2 obstacles is comprehensively considered when calculating the particle weight, thereby reducing positioning errors and obtaining more stable and robust positioning results.
[0140] To achieve the functions described above, the AGV position and orientation determination device includes corresponding hardware structures and / or software modules for performing each function. Those skilled in the art will readily recognize, by combining the algorithmic steps of each example described in the embodiments of this disclosure, that the disclosure can be implemented in hardware form, or in combination of hardware and computer software. Whether a particular function is performed by hardware or by hardware driven by computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the functions described for each specific application, but such implementations should not be considered beyond the scope of this disclosure.
[0141] Embodiments of this disclosure allow for the division of functional modules of an AGV position and attitude determination device according to embodiments of the method described above. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one functional module. The integrated module described above may be implemented in hardware form or in software form. Note that the module division in embodiments of this disclosure is illustrative and merely a division of logical functions, and other division methods may be used in actual implementation. Below, an example of dividing each functional module according to each function will be described.
[0142] Figure 9 is a schematic diagram of the structure of an AGV position and attitude determination device according to an embodiment of the present disclosure, and the AGV position and attitude determination device can perform the AGV position and attitude determination method according to the embodiment of the method described above. As shown in Figure 9, the AGV position and attitude determination device 200 includes an acquisition unit 201, a calculation unit 202, a verification unit 203, and an update unit 204.
[0143] The acquisition unit 201 is used to acquire the estimated position and orientation of the AGV and the position and orientation of at least one particle. The particle is a random sample to characterize the AGV. The acquisition unit 201 is used to acquire sensor measurement data. The measurement data includes the distance and angle from the sensor to the obstacle scanned by the sensor. The obstacles include Type 1 and Type 2 obstacles. Type 2 obstacles are objects with reflective material. The calculation unit 202 calculates the coordinates of the obstacles scanned by the sensor mapped on the map, according to the measurement data and the position and orientation of the particle. Here, the coordinates of the obstacles scanned by the sensor mapped on the map include a first coordinate mapped on the map for Type 1 obstacles and a second coordinate mapped on the map for Type 2 obstacles. The matching unit 203 is used to match the first and second coordinates with the coordinates of obstacles pre-set on the map, respectively, and to acquire a first and second matching rate corresponding to the particle. Here, the first matching rate is the matching rate obtained by matching the first coordinate with the coordinates of a Type 1 obstacle pre-set on the map. The second matching rate is the matching rate obtained by matching the second coordinate with the coordinates of a Type 2 obstacle pre-set on the map. The calculation unit 202 is further used to calculate the weight of the particle based on the first and second matching rates corresponding to the particle. The update unit 204 is used to update the estimated position and orientation based on the weight and position and orientation of at least one particle.
[0144] In some embodiments, the acquisition unit 201 acquires the estimated position and attitude of the AGV when the change between the estimated position and attitude of the AGV and the position and attitude of the AGV at the previous time is greater than a position and attitude threshold. at least one It is used to obtain the position and orientation of a particle.
[0145] In some embodiments, the calculation unit 202 is used to obtain the particle weight by multiplying a first identification factor, a weighting coefficient for the first identification factor, a second identification factor, and a weighting coefficient for the second identification factor, where the weighting coefficient for the first identification factor is smaller than the weighting coefficient for the second identification factor.
[0146] In some embodiments, the weighting coefficient of the second matching factor is related to the target distance. The smaller the target distance, the higher the weighting coefficient of the second matching factor. The target distance is the distance between the target coordinates mapped on the map of a scanning point on a Type II obstacle and the Type II obstacle closest to those target coordinates.
[0147] In some embodiments, the sensor includes a laser radar, and the measurement data further includes the light intensity of a scan point. The scan point is a point on an obstacle when the sensor scans the obstacle. The map includes a grid map. The AGV position and attitude determination device 200 further includes a determination unit 205, which, under the position and attitude of each particle, calculates the coordinates on which the obstacle scanned by the sensor is mapped to the map according to the measurement data, and is used to determine that the scan point is on a Type II obstacle if the scan point satisfies predetermined conditions, where the predetermined conditions include at least one of the following: the light intensity of the scan point is greater than a light intensity threshold; the distance from the scan point to the sensor is less than a distance threshold; and the distance between the grid on which the scan point is mapped to the grid map and the Type II grid closest to the grid on which the scan point is mapped is less than a grid distance threshold, wherein the Type II grid is a grid containing an identifier for a Type II obstacle.
[0148] In some embodiments, the AGV position and attitude determination device 200 further includes a scanning unit 206, which is used to scan the AGV's travel scene to construct a scan map and convert the scan map into a grid map before acquiring the estimated position and attitude of the AGV and the position and attitude of multiple particles. In the grid map, different categories of obstacles are displayed with different identifiers.
[0149] In some embodiments, the computing unit 202 is further used to calculate and store the distance between each grid in the grid map and the nearest Type 1 grid, and the distance to the nearest Type 2 grid, where a Type 1 grid is a grid containing an identifier for a Type 1 obstacle.
[0150] In some embodiments, the second type of obstacle is , the One type of obstacle occupies Ratio of the area to the area where the AGV's driving scene is located It is placed in an area that is less than a predetermined percentage.
[0151] In some embodiments, the second type of obstacle includes a reflective post or reflector.
[0152] Some embodiments of this disclosure provide a computer-readable storage medium (e.g., a non-temporary computer-readable storage medium) on which computer program instructions are stored, and when the computer program instructions are executed by a computer, the computer causes the computer to execute the AGV position and orientation determination method described in any of the embodiments described above.
[0153] Exemplary computer-readable storage media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROM), cards, sticks, or key drives, etc.). The various computer-readable storage media described in this disclosure may represent one or more devices and / or other machine-readable storage media for storing information. The term “machine-readable storage media” includes, but is not limited to, a variety of other media capable of storing, containing, and / or carrying wireless channels, instructions, and / or data.
[0154] Embodiments of this disclosure provide a computer program product including instructions. When the computer program product is executed on a computer, it causes the computer to execute the AGV position and orientation determination method described in any of the embodiments described above.
[0155] The foregoing describes only specific embodiments of the Disclosure, and the scope of protection of the Disclosure is not limited thereto. Any modifications or substitutions within the technical scope disclosed herein shall be included within the scope of protection of the Disclosure. Accordingly, the scope of protection of the Disclosure shall be governed by the scope of protection of the claims.
Claims
1. A method for determining the position and orientation of an automated guided vehicle (AGV), The AGV includes a sensor, and the method is A step of obtaining the estimated position and orientation of the AGV and the position and orientation of at least one particle, wherein the particle is a random sample for characterizing the AGV, A step of acquiring measurement data from the sensor, wherein the measurement data includes the distance and angle from the sensor to the obstacle scanned by the sensor, and the obstacle includes a first-class obstacle and a second-class obstacle, wherein the second-class obstacle is an object having a reflective material. A step of calculating the coordinates on a map of an obstacle scanned by the sensor, according to the measurement data, under the position and orientation of the particle, wherein the coordinates on the map of the obstacle scanned by the sensor include a first coordinate on the map of the first type of obstacle and a second coordinate on the map of the second type of obstacle. A step of comparing the first coordinate and the second coordinate with the coordinates of an obstacle pre-set on the map, and obtaining a first matching rate and a second matching rate corresponding to the particle, wherein the first matching rate is the matching rate obtained by comparing the first coordinate with the coordinates of a first type obstacle pre-set on the map, and the second matching rate is the matching rate obtained by comparing the second coordinate with the coordinates of a second type obstacle pre-set on the map. A step of calculating the weight of the particle based on the first and second matching rates corresponding to the particle, The steps include updating the estimated position and orientation of the AGV based on the weight and position and orientation of at least one particle, method.
2. If the change between the estimated position and orientation of the AGV and the position and orientation of the AGV at the previous time is greater than the position and orientation threshold, the step of obtaining the estimated position and orientation of the AGV and the position and orientation of at least one particle is: The steps include obtaining the estimated position and orientation of the AGV, The steps include obtaining the position and orientation of at least one particle, The method according to claim 1.
3. The step of calculating the weight of the particle based on the first and second matching rates corresponding to the particle is: A step of obtaining the weight of the particle by multiplying the first matching rate, the weighting coefficient of the first matching rate, the second matching rate, and the weighting coefficient of the second matching rate, the step of which the weighting coefficient of the first matching rate is smaller than the weighting coefficient of the second matching rate. The method according to claim 1.
4. The weighting coefficient of the second matching rate is related to the target distance, and the smaller the target distance, the higher the weighting coefficient of the second matching rate. The target distance is the distance between the target coordinates mapped on the map of the scanning point on the second type of obstacle and the second type of obstacle closest to those target coordinates. The method according to claim 3.
5. The sensor includes a laser radar, the measurement data further includes the light intensity of a scanning point, the scanning point is a point on the obstacle when the sensor scans the obstacle, the map includes a grid map, and after the step of calculating the coordinates of the obstacle scanned by the sensor mapped on the map according to the measurement data, under the position and orientation of the particle, the method If the scanning point satisfies predetermined conditions, the step of determining that the scanning point of the sensor is on the second type of obstacle, wherein the predetermined conditions are: The light intensity of the aforementioned scanning point is greater than the light intensity threshold, The distance from the scanning point to the sensor is less than the distance threshold, The step further includes at least one of the following: the distance between the grid on which the scanning point is mapped to the grid map and the second type grid closest to the grid on which the scanning point is mapped to the grid map is less than a grid distance threshold, wherein the second type grid is a grid containing an identifier for the second type obstacle. The method according to claim 4.
6. Before the step of obtaining the estimated position and orientation of the AGV and the position and orientation of the multiple particles, the method: The steps include scanning the driving scene of the aforementioned AGV and constructing a scan map, A step of converting the scan map into a grid map, wherein the grid map displays identifiers for obstacles of different categories, further comprising a different step, The method according to claim 5.
7. The aforementioned method, A step of calculating and storing the distance between each grid in the grid map and the nearest first-class grid, and the distance between each grid and the nearest second-class grid, further comprising the step that the first-class grid is a grid containing an identifier for the first-class obstacle. The method according to claim 5.
8. The aforementioned Type 2 obstacle is placed in an area within the AGV's driving scene where the space occupied by the Type 1 obstacle is less than a predetermined percentage. The method according to claim 1.
9. An automated guided vehicle (AGV) position and attitude determination device comprising a memory and a processor, wherein the memory and the processor are coupled, the memory is used to store computer program code, the computer program code includes computer instructions, and when the processor executes the computer instructions, the AGV position and attitude determination device implements the AGV position and attitude determination method described in claims 1 to 8. Automated Guided Vehicle (AGV) position and orientation determination device.
10. A computer-readable storage medium, The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by the automated guided vehicle (AGV) position and attitude determination device, the AGV position and attitude determination device implements the AGV position and attitude determination method described in claims 1 to 8. Computer-readable storage medium.