An AGV navigation texture feature extraction and recognition method

By extracting the similarity distribution between the tile texture data and the reference pattern, identifying and scanning local markers, and verifying the coordinates of the unique anchor point, the problem of positioning confusion caused by texture repetition in complex environments by AGVs is solved, and stable optimization of navigation paths is achieved.

CN121640090BActive Publication Date: 2026-04-14SHENZHEN NEW TREND INT ROBOT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-02-04
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In complex environments, visual navigation methods based on ground textures struggle to accurately distinguish the true location of AGVs in large areas of repetitive patterns, leading to confusion and navigation failures during the positioning process.

Method used

By comparing the tile texture data of the AGV's current position with the reference pattern of the global navigation map, the matching peak set is extracted, the positioning ambiguity caused by the repetition of texture cycles is analyzed, the auxiliary marker recognition module scans local non-periodic markers, the unique anchor point coordinates are verified based on geometric shape and color attributes, the filtering range is dynamically adjusted, false peaks are eliminated, the true position is determined, and the navigation path is updated.

Benefits of technology

It significantly improves the uniqueness of AGV positioning and navigation accuracy in environments with repetitive textures, and achieves stable optimization of the global path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121640090B_ABST
    Figure CN121640090B_ABST
Patent Text Reader

Abstract

The application provides an AGV navigation texture feature extraction and identification method, comprising the following steps: analyzing the spatial distribution position of the extracted multiple matching peak values, counting the peak value number and the repeated interval between the peak values, and identifying the positioning fuzzy area caused by the texture cycle repetition; scanning the local non-periodic marker position according to the identified positioning fuzzy area, verifying the uniqueness based on the geometric shape features and color attributes of the marker, obtaining the unique anchor point coordinates and the marker type; extracting the texture repeated interval according to the unique anchor point coordinates combined with the ceramic tile texture data, analyzing the size of the texture repeated interval and the preset threshold, and determining the periodicity intensity value; dynamically adjusting the position screening range according to the periodicity intensity value, establishing the screening constraint condition, and applying the phase correlation method to obtain a preliminary positioning candidate point set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of information technology, and in particular to a method for extracting and recognizing texture features for AGV navigation. Background Technology

[0002] In modern industry and logistics, navigation technology for Automated Guided Vehicles (AGVs) is a crucial pillar for achieving intelligent transportation and efficient operations, with positioning accuracy directly impacting production efficiency and safety. As factory and warehouse environments become increasingly complex, vision-based navigation methods have gained significant attention due to their adaptability and relatively low cost, particularly in utilizing ground texture for location identification, demonstrating immense application potential. However, ensuring positioning accuracy and reliability in complex environments remains a critical challenge that urgently needs to be addressed. Currently, ground texture-based visual navigation methods exhibit limitations in certain scenarios. Many existing solutions rely on simple comparisons of ground patterns. While this works reasonably well in scenarios with clear and minimally varied textures, the system often struggles to distinguish specific locations when faced with large areas of repetitive patterns. This problem stems not merely from insufficient technical means, but from the high similarity of the periodic characteristics of ground textures across different areas, leading to confusion during positioning and consequently affecting navigation stability. Specifically, ground patterns exhibit high spatial repetition frequency and similarity. When this repetition frequency is high, the vision system encounters multiple similar matches when comparing images, making it impossible to accurately determine the AGV's true location. This phenomenon stems from the regularity of the spatial distribution of periodic textures, making it difficult for the system to find a unique reference point within the search range. For example, in a warehouse covered with neatly arranged square tiles, where each tile has an almost identical pattern, the vision system may misjudge the current position as a repeating pattern from an adjacent or more distant area when the AGV is moving, leading to deviations in path planning and even navigation failure. Therefore, accurately identifying the true position of the AGV and ensuring the uniqueness of path determination when the periodicity of the ground texture is high has become a critical problem that urgently needs to be solved. Summary of the Invention

[0003] This invention provides a method for extracting and recognizing texture features for AGV navigation, mainly including:

[0004] Obtain the tile texture data of the current position of the AGV and the reference pattern in the global navigation map, calculate the similarity distribution between the tile texture data and the reference pattern, and extract the matching peak set;

[0005] Based on the analysis of the spatial distribution of the matching peak set, the positioning ambiguity caused by the repetition of texture cycles is identified;

[0006] Scan local non-periodic markers in the ambiguous positioning region, extract the geometric shape features and color attributes of the markers, and determine the unique anchor point coordinates;

[0007] The true location coordinates are determined based on the unique anchor point coordinates and the matching peak set.

[0008] The global navigation map is updated based on the actual location coordinates to generate an optimized navigation path. The continuity of the location is verified, the uniqueness of the global positioning path is determined, and the real-time movement route of the AGV is generated to obtain the optimized navigation path.

[0009] Furthermore, the tile texture data of the AGV's current position is obtained and compared with a reference pattern in the global navigation map. The similarity distribution between the tile texture data and the reference pattern is calculated, and a set of matching peaks is extracted, including:

[0010] Acquire the original image of the tile surface at the current location, perform median filtering on the original image to remove salt and pepper noise, and then use a Gaussian filter to eliminate high-frequency noise components to obtain a noise-suppressed tile texture image;

[0011] The estimated position of the AGV in the map coordinate system is calculated based on the travel distance and turning angle data measured by the AGV encoder. The tile reference pattern corresponding to the coordinate range of the estimated position is retrieved from the global navigation map database. The grayscale normalization processing is performed on the tile texture image and the reference pattern respectively. The sum of the products of the pixel grayscale values ​​of the two images at different offset positions is calculated to obtain the two-dimensional similarity distribution matrix.

[0012] A local maximum search is performed on the two-dimensional similarity distribution matrix. When the similarity value of a certain position in the matrix is ​​greater than the values ​​of the eight neighboring positions, the position is determined to be a matching peak point. The coordinates of each peak point and the corresponding similarity intensity value are recorded. If the number of peak points exceeds the threshold for the number of single peak matching points, it is determined that there is a periodic repetition of texture. The set of matching peaks containing all peak coordinates and corresponding intensity values ​​is output.

[0013] Furthermore, based on the analysis of the spatial distribution of the matching peak set, regions with blurred positioning caused by the repetition of texture periods are identified, including:

[0014] Extract the two-dimensional coordinates of each peak point from the matching peak set, calculate the straight-line distance between every two peak points, perform frequency statistics on the distance values, and determine the distance value as the repetition spacing of the tile texture when the frequency of a certain distance value exceeds the preset proportion of the total number of peak point pairs.

[0015] Based on the repetition interval, a circular neighborhood range centered on each peak point and with the repetition interval as the radius is determined. The number of other peak points contained in the neighborhood range of each peak point is counted. The peak density value is obtained by dividing the number of other peak points by the neighborhood area. If the peak density value exceeds a preset density threshold, the peak point is marked as a high-density point, and a high-density point set is obtained.

[0016] Perform convex hull operation on the high-density point set, and form the smallest convex polygon region containing all high-density points by connecting the outermost points, and output the boundary of the positioning fuzzy region.

[0017] Furthermore, after identifying the blurred positioning area caused by the repetition of texture period, the tile surface in the area is scanned line by line by the auxiliary marker recognition module according to the boundary coordinates of the blurred positioning area. Image binarization is used to separate the marker from the background, and the set of outline pixels of the marker is extracted to obtain the candidate area of ​​local non-periodic marker.

[0018] Dilation and erosion operations are performed on the candidate region to eliminate noise. The ratio of the square of the perimeter of the contour to the area is calculated as the roundness. The filling rate of the minimum bounding rectangle of the contour is calculated as the rectangularity. The roundness is used to determine the circular marker and the diameter is recorded. The rectangularity is used to determine the rectangular marker and the side length is recorded. At the same time, the average gray value and hue distribution of the pixels in the marked area are extracted to obtain the geometric shape feature vector and color attribute vector.

[0019] Based on the geometric shape feature vector and the color attribute vector, the data is matched with a pre-established database containing all marker features. The cosine similarity is calculated by dividing the vector inner product by the vector magnitude product. The unique identity of the marker is confirmed based on the similarity exceeding the uniqueness threshold and the existence of only a single matching result, thus obtaining the type code of the marker.

