A High-Precision Positioning Method for Intelligent Mobile Robots
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-20
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]然而,现有方案在感知层面多采用单反光板配合迭代最近点算法的拟合方式,对点云噪点敏感,识别位姿重复性差,难以实现毫米级精度;在控制层面多采用一段式运动策略,忽视了传感器在不同距离下的测量非线性误差以及接近目标点时控制增益突变问题,导致最终到位精度与姿态稳定性不足,限制了其在工业场景中的进一步应用
[0015]结合第一方面,双反光板中每片反光板的宽度为80mm至120mm,两片反光板的中心距为250mm至350mm,且两片反光板的中心与探测传感器的扫描平面等高布置。
Smart Images

Figure CN122569345A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of navigation and positioning technology for autonomous mobile intelligent robots, and in particular to a high-precision positioning method for intelligent mobile robots. Background Technology
[0002] Currently, the demand for high-precision docking between autonomous mobile intelligent robots (AMRs) and target objects such as machines, shelves, and conveyors is increasingly urgent in fields such as intelligent manufacturing, warehousing and logistics, and precision assembly. Docking accuracy is a core indicator for evaluating the industrial applicability of AMRs, and its quality directly affects the operating efficiency and automation stability of production lines. For example, in industrial automation scenarios such as semiconductor wafer handling, automotive parts assembly, and CNC machine tool loading and unloading, AMRs need to perform high-precision material loading and unloading and process connection with machines (such as lithography machines, conveyors, and shelves). Docking accuracy directly determines the stability and automation efficiency of the production line. If the docking error is too large (e.g., exceeding 0.5 mm in semiconductor scenarios), it can easily lead to material jamming, wafer damage, or equipment collisions, thereby causing production line downtime and significantly increasing manual intervention costs.
[0003] Currently, high-precision docking solutions for automated mobile robots (AMRs) typically rely on LiDAR to identify and calculate the pose of reflectors placed on the docking platform. These solutions usually use a single reflector as an artificial marker, acquiring point cloud data of the reflector through LiDAR scanning, and extracting the center position of the reflector based on iterative nearest-point registration algorithms. This allows for the calculation of the pose information of the intelligent mobile robot relative to the docking platform. After acquiring the pose information, a geometric trajectory tracking algorithm is used to control the intelligent mobile robot to move from the coarse positioning point to the target docking point, completing the docking operation.
[0004] However, existing solutions mostly use a single reflector combined with an iterative nearest-point algorithm for fitting at the perception level, which is sensitive to point cloud noise, has poor repeatability of pose recognition, and is difficult to achieve millimeter-level accuracy. At the control level, they mostly use a one-stage motion strategy, which ignores the nonlinear measurement error of the sensor at different distances and the problem of sudden change in control gain when approaching the target point, resulting in insufficient final positioning accuracy and attitude stability, which limits their further application in industrial scenarios. Summary of the Invention
[0005] In view of this, the purpose of the present invention is to provide a high-precision positioning method for intelligent mobile robots.
[0006] In a first aspect, embodiments of the present invention provide a high-precision positioning method for an intelligent mobile robot, the method comprising: Set up two reflectors on the target object and obtain reference pose data of the two reflectors relative to the docking position of the target; Based on the position of the dual reflectors, at least one transfer point is determined; the transfer point is located on the extended line of the center of the dual reflectors and has a preset distance value between it and the center of the dual reflectors. The preset distance value is pre-calibrated based on the optical characteristics of the detection sensor. Based on at least one transfer point, the path for the intelligent mobile robot to move from its current location to the target docking location is divided into at least two sequentially connected sub-paths; For each sub-path, the point cloud data of the double reflectors on the sub-path is obtained as the current detection data. The principal component analysis algorithm is used to extract linear features from the current detection data, and the current pose information of the center of the double reflectors is determined based on the two sets of valid data corresponding to the double reflectors in the extraction results. Based on the current pose information and reference pose data, a pure tracking control algorithm is used to control the intelligent mobile robot to move along the current sub-path until it reaches the target docking position; where the current sub-path is the last sub-path, the end point of the current sub-path is the target docking position.
[0007] In conjunction with the first aspect, the steps for linear feature extraction of the current probe data using principal component analysis include: The labeled feature points in the current detection data are extracted and clustered to obtain several sets of candidate point cloud data; The candidate point cloud data of each group are centralized by subtracting the mean of each feature to shift the data center to the origin, thus obtaining the centralized data matrix. Calculate the covariance matrix corresponding to the centered data matrix; Eigenvalue decomposition is performed on the covariance matrix to obtain eigenvalues and corresponding eigenvectors; The eigenvector corresponding to the largest eigenvalue is selected as the principal component direction, and the dimensionality reduction of the current group of candidate point cloud data is completed by projecting it onto the principal component direction, so as to extract the linear features of the current group of candidate point cloud data.
[0008] In conjunction with the first aspect, the step of determining the current pose information of the center of the dual reflectors based on the two sets of valid data corresponding to the dual reflectors in the extraction results includes: Obtain the fitted straight line and its segment length for each group of candidate point cloud data; The line segment lengths of each group of candidate point cloud data are compared with the preset width range of the dual reflectors. Outlier candidate point cloud data whose line segment lengths exceed the preset width range are eliminated, and the two sets of valid data corresponding to the dual reflectors are retained. Calculate the coordinates of the feature center points of the two sets of valid data respectively, and calculate the actual center distance based on the coordinates of the two feature center points; Determine that the deviation between the actual center distance and the preset installation center distance of the double reflectors is within the preset range; If so, calculate the overall center position and spatial orientation angle of the dual reflectors based on the two sets of feature center points, and use this as the current pose information of the dual reflector center.
[0009] In conjunction with the first aspect, after determining that the deviation between the actual center distance and the preset installation center distance of the double reflectors is within the preset range, the method further includes: If not, the current identification result is deemed invalid, the current identification result is discarded, and the detection data is acquired again.
[0010] In conjunction with the first aspect, based on the current pose information and reference pose data, the steps for controlling the intelligent mobile robot to move along the current sub-path using a pure tracking control algorithm include: Based on the reference pose data and the current pose information, the relative pose of the target docking position with respect to the current body of the intelligent mobile robot is calculated. Generate the planned path for the current sub-path based on the relative pose; A pure tracking control algorithm is used to control the intelligent mobile robot to move along the planned path to the end of the current sub-path.
[0011] In conjunction with the first aspect, the steps for calculating the relative pose of the target docking position with respect to the current body of the intelligent mobile robot, based on the reference pose data and the current pose information, include: Obtain reference pose data and extract the first pose matrix of the target docking position relative to the coordinate system of the center of the double reflectors; Obtain the current pose information and extract the real-time pose matrix of the center of the dual reflectors in the world coordinate system; Obtain the real-time pose matrix of the intelligent mobile robot in the world coordinate system, and based on the first pose matrix and the real-time pose matrix of the center of the two reflectors, map the target docking position to the world coordinate system to obtain the absolute pose matrix of the target docking position in the world coordinate system. Based on the absolute pose matrix of the target docking position in the world coordinate system and the real-time pose matrix of the current body of the intelligent mobile robot in the world coordinate system, the coordinate transformation equation is solved inversely to obtain the relative pose matrix of the target docking position relative to the current body of the intelligent mobile robot, which is used as the relative pose of the target docking position relative to the current body of the intelligent mobile robot.
[0012] In conjunction with the first aspect, the steps for generating the planned path of the current sub-path based on the relative pose include: Based on the relative pose, the start and end points of the current sub-path are determined; the start point is the current position of the intelligent mobile robot, and the end point is the target destination of the current sub-path. Based on the relative pose between the start and end points, an interpolation algorithm or a geometric fitting algorithm is used to generate several intermediate path points between the start and end points. The starting point, several intermediate path points, and the ending point are arranged in sequence to form a smooth motion trajectory from the starting point to the ending point, which serves as the planned path for the current sub-path. The planned path consists of several discrete path points, each containing location and orientation information.
[0013] In conjunction with the first aspect, a pure tracking control algorithm is used to control the intelligent mobile robot to move along the planned path to the end of the current sub-path, including: Obtain the current pose and linear velocity of the intelligent mobile robot; Traverse the path points on the planned path, calculate the Euclidean distance between each path point and the current position of the intelligent mobile robot, and select the point with the smallest distance as the shortest point on the path. Based on the preset aiming distance, start from the nearest point on the path and search forward along the path, selecting the path point whose distance from the current position of the intelligent mobile robot is first greater than or equal to the aiming distance as the aiming point; Transform the aiming point from the world coordinate system to the intelligent mobile robot's body coordinate system and calculate the heading deviation angle; The turning angle or angular velocity of the intelligent mobile robot is calculated based on the heading deviation angle and then sent to the underlying controller for execution.
[0014] In conjunction with the first aspect, the method also includes: If the current sub-path is the last sub-path and the intelligent mobile robot is less than the preset aiming distance from the target docking position, virtual extension points are generated by extending outward along the connecting line direction and curvature value of the last two path points at the end of the planned path, and the virtual extension points are replaced with the current aiming points for pure tracking control.
[0015] In conjunction with the first aspect, the width of each reflector in the dual reflector is 80mm to 120mm, the center distance between the two reflectors is 250mm to 350mm, and the center of the two reflectors is arranged at the same height as the scanning plane of the detection sensor.
[0016] The embodiments of the present invention bring the following beneficial effects: This application provides a high-precision positioning method for intelligent mobile robots. By setting up dual reflectors and using principal component analysis algorithm for linear feature extraction, point cloud noise interference is suppressed and the accuracy of pose and angle calculation is improved. By pre-marking the transfer point on the extension line of the center of the dual reflectors, optical nonlinear error introduced by docking position deviation is eliminated. The docking path is divided into multiple sub-paths and sensing and control are performed independently for each sub-path to suppress error accumulation, thereby improving the docking accuracy, stability and engineering applicability of intelligent mobile robots.
[0017] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.
[0018] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0019] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0020] Figure 1 This is a flowchart illustrating a high-precision positioning method for an intelligent mobile robot provided in an embodiment of the present invention. Figure 2 This is a schematic diagram of the dual reflectors in the method provided in the embodiment of the present invention; Figure 3 A schematic diagram illustrating the principle of setting the pre-aiming point in existing technology; Figure 4 This is a schematic diagram illustrating the first method for setting the pre-aiming point in the method provided by the embodiments of the present invention; Figure 5 This is a schematic diagram illustrating the second method for setting the pre-aiming point in the method provided by the embodiments of the present invention; Figure 6 This is a schematic diagram of the electronic device structure provided in an embodiment of the present invention; Figure 7 A schematic diagram illustrating an application example of the method provided in the embodiments of the present invention.
[0021] Figure label: 130 - Processor, 131 - Memory, 132 - Bus, 133 - Communication interface. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, 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.
[0023] To facilitate understanding of this embodiment, the technical terms used in this application will be briefly introduced below.
[0024] The Pure Pursuit algorithm is a geometric trajectory tracking control method. Its core idea is to select a pre-aiming point at a certain distance in front of the intelligent mobile robot on the reference path, fit the driving arc by the geometric relationship between the current pose of the intelligent mobile robot and the pre-aiming point, calculate the required steering curvature or angular velocity, and thus output the lateral and longitudinal control quantities to make the intelligent mobile robot travel along the reference path.
[0025] AMR (Autonomous Mobile Robot): refers to an intelligent mobile robot that can autonomously complete localization, mapping, path planning, obstacle avoidance and task execution in an environment without human intervention, fixed tracks, or pre-laid magnetic strips or QR codes, relying on its own onboard sensors and algorithms.
[0026] CA (Principal Component Analysis): A linear dimensionality reduction algorithm that projects high-dimensional data into a low-dimensional space through coordinate transformation, achieving dimensionality reduction, noise reduction, and feature extraction while preserving as much of the main information of the original data as possible.
[0027] ICP algorithm (Iterative Closest Point): A classic point cloud registration algorithm used to solve the rotation matrix and translation vector between two sets of point clouds. It finds the closest corresponding point between the source point cloud and the target point cloud by iteratively and minimizes the matching error, and finally achieves point cloud alignment and pose solution.
[0028] After introducing the technical terms used in this application, the application scenarios and design concepts of the embodiments of this application will be briefly described below.
[0029] Existing AMR docking solutions typically employ LiDAR to identify a single reflector, combine this with an iterative nearest-point algorithm to fit the center, and complete the docking based on a single-stage control. However, this solution is affected by point cloud noise and sensor measurement nonlinearity, resulting in unstable identification results. Furthermore, sudden changes in control gain when approaching the target point can easily lead to angle oscillations, resulting in insufficient overall positioning accuracy and docking posture.
[0030] Based on this, this application provides a high-precision positioning method for intelligent mobile robots.
[0031] Example 1 This application provides a high-precision positioning method for intelligent mobile robots, combined with... Figure 1 As shown, the method includes: S110, Set up dual reflectors on the target object and obtain reference pose data of the dual reflectors relative to the target docking position.
[0032] S120, determine at least one transfer point based on the position of the dual reflectors; the transfer point is located on the extension line of the center of the dual reflectors and has a preset distance value between it and the center of the dual reflectors, the preset distance value being pre-calibrated based on the optical characteristics of the detection sensor.
[0033] S130, based on at least one transfer point, divide the path of the intelligent mobile robot from its current position to the target docking position into at least two sequentially connected sub-paths.
[0034] S140. For each sub-path, obtain the current detection data of the dual reflectors on the sub-path, use principal component analysis algorithm to extract linear features from the current detection data, and determine the current pose information of the center of the dual reflectors based on the two sets of valid data corresponding to the dual reflectors in the extraction results.
[0035] S150, based on the current pose information and reference pose data, control the intelligent mobile robot to move along the current sub-path until it reaches the target docking position; wherein, when the current sub-path is the last sub-path, the end point of the current sub-path is the target docking position.
[0036] This application effectively suppresses point cloud noise interference by setting up dual reflectors and using principal component analysis (PCA) for linear feature extraction. By pre-marking the transfer point on the extended line of the dual reflectors' center, the docking path is divided into multiple sub-paths. For each sub-path, a pure tracking control algorithm is used to independently execute perception and control, limiting the error to within the current sub-path. When approaching the end of a sub-path, a virtual extension point is generated as a pre-aiming point, avoiding oscillations in the aiming angle and ensuring posture stability. Through the synergy of these two-stage perception and control algorithms, the docking accuracy and posture stability of the intelligent mobile robot are improved, demonstrating excellent engineering applicability.
[0037] In conjunction with the first aspect, in step S110, double reflectors are first installed on the target object (such as a machine, shelf, conveyor belt, or other docking station), such as... Figure 2 As shown in the diagram. Here, the dual reflectors refer to two markers placed on the target object that can be identified by detection sensors, used to provide the intelligent mobile robot with reference information regarding its position and orientation. In this embodiment, the dual reflectors are implemented in a dual-reflector configuration.
[0038] In conjunction with the first aspect, the width of each reflector in the dual reflector is 80mm to 120mm, the center distance between the two reflectors is 250mm to 350mm, and the center of the two reflectors is arranged at the same height as the scanning plane of the detection sensor.
[0039] Specifically, the physical dimensions and arrangement of the dual reflectors directly affect the recognition stability and accuracy of the lidar. In this application, the width of each reflector is set to 80mm to 120mm, and the center distance between the two reflectors is set to 250mm to 350mm. This size range has been verified by actual testing to have the optimal recognition effect.
[0040] If the reflector width is too narrow (less than 80mm), the number of point clouds returned by the detection sensor will be insufficient, making it difficult to support stable fitting of the principal component analysis algorithm. If the width is too wide (greater than 120mm), the point cloud distribution will be too scattered, potentially introducing additional fitting noise. Similarly, if the center distance between the two reflectors is less than 250mm, the two reflectors may interfere with each other in the point cloud, affecting the accurate separation of the clustering algorithm. If it is greater than 350mm, it will exceed the effective field of view of the detection sensor at the docking distance, potentially preventing one of the reflectors from being completely scanned. Furthermore, the centers of the two reflectors must be aligned vertically with the scanning plane of the detection sensor to ensure that the reflectors are within the scanning field of view of the detection sensor, avoiding signal attenuation or loss due to height deviation. The detection sensor can be a lidar, utilizing its strong reflective properties for highly reflective objects to achieve stable detection.
[0041] After completing the physical setup of the dual reflectors, reference pose data of the dual reflectors relative to the target docking position is further acquired. The target docking position refers to the precise spatial location where the intelligent mobile robot ultimately needs to reach and perform the operation (e.g., the material loading / unloading port, charging interface, conveyor belt connection point, etc.). The reference pose data describes the fixed geometric mapping relationship between the target docking position and the center of the dual reflectors, including the lateral, longitudinal, and angular offsets of the target docking position relative to the coordinate system of the dual reflector center. In this embodiment, if the reflector mounting center completely coincides with the center of the machine docking interface, the value in the calibration data for the X direction (front-back direction) is half the length of the intelligent mobile robot body, the value for the Y direction (left-right direction) is 0, and the angular value is 0. If there is an installation error between the reflector mounting center and the docking interface, the calibration values can be modified accordingly for compensation. This reference pose data is pre-acquired and stored through a one-time offline calibration operation before the docking process begins. This same set of fixed data is called during the control process of all subsequent sub-paths and does not change with the movement of the intelligent mobile robot or the division of sub-paths. In this way, on the one hand, it provides intelligent mobile robots with a reference object that can be stably detected by sensors at the physical level, and on the other hand, it establishes a precise mathematical description of the geometric relationship between the target position and the reference object at the data level.
[0042] In step S120, at least one transfer point is determined based on the position of the dual reflectors. This transfer point is located on the extension line connecting the centers of the dual reflectors and has a preset distance from the centers of the dual reflectors. The extension line connecting the centers of the dual reflectors is a virtual straight line extending to one side perpendicular to the direction of the line connecting the centers of the two sets of markers, passing through the midpoint of that line and moving towards the intelligent mobile robot. This geometric constraint ensures that the transfer point is directly in front of the dual reflectors, so that the intelligent mobile robot faces the markers with the same posture each time it moves to that point. The preset distance is not a fixed constant but is obtained through pre-calibration based on the optical characteristics of the detection sensor. Because different brands and models of lidar have different response curves for measurement accuracy as a function of distance due to differences in parameters such as transmission power and receiving sensitivity, calibration is required to determine the optimal recognition distance for each. The machine with double reflectors is fixed in the calibrated area. An intelligent mobile robot is controlled to approach the reflectors gradually from far to near (e.g., from 2.0 meters to 0.2 meters) along the normal direction of the reflector center, with a fixed step size (e.g., 0.05 meters). At each distance, the robot stops and collects the LiDAR's recognition result of the reflector center. This process is repeated multiple times, recording the standard deviation of the center coordinates at each distance. The distance corresponding to the smallest standard deviation is taken as the optimal recognition distance for that LiDAR model, i.e., the preset distance value. If the optimal recognition distance for a certain LiDAR model is an interval, the midpoint of that interval is taken as the preset distance value.
[0043] After calibration, the preset distance value is written into the intelligent mobile robot control system as a fixed parameter and uniformly called in docking operations of different machines and different batches.
[0044] It is understandable that the measurement accuracy of sensors (especially lidar) varies nonlinearly at different distances. Being too close or too far will introduce millimeter-level center calculation deviations. If a traditional one-piece docking is used, the actual distance between the sensor and the marker will be different each time the recognition is activated due to random deviations in the navigation of the intelligent mobile robot to the docking position directly in front of the machine. This causes the recognition result to fluctuate due to distance changes, and this error is carried into the final positioning accuracy along with the control process.
[0045] This application pre-calibrates the optimal recognition distance of the sensor and fixes it as the spatial location of the transfer point. This ensures that the intelligent mobile robot performs subsequent perception at the same distance and posture each time, eliminating sensor measurement errors caused by inconsistent docking positions and guaranteeing the consistency and reliability of the perception data. Simultaneously, multiple transfer points are allowed. A single transfer point can be set for short-distance docking, while multiple transfer points can be set for long-distance or ultra-high precision requirements. Through a progressive strategy of step-by-step approximation, the distance deviation of each recognition is controlled within the optimal working range of the sensor, achieving millimeter-level accuracy at any docking distance.
[0046] After determining the transfer point in step S120, the entire movement path of the intelligent mobile robot from its current position to the target docking position is spatially segmented. In the docking process of this application, the intelligent mobile robot first arrives near the front of the docking point via the navigation system and aligns its body with the docking area. It should be noted that the navigation system has inherent random deviations in its stopping position directly in front of the dock (e.g., ±10cm in the front-to-back direction, ±5cm in the left-to-right direction, ±3° in the angle, etc.), which cannot be ignored for direct docking.
[0047] Step S130, based on the spatial location of at least one transfer point, spatially divides the entire path from the coarse positioning starting point to the target docking position into at least two sequentially connected sub-paths. The starting and ending points of each sub-path are sequentially defined by the spatial coordinates of the transfer point and the final target point: when there are N transfer points (N≥1), the entire path is divided into N+1 sub-paths, where the endpoints of the first N sub-paths are the 1st to Nth transfer points respectively, and the endpoint of the N+1th sub-path is the target docking position. Adjacent sub-paths are connected end-to-end at transfer points to ensure the continuity of the entire path, that is, the endpoint of the previous sub-path coincides with the starting point of the next sub-path at the same transfer point. Each sub-path is sequentially connected in space to form a complete path, and the intelligent mobile robot performs independent perception and control on each sub-path. In this application, by decomposing a single long-distance motion into multiple short-distance sub-paths, the motion distance covered by each sensing is significantly shortened, and the sensor recognition error is limited to the current sub-path rather than directly affecting the end point, effectively eliminating the impact of this deviation on the final docking accuracy.
[0048] In conjunction with the first aspect, step S140 employs principal component analysis to extract linear features from the current probe data, specifically including: S141, extract the marked feature points from the current detection data and perform clustering to obtain several sets of candidate point cloud data.
[0049] S142, the candidate point cloud data of each group are centralized by subtracting the mean of each feature to shift the data center to the origin, and the data matrix is obtained after centralization.
[0050] S143, calculate the covariance matrix corresponding to the centered data matrix.
[0051] S144, perform eigenvalue decomposition on the covariance matrix to obtain eigenvalues and corresponding eigenvectors.
[0052] S145, select the eigenvector corresponding to the largest eigenvalue as the principal component direction, and complete the dimensionality reduction of the current group of candidate point cloud data by projection onto the principal component direction, so as to extract the linear features of the current group of candidate point cloud data.
[0053] Step S140 uses Principal Component Analysis (PCA) to extract linear features from the detection data to obtain the precise position and orientation information of the dual reflectors in space. PCA is a classic data dimensionality reduction and feature extraction algorithm. Its core idea is to project high-dimensional data into a low-dimensional space through coordinate transformation, extracting the main feature orientation of the data while preserving as much original data information as possible. In this application, PCA is applied to the detection data of the dual reflectors, and the linear feature to be extracted is the straight line representing the extension direction of each set of markers. The accurate extraction of this straight line is the basis for subsequent dual reflector center positioning and orientation angle calculation. Specifically: In step S141, labeled feature points are extracted from the raw detection data collected by the detection sensor. Taking lidar as an example, dual reflectors (e.g., reflectors) have high reflectivity characteristics. In the lidar point cloud, they appear as high-reflectivity points with significantly higher reflection intensity than the surrounding environment. Candidate feature points can be screened from the raw point cloud by intensity threshold segmentation.
[0054] Subsequently, these feature points are spatially clustered, for example using a clustering algorithm based on Euclidean distance, grouping spatially adjacent feature points into the same group, thus obtaining several groups of candidate point cloud data. The purpose of this processing is to separate point clouds belonging to the same marker in the original detection data from the background environment, forming units that can be independently processed by subsequent algorithms.
[0055] After grouping, several candidate point cloud datasets are obtained. For each candidate point cloud dataset, data centering is first performed: the mean of each dimension of the features of all data points in the group is subtracted, thus shifting the data center to the origin.
[0056] in, These are the eigenvalues after centering. The feature values of the original data points in this dimension. This represents the mean of the data set in this dimension.
[0057] Centering eliminates the offsets of data across different dimensions, allowing subsequent calculations of the covariance matrix to accurately reflect the correlations between dimensions without being affected by the absolute positions of the data. Taking two-dimensional point cloud data as an example, each candidate point cloud dataset has its own mean in both the X and Y directions. Through centering, the relative positions of all points with respect to the center point within the group are preserved, while the offsets in the absolute coordinates are eliminated. Subsequent analysis will then focus on the internal structure of the data rather than its spatial location.
[0058] After the centralization process is completed, step S143 calculates the covariance matrix of each group of candidate point cloud data. The covariance matrix describes the degree of linear correlation between the data in different dimensions:
[0059] in, The final covariance matrix is obtained as follows: For the sample size, This is the centered sample data matrix.
[0060] For point cloud data of markers, the covariance matrix characterizes the degree of dispersion of the point cloud in the X and Y directions and the correlation between them.
[0061] Step S144 is based on the covariance matrix Perform eigenvalue decomposition to find its eigenvalues and corresponding eigenvectors. The expression for this decomposition is:
[0062] in, It is a diagonal matrix; the elements on the diagonal are eigenvalues λ1≥λ2≥…≥λp. The magnitude of each eigenvalue reflects the degree of data dispersion along the direction of the eigenvector. The larger the eigenvalue, the more dispersed the data distribution along the corresponding direction and the richer the information. It is an eigenvector matrix, where each column represents a principal component direction.
[0063] In step S145, the eigenvector corresponding to the largest eigenvalue is selected as the first principal component direction, which is the direction with the richest information and the greatest data dispersion in this set of data. For marker detection data, markers (such as reflectors) usually have a geometric shape extending along a certain direction, and their point cloud distribution is most dispersed along the length direction of the marker. This direction corresponds to the principal direction indicated by the largest eigenvalue. By projecting the original data points onto this principal component direction to reduce dimensionality, the linear features representing this set of markers can be extracted, that is, a fitted straight line along the extension direction of the marker. Specifically, the first eigenvector is selected as the first principal component direction. The eigenvectors corresponding to the largest eigenvalues form the projection matrix. Multiply the original data by the projection matrix to obtain the dimensionality-reduced data. Weixin Data: In this step, each group of candidate point cloud data is reduced in dimensionality by projection to obtain a fitted straight line. The spatial position and direction of this straight line are the linear feature outputs of the current group of candidate point cloud data. Through the above steps S141~S145, this application reduces the dimensionality of each group of candidate point cloud data from the original two-dimensional or three-dimensional space to a set of linear features.
[0064] In conjunction with the first aspect, step S140, which involves determining the current pose information of the center of the dual reflectors based on the two sets of valid data corresponding to the dual reflectors in the extraction results, includes: S146, obtain the fitted straight line and its segment length for each group of candidate point cloud data.
[0065] S147, compare the line segment lengths of each group of candidate point cloud data with the preset width range of the dual reflectors, remove outlier candidate point cloud data whose line segment lengths exceed the preset width range, and retain the two groups of valid data corresponding to the dual reflectors.
[0066] S148, calculate the coordinates of the feature center points of the two sets of valid data respectively, and calculate the actual center distance based on the coordinates of the two feature center points.
[0067] S149, determine that the deviation between the actual center distance and the preset installation center distance of the double reflectors is within the preset range.
[0068] If yes, proceed to step S1410; otherwise, proceed to step S1411.
[0069] S1410, calculate the overall center position and spatial orientation angle of the dual reflectors based on the two sets of feature center points, and use them as the current pose information of the dual reflector center.
[0070] S1411, the current identification result is determined to be invalid, the current identification result is discarded and the detection data is reacquired.
[0071] After obtaining the fitted lines corresponding to each group of candidate point cloud data through S145, the fitted lines and their segment lengths for each fitted line are first obtained.
[0072] Linear features refer to the mathematical description of the spatial distribution and extension direction of the current group of candidate point cloud data, including but not limited to attributes such as the direction vector and spatial location of the fitted line. The line segment length is a quantifiable numerical indicator from this linear feature. In this embodiment, the line segment length is the length of the fitted line segment. The fitted line segment length reflects the distribution range of the point cloud data along the principal component direction. For markers, this length should be substantially consistent with the actual physical size of the marker (e.g., the width of a reflector).
[0073] After obtaining the line segment lengths of each group of candidate point cloud data in step S146, step S147 compares them with the preset width range of the dual reflectors. The preset geometric feature parameters of the marker refer to a reference value range pre-set based on the known physical dimensions of the dual reflectors, for example, the physical width of the reflectors is 80mm to 120mm. The candidate point cloud data is judged to belong to the target marker based on whether the fitted line segment length falls within this preset size range: candidate point cloud data with fitted line segment lengths exceeding the preset size range are considered invalid point cloud clusters generated by environmental interference (such as shelf edges, pipelines, corners, and other strip-shaped objects) and are removed as outliers; candidate point cloud data with fitted line segment lengths falling within the preset size range are retained as candidate point cloud data corresponding to the dual reflectors. Thus, principal component analysis is used to fit straight lines to the clustered point clouds, removing clustered point clouds with fitted lengths that do not meet the requirements and eliminating erroneous interference. Through this matching degree comparison, two sets of valid data corresponding to the target dual reflectors are selected from several groups of candidate point cloud data.
[0074] Furthermore, the matching degree comparison in step S147 applies to each independently executed perception process in each sub-path. Since the intelligent mobile robot stops at the end of each sub-path before detection, the perception conditions (relative distance and angle between the sensor and the marker) may differ slightly between sub-paths. However, the preset geometric feature parameters of the marker (i.e., the physical size of the marker) remain unchanged in the detection data of different sub-paths. Therefore, the same set of preset geometric feature parameters is applicable to the matching degree comparison in each sub-path, without the need to set them separately for different sub-paths. Through step S147, outlier candidate point cloud data that do not conform to the physical size characteristics of the marker in each set of candidate point cloud data are eliminated, and the two sets of valid data remaining are the data sources for subsequent pose calculation.
[0075] After selecting two sets of valid data corresponding to the dual reflectors in step S147, the coordinates of the feature center points of each set of valid data are calculated, and the actual center distance is calculated based on the coordinates of the two feature center points. For a set of valid data, its feature center can be taken as the geometric centroid of all data points in each set of valid data, or as the midpoint of the fitted line of the set, or other mathematical representations that can characterize the spatial center position of the set of data. In actual processing, since the valid data has been fitted into a straight line segment, the midpoint of the fitted line segment is usually taken as the feature center of the set. Each set of valid data corresponds to one feature center point, thus obtaining two feature center points, which correspond to the center of each reflector in the dual reflectors, respectively.
[0076] After obtaining the feature center point coordinates of two sets of valid data in step S148 and calculating the actual center distance based on these coordinates, it is necessary to further verify whether these two sets of valid data truly originate from the same dual reflector on the same target object, rather than being a mismatch of other objects in the environment. Therefore, step S149 calculates the feature center point coordinates of the two sets of valid data and calculates the actual distance between the two center distances (i.e., the actual center distance) based on these coordinates, then compares this actual center distance with the preset installation center distance of the dual reflectors. The preset installation center distance refers to the standard distance between the two reflectors actually measured during installation (e.g., 250mm to 350mm). The correctness of the current identification result is confirmed by determining whether the deviation between the actual center distance and the preset installation center distance is within the preset error tolerance range (e.g., ±5mm to ±10mm, depending on installation accuracy and sensor noise). If the deviation is within the preset range, it indicates that the recognition result is valid, and then proceed to step S1410 to perform pose calculation; if the deviation exceeds the preset range, the current recognition result is determined to be invalid, and proceed to step S1411 to handle the exception.
[0077] For example, the preset installation center distance between two reflectors is 250mm to 350mm. If the coordinates of the feature center points of two sets of valid data identified in a certain instance, and the actual distance between the two center points calculated based on these coordinates, is 200mm (a deviation of 50mm from the lower limit of the preset center distance of 250mm), this clearly exceeds the reasonable error range. This indicates that the two sets of valid data identified are not the same set of reflectors on the same target object. In this case, it may have identified one reflector on each of two adjacent machines, or mistakenly identified other objects in the environment as markers. This verification mechanism ensures that when multiple sets of reflectors appear in the sensor's field of view, the intelligent mobile robot will not mistakenly move to other machine positions.
[0078] After verification, it is confirmed that the two sets of valid data do indeed correspond to the dual reflectors on the target object, and then the pose information of the dual reflectors is calculated. Specifically, the average coordinates of the two feature center points are taken, i.e., the midpoint of the line segment connecting the two points, as the overall center position of the dual reflectors; the direction angle of the line connecting the two feature center points is taken as the spatial orientation angle of the dual reflectors. This overall center position and the spatial orientation angle together constitute the current pose information of the dual reflector center in the spatial coordinate system (including X coordinate, Y coordinate, and orientation angle), which serves as the perception input for the motion calculation of the intelligent mobile robot in subsequent control steps. It should be emphasized that the dual reflector scheme has an advantage in accuracy in pose calculation compared to the traditional single reflector scheme. The angle error of a single reflector is about 1°, but that of a dual reflector can be about 0.5°. This is because a single reflector can only provide single position information, and its orientation angle needs to be indirectly calculated by fitting the extension direction of the line segment, which is greatly affected by point cloud noise; while the dual reflector directly determines the orientation angle by connecting the two feature center points. The accuracy of the orientation angle depends on the stability of the relative positions of the two feature center points, rather than the extension direction of a single marker. Therefore, the stability and accuracy of the angle calculation are both improved.
[0079] If the verification fails, the current recognition result is deemed invalid and discarded. This means discarding the current detection data and all intermediate data generated from it (including candidate point cloud data, linear features, line segment lengths, feature centers, etc.) to ensure that subsequent steps do not use the erroneous recognition result. After discarding, the system needs to reacquire the detection data on the current sub-path and re-execute the perception processing flow. In practical applications, if multiple consecutive verifications fail, the recognition anomaly can be further reported, prompting manual intervention or switching to other positioning strategies.
[0080] In this embodiment, environmental interference is eliminated by comparing the matching degree between the fitted line segment length and the preset marker size range. Then, the actual center distance is verified by comparing it with the preset installation center distance to ensure that the two sets of valid data come from the same target object. This dual verification mechanism enables this application to accurately lock the corresponding target markers in industrial scenarios with multiple machines densely deployed, providing reliable perception assurance for high-precision docking control.
[0081] In conjunction with the first aspect, step S150, which involves controlling the intelligent mobile robot to move along the current sub-path using a pure tracking control algorithm based on the current pose information and reference pose data, specifically includes: S151, Based on the reference pose data and the current pose information, calculate the relative pose of the target docking position with respect to the current body of the intelligent mobile robot.
[0082] S152, Generate the planned path for the current sub-path based on the relative pose.
[0083] S153 employs a pure tracking control algorithm to control the intelligent mobile robot to move along the planned path to the end of the current sub-path.
[0084] Step S150: After completing the perception processing on the current sub-path, the intelligent mobile robot has obtained the current pose information of the center of the dual reflectors (i.e., the real-time pose of the dual reflectors in the world coordinate system). Combined with the pre-acquired reference pose data (i.e., the fixed geometric relationship between the target docking position and the coordinate system of the center of the dual reflectors), the control commands required for the intelligent mobile robot to move from the current position to the end point of the next sub-path can be calculated. Specifically: In step S151, the target docking position is converted to the current body coordinate system of the intelligent mobile robot to clarify the direction and distance of the target point on the intelligent mobile robot.
[0085] Specifically, the reference pose data describes the fixed geometric relationship between the target docking position and the coordinate system of the center of the dual reflectors, the current pose information describes the real-time position and orientation of the center of the dual reflectors in the world coordinate system, and the current pose of the intelligent mobile robot describes the position and orientation of the intelligent mobile robot itself in the world coordinate system.
[0086] By substituting these three factors into the coordinate transformation equation and performing inverse kinematics, the target docking position can be mapped from the world coordinate system to the current intelligent mobile robot body coordinate system, obtaining the relative pose of the target point relative to the vehicle body. This relative pose is the direct basis for subsequent path planning and motion control. Its physical meaning is: if the intelligent mobile robot is currently located at point A and the target is located at point B, then the relative pose output in this step is the direction, distance, and orientation deviation from A to B.
[0087] Step S152 converts the relative pose output in step S151 into a reference trajectory that the intelligent mobile robot can follow. Based on the relative pose of the starting point (the current position of the intelligent mobile robot) and the ending point (the end point of the current sub-path), a smooth motion trajectory from the starting point to the ending point is generated using a path planning algorithm. This trajectory consists of a series of discrete waypoints, including the position and orientation information of each point. This planned path serves as a reference input for subsequent control; that is, the intelligent mobile robot needs to move along this pre-planned trajectory, rather than blindly driving directly towards the target point. By generating a smooth and continuous planned path, motion stability and driving smoothness are ensured in the subsequent control process.
[0088] Step S153 is used to drive the intelligent mobile robot to actually move. The core logic of the pure tracking algorithm is as follows: on the planned path generated in S152, a pre-aiming point is selected in front of the intelligent mobile robot. The geometric relationship between the current pose of the intelligent mobile robot and the pre-aiming point is calculated, and control commands (steering angle or angular velocity) are generated accordingly, so that the intelligent mobile robot smoothly moves towards the pre-aiming point along an arc. This process is executed cyclically at a frequency of 10Hz to 50Hz. In each control cycle, the pre-aiming point is reselected and the control variables are updated. The intelligent mobile robot then moves forward point by point along the planned path until it reaches the end of the current sub-path.
[0089] In conjunction with the first aspect, step S151 includes: S1511, Obtain reference pose data and extract the first pose matrix of the target docking position relative to the coordinate system of the center of the double reflectors.
[0090] S1512, obtain the current pose information and extract the real-time pose matrix of the center of the dual reflectors in the world coordinate system.
[0091] S1513: Obtain the real-time pose matrix of the current body of the intelligent mobile robot in the world coordinate system, and based on the first pose matrix and the real-time pose matrix of the center of the two reflectors, map the target docking position to the world coordinate system to obtain the absolute pose matrix of the target docking position in the world coordinate system.
[0092] S1514. Based on the absolute pose matrix of the target docking position in the world coordinate system and the real-time pose matrix of the current body of the intelligent mobile robot in the world coordinate system, the coordinate transformation equation is solved inversely to obtain the relative pose matrix of the target docking position relative to the current body of the intelligent mobile robot, which is used as the relative pose of the target docking position relative to the current body of the intelligent mobile robot.
[0093] After obtaining the current pose information of the center of the dual reflectors, the perception result needs to be converted into a target relative pose usable for the motion control of the intelligent mobile robot. Specifically, the target docking position needs to be transformed from a local coordinate system with the center of the dual reflectors as the origin, through the world coordinate system, and finally to the current body coordinate system of the intelligent mobile robot. This transformation process includes: Step S1511 First pose matrix This matrix describes the fixed geometric relationship of the target docking position in a local coordinate system with the center of the dual reflectors as the origin. It includes the offset of the target point relative to the center of the dual reflectors in the X-direction (front-back direction), the Y-direction (left-right direction), and the angular offset of the target point relative to the line connecting the centers of the dual reflectors. This matrix is the result of offline calibration, pre-acquired and stored before the docking process begins, and remains unchanged throughout the entire docking process. For example, when the reflector installation center perfectly coincides with the machine docking interface center, the X-direction offset is half the length of the intelligent mobile robot body, the Y-direction offset is 0, and the angular offset is 0; if there is an installation error, the calibration values are corrected accordingly. This matrix provides a reference for subsequently mapping the target docking position to the global coordinate system.
[0094] Step S1512: After the intelligent mobile robot reaches the starting point of the current sub-path and stops, the detection data of the two reflectors is re-acquired by the LiDAR and solved using the principal component analysis algorithm to obtain the real-time pose matrix of the center of the two reflectors in the world coordinate system. This matrix contains the position coordinates and orientation angle of the dual reflector centers relative to the origin of the world coordinate system at the current sensing moment. Notably, this matrix is re-acquired at the start of each sub-path, rather than relying on historical calculations from previous sub-paths. This design ensures that the control of each sub-path is based on the latest sensing data at the current sub-path's start point, preventing motion errors from previous sub-paths from propagating to subsequent sub-paths and achieving error isolation between sub-paths. .
[0095] Step S1513: Obtain the real-time pose matrix of the intelligent mobile robot in the world coordinate system. And based on the first pose matrix and the real-time pose matrix of the center of the dual reflectors Mapping the target docking position to the world coordinate system yields the absolute pose matrix of the target docking position in the world coordinate system. .
[0096] First, the real-time pose matrix of the intelligent mobile robot's current body (base_link) in the world coordinate system is obtained through the robot's positioning system (such as an odometer, inertial measurement unit, or positioning module). This matrix describes the position and orientation of the intelligent mobile robot in the world coordinate system. Then, the real-time pose of the dual reflector centers in the world coordinate system obtained in step S1512 is used... The first pose matrix of the target docking position relative to the center coordinate system of the dual reflectors, obtained in step S1511. The target docking position is mapped from the local coordinate system to the world coordinate system through homogeneous coordinate multiplication. Understandably, the real-time pose of the reflector center updates as the intelligent mobile robot's observation position changes, but the fixed offset of the target docking position relative to the reflector center remains unchanged. By superimposing the two, the absolute coordinates and orientation of the target docking position in the world coordinate system can be obtained, preparing for the next step of conversion to the intelligent mobile robot's body coordinate system.
[0097] Step S1514: Determine the absolute pose of the target docking position obtained in step S1513 in the world coordinate system. The pose of the intelligent mobile robot in the world coordinate system Substitute into the coordinate transformation equation This equation states that the left-left multiplication of the intelligent mobile robot's current pose in the world coordinate system by the target point's relative pose relative to the robot equals the target point's absolute pose in the world coordinate system. The left-left multiplication of this equation... The inverse matrix is used to solve for the unknowns. . This refers to the relative pose matrix between the target docking position and the current body of the intelligent mobile robot. Physically, it represents the direction, distance, and angle the intelligent mobile robot needs to move and rotate from its current position to reach the target point. This relative pose is the direct input for subsequent S152 path planning, driving the intelligent mobile robot to travel along the current sub-path towards the target point.
[0098] In conjunction with the first aspect, step S152 includes: S1521, Based on the relative pose, determine the start and end points of the current sub-path; the start point is the current position of the intelligent mobile robot, and the end point is the target destination of the current sub-path.
[0099] S1522, based on the relative pose between the starting point and the ending point, uses an interpolation algorithm or a geometric fitting algorithm to generate several intermediate path points between the starting point and the ending point.
[0100] S1523, arrange the starting point, several intermediate path points and the ending point in sequence to form a smooth motion trajectory from the starting point to the ending point, which serves as the planned path for the current sub-path; the planned path consists of several discrete path points, each containing location information and orientation information.
[0101] After calculating the relative pose of the target docking position with respect to the current body of the intelligent mobile robot in step S151, it is necessary to convert this relative pose into a reference trajectory usable for the motion control of the intelligent mobile robot. This involves generating a smooth motion trajectory from the current position to the end point of the current sub-path, enabling the intelligent mobile robot to move smoothly along this trajectory instead of blindly moving directly towards the target point. The specific process for generating this planned path is as follows: After calculating the relative pose of the target docking position with respect to the current body of the intelligent mobile robot in step S151, the two endpoints of the current sub-path can be determined accordingly. The starting point is the current position of the intelligent mobile robot, which is the end point of the previous sub-path (for the first sub-path, it is the coarse positioning position given by the navigation system; for subsequent sub-paths, it is the previous transfer point). The ending point is the target position that the current sub-path needs to reach: if the current sub-path is from the first segment to the second to last segment (i.e., there is a subsequent sub-path), then the ending point is the corresponding transfer point, which is also the starting point of the next sub-path; if the current sub-path is the last segment, then the ending point is the target docking position. This step clarifies the starting state and the expected ending state of the current sub-path planning, providing boundary constraints for the generation of subsequent path points.
[0102] After determining the start and end points of the current sub-path, step S1522 requires generating a series of intermediate path points between the two endpoints to form a continuous trajectory that the intelligent mobile robot can track. Specifically, the complete pose information (position coordinates and orientation angle) of the start point and the complete pose information of the end point are obtained. Based on the relative pose between the two (including position difference and orientation difference), intermediate path points are generated using interpolation algorithms or geometric fitting algorithms. Interpolation algorithms include, but are not limited to, linear interpolation and spline interpolation (such as cubic splines and quintic splines). Linear interpolation is suitable for short-distance straight paths, with low computational cost and fast response. Spline interpolation can ensure the continuity of the path's position, first derivative (velocity direction), and even second derivative (curvature) at connection points, resulting in a smoother trajectory. Geometric fitting algorithms include, but are not limited to, Bézier curves and B-spline curves. Compared to interpolation algorithms, they can more flexibly control the overall shape of the path and naturally meet the curvature continuity requirement. In practical implementation, the generation of intermediate path points needs to take into account the kinematic constraints of the intelligent mobile robot: for two-wheel differential drive intelligent mobile robots, the curvature change between adjacent path points should be gradual to avoid sudden changes in angular velocity; for Ackerman steering intelligent mobile robots, the minimum turning radius limit should also be met to ensure that the planned path is geometrically continuous and can be actually executed by the intelligent mobile robot.
[0103] After generating several intermediate path points, step SS1523 arranges these intermediate path points, along with the starting point and the ending point, sequentially according to the spatial progression direction from the starting point to the ending point, forming a complete path point sequence. The starting point is the first element of the sequence, and the ending point is the last element. The intermediate path points are arranged between the two in the order they are traversed during the journey, thus forming the planned path for the current sub-path. This planned path consists of several discrete path points, each containing position coordinates and orientation angle information, describing both the spatial position the intelligent mobile robot should traverse and the desired posture upon reaching that position. The orderliness of this path point sequence is a prerequisite for the subsequent pure tracking control algorithm to search for the target point forward along the path direction. That is, after the control algorithm traverses the sequence to determine the nearest point, it searches forward along the sequence direction from that point, rather than backtracking to revisit the path points already traversed. After completing this step, the planned path serves as the reference input for trajectory tracking control, allowing the pure tracking control algorithm in step S153 to track point by point, driving the intelligent mobile robot to smoothly travel along the planned path from the current position to the end point of the current sub-path.
[0104] In conjunction with the first aspect, step S153 includes: S1531: Traverse the path points on the planned path, calculate the Euclidean distance between each path point and the current position of the intelligent mobile robot, and select the point with the smallest distance as the shortest point on the path.
[0105] S1532, based on the preset aiming distance, search forward along the path from the nearest point on the path, and select the path point whose distance from the current position of the intelligent mobile robot is first greater than or equal to the aiming distance as the aiming point.
[0106] S1533 transforms the aiming point from the world coordinate system to the intelligent mobile robot's body coordinate system and calculates the heading deviation angle.
[0107] S1534 calculates the turning angle or angular velocity of the intelligent mobile robot based on the heading deviation angle and sends it to the underlying controller for execution.
[0108] After generating the planned path for the current sub-path in step S152, a pure tracking control algorithm is used to control the intelligent mobile robot to travel along the planned path from the starting point to the ending point. Within each control cycle, the control commands for the intelligent mobile robot are calculated and executed through the following sub-steps, and updated cyclically at a frequency of 10Hz to 50Hz until the intelligent mobile robot reaches the ending point of the current sub-path.
[0109] Before initiating pure tracking control, it is first necessary to determine the projected position of the intelligent mobile robot's current location on the planned path, serving as the starting reference point for subsequent aiming point searches. Specifically, in step S1531, within each control cycle, all discrete path points included in the current sub-path planning path are traversed, and the Euclidean distance (i.e., the straight-line distance between two points) between each path point and the intelligent mobile robot's current position is calculated one by one. The path point with the smallest distance is selected as the path nearest point. This path nearest point is the closest projected position of the intelligent mobile robot on the planned path. By setting the path nearest point as the search starting point, rather than starting the search from the path starting point, even if the intelligent mobile robot experiences slight positional deviations due to uneven road surfaces, wheel speed differences, or external interference during travel, it can still start from its current actual position and track forward along the path, rather than traversing back to the path starting point to restart. This ensures the control algorithm's rapid response capability to path deviations and the robustness of trajectory tracking. It should be noted that as the intelligent mobile robot moves forward along the path, its position changes continuously, and the nearest point on the path also moves forward along the path sequence. When calculating the nearest point, only the path points that have not yet been crossed by the intelligent mobile robot are traversed. Path points that have already been crossed are no longer included in the calculation of the nearest point, in order to avoid misjudging points that have been crossed by the intelligent mobile robot behind it as the nearest point and causing incorrect searches.
[0110] After determining the closest point on the path, it is necessary to start from that point and search along the planned path's forward direction to determine the aiming point for the current control cycle. The aiming point is a core concept of the pure tracking control algorithm—the intelligent mobile robot does not directly track the closest point on the path, but rather tracks a point a certain distance ahead. By tracking this aiming point, the intelligent mobile robot can perceive changes in the path in advance, thus smoothly adjusting its direction and avoiding frequent turns caused by local path fluctuations. Specifically, the aiming distance is first determined according to a preset strategy. The aiming distance can be determined using a fixed value (suitable for low-speed, stable scenarios) or an adaptive method, where the aiming distance is proportional to the current linear velocity. ,in The proportionality coefficient represents the speed. The larger the value, the farther the aiming distance, to ensure smooth control during high-speed travel. Then, starting from the nearest point on the path, the system traverses subsequent path points sequentially along the increasing direction of the path point sequence (i.e., the path's forward direction). It calculates the Euclidean distance or the arc length distance along the path between each path point and the current position of the intelligent mobile robot, and selects the path point whose distance is first greater than or equal to the aiming distance as the aiming point. If no path point meeting the condition is found by traversing to the end of the current sub-path, the end of the current sub-path is directly taken as the aiming point to ensure that the intelligent mobile robot can accurately stop at the end of the sub-path.
[0111] After selecting the aiming point, its spatial position needs to be transformed from the world coordinate system to the intelligent mobile robot's vehicle coordinate system (i.e., a local coordinate system with the forward direction as the X-axis and the intelligent mobile robot's current position as the origin). The purpose of this coordinate transformation is to eliminate the absolute positional offset of the aiming point in the world coordinate system, retaining only its angular deviation relative to the intelligent mobile robot's current direction of travel, in order to calculate the steering control input. The specific transformation formula is as follows:
[0112] in, The X-axis coordinate of the aiming point in the world coordinate system; The Y-coordinate of the aiming point in the world coordinate system; This refers to the X-axis coordinate of the current position of the intelligent mobile robot in the world coordinate system. This represents the Y-axis coordinate of the current position of the intelligent mobile robot in the world coordinate system. This represents the current orientation angle of the intelligent mobile robot in the world coordinate system. The X-axis coordinate of the aiming point relative to the coordinate system of the intelligent mobile robot body; Let Y be the Y-axis coordinate of the aiming point relative to the coordinate system of the intelligent mobile robot.
[0113] After completing the coordinate transformation, the heading deviation angle is calculated using the arctangent function:
[0114] in, The heading deviation angle of the pre-aiming point relative to the current direction of travel of the intelligent mobile robot represents the deflection angle of the pre-aiming point relative to the current direction of travel of the intelligent mobile robot: if the angle is positive, it means that the pre-aiming point is to the left front of the intelligent mobile robot, and the intelligent mobile robot needs to turn left; if the angle is negative, it means that the pre-aiming point is to the right front of the intelligent mobile robot, and the intelligent mobile robot needs to turn right; the larger the absolute value of the angle, the greater the required turning amount.
[0115] After obtaining the heading deviation angle, step S1534 calculates the corresponding low-level control commands based on the kinematic model type of the intelligent mobile robot to achieve tracking of the planned path. Specifically, the kinematic model type of the intelligent mobile robot is first obtained: if the intelligent mobile robot is an Ackerman steering vehicle (such as a front-wheel steering AGV or unmanned vehicle), then the front wheel steering angle is calculated by substituting the heading deviation angle and the vehicle wheelbase into the Ackerman steering geometry formula. The steering angle is sent to the underlying controller for execution; if the intelligent mobile robot is a two-wheel differential drive intelligent mobile robot, the angular velocity is calculated based on the heading deviation angle and the current linear velocity. Then, based on the angular velocity and the current linear velocity, the speeds of the left and right wheels are calculated respectively, and the left and right wheel speed commands are sent to the underlying controller for execution. The calculation and sending of control commands are executed cyclically at a frequency of 10Hz to 50Hz. That is, in each control cycle, the nearest point on the path is re-determined based on the latest pose of the intelligent mobile robot, the pre-aiming point is re-selected, the heading deviation angle is recalculated, and the control variables are updated until the end point of the current sub-segment is reached.
[0116] In conjunction with the first aspect, the method also includes: If the current sub-path is the last sub-path and the intelligent mobile robot is less than the preset aiming distance from the target docking position, virtual extension points are generated by extending outward along the connecting line direction and curvature value of the last two path points at the end of the planned path, and the virtual extension points are replaced with the current aiming points for pure tracking control.
[0117] As the intelligent mobile robot executes the last sub-path and gradually approaches the target docking position, when the distance between the intelligent mobile robot and the target docking position is less than the preset minimum aiming distance threshold (e.g., less than 0.15m), the number of remaining path points available for searching on the path is drastically reduced because the planned path is close to the end point. The aiming point in the conventional pure tracking algorithm will fall into the end point. At this time, the influence of lateral error on angle control gain is amplified exponentially, and the vehicle body is very prone to angle oscillation near the end point, resulting in an increase in the final positioning posture deviation.
[0118] To address the aforementioned issues, this application introduces a virtual pre-aiming point strategy at the end of the last sub-path: when the intelligent mobile robot is less than a preset minimum pre-aiming distance threshold from the target docking position, instead of directly using the actual point on the path as the pre-aiming point, it obtains the direction of the line connecting the last two path points at the end of the planned path and the curvature value at that line. The direction of the line determines the basic orientation of the virtual extension point, and the curvature value reflects the changing trend at the end of the path (when the curvature is large, the extension direction needs to be deflected accordingly to match the path trend; when the curvature is approximately zero, it can be extended directly along the direction of the line). After determining the extension direction based on the curvature value, a virtual point located outside the trajectory endpoint is generated by extending outward along this direction. This virtual extension point is used as the pre-aiming point for the current control cycle and substituted into the pure tracking control law to calculate the control command.
[0119] In this embodiment, by moving the pre-aiming point outside the trajectory endpoint, the intelligent mobile robot still has a stable reference point "ahead" when approaching the target point, avoiding the sudden change in heading angle caused by the pre-aiming point falling into the endpoint, and ensuring that the heading deviation angle maintains a smooth transition throughout the entire process from approaching the target to finally reaching the target, thereby improving the accuracy of the final landing angle.
[0120] Traditional pure tracking algorithms, when approaching the target point, can only use the endpoint as the target point because the remaining path length is less than the pre-aiming distance. This causes the endpoint's orientation angle to change drastically as the intelligent mobile robot approaches (combined with...). Figure 3 As shown), the angular velocity fluctuates drastically, the vehicle body sways repeatedly, and the positioning angle error increases. This application introduces a distance threshold determination in step S1532: when the distance is still far, the pre-aiming point is located on the planned path (combined with...). Figure 4 As shown), the direction angle changes smoothly; when the distance is less than the threshold, a virtual extension point is generated along the tangent direction at the end of the path as a pre-aiming point (combined with...). Figure 5 As shown in the diagram, the virtual point moves outward synchronously with the approach of the intelligent mobile robot, with a smooth change in direction angle and stable convergence of angular velocity, fundamentally avoiding vehicle swaying caused by sudden changes in the direction angle at the endpoint. Through the above adaptive switching mechanism, this application effectively suppresses the oscillation of the arrival angle while maintaining the real-time advantage of the pure tracking algorithm, enabling the intelligent mobile robot to complete the arrival at the endpoint of each sub-path with a stable posture.
[0121] Combination Figure 7 As shown, firstly, reflectors (such as double reflectors) and calibration parameters are deployed on the target object (such as a machine tool), and reference pose data is obtained in advance; the transfer point is determined and the path is divided into multiple sub-paths. In this embodiment, the number of transfer points is 1, and the number of sub-paths is 2, that is, the entire task is divided into two tasks: a first docking and a second docking. Then, a straight line is fitted by PCA, outlier data is removed by matching degree comparison, and the double reflectors are confirmed by center distance verification. Finally, the current pose information is calculated to complete each task. Among them, the first docking and the second docking are not two independent tasks, but correspond to the execution process of each sub-path under the multi-segment control framework in this application. Each segment independently executes the complete perception-pose calculation-path generation-pure tracking control link. After reaching the transfer point, the pose information is re-perceived and updated to eliminate navigation positioning deviation and achieve high-precision positioning.
[0122] Secondly, embodiments of this application provide an electronic device, combined with Figure 6 As shown, the electronic device includes a memory 131 and a processor 130. The memory 131 stores a computer program, and the processor 130 runs the computer program to make the electronic device perform the above-described method.
[0123] Furthermore, combined Figure 6 The electronic device shown also includes a bus 132 and a communication interface 133, with the processor 130, the communication interface 133 and the memory 131 connected via the bus 132.
[0124] The memory 131 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 133 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc. The bus 132 may be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0125] Processor 130 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of processor 130 or by instructions in software form. Processor 130 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 131, and processor 130 reads the information in memory 131 and, in conjunction with its hardware, completes the steps of the method described in the foregoing embodiments.
[0126] Fourthly, embodiments of this application provide a readable storage medium storing computer program instructions, which are read and executed by a processor to perform the above-described method.
[0127] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0128] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.
[0129] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0130] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0131] Finally, it should be noted that the above embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A high-precision positioning method for an intelligent mobile robot, characterized in that, The method includes: Set up two reflectors on the target object and obtain reference pose data of the two reflectors relative to the docking position of the target; Based on the position of the dual reflectors, at least one transfer point is determined; the transfer point is located on the extended line of the center of the dual reflectors and has a preset distance value between it and the center of the dual reflectors, the preset distance value being pre-calibrated based on the optical characteristics of the detection sensor; Based on the at least one transfer point, the path for the intelligent mobile robot to move from its current position to the target docking position is divided into at least two sequentially connected sub-paths; For each sub-path, the point cloud data of the dual reflectors on the sub-path is obtained as the current detection data. The principal component analysis algorithm is used to extract linear features from the current detection data, and the current pose information of the center of the dual reflectors is determined based on the two sets of valid data corresponding to the dual reflectors in the extraction results. Based on the current pose information and the reference pose data, a pure tracking control algorithm is used to control the intelligent mobile robot to move along the current sub-path until it reaches the target docking position; wherein, if the current sub-path is the last sub-path, the end point of the current sub-path is the target docking position.
2. The method according to claim 1, characterized in that, The step of performing linear feature extraction on the current probe data using principal component analysis includes: Extract the labeled feature points from the current detection data and perform clustering to obtain several sets of candidate point cloud data; The candidate point cloud data of each group are centralized by subtracting their own mean from each feature to shift the data center to the origin, thus obtaining the centralized data matrix. Calculate the covariance matrix corresponding to the centered data matrix; The covariance matrix is decomposed into eigenvalues to obtain eigenvalues and corresponding eigenvectors. The eigenvector corresponding to the largest eigenvalue is selected as the principal component direction, and the dimensionality reduction of the current group of candidate point cloud data is completed by projecting it onto the principal component direction, so as to extract the linear features of the current group of candidate point cloud data.
3. The method according to claim 2, characterized in that, The step of determining the current pose information of the center of the dual reflectors based on the two sets of valid data corresponding to the dual reflectors in the extraction results includes: Obtain the fitted straight line and its segment length for each group of candidate point cloud data; The line segment lengths of each group of candidate point cloud data are compared with the preset width range of the dual reflectors. Outlier candidate point cloud data whose line segment lengths exceed the preset width range are eliminated, and the two groups of valid data corresponding to the dual reflectors are retained. Calculate the coordinates of the feature center points of the two sets of effective data respectively, and calculate the actual center distance based on the two feature center points; The deviation between the actual center distance and the preset installation center distance of the dual reflectors is determined to be within a preset range; If so, the overall center position and spatial orientation angle of the dual reflectors are calculated based on the two sets of feature center points, which are used as the current pose information of the center of the dual reflectors.
4. The method according to claim 3, characterized in that, After determining that the deviation between the actual center distance and the preset installation center distance of the dual reflectors is within a preset range, the method further includes: If not, the current identification result is deemed invalid, the current identification result is discarded, and the detection data is acquired again.
5. The method according to claim 1, characterized in that, The step of controlling the intelligent mobile robot to move along the current sub-path using a pure tracking control algorithm based on the current pose information and the reference pose data includes: Based on the reference pose data and the current pose information, the relative pose of the target docking position with respect to the current body of the intelligent mobile robot is calculated. Generate the planned path for the current sub-path based on the relative pose; A pure tracking control algorithm is used to control the intelligent mobile robot to move along the planned path to the end of the current sub-path.
6. The method according to claim 5, characterized in that, The step of calculating the relative pose of the target docking position with respect to the current body of the intelligent mobile robot based on the reference pose data and the current pose information includes: Obtain the reference pose data and extract the first pose matrix of the target docking position relative to the coordinate system of the center of the dual reflectors; Obtain the current pose information and extract the real-time pose matrix of the center of the dual reflectors in the world coordinate system; The real-time pose matrix of the current body of the intelligent mobile robot in the world coordinate system is obtained, and the target docking position is mapped to the world coordinate system according to the first pose matrix and the real-time pose matrix of the center of the dual reflectors, so as to obtain the absolute pose matrix of the target docking position in the world coordinate system. Based on the absolute pose matrix of the target docking position in the world coordinate system and the real-time pose matrix of the current body of the intelligent mobile robot in the world coordinate system, the coordinate transformation equation is solved inversely to obtain the relative pose matrix of the target docking position relative to the current body of the intelligent mobile robot, which is used as the relative pose of the target docking position relative to the current body of the intelligent mobile robot.
7. The method according to claim 5, characterized in that, The step of generating a planned path for the current sub-path based on the relative pose includes: Based on the relative pose, the start and end points of the current sub-path are determined; the start point is the current position of the intelligent mobile robot, and the end point is the target destination of the current sub-path. Based on the relative pose between the starting point and the ending point, an interpolation algorithm or a geometric fitting algorithm is used to generate several intermediate path points between the starting point and the ending point. The starting point, the intermediate path points, and the endpoint are arranged in sequence to form a smooth motion trajectory from the starting point to the endpoint, which serves as the planned path for the current sub-path. The planned path consists of several discrete path points, each of which contains location information and orientation information.
8. The method according to claim 5, characterized in that, Using a pure tracking control algorithm, the intelligent mobile robot is controlled to move along the planned path to the end of the current sub-path, including: Obtain the current pose and linear velocity of the intelligent mobile robot; Traverse the path points on the planned path, calculate the Euclidean distance between each path point and the current position of the intelligent mobile robot, and select the point with the smallest distance as the shortest point on the path. Based on the preset aiming distance, start from the nearest point on the path and search forward along the path, selecting the path point whose distance from the current position of the intelligent mobile robot is first greater than or equal to the preset aiming distance as the aiming point; Transform the pre-aiming point from the world coordinate system to the intelligent mobile robot's vehicle coordinate system, and calculate the heading deviation angle; The turning angle or angular velocity of the intelligent mobile robot is calculated based on the heading deviation angle and sent to the underlying controller for execution.
9. The method according to claim 8, characterized in that, The method further includes: If the current sub-path is the last sub-path and the distance between the intelligent mobile robot and the target docking position is less than the preset aiming distance, a virtual extension point is generated by extending outward along the connecting direction and curvature value of the last two path points at the end of the planned path, and the virtual extension point is replaced with the current aiming point for pure tracking control.
10. The method according to claim 1, characterized in that, The width of each reflector in the dual reflector is 80mm to 120mm, the center distance between the two reflectors is 250mm to 350mm, and the center of the two reflectors is arranged at the same height as the scanning plane of the detection sensor.