[0020] The AGV's offset relative to the marker is calculated by querying the global map database that stores the location of each marker by the type encoding of the marker, and then combining the pixel position of the marker in the current image with the camera parameters to determine the coordinates of the unique anchor point and the marker type.

[0021] Furthermore, scanning local non-periodic markers within the ambiguous positioning region, extracting the geometric shape features and color attributes of the markers, and determining unique anchor point coordinates includes:

[0022] Based on the boundary coordinates of the blurred positioning region, the surface of the tile within the blurred positioning region is scanned line by line. Image binarization is used to separate the marker from the background, and the set of outline pixels of the marker is extracted to obtain the candidate region of the local non-periodic marker.

[0023] Dilation and erosion operations are performed on the candidate region. The ratio of the square of the perimeter of the contour to the area is calculated as the roundness. The filling rate of the minimum bounding rectangle of the contour is calculated as the rectangularity. If the roundness meets the roundness determination condition, the diameter is recorded. If the rectangularity meets the rectangularity determination condition, the side length is recorded. At the same time, the average gray value and hue distribution of the pixels in the marked region are extracted to obtain the geometric shape feature vector and color attribute vector.

[0024] Based on the geometric shape feature vector and color attribute vector, cosine similarity is calculated with a pre-established tag feature database. If the similarity exceeds the uniqueness threshold and there is only a single matching result, the unique identity of the tag is confirmed, and the tag type is obtained.

[0025] By querying the global map database using the marker type to obtain preset coordinates, and combining the marker's pixel position in the current image, the offset of the AGV relative to the marker is calculated to determine the coordinates of the unique anchor point.

[0026] Furthermore, after determining the unique anchor point coordinates, the texture repetition spacing is extracted based on the unique anchor point coordinates and the tile texture data to determine the periodic intensity value; the position filtering range is dynamically adjusted based on the periodic intensity value, filtering constraints are established, and applied to the phase correlation method to obtain a preliminary location candidate point set.

[0027] Further, determining the periodic intensity value includes: performing coordinate system transformation on the tile texture data based on the unique anchor point coordinates, identifying the positions of significant feature points from the transformed texture data, calculating the distance sequence between adjacent feature points, performing frequency statistics on the distance sequence, and determining the distance value with the highest frequency as the texture repetition interval;

[0028] The texture repetition interval is compared with a preset periodicity threshold, the total number of peaks generated during texture matching is counted, and the total number of peaks is divided by the area of ​​the detection region to obtain the peak density parameter.

[0029] The initial intensity value is calculated based on the peak density parameter and the texture repetition spacing. The initial intensity value is then normalized to determine the periodic intensity value.

[0030] Furthermore, after obtaining the preliminary candidate point set, the coordinates of the unique anchor point and the marker type are integrated based on the preliminary candidate point set to determine the true location coordinates.

[0031] Furthermore, based on the unique anchor point coordinates and the matching peak set, the true location coordinates are determined, including:

[0032] Calculate the distance from each candidate point to the coordinates of the unique anchor point;

[0033] The initial weights are calculated by multiplying the inverse distance from each candidate point to the coordinates of the unique anchor point by the peak intensity, and then normalized to obtain the fusion weight coefficients.

[0034] The candidate point coordinates are weighted and averaged using the aforementioned fusion weighting coefficients to obtain the fused coordinates.

[0035] The point with the smallest distance from the fused coordinates is selected from the candidate points to determine the true position coordinates.

[0036] Furthermore, the global navigation map is updated based on the actual location coordinates to generate an optimized navigation path, and the location continuity is verified, including:

[0037] Update the unique location identifier in the global navigation map based on the actual location coordinates, and refresh the associated index of adjacent areas;

[0038] Based on the refreshed map data, a pathfinding algorithm is used to calculate the movement route from the current location to the target location, and a smoothing process is performed to obtain the optimized navigation path.

[0039] The position points on the navigation path are sampled at intervals, and the displacement vector and turning angle of adjacent sampled points are calculated to obtain the rate of change.

[0040] If the rate of change exceeds a preset threshold, the location of the discontinuity point is recorded, and the path continuity is re-verified.

[0041] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects:

[0042] This invention discloses a method for extracting and recognizing texture features for AGV navigation. Addressing the problem of ambiguous positioning in complex environments due to the periodic repetition of tile textures, the method captures texture data at the current location and filters out noise. This data is then compared with a global navigation map reference pattern to extract matching peaks and spatial distribution. Peak density and repetition spacing are analyzed to identify ambiguous areas. Simultaneously, an auxiliary marker recognition module scans local non-periodic markers, verifying uniqueness based on geometric shape and color attributes to determine anchor point coordinates. Furthermore, the method integrates texture repetition spacing and marker features, dynamically adjusting the filtering range to eliminate false peaks. Distance weighting is used to optimize the candidate point set, ultimately determining the true location and updating the navigation path. This invention, through a dual mechanism of texture analysis and marker verification, significantly improves the uniqueness of AGV positioning and navigation accuracy in environments with repetitive textures, achieving stable optimization of the global path. Attached Figure Description

[0043] Figure 1 This is a flowchart of an AGV navigation texture feature extraction and recognition method according to the present invention.

[0044] Figure 2 This is a schematic diagram of an AGV navigation texture feature extraction and recognition method according to the present invention.

[0045] Figure 3 This is another schematic diagram of an AGV navigation texture feature extraction and recognition method according to the present invention. Detailed Implementation

[0046] The technical solution of the present invention will be clearly and completely described below with reference to the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0047] like Figures 1-3 This embodiment of the AGV navigation texture feature extraction and recognition method specifically includes:

[0048] S101. Preprocess the tile texture data of the current position of the AGV, retrieve the reference pattern of the corresponding area in the global navigation map, identify the similarity distribution between the current texture and the reference pattern, and extract multiple matching peaks and peak intensities.

[0049] The AGV's bottom camera captures the original image of the tile surface at the current position. Median filtering is applied to the original image to remove salt-and-pepper noise, and a Gaussian filter is used to eliminate high-frequency noise components, resulting in a noise-suppressed tile texture image. Based on the travel distance and turning angle data measured by the AGV encoder, the estimated position of the AGV in the map coordinate system is calculated. A tile reference pattern within the coordinate range corresponding to the estimated position is retrieved from the global navigation map database. Gray-level normalization is performed on both the tile texture image and the reference pattern. The sum of the products of pixel gray-level values ​​at different offset positions in the two images is calculated to obtain a two-dimensional similarity distribution matrix representing the degree of texture similarity. Local maximum search is performed on the two-dimensional similarity distribution matrix. When the similarity value at a certain position in the matrix is ​​greater than the values ​​of its eight neighboring positions, that position is determined to be a matching peak point. The coordinates and corresponding similarity intensity values ​​of each peak point are recorded. If the number of peak points exceeds one, it is determined that there is a periodic repetition of the texture, and a set of matching peaks containing all peak coordinates and corresponding intensity values ​​is output. Otherwise, it is determined to be a single-peak matching, and the peak coordinates and intensity values ​​are output.

[0050] For example, an AGV bottom camera captures images of the tile surface at a fixed frequency. The camera is mounted vertically downwards, maintaining a constant distance from the ground. The captured raw images are first processed by a median filter, selecting the median value within a 3×3 neighborhood of each pixel to replace the original pixel value, effectively removing salt-and-pepper noise. Subsequently, a Gaussian filter is applied, and a Gaussian kernel function is used to perform convolution operations on the image, smoothing the image and eliminating high-frequency noise.

[0051] Specifically, the encoder data conversion process involves pulse accumulation from the wheel odometer and integration of the steering angle. The encoders on the left and right wheels of the AGV record their respective rotation pulse counts. The travel distance is calculated by multiplying the pulse count by the wheel circumference, and the difference in travel distance between the two wheels is divided by the wheelbase to obtain the steering angle. Based on this data, a dead reckoning algorithm is used to calculate the estimated position of the AGV in the map coordinate system. The estimated position includes three components: the horizontal coordinate, the vertical coordinate, and the heading angle. The global navigation map database pre-stores complete tile pattern information of the factory floor, with each tile pattern marked with precise coordinates. Based on the estimated position, a reference pattern for the corresponding area is extracted from the database; the search range is typically set to a 2m x 2m rectangular area around the current estimated position.

[0052] It should be noted that grayscale normalization maps the pixel grayscale values ​​of the tile texture image and the reference pattern to a standard range of 0 to 1, eliminating the influence of differences in lighting conditions. The similarity between the two normalized images is calculated by pixel-by-pixel multiplication and summation. This operation is repeated at different horizontal and vertical offsets to form a two-dimensional similarity distribution matrix.

[0053] In one possible implementation, local maxima search employs a sliding window approach to traverse the entire similarity distribution matrix. The eight neighbors refer to the eight adjacent positions surrounding an element in the matrix, including four forward neighbors (up, down, left, right) and four diagonal neighbors. When the similarity value of the center position is significantly greater than the values ​​of these eight neighboring positions, that position is marked as a peak point. The row and column indices of each peak point in the matrix are recorded as its coordinates, and the similarity value at that position is extracted as the peak intensity. The peak count threshold is typically set to 1; when the number of detected peaks exceeds this threshold, it indicates the presence of a periodic repeating pattern in the floor tiles.

[0054] Preferably, the set of matched peaks is stored in the form of structured data, and each peak contains two attributes: coordinate position and intensity value.

[0055] S102. Analyze the spatial distribution of the extracted multiple matching peaks, count the number of peaks and the repetition interval between peaks, and identify the positioning ambiguity caused by the periodic repetition of texture.

[0056] The two-dimensional coordinates of each peak point are extracted from the matched peak set. The straight-line distance between any two peak points is calculated, and the frequency of these distance values ​​is statistically analyzed. When the frequency of a certain distance value exceeds a preset proportion of the total number of peak point pairs, this distance is determined to be the repetition spacing of the tile texture. Based on the repetition spacing, a circular neighborhood range is determined with each peak point as the center and the repetition spacing as the radius. The number of other peak points contained within the neighborhood range of each peak point is counted, and this number is divided by the neighborhood area to obtain the peak density value. If the density value exceeds a preset density threshold, the peak point is marked as a high-density point, thus obtaining a high-density point set. The convex hull operation in computational geometry is performed on the high-density point set. By connecting the outermost points, a minimum convex polygon region containing all high-density points is formed. The vertex coordinates and area of ​​this convex polygon are calculated, and the boundary of the positioning ambiguity region caused by the periodic repetition of the texture is output.

[0057] For example, the row and column indices of each peak point are read one by one from the set of matching peaks and converted into horizontal and vertical coordinates in the tile map coordinate system. By traversing all pairs of peak points, the straight-line distance between any two points is calculated to form a sequence of distance values.

[0058] Specifically, the construction process of the circular neighborhood involves the rational use of repetition spacing. After determining the repetition spacing of the tile texture, a circular area is delineated with each peak point as the center and the repetition spacing as the search radius. The number of other peak points within this area is counted; this number reflects the density of texture repetition around that location. The peak density value is obtained by dividing the number of peak points by the area of ​​the circular neighborhood, where the area is determined according to... The calculation involves setting r as the repetition interval. The preset density threshold is typically set based on the regularity of the tile arrangement. When factory workshop floor tiles are arranged in a regular rectangular pattern, theoretically, each peak point should have 4 or 8 adjacent repetition points. The theoretical density value is this number divided by the area of ​​the circular neighborhood. If the actual density value exceeds 0.8 times the theoretical density value, the point is considered a high-density point, indicating a significant periodic repetition of the texture in that area. The frequency statistics process uses a histogram method, quantizing distance values ​​to discrete intervals with a certain precision, and counting the number of distances within each interval. When the frequency of a certain interval is significantly higher than other intervals, the distance corresponding to that interval is the main repetition interval of the tile texture.

[0059] In one possible implementation, the convex hull operation is implemented using the Graham scan algorithm. First, the point with the smallest y-coordinate among all high-density points is found as the starting point. Then, the remaining points are sorted according to their polar angles. These points are connected sequentially. When connecting a new point, it is determined whether a left turn is formed. If a right turn is formed, the connection is reversed back to the previous point, and the process continues until the starting point is reached, forming a closed polygon. This polygon is the smallest convex polygon containing all high-density points. Its vertex coordinate sequence and internal area together define the localization ambiguity region caused by texture periodic repetition.

[0060] Preferably, by identifying the boundaries of ambiguous positioning areas, the AGV navigation system can predict where additional auxiliary positioning methods are needed, thereby improving the overall navigation reliability.

[0061] The position coordinates of each peak on the tile surface are obtained from the matching peaks. The interval distance between adjacent peaks and the dispersion range of peaks in the map area are collected. The degree of peak aggregation when the interval distance shows a repeating pattern is analyzed. The coverage boundary of the blurred area after the peak dispersion range expands is evaluated. The distribution status of multiple candidate locations caused by texture repetition is determined.

[0062] The pixel coordinates of each peak point are read from the matched peak set. Using the ratio of the AGV camera's focal length to the ground height, the pixel coordinates are converted into the physical position coordinates of the peak points on the actual tile surface. The straight-line distance between all adjacent peak pairs is calculated to obtain an interval distance sequence. This interval distance sequence is grouped by numerical value. When the distance value deviation within a group is less than a preset tolerance range and the number of distances contained in that group exceeds a preset proportion of the total, the distance value of that group is determined to be a repeating pattern. The number of peak point pairs with repeating interval characteristics is counted and divided by the theoretically maximum possible number of pairs to obtain the peak clustering coefficient. Based on the peak clustering coefficient and the peak physical coordinates, the minimum bounding rectangle containing all peak points is calculated. If the clustering coefficient exceeds a preset threshold, the rectangle is expanded outward by a fixed multiple of its side length to form an expanded coverage area. The grid intersections distributed according to repeating intervals within this area are recorded as candidate positions. The set of candidate position coordinates and their distribution density values ​​are output for subsequent scanning and auxiliary positioning based on the boundary coordinates of the positioning ambiguity area.

[0063] In one embodiment, the pixel coordinates of the peak point are converted into physical coordinates using a camera calibration matrix. The AGV's bottom camera is fixed at a height of 0.3 meters above the ground. Based on the geometric relationship of the camera's focal length of 800 pixels and field of view of 60 degrees, the actual ground size corresponding to each pixel is the height value multiplied by the tangent of the field of view and then divided by the focal length, thereby achieving a precise mapping from pixel coordinates to physical coordinates.

[0064] Specifically, the grouping of distance sequences employs a tolerance-based clustering method. The tolerance range is set to 2% of the tile's side length; when the difference between two distance values ​​is less than this tolerance, they are grouped together. The number of distances within each group is counted. If a group contains more than 30% of the total number of distance pairs, the distance value represented by that group is considered a repeating interval in the tile arrangement. This repeating interval typically corresponds to the tile's side length or diagonal length. The calculation of the peak clustering coefficient involves evaluating the spatial distribution of all peak points, specifically by counting the number of peak point pairs with repeating interval characteristics and dividing by the theoretical maximum possible pairing number. When the tiles are arranged in a regular rectangular pattern, the theoretical pairing number is the product of the horizontal and vertical peak numbers minus one. The closer the clustering coefficient is to 1, the more pronounced the periodic repetition of the texture. The clustering coefficient reflects the regularity of the tile texture within the AGV's field of view. A high clustering coefficient means the existence of a large number of similar texture patterns, making it difficult to determine a unique location solely through texture matching.

[0065] In one possible implementation, candidate locations are determined based on a virtual grid constructed using repetition intervals. Based on the identified repetition interval values, grid lines are constructed within the smallest bounding rectangle containing all peaks, with the horizontal and vertical grid line intervals equal to the repetition interval. When the clustering coefficient exceeds a preset threshold of 0.6, indicating significant periodic repetition, the rectangle boundary is expanded outward by a factor of 1.5 to broaden the search area. The intersections of the grid lines represent the possible actual locations of the AGV, and the coordinates of these intersections constitute the candidate location set. The distribution density value is calculated by dividing the number of candidate locations by the area of ​​the expanded region, used to quantify the degree of positioning uncertainty.

[0066] Preferably, the output set of candidate position coordinates and distribution density values ​​provide clear search targets for subsequent auxiliary positioning, enabling the AGV to specifically search for non-periodic markers near these candidate positions.

[0067] S103. Based on the identified ambiguous positioning area, scan the local non-periodic marker positions, perform uniqueness verification based on the geometric shape features and color attributes of the markers, and obtain unique anchor point coordinates and marker types.

[0068] Based on the boundary coordinates of the ambiguous region, the image acquisition function of the auxiliary marker recognition module scans the tile surface within that region line by line. Image binarization is used to set pixels with grayscale values ​​above a threshold to white and those below the threshold to black, separating the marker from the background. The set of outline pixels of the marker is extracted to obtain candidate regions for local non-periodic markers. Dilation and erosion operations are performed on the candidate regions to eliminate noise. The ratio of the square of the outline perimeter to the area is calculated as roundness, and the filling rate of the minimum bounding rectangle of the outline is calculated as rectangularity. If the roundness is close to 4π, it is determined to be a circular marker and the diameter is recorded; if the rectangularity is greater than a preset threshold, it is determined to be a rectangular marker and the side length is recorded. Simultaneously, the average grayscale value and hue distribution of pixels within the marker region are extracted to obtain geometric shape feature vectors and color attribute vectors. Based on the geometric shape feature vectors and color attribute vectors, they are matched with a pre-established database containing all marker features. Cosine similarity is calculated by dividing the vector inner product by the vector magnitude product. If the similarity exceeds the uniqueness threshold and there is only a single matching result, the unique identity of the marker is confirmed, and the type code of the marker is obtained. The preset coordinates of the marker are obtained by querying the global map database that stores the locations of each marker by the type code of the marker. The offset of the AGV relative to the marker is calculated by combining the pixel position of the marker in the current image and the camera focal length and height parameters, and the unique anchor point coordinates and marker type are determined.

[0069] In one embodiment, the auxiliary marker recognition module includes a high-resolution industrial camera and an image processing unit. The industrial camera is equipped with a ring-shaped LED light source to ensure uniform illumination of the tile surface and eliminate shadow interference. When the AGV enters a positioning ambiguity area, the camera continuously captures images of the ground according to a preset scanning path, each image covering a 0.5m x 0.5m tile area, with a 10% overlap between adjacent image areas to avoid missing markers at edge positions. An adaptive method is used to determine the binarization threshold. By calculating the mean and standard deviation of pixel grayscale values ​​within a local window, the threshold is set to the mean plus 0.5 times the standard deviation. This dynamic thresholding method can adapt to differences in illumination in different areas, improving the separation effect between the marker and the background.

[0070] Specifically, the morphological operation process involves multiple steps. The dilation operation uses a 3×3 structuring element to extend the marker edge outward by one pixel, filling in minor breaks in the contour. The subsequent erosion operation uses a structuring element of the same size to shrink the dilated contour inward, removing isolated noise. Roundness is calculated based on the contour's perimeter P and area A, using the formula... The circularity value of an ideal circle is 1. Rectangularity is calculated by dividing the contour area by the area of ​​its smallest bounding rectangle. A circularity greater than 0.85 indicates a circular shape, and the diameter of the smallest bounding circle is extracted as a feature parameter. A rectangularity greater than 0.9 indicates a rectangular shape, and the long and short sides of the smallest bounding rectangle are extracted. Contours that satisfy neither the circular nor rectangular conditions are classified as triangles or other polygons, and the number of vertices and the distribution of interior angles are extracted as shape features using a polygon fitting algorithm.

[0071] In one possible implementation, the geometric feature vector contains five numerical dimensions: shape category encoding, primary dimension parameter, secondary dimension parameter, shape complexity, and orientation angle. The color attribute vector contains three components of the HSV color space: the dominant peak of hue (H), the mean of saturation (S), and the mean of lightness (V). This eight-dimensional feature vector can fully describe the visual characteristics of the marker.

[0072] For example, the calculation of cosine similarity involves the normalization of feature vectors. First, the feature vector to be matched and the reference vector in the database are both normalized using the L2 norm, making the vector length 1. Then, the dot product of the two normalized vectors is calculated, and the resulting value is the cosine similarity, ranging from 0 to 1. The database stores the feature vectors of all preset markers within the factory, each marker having a unique code and corresponding map coordinates. During matching, the similarity between the marker to be identified and all markers in the database is calculated, and the highest similarity is selected as the candidate match. If the highest similarity exceeds the uniqueness threshold of 0.95, and the second highest similarity is below 0.7, then the match is confirmed as successful, and the unique type code of the marker is obtained. This dual-determination mechanism avoids false matches caused by similar markers.

[0073] Preferably, the marker feature database is established through offline learning during the initial deployment of the AGV system. Technicians pre-set markers of different shapes and colors on the factory floor. Standard images of each marker are captured by a camera mounted on the AGV, feature vectors are extracted, and their precise coordinates are correlated to form a complete marker feature database. Further, the coordinate transformation process utilizes the camera's intrinsic and extrinsic parameter matrices. The intrinsic parameter matrix contains inherent parameters such as focal length and principal point coordinates, while the extrinsic parameter matrix describes the camera's position and orientation relative to the AGV's coordinate system. Through the inverse transformation of perspective projection, the pixel coordinates of the marker in the image are converted to physical coordinates relative to the AGV. The offset calculation considers the AGV's current heading angle, rotates the relative coordinates to the global map coordinate system, and then subtracts the preset coordinates of the marker in the database to obtain the AGV's position deviation.

[0074] Understandably, determining the coordinates of a unique anchor point provides the AGV with an absolute position reference. When periodic textures cause positioning ambiguity, non-periodic markers become crucial for resolving this ambiguity. By accurately identifying the markers and calculating positional deviations, the AGV can correct accumulated positioning errors.

[0075] For example, when AGVs are running in a warehouse with regularly laid tiles, unique geometric markers are set at key locations every 10 meters. The shapes and color combinations of these markers are unique throughout the factory, ensuring the uniqueness and reliability of the positioning.

[0076] Obtain the outline boundary of the marker on the ground tile from the fuzzy positioning area, collect the circular diameter or rectangular side length of the marker and the color depth of the marker surface, analyze the shape category when the marker outline boundary presents a regular geometric shape, evaluate the contrast difference between the color depth of the marker and the color of the surrounding tiles, and determine the unique identity of the marker and its location coordinates on the map.

[0077] The marker outline boundary pixel sequence is extracted from the image of the blurred region. An auxiliary marker recognition module uses a gradient operator to detect edges and track closed contours. The minimum circumscribed circle diameter and the length and width of the minimum circumscribed rectangle are calculated. Simultaneously, the grayscale distribution of all pixels within the contour is collected to obtain the marker's geometric dimensions and color depth data. Based on the geometric dimensions, the variance of the distance from the contour point to the fitted circle center is calculated as the circle fitting error, and the deviation of the ratio of the contour area to the circumscribed rectangle area is calculated as the rectangle fitting error. If the circle fitting error is less than a preset threshold, it is classified as a circle and its diameter value is recorded; if the rectangle fitting error is less than a preset threshold, it is classified as a rectangle and its length and width values ​​are recorded, thus obtaining the marker's shape category and feature dimensions. The color depth data is compared with the color data of the surrounding tile area. The mean and variance of the grayscale difference between the marker and the background are calculated. If the mean difference exceeds a preset contrast threshold and the variance is less than a preset consistency threshold, the marker is confirmed to be significant. The mean difference is divided by the variance to obtain the color contrast feature value. The feature combination consisting of the shape category, feature size and color contrast feature value is used to search and match in the database that stores the feature information of each mark in advance. If a unique record is matched, the identity code and preset coordinates of the record are extracted. The actual physical coordinates are calculated by multiplying the pixel coordinates of the mark center in the image by the pixel physical size ratio coefficient, and the unique identity of the mark and its relative physical coordinates relative to the AGV are determined.

[0078] In one embodiment, the choice of gradient operator depends on the complexity of the tile texture. For smooth tiles with simple textures, the Sobel operator is used to calculate the gradients in the horizontal and vertical directions, and edge information is extracted using a 3×3 convolution kernel. For patterned tiles with complex textures, the Canny edge detection operator is used, first performing Gaussian smoothing to suppress noise, then calculating the gradient magnitude and direction, and obtaining accurate edge points through non-maximum suppression and double thresholding.

[0079] It should be noted that contour tracing starts from the first white pixel in the edge image and searches for the next edge point in a clockwise direction according to the 8-neighborhood connectivity rule until it returns to the starting point to form a closed contour. During the tracing process, the coordinates of each contour point are recorded, forming an ordered sequence of pixels.

[0080] Specifically, the calculation of the circular fitting error involves a least-squares circle fitting process. First, based on the coordinates of the contour points, the coordinates of the center and radius of the fitted circle are obtained by solving a system of linear equations. The actual distance from each contour point to the center is calculated, and the difference between this distance and the fitted radius is squared. The sum of the squares of all differences, divided by the number of contour points, yields the mean square error, which is used as the circular fitting error. The calculation of the rectangular fitting error is based on the filling rate of the minimum bounding rectangle. The minimum bounding rectangle of the contour is determined using a rotating caliper algorithm, and the ratio of the actual area of ​​the contour to the area of ​​the bounding rectangle is calculated. The ideal rectangle has a filling rate of 1, and the absolute value of the difference between the actual filling rate and 1 is used as the rectangular fitting error. When the circular fitting error is less than 0.02, it is determined to be a circular mark, and the diameter of the fitted circle is extracted as the feature dimension. When the rectangular fitting error is less than 0.1, it is determined to be a rectangular mark, and the long and short sides of the bounding rectangle are recorded. This dual determination mechanism can accurately distinguish marks of different shapes.

[0081] In one possible implementation, the shape determination threshold is determined using statistical learning methods. During system deployment, a large number of labeled samples with known shapes are collected, the fitting error distribution of each sample is calculated, and the error value that achieves a 95% correct classification rate is selected as the determination threshold. The threshold is stored in the system configuration file and can be adjusted according to the actual application scenario.

[0082] For example, the implementation process of color contrast analysis includes multiple processing steps. First, the grayscale values ​​of all pixels within the marker outline are extracted, and the average value is calculated as the representative grayscale of the marker. Then, a 10-pixel-wide annular region is delineated around the marker outline, and the grayscale values ​​of the tile background within this region are collected, calculating the average grayscale value of the background. The difference between the marker grayscale and the background grayscale reflects the degree of contrast between the two. The variance of the grayscale values ​​of all pixels within the outline and the average grayscale value of the marker is calculated to evaluate the consistency of colors within the marker. When the average difference is greater than 50 grayscale levels and the variance is less than 100, the marker is considered to have good saliency. The color contrast feature value is obtained by dividing the average difference by the square root of the variance; the larger this value, the easier the marker is to recognize. This quantification method comprehensively considers both contrast and consistency factors.

[0083] Preferably, all feature values ​​are normalized before storage. Shape and size features are divided by the standard side length of the tile, and color contrast features are divided by the maximum possible value of 255, mapping all feature components to the range of 0 to 1, facilitating subsequent feature matching calculations. Furthermore, feature matching uses a weighted Euclidean distance metric. The weight for shape category is set to 0.4, the weight for size features is 0.3, and the weight for color features is 0.3. The database pre-stores the feature vectors and corresponding identification codes of all markers within the factory. During retrieval, the weighted distance between the marker to be identified and each marker in the database is calculated, and the smallest distance is selected as the matching result. If the smallest distance is less than 0.1 and the second smallest distance is greater than 0.3, the match is confirmed successful, and the corresponding identification code and preset coordinates are extracted.

[0084] Understandably, calculating physical coordinates requires considering the camera's imaging model. Based on the pinhole imaging principle, there's a proportional relationship between pixel coordinates and physical coordinates. The pixel physical size scaling factor equals the camera height divided by the focal length, then multiplied by the sensor pixel size. Multiplying the pixel coordinates of the marker's center by this factor yields the marker's physical offset relative to the AGV.

[0085] For example, in practical applications, the factory has placed circular markers with a diameter of 50 mm and rectangular markers with a side length of 60 mm near key intersections and charging stations. These markers use a high-contrast black and white color scheme to ensure accurate identification under different lighting conditions, providing reliable positioning reference points for the AGV.

[0086] S104. Extract the texture repetition spacing based on the unique anchor point coordinates and the tile texture data, analyze the size of the texture repetition spacing and the preset threshold, and determine the periodic intensity value.

[0087] The precise location of the AGV is determined based on the coordinates of a unique anchor point. Using this location as a reference, the tile texture data is transformed to a new coordinate system. The locations of significant feature points in the transformed texture data are identified, and the distance sequence between adjacent feature points is calculated. Frequency statistics are performed on this distance sequence, and the distance value with the highest frequency is determined as the texture repetition interval. The texture repetition interval is compared with a preset periodicity threshold. If the repetition interval is less than the threshold, a periodic texture is determined to exist. The total number of peaks generated during texture matching is counted, and the peak density parameter is obtained by dividing the number of peaks by the detection area. Based on the peak density parameter and the texture repetition interval, the initial intensity value is calculated by multiplying the peak density parameter by the reciprocal of the repetition interval. The initial intensity value is then normalized by dividing it by the maximum possible value, mapping it to a standard range of 0 to 1, thus determining the periodic intensity value. The maximum possible value is defined as the detection area divided by the minimum possible repetition interval. The initial intensity value is calculated as: Initial Intensity Value = Peak Density Parameter × Texture Repetition Interval; Normalized Intensity Value after Reciprocal = Initial Intensity Value / Maximum Possible Value, mapped to a range of 0 to 1, thus determining the periodic intensity value.

[0088] In one embodiment, unique anchor point coordinates provide an absolute reference for AGV positioning. These anchor point coordinates eliminate previously accumulated positioning errors, accurately correcting the AGV's position to the global map coordinate system. This correction is crucial for subsequent texture periodicity analysis, as the repetitive characteristics of the texture can only be correctly assessed based on accurate positioning.

[0089] Specifically, the coordinate system transformation process involves mapping from the image coordinate system to the world coordinate system. A local coordinate system is established with the anchor point as the origin, and each pixel in the tile texture data is repositioned based on its position relative to the anchor point. The identification of salient feature points employs a corner detection method. By calculating the autocorrelation matrix of the image gradient, locations with strong directional changes in the texture are identified. These feature points typically correspond to intersections of tile edges, transitions in texture patterns, or abrupt color changes. All detected feature points are sorted according to their spatial location, and the Euclidean distance between adjacent feature points is calculated. These distance values ​​are then plotted in a histogram, with the horizontal axis representing the distance value and the vertical axis representing the frequency of occurrence. The distance corresponding to the peak value in the histogram is the primary repetition interval of the texture. When multiple peak values ​​exist, the distance corresponding to the peak with the highest frequency is selected as the texture repetition interval.

[0090] It should be noted that the repeating spacing of the texture reflects the regularity of the tile arrangement. For regularly arranged square tiles, the repeating spacing is equal to the side length of the tile; for diamond-shaped tiles, the repeating spacing corresponds to the diagonal length.

[0091] In one possible implementation, the periodicity threshold is set to 1.5 times the standard size of the tile. When the detected repetition interval is less than this threshold, it indicates the presence of multiple repeating texture units within the AGV's field of view. Peak density is obtained by counting the number of peaks per unit area, specifically calculated by dividing the total number of peaks by the area of ​​the detection region, expressed as peaks per square meter.

[0092] Preferably, the calculation of the periodicity intensity value takes into account both peak density and repetition interval. The closer the intensity value is to 1, the stronger the periodicity of the texture, the greater the uncertainty in localization, and the more reliance on auxiliary markers for localization correction is required.

[0093] S105. Dynamically adjust the location screening range based on the periodic intensity value, establish screening constraints, and apply them to the phase correlation method to obtain a preliminary set of candidate points for location.

[0094] Intensity levels are categorized based on periodic intensity values: 0-0.3 indicates low intensity, 0.3-0.7 indicates medium intensity, and 0.7-1 indicates high intensity. For high intensity, the search radius is doubled; for low intensity, the search radius remains unchanged, resulting in a dynamically adjusted position filtering range. From this range, the shape category code, minimum circumscribed circle diameter, or rectangle length and width, and principal axis angle, all marked in the previous steps, are extracted as geometric features. Constraint weights are set according to the shape category: the position weight for circular markers is 0.7, and the direction weight is 0.3; the position weight for rectangular markers is 0.4, and the direction weight is 0.6. This constructs a set of filtering constraints including positional and angular deviation tolerances. The image data within the selected range is processed using the preceding phase correlation method. The images are then transformed to the frequency domain via Fourier transform. The cross-power spectrum is obtained by calculating the conjugate product of the spectra of two images. An inverse Fourier transform is performed to obtain the correlation peak distribution. Each correlation peak is verified according to the set of selection constraints, eliminating peaks that do not meet the constraints and retaining those that do as valid peaks. Peak location coordinates and peak intensity values ​​are extracted from these valid peaks. Peaks are sorted from highest to lowest intensity, and the location coordinates corresponding to peaks with intensities exceeding 0.8 times the average intensity are selected to form a preliminary candidate point set.

[0095] In one embodiment, the periodicity intensity value serves as a key indicator for quantifying the degree of texture repetition, directly impacting the AGV's localization search strategy. When the texture periodicity is strong, multiple similar matching results will appear near a single location, requiring an expanded search range to cover all possible candidate locations. Conversely, when the periodicity is weak, the matching results are relatively concentrated, and narrowing the search range can improve computational efficiency. This dynamic adjustment mechanism enables the localization algorithm to adapt to different texture environments. The intensity level classification is based on statistical analysis of a large amount of experimental data. Through testing on different types of tile floors, it was found that when the intensity value is below 0.3, the texture repetition is low, and the localization ambiguity is small; when it is above 0.7, there is severe periodic repetition, making localization difficult.

[0096] Specifically, the phase correlation method is an image matching method in the frequency domain, exhibiting good robustness to illumination variations and noise. Its basic principle utilizes the displacement theorem of the Fourier transform to convert spatial domain displacement into frequency domain phase difference. First, a two-dimensional fast Fourier transform is performed on both the reference image and the image to be matched, yielding their respective spectral representations. Then, the cross-power spectrum of the two spectra is calculated by multiplying one spectrum by the conjugate of the other, and normalizing the product to a magnitude of 1, retaining only phase information. An inverse Fourier transform is then performed on the normalized cross-power spectrum, resulting in a correlation function whose peak position corresponds to the displacement between the two images. Ideally, the correlation function should exhibit a single sharp peak. However, in cases of periodic texture repetition, multiple peaks may appear, each representing a possible matching position.

[0097] In one possible implementation, different methods are used for extracting geometric features depending on the type of marker. For circular markers, the center coordinates and radius are extracted using the Hough circle detection algorithm, and the radius is multiplied by 2 to obtain the diameter. For rectangular markers, the minimum area bounding rectangle algorithm is used to obtain the dimensions of the long and short sides of the rectangle, as well as the angle of the principal axis. The angle is calculated based on the angle between the long side of the rectangle and the horizontal axis.

[0098] For example, the constraint weight allocation strategy considers the geometric characteristics of different shaped markers. Circular markers are rotationally invariant, maintaining their shape at any angle, thus providing more reliable positional information and are assigned a high positional weight of 0.7. Directional information contributes less to the recognition of circular markers, and its weight is set to 0.3. Rectangular markers, on the other hand, have a clear directionality; their long side provides important orientational information, therefore the directional weight is increased to 0.6, and the positional weight is correspondingly reduced to 0.4. The constraint set comprises two main parts: the positional deviation tolerance defines the maximum permissible deviation between the peak position and the expected position, typically set to 10% of the tile's side length; the angle deviation tolerance defines the maximum permissible error in the direction angle, generally set to 15 degrees. These constraints are used to filter multiple peaks generated by the phase correlation method.

[0099] Preferably, the constraint verification process employs a weighted scoring mechanism. For each peak, its positional and angular deviations are calculated, multiplied by their respective weights, and then summed to obtain a comprehensive deviation score. Only peaks with a comprehensive deviation score below a preset threshold are considered valid peaks. Further, peak selection uses a relative intensity discrimination method. First, the average intensity of all valid peaks is calculated, and then a selection threshold is set to 0.8 times the average intensity. This relative threshold setting method can adapt to variations in image quality and texture features. Peaks with intensity exceeding the selection threshold are selected, and their corresponding image coordinates are transformed into the AGV's physical location coordinates on the map. These coordinate points constitute a preliminary set of candidate positioning points. The number of candidate points is typically controlled between 3 and 10, ensuring the reliability of positioning while avoiding the computational burden caused by too many candidate points.

[0100] For example, in a real factory environment, when an AGV passes through an area with dense tile seams, the phase correlation method may generate more than 20 peaks. By verifying the geometric constraints, 15 false peaks that do not meet the conditions are eliminated, and then through intensity screening, 4 candidate locations with high confidence are obtained.

[0101] S106. Based on the preliminary candidate point set, integrate the coordinates of the unique anchor point and the marker type, evaluate the weight allocation, and select the point with the smallest distance from the fused point set and the anchor point as the true position. If the deviation of the fusion result exceeds the allowable range, rescan the non-periodic marker position to determine the corrected positioning anchor point.

[0102] The coordinates and peak intensities of each candidate point are extracted from the initial candidate point set. The coordinates of the unique anchor point and the marker type information are added to the candidate point data structure. The Euclidean distance from each candidate point to the anchor point is calculated. × Peak intensity is used to calculate initial weights. To prevent the elimination of zero constants, all initial weights are normalized to obtain fusion weight coefficients. These fusion weight coefficients are used to perform a weighted average calculation on the candidate point coordinates to obtain the fused position coordinates. The distance deviation between the fused coordinates and the coordinates of each original candidate point is calculated, and the point with the smallest distance from the fused coordinates is selected as the initial true position. The distance deviation between the initial true position and the unique anchor point is calculated. If the deviation exceeds 0.3 times the tile side length (as an allowable range), the current unique anchor point is deemed invalid. The auxiliary marker recognition module then rescans the non-periodic markers in the current area to obtain new marker features and position information. Based on the new marker features, a matching verification is performed in the pre-stored marker feature records. After confirming the uniqueness of the marker, its preset coordinates are extracted and used as the corrected unique anchor point. The fusion operation is then re-executed to obtain the final true position coordinates.

[0103] In one embodiment, the data structure for the initial candidate point set is stored in the form of a linked list. Each node contains attributes such as the candidate point's two-dimensional coordinates, corresponding peak intensity value, and source identifier. Unique anchor point coordinates and tag type information are added as global parameters to the head of the data structure for quick access during subsequent fusion operations. This data organization method maintains the independence of candidate points while establishing a relationship with anchor points.

[0104] Specifically, the calculation of the fusion weight coefficients involves a comprehensive consideration of distance and intensity factors. The distance factor is calculated by taking the inverse of the Euclidean distance from each candidate point to the anchor point; candidate points closer to the anchor point receive higher distance weights. The intensity factor directly uses the peak intensity value of the candidate point, reflecting its reliability in phase-correlation matching. The initial weight value is obtained by multiplying the inverse distance by the peak intensity; this product relationship ensures that candidate points that are both close to the anchor point and have high matching intensity receive higher weights. Normalization is achieved by dividing each initial weight by the sum of all initial weights, ensuring that the sum of the weight coefficients of all candidate points is 1. This normalization ensures the mathematical rationality of the weighted average calculation. When a candidate point simultaneously satisfies both the conditions of close distance and high intensity, its fusion weight may reach 0.4 to 0.5, while candidate points that are far away and have low intensity may only have weights of 0.05 to 0.1.

[0105] It should be noted that the weighted average operation fuses the coordinates of discrete candidate points into a continuous location estimate. This is achieved by multiplying the x and y coordinates of each candidate point by its respective weight coefficient, and then summing all the weighted coordinates to obtain the fused location coordinates.

[0106] In one possible implementation, the initial true location is determined using the nearest neighbor principle. The Euclidean distance between the fused coordinates and the coordinates of each original candidate point is calculated, forming a distance array. The minimum distance is then iterated through to find the index of the candidate point corresponding to it; this candidate point is the initial true location. This selection strategy is based on the fact that the fused coordinates represent the weighted center of all candidate points, and the original candidate point closest to this center is most likely the true location of the AGV.

[0107] For example, the deviation judgment mechanism establishes an allowable range based on the physical dimensions of the tiles. When the AGV moves on a regularly arranged tile floor, the positioning error should normally not exceed the size of a single tile. The allowable range is set as a specific proportion of the tile's side length, typically 30% to 50%. If the distance deviation between the initially selected true position and the anchor point exceeds this range, it indicates that the currently used anchor point may have failed. Reasons for anchor point failure include: the AGV moving too far, causing the original anchor point to exceed its effective range; environmental changes causing the original marker to be obscured or damaged; and accumulated errors causing the anchor point coordinates to become inaccurate. The failure judgment triggers an adaptive correction mechanism, whereby the system no longer trusts the current anchor point and actively seeks a new reliable reference point.

[0108] Preferably, the specific value of the allowable range is dynamically adjusted according to the size of the tile. For a standard tile with a side length of 300 mm, the allowable range is set to 90 to 150 mm; for a large tile with a side length of 600 mm, the allowable range is correspondingly expanded to 180 to 300 mm. Further, the rescanning process is performed by an auxiliary marker recognition module. Upon receiving an anchor point failure signal, this module immediately initiates a full scan of the current field of view. The scan adopts a spiral path, starting from the current position of the AGV and gradually expanding the search radius outwards. Each scan covers a fan-shaped area, and all non-periodic marker features within the area are extracted using image processing algorithms, including markers with special shapes, clearly contrasting colors, and manually set positioning tags.

[0109] Understandably, the tag feature matching verification is achieved by comparing the newly scanned tag features with pre-stored records. The feature vector of each tag is compared with all records in the database for similarity calculation, and only matches with similarity exceeding a set threshold and uniqueness are recognized.

[0110] For example, the corrected positioning anchor points provide a new absolute position reference for the AGV, eliminating previous accumulated errors and restoring positioning accuracy to the millimeter level, ensuring reliable navigation of the AGV in complex textured environments.

[0111] S107. Update the unique identifier of the current area in the global navigation map according to the corrected positioning anchor point, generate the AGV real-time movement route to obtain the optimized navigation path and verify the position continuity, iteratively optimize until the unique anchor point is stable and the uniqueness of the global positioning path is determined.

[0112] Based on the corrected anchor point coordinates, the location record of the current area is searched in the global navigation map database. The original location identifier is replaced with a new unique identifier containing anchor point coordinates, marker type, and timestamp. Simultaneously, the association index of adjacent areas is updated to obtain refreshed map data. Based on the refreshed map data and the AGV's current position, the movement route from the current position to the target position is calculated using the A* pathfinding algorithm. The generated route is smoothed to eliminate sharp turns and turnaround points, resulting in an optimized navigation path. Intermittent sampling is performed on continuous location points along the navigation path. The displacement vector and turning angle between adjacent sampling points are calculated. The rate of change is obtained by subtracting the length of the previous displacement vector from the length of the subsequent displacement vector and then dividing by the sampling interval. If the rate of change exceeds a preset threshold or a sudden change in the turning angle occurs, the path is determined to be discontinuous. The positions of the discontinuous points are recorded, and the ratio of the current number of matched peak values ​​to the number of peak values ​​recorded at the start of navigation is calculated to determine the peak value decrease rate. If the peak value decreases to a preset percentage threshold and the number of discontinuous points is zero, then the uniqueness of the positioning is confirmed, and a stable global positioning path is output. If the threshold is not reached, the entire process from anchor point coordinate update to path verification is re-executed until the number of peak values ​​drops to a single peak or the decrease stabilizes within a preset range, thus confirming the uniqueness of the global positioning path.

[0113] In one embodiment, the global navigation map database is organized using a hierarchical index structure, with a top-level regional index, a middle-level tile grid index, and a bottom-level storage of specific location records. Each location record includes fields such as coordinate values, tag type, timestamp, and unique identifier. Once the corrected positioning anchor point is determined, the system quickly locates the corresponding database record through coordinate mapping, writes the new unique identifier, and simultaneously triggers the index update mechanism for the associated region.

[0114] Specifically, The pathfinding algorithm is based on heuristic search principles. The algorithm maintains two lists: an open list storing nodes to be evaluated and a closed list storing evaluated nodes. Starting from the AGV's current position, it calculates the estimated cost to the target position. This cost consists of two parts: the actual cost *g* from the starting point to the current node, and the heuristically estimated cost *h* from the current node to the target. The *h* value is typically calculated using Manhattan distance or Euclidean distance. The algorithm continuously expands upon the node with the smallest *f* value from the open list. During the expansion process, the accessibility of adjacent nodes is checked, taking into account constraints such as tile boundaries, obstacles, and AGV turning radii. When a target node is added to the closed list, the complete path is obtained by tracing back the parent node chain. Path smoothing is achieved using Bézier curve fitting, converting polyline segments into smooth curves and eliminating sudden speed changes at sharp turns.

[0115] It should be noted that path smoothing not only improves the smoothness of AGV movement, but also reduces mechanical wear and energy consumption. The smoothed path better conforms to the kinematic characteristics of the AGV.

[0116] In one possible implementation, continuity verification is achieved through sampling point analysis. Sampling points are set at fixed intervals along the navigation path, typically one-quarter the length of a tile's edge. For each sampling point, the displacement vector to its immediate and adjacent sampling points is calculated. This displacement vector contains both direction and distance components. The rate of change is calculated using a difference method: the magnitude of the subsequent displacement vector minus the magnitude of the preceding displacement vector, then divided by the sampling interval. Points where the rate of change exceeds a preset threshold or the steering angle changes by more than 45 degrees are marked as discontinuities.

[0117] For example, peak analysis involves the dynamic monitoring of the number of matching peaks. At the start of navigation, the system records the initial total number of matching peaks, a value reflecting the intensity of texture periodicity. As the AGV moves along the path, texture matching is continuously performed, and the current number of peaks is counted. The peak decrease rate is obtained by calculating the ratio of the current number of peaks to the initial number of peaks. Ideally, as the AGV approaches its actual position, the number of peaks should gradually decrease, eventually converging to a single peak. Convergence is determined using a dual standard: a peak decrease rate of 80% or more, or a reduction in the number of peaks to less than three. This determination mechanism considers both relative change and sets an absolute threshold, improving the reliability of the determination.

[0118] Preferably, iterative optimization is triggered based on the evaluation of convergence. When the peak value decrease does not meet the convergence criterion, or when there are discontinuities in the path, the system determines that the current positioning is still ambiguous and the optimization process needs to be re-executed. Furthermore, the determination of global path uniqueness is achieved through multiple iterations. Each iteration includes three stages: anchor point update, path planning, and continuity verification. During the iteration process, the system records the peak value changes in each round. When the number of peak values ​​remains stable for three consecutive rounds, or the peak value decrease rate is lower than a preset threshold, the system considers it to have reached convergence. At this point, the output path is globally unique, and the AGV's position is unambiguous.

[0119] For example, in a large warehouse environment, there may be more than 20 matching peaks initially. After 3 to 5 rounds of iterative optimization, the number of peaks is reduced to 1 to 2, realizing the transformation from fuzzy positioning to precise positioning.

[0120] Understandably, this iterative optimization mechanism enables the AGV navigation system to be adaptive, gradually converging to the correct position even in highly repetitive texture environments, thus ensuring the reliability and robustness of navigation.

[0121] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the concept of this application. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

Claims

1. A method for extracting and recognizing texture features for AGV navigation, characterized in that, include: Obtain the tile texture data of the current position of the AGV and the reference pattern in the global navigation map, calculate the similarity distribution between the tile texture data and the reference pattern, and extract the matching peak set; Based on the analysis of the spatial distribution of the matching peak set, the positioning ambiguity caused by the repetition of texture cycles is identified; Scan local non-periodic markers in the ambiguous positioning region, extract the geometric shape features and color attributes of the markers, and determine the unique anchor point coordinates; The true location coordinates are determined based on the unique anchor point coordinates and the matching peak set. The global navigation map is updated based on the actual location coordinates to generate an optimized navigation path. The continuity of the location is verified, the uniqueness of the global positioning path is determined, and the real-time movement route of the AGV is generated to obtain the optimized navigation path. The step of analyzing the spatial distribution based on the matching peak set and identifying the blurred positioning region caused by the repetition of texture periods includes: Extract the two-dimensional coordinates of each peak point from the matching peak set, calculate the straight-line distance between every two peak points, perform frequency statistics on the distance values, and determine the distance value as the repetition spacing of the tile texture when the frequency of a certain distance value exceeds the preset proportion of the total number of peak point pairs. Based on the repetition interval, a circular neighborhood range centered on each peak point and with the repetition interval as the radius is determined. The number of other peak points contained in the neighborhood range of each peak point is counted. The peak density value is obtained by dividing the number of other peak points by the neighborhood area. If the peak density value exceeds a preset density threshold, the peak point is marked as a high-density point, and a high-density point set is obtained. Perform convex hull operation on the high-density point set, and form the smallest convex polygon region containing all high-density points by connecting the outermost points, and output the boundary of the positioning fuzzy region.

2. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, The process of obtaining the tile texture data of the AGV's current position and a reference pattern in the global navigation map, calculating the similarity distribution between the tile texture data and the reference pattern, and extracting the matching peak set includes: Acquire the original image of the tile surface at the current location, perform median filtering on the original image to remove salt and pepper noise, and then use a Gaussian filter to eliminate high-frequency noise components to obtain a noise-suppressed tile texture image; The estimated position of the AGV in the map coordinate system is calculated based on the travel distance and turning angle data measured by the AGV encoder. The tile reference pattern corresponding to the coordinate range of the estimated position is retrieved from the global navigation map database. The grayscale normalization processing is performed on the tile texture image and the reference pattern respectively. The sum of the products of the pixel grayscale values ​​of the two images at different offset positions is calculated to obtain the two-dimensional similarity distribution matrix. A local maximum search is performed on the two-dimensional similarity distribution matrix. When the similarity value of a certain position in the matrix is ​​greater than the values ​​of the eight neighboring positions, the position is determined to be a matching peak point. The coordinates of each peak point and the corresponding similarity intensity value are recorded. If the number of peak points exceeds the threshold for the number of single peak matching points, it is determined that there is a periodic repetition of texture. The set of matching peaks containing all peak coordinates and corresponding intensity values ​​is output.

3. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, After identifying the blurred positioning area caused by the repetition of texture period, the tile surface in the area is scanned line by line by the auxiliary marker recognition module according to the boundary coordinates of the blurred positioning area. Image binarization is used to separate the marker from the background, and the set of outline pixels of the marker is extracted to obtain the candidate area of ​​local non-periodic marker. Dilation and erosion operations are performed on the candidate region to eliminate noise. The ratio of the square of the perimeter of the contour to the area is calculated as the roundness. The filling rate of the minimum bounding rectangle of the contour is calculated as the rectangularity. The roundness is used to determine the circular marker and the diameter is recorded. The rectangularity is used to determine the rectangular marker and the side length is recorded. At the same time, the average gray value and hue distribution of the pixels in the marked area are extracted to obtain the geometric shape feature vector and color attribute vector. Based on the geometric shape feature vector and the color attribute vector, the data is matched with a pre-established database containing all marker features. The cosine similarity is calculated by dividing the vector inner product by the vector magnitude product. The unique identity of the marker is confirmed based on the similarity exceeding the uniqueness threshold and the existence of only a single matching result, thus obtaining the type code of the marker. The AGV's offset relative to the marker is calculated by querying the global map database that stores the location of each marker by the type encoding of the marker, and then combining the pixel position of the marker in the current image with the camera parameters to determine the coordinates of the unique anchor point and the marker type.

4. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, The step of scanning local non-periodic markers from the ambiguous positioning region, extracting the geometric shape features and color attributes of the markers, and determining the unique anchor point coordinates includes: Based on the boundary coordinates of the blurred positioning region, the surface of the tile within the blurred positioning region is scanned line by line. Image binarization is used to separate the marker from the background, and the set of outline pixels of the marker is extracted to obtain the candidate region of the local non-periodic marker. Dilation and erosion operations are performed on the candidate region. The ratio of the square of the perimeter of the contour to the area is calculated as the roundness. The filling rate of the minimum bounding rectangle of the contour is calculated as the rectangularity. If the roundness meets the roundness determination condition, the diameter is recorded. If the rectangularity meets the rectangularity determination condition, the side length is recorded. At the same time, the average gray value and hue distribution of the pixels in the marked region are extracted to obtain the geometric shape feature vector and color attribute vector. Based on the geometric shape feature vector and color attribute vector, cosine similarity is calculated with a pre-established tag feature database. If the similarity exceeds the uniqueness threshold and there is only a single matching result, the unique identity of the tag is confirmed, and the tag type is obtained. By querying the global map database using the marker type to obtain preset coordinates, and combining the marker's pixel position in the current image, the offset of the AGV relative to the marker is calculated to determine the coordinates of the unique anchor point.

5. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, After determining the unique anchor point coordinates, the texture repetition spacing is extracted based on the unique anchor point coordinates and the tile texture data to determine the periodic intensity value; The location screening range is dynamically adjusted based on the periodic intensity value, screening constraints are established, and the phase correlation method is applied to obtain a preliminary set of candidate points for location.

6. The AGV navigation texture feature extraction and recognition method as described in claim 5, characterized in that, Determining the periodic intensity value includes: performing coordinate system transformation on the tile texture data based on the coordinates of the unique anchor point, identifying the positions of significant feature points from the transformed texture data, calculating the distance sequence between adjacent feature points, performing frequency statistics on the distance sequence, and determining the distance value with the highest frequency as the texture repetition interval; The texture repetition interval is compared with a preset periodicity threshold, the total number of peaks generated during texture matching is counted, and the total number of peaks is divided by the area of ​​the detection region to obtain the peak density parameter. The initial intensity value is calculated based on the peak density parameter and the texture repetition spacing. The initial intensity value is then normalized to determine the periodic intensity value.

7. The AGV navigation texture feature extraction and recognition method as described in claim 5, characterized in that, After obtaining the preliminary candidate point set, the coordinates of the unique anchor point and the marker type are integrated based on the preliminary candidate point set to determine the true location coordinates.

8. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, The step of determining the true location coordinates based on the unique anchor point coordinates and the matching peak set includes: Calculate the distance from each candidate point to the coordinates of the unique anchor point; The initial weights are calculated by multiplying the inverse distance from each candidate point to the coordinates of the unique anchor point by the peak intensity, and then normalized to obtain the fusion weight coefficients. The candidate point coordinates are weighted and averaged using the aforementioned fusion weighting coefficients to obtain the fused coordinates. The point with the smallest distance from the fused coordinates is selected from the candidate points to determine the true position coordinates.

9. The AGV navigation texture feature extraction and recognition method as described in claim 1, characterized in that, The step of updating the global navigation map based on the actual location coordinates, generating an optimized navigation path, and verifying location continuity includes: Update the unique location identifier in the global navigation map based on the actual location coordinates, and refresh the associated index of adjacent areas; Based on the refreshed map data, a pathfinding algorithm is used to calculate the movement route from the current location to the target location, and a smoothing process is performed to obtain the optimized navigation path. The position points on the navigation path are sampled at intervals, and the displacement vector and turning angle of adjacent sampled points are calculated to obtain the rate of change. If the rate of change exceeds a preset threshold, the location of the discontinuity point is recorded, and the path continuity is re-verified.

Citation Information

Patent Citations

  • Unmanned car washer stain panoramic identification system

    CN120544107A

  • Multi-modal remote sensing image matching method

    CN120635504A