Robot docking method, electronic equipment and computer readable storage medium
By identifying and updating the position and posture of feature markers within the robot's target scene, the problem of low robot docking accuracy is solved, and higher docking accuracy and stability are achieved.
Patent Information
- Application Number
- CN202510726442.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-09-23
AI Technical Summary
In the prior art, the robot docking accuracy is low, especially because the recognition accuracy of reflective material markings varies greatly with distance, resulting in low docking accuracy.
By acquiring multiple laser frames of the robot in the target scene and their matching postures, the position of the feature marker is identified, the reference point is determined using the structural characteristics and marker position of the feature marker, the robot's docking posture is predicted, and the error is corrected by updating multiple sets of postures and positions during the docking process until the docking target point is reached.
The robot docking accuracy is improved, the dependence on reflective material markings is reduced, and the stability and accuracy of docking are enhanced.
Smart Images

Figure CN120680494A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control technology, and in particular to a robot docking method, electronic equipment, and computer-readable storage medium. Background Art
[0002] With the increasing application of robots, controlling robots for docking in target scenarios has become a key research topic. Existing technologies typically use reflective markers to assist robots in docking. However, the accuracy of robots identifying these markers fluctuates significantly with the distance between the robot and the marker, resulting in low docking accuracy. Therefore, improving the accuracy of robot docking has become a pressing issue. Summary of the Invention
[0003] The main technical problem solved by this application is to provide a robot docking method, electronic equipment and computer-readable storage medium, which can improve the accuracy of robot docking.
[0004] In order to solve the above technical problems, the first aspect of the present application provides a robot docking method, wherein the robot has a corresponding docking target point in a target scene, and the method includes: obtaining multiple laser frames collected by the robot from the target scene and their matching postures, and determining the identification position corresponding to the feature identifier in the target scene based on the multiple laser frames and their matching postures; wherein the feature identifier is set in the target scene and matches the target point, and its structure includes a plate with multiple orientations; based on the structural characteristics of the feature identifier and the identification position, determining the reference point on the feature identifier; based on the reference point and the target point, determining the docking posture of the robot when docking with the target point; using the multiple groups of docking postures and multiple groups of identification positions obtained during the docking process, updating the docking posture during the docking process until the robot docks with the target point.
[0005] To solve the above technical problems, the second aspect of the present application provides an electronic device, which includes: a memory and a processor coupled to each other, wherein the memory stores program data, and the processor calls the program data to execute the method described in the first aspect above.
[0006] In order to solve the above technical problems, the third aspect of the present application provides a computer-readable storage medium on which program data is stored. When the program data is executed by a processor, the method described in the first aspect is implemented.
[0007] The beneficial effects of the present application are as follows: Different from the prior art, the present application obtains multiple laser frames collected by the robot from the target scene and the postures matched by the laser frames, identifies the feature identifier in the target scene based on the multiple laser frames and their matched postures, and obtains the identification position corresponding to the feature identifier, wherein the feature identifier matches the target point in the target scene, and the structure of the feature identifier includes a plate body with multiple orientations, thereby strengthening the robot's ability to identify the feature identifier through the plates with different orientations, and reducing the dependence on reflective materials. Based on the structural characteristics and identification position of the feature identifier, a reference point is selected from the feature identifier so that the feature identifier has a reference point for position reference. Based on the matching relationship between the reference point and the target point, the posture of the robot when moving toward the target point and docking with the target point is predicted, and the docking posture of the robot when docking with the target point is determined. Using the multiple sets of docking postures and multiple sets of identification positions obtained during the docking process, the docking posture obtained during the docking process is continuously updated, thereby correcting the errors caused by position changes and hardware accuracy until the robot docks with the target point, thereby improving the accuracy of the robot docking. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without inventive efforts. Among them:
[0009] Figure 1 This is a flow chart of an embodiment of the robot docking method of the present application;
[0010] Figure 2 This is a structural diagram of an embodiment of the characteristic identification of this application;
[0011] Figure 3 This is a flow chart of another embodiment of the robot docking method of the present application;
[0012] Figure 4 This is a schematic diagram of the structure corresponding to the characteristic identification of this application from a top-down perspective;
[0013] Figure 5 This is a schematic structural diagram of an embodiment of the electronic device of the present application;
[0014] Figure 6 It is a structural diagram of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0015] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them, and different implementation methods can be adaptively combined. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0016] The terms "system" and "network" are often used interchangeably in this document. The term "and / or" is simply a description of an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " generally indicates that the related objects are in an "or" relationship. Furthermore, "multiple" in this document means two or more than two.
[0017] The robot docking method provided in this application is used to control a robot to dock with a matching docking object within a target scene. The robot has a corresponding docking target point within the target scene, and this target point is compatible with the docking object. The robot docking method is executed by a processing unit capable of data processing, which is integrated into the robot or exists independently of the robot and interacts with the robot.
[0018] See also Figure 1 , Figure 1 : is a flow chart of an embodiment of the robot docking method of the present application, the method comprising:
[0019] S101: Acquire multiple laser frames and their matching postures collected by the robot from the target scene, and determine the identification position corresponding to the feature identification in the target scene based on the multiple laser frames and their matching postures; wherein the feature identification is set in the target scene and matches the target point, and its structure includes a plate with multiple orientations.
[0020] Specifically, multiple laser frames collected by the robot from the target scene and the postures matched by the laser frames are obtained, and feature identifiers in the target scene are identified based on the multiple laser frames and their matched postures to obtain the identification positions corresponding to the feature identifiers.
[0021] It should be noted that the feature marker matches the target point in the target scene, and the structure of the feature marker includes plates with multiple orientations, thereby enhancing the robot's ability to recognize the characteristics of the feature marker through plates with different orientations, reducing dependence on reflective materials.
[0022] In one embodiment, multiple laser frames captured by a robot from a target scene are acquired, and poses matched by the laser frames are determined, wherein the poses matched by the laser frames correspond to the poses of the robot when the laser frames were captured. Based on the laser frames and their matched positions, all laser frames are converted into a latest laser frame to obtain a scene point cloud of the target scene, and the positions of the features corresponding to the features are determined from the scene point cloud according to the structural characteristics of the features.
[0023] In one embodiment, multiple laser frames captured by a robot from a target scene are acquired. The poses of the adjacent devices before and after the laser frame timestamps are used to generate the matching poses of the laser frames. Based on the laser frames and their matching poses, the point clouds from all laser frames are fused. The fused point clouds are then filtered based on the structural characteristics of the feature identifiers to obtain the corresponding marker positions.
[0024] It should be noted that the laser frames have corresponding timestamps. The laser frames used for fusion are searched and selected in the order of timestamps starting from the latest laser frame in a sliding window manner to obtain a preset number of laser frames.
[0025] In some implementation scenarios, the robot includes a mobile chassis and a laser radar. The mobile chassis includes a motion controller, a motor, a battery, an embedded computer and an odometer. The multiple laser frames correspond to continuous laser frames collected by the laser radar on the robot. The odometer collects the odometer posture at a higher frequency and converts it into the device posture. The device posture closest to the time of collecting the laser frame is used as the posture matched by the laser frame. Based on the laser frame and its matching position, all laser frames are converted into the latest laser frame to obtain the scene point cloud of the target scene. The point cloud that matches the structural features of the feature identifier is identified from the scene point cloud, and the identification position corresponding to the feature identifier in the target scene is determined.
[0026] In some implementation scenarios, the robot is equipped with a laser radar and a posture sensor. Multiple laser frames correspond to continuous laser frames collected by the laser radar on the robot. The posture sensor collects the device posture corresponding to the robot, and interpolation operations are performed using the adjacent device postures before and after the laser frame timestamp to obtain the posture matching the laser frame. Based on the laser frame and its matching posture, the point clouds in all laser frames are fused, and the fused point clouds are screened according to the structural characteristics of the feature identifier to obtain the reference point cloud corresponding to the feature identifier, and the identification position corresponding to the feature identifier in the target scene is determined based on the reference point cloud.
[0027] In a specific implementation scenario, please refer to Figure 2 , Figure 2 This is a structural diagram of an embodiment of the feature identifier of the present application. The structural features of the feature identifier correspond to concave features constructed by multiple plates, wherein, Figure 2As shown, the characteristic mark includes a flat plate located on the reference surface, two inclined plates intersecting the two ends of the flat plate on the reference surface, and flat plates connected to the ends of the inclined plates and parallel to the reference surface. In other specific implementation scenarios, Figure 2 On the basis of the plate body shown in the figure, inclined plates and flat plates connected to the inclined plates are further provided at both ends of the flat plates, or Figure 2 On the basis of the plate body shown, an inclined plate with a larger inclination angle is further provided between the inclined plate and the flat plate at the end. In other words, the characteristic mark can be obtained by combining various custom numbers of flat plates and inclined plates with different orientations. This application does not impose any specific restrictions on this. Figure 2 The structure shown is the preferred structure.
[0028] S102: Determine a reference point on the feature identifier based on the structural features and identifier position of the feature identifier.
[0029] Specifically, based on the structural features and identification position of the feature identifier, a reference point is selected from the feature identifier so that the feature identifier has a reference point for position reference.
[0030] In one embodiment, based on the structural features and identification positions of the feature identifiers, plates with different orientations corresponding to the feature identifiers are fitted, the plate centers corresponding to all plates are determined, and the plate centers are used as reference points on the feature identifiers.
[0031] In one embodiment, based on the structural features and identification position of the feature identifier, the point cloud corresponding to the feature identifier is clustered, the cluster center corresponding to the point cloud corresponding to the feature identifier is obtained, and the cluster center is used as a reference point on the feature identifier.
[0032] It can be understood that the feature identifier and the target point are both within the target scene, and the feature identifier and the target point match. After determining the reference point on the feature identifier, the positional relationship between the reference point and the target point can be determined based on the matching relationship between the feature identifier and the target point.
[0033] In some implementation scenarios, the robot docking target point is used to transfer the object carried by the robot to a supporting object. The target point is located on the supporting object, and the characteristic identifier is set on the ground.
[0034] S103: Based on the reference point and the target point, determine the docking posture of the robot when docking with the target point.
[0035] Specifically, based on the matching relationship between the reference point and the target point, the posture of the robot when moving toward the target point and docking with the target point is predicted, and the docking posture of the robot when docking with the target point is determined.
[0036] In one embodiment, a reference coordinate system is established with the reference point as the origin, and a mapping relationship between the reference coordinate system and the map coordinate system corresponding to the target scene is determined. Based on the positional relationship between the reference point and the target point, a reference posture of the robot in the reference coordinate system when docking with the target point is determined. The mapping relationship between the reference coordinate and the map coordinate system is used to convert the reference posture into the map coordinate system to determine the docking posture of the robot when docking with the target point.
[0037] In one embodiment, the relative position of the robot relative to the reference point is obtained, and the relative position of the robot relative to the target point is determined based on the positional relationship between the reference point and the target point and the relative position of the robot relative to the reference point. The relative position of the robot relative to the target point is used to estimate the docking posture of the robot when docking with the target point.
[0038] It should be noted that the robot moves towards the direction close to the feature mark and the target point during the docking process, thereby continuously collecting laser frames during the docking process and outputting the docking posture obtained after the position change.
[0039] S104: Using the multiple sets of docking postures and multiple sets of identification positions obtained during the docking process, the docking postures during the docking process are updated until the robot docks at the target point.
[0040] Specifically, the multiple sets of docking postures and multiple sets of identification positions obtained during the docking process are used to continuously update the docking postures obtained during the docking process, thereby correcting errors caused by position changes and hardware accuracy until the robot docks at the target point, thereby improving the accuracy of robot docking.
[0041] In one embodiment, multiple sets of docking postures obtained during the docking process are used to determine posture changes, and multiple sets of identification positions obtained during the docking process are used to determine position changes. Based on the posture changes and position changes, the docking posture during the docking process is updated until the robot docks with the target point.
[0042] In one embodiment, the position change between the latest obtained identification position and the obtained identification position is obtained, and the latest docking posture is eliminated when the position change exceeds the change threshold. When the position change does not exceed the change threshold, the latest docking posture is fused with the obtained docking posture, and the docking posture during the docking process is updated until the robot docks with the target point.
[0043] It is understandable that during the docking process, since the point cloud on the laser frame is affected by position changes or obstacles, the identification position of the feature marker fluctuates. If the docking posture is directly output as the result, the displacement of the route planned autonomously by the equipment will fluctuate greatly, which is not conducive to the trajectory tracking of motion control. Therefore, by optimizing the docking posture during the docking process, the accuracy of the robot docking can be effectively improved.
[0044] The above solution acquires multiple laser frames captured by the robot from the target scene and the poses matched to the laser frames. Based on the multiple laser frames and their matched poses, the robot identifies a feature marker within the target scene, obtaining the corresponding marker position. The feature marker matches the target point within the target scene, and the structure of the feature marker includes multiple oriented plates. The plates with different orientations enhance the robot's ability to identify the feature marker, reducing its reliance on reflective materials. Based on the structural characteristics and marker position of the feature marker, a reference point is selected from the feature marker, providing the feature marker with a reference point for positional reference. Based on the matching relationship between the reference point and the target point, the robot's pose is predicted when it moves toward and docks with the target point, and the docking pose of the robot when docking with the target point is determined. The multiple docking poses and marker positions obtained during the docking process are used to continuously update the docking pose obtained during the docking process, thereby correcting errors caused by position changes and hardware accuracy until the robot docks with the target point, thereby improving the accuracy of the robot's docking.
[0045] See also Figure 3 , Figure 3 : is a flow chart of another embodiment of the robot docking method of the present application, the method comprising:
[0046] S201: Acquire multiple laser frames and their matching postures collected by the robot from the target scene, and determine the identification position corresponding to the feature identification in the target scene based on the multiple laser frames and their matching postures; wherein the feature identification is set in the target scene and matches the target point, and its structure includes a plate with multiple orientations.
[0047] Specifically, multiple laser frames collected by the robot from the target scene and the postures matched by the laser frames are obtained, and feature identifiers in the target scene are identified based on the multiple laser frames and their matched postures to obtain the identification positions corresponding to the feature identifiers.
[0048] It should be noted that the robot is equipped with a laser radar and an odometer, wherein the laser radar is used to collect laser frames, and the posture collected by the odometer can be converted into the device posture of the robot.
[0049] In one embodiment, a plurality of laser frames collected by a robot from a target scene and their matching postures are obtained, including: obtaining a plurality of laser frames collected by a lidar and their corresponding first timestamps, and a device posture of the robot determined by an odometer and its corresponding second timestamp; based on the first timestamp and the second timestamp, matching the laser frames with the device posture to determine the posture matched by the laser frames.
[0050] Specifically, multiple laser frames collected by the laser radar are obtained, a first timestamp corresponding to each laser frame when it is collected is determined, and the device posture of the robot determined by the odometer and a second timestamp corresponding to the device posture are obtained.
[0051] Furthermore, the first timestamp is matched with the second timestamp to determine the laser frame and device posture that can match each other in acquisition time, thereby obtaining a matching relationship between the laser frame and the device posture and determining a more accurate posture matched by the laser frame.
[0052] It should be noted that, based on the first timestamp and the second timestamp, the laser frame is matched with the device posture to determine the posture of the laser frame matching, including: obtaining the time difference between the first timestamp and the second timestamp; in response to the time difference not exceeding the time difference threshold, using the device posture under the corresponding second timestamp as the posture of the laser frame matching; in response to the time difference exceeding the time difference threshold, using the device postures corresponding to the two sets of second timestamps adjacent before and after the first timestamp to generate the posture of the laser frame matching.
[0053] Specifically, for each laser frame's corresponding first time difference, the time difference between the first and second timestamps is determined, and a determination is made as to whether the time difference exceeds a time difference threshold. If a second timestamp is obtained that does not exceed the timestamp threshold, the device pose at the corresponding second timestamp is used as the pose for laser frame matching. If both time differences exceed the time difference threshold, two sets of second timestamps preceding and following the first timestamp are obtained, and the device poses corresponding to the two sets of second timestamps are interpolated to generate the pose for laser frame matching. This improves the accuracy of the pose for laser frame matching, thereby facilitating the acquisition of more accurate point cloud data.
[0054] For ease of explanation, assume that the robot's device pose is stored in pose queue Q1, while laser frames are stored in queue Q2. When the number of laser frames in queue Q2 exceeds a certain threshold M, the latest M laser frames are retrieved from the queue and the corresponding timestamp-synchronized pose Ti is found in pose queue Q1. For example, assuming M is 5, let's denote the latest laser frame in the sliding window as N5, the second-to-last laser frame as N4, and so on. If N5 can find pose T5 in Q1 with a timestamp difference less than the timestamp threshold of 1ms, pose T5 is directly used as the pose of laser frame N5. If no pose data with a timestamp difference less than 1ms from N5 is found in Q1, the two frames of pose data closest to N5's timestamp, T5p and T5a, are searched for, where T5p's timestamp is less than N5's and T5a's timestamp is greater than N5's. Linear interpolation is then used to calculate the pose corresponding to N5.
[0055] Furthermore, the timestamp corresponding to laser frame N5 is Nt5, and the timestamps corresponding to T5p and T5a are Tt5p and Tt5a. Then the timestamp-synchronized pose T5 obtained by linear interpolation is:
[0056]
[0057] Similarly, we can obtain the timestamp-synchronized poses T4, T3, T2, and T1 corresponding to the laser frames N4, N3, N2, and N1 within the sliding window. Furthermore, we convert the laser frames Ni (i=1, 2, 3, 4) to the latest laser frame T5. The conversion process is expressed as follows:
[0058]
[0059] Among them, TbL is the external parameter of the lidar relative to the center of the device.
[0060] In some implementation scenarios, the feature marker includes a flat plate located on the reference surface, two inclined plates intersecting the ends of the flat plate on the reference surface, and flat plates connected to the ends of the inclined plates and parallel to the reference surface. Figure 2 Feature identification shown.
[0061] Furthermore, based on multiple laser frames and their matching postures, the identification position corresponding to the feature identification in the target scene is determined, including: based on multiple laser frames and their matching postures, determining the scene point cloud matching the target scene; using the structural characteristics of the feature identification to filter the scene point cloud to obtain a reference point cloud corresponding to the feature identification, and determining the identification position corresponding to the feature identification in the target scene based on the reference point cloud.
[0062] Specifically, based on multiple laser frames and their matching poses, the point clouds in the multiple laser frames are fused to enhance the point cloud data and obtain the scene point cloud corresponding to the target scene.
[0063] Furthermore, the structural features of the feature identifier are used to screen the scene point cloud, filter out point clouds with large deviations from the feature identifier, and obtain a reference point cloud corresponding to the feature identifier. Based on the reference point cloud that is highly matched with the feature identifier, the identification position corresponding to the feature identifier in the target scene is determined.
[0064] It can be understood that, still taking 5 consecutive laser frames as an example, all point clouds N5p in the laser coordinate system corresponding to the latest laser frame are obtained, and the point clouds within a certain scanning range are rearranged according to the incident angle. Assuming that the point cloud coordinates in the laser coordinate system are Ni (Nix, Niy), the corresponding incident angle is:
[0065] θ=arctan(N iy ,N ix ) (3)
[0066] Among them, θ is the incident angle, and i corresponds to the laser frame number.
[0067] Furthermore, the structural characteristics of the feature marker can be used to roughly estimate the location Fp of the feature marker from the scene point cloud. The point cloud is converted to the map coordinate system. If the distance between the five-frame point cloud within the sliding window and Fp is greater than the threshold γ, it is considered not to be a point cloud on the feature contour. After filtering the point cloud, it is clustered according to the distance between the point clouds, and the length and number of point clouds after clustering are counted. If the length of the point cloud cluster is compatible with the length of the plate, and the number of point clouds is also within a certain threshold range, the point cloud cluster is considered to be a point cloud on the plate corresponding to the feature marker.
[0068] In a specific implementation scenario, please refer to Figure 4 , Figure 4 It is a structural schematic diagram corresponding to the feature identifier of this application from a top-down perspective. The features on the point cloud cluster are fitted with a straight line, and the coefficients of the several straight line segments fitted on the point cloud cluster are recorded as ai, bi, and ci respectively. Among them, if there are three parallel line segments, and the lengths of the three line segments are close to the lengths of the parallel lines on the concave plate corresponding to the feature identifier, then the three line segments are considered to be line segments on the concave plate; the three line segments on the concave plate corresponding to the feature identifier are recorded as L1, L2, and L3, respectively, where the straight line can be expressed as aix+biy+ci=0, and the straight line coefficients corresponding to L1, L2, and L3 are {a1, b1, c1}, {a2, b2, c2}, {a3, b3, c3}, and the center points of the three line segments are recorded as Lc1, Lc2, and Lc3. If the vector angle constructed by two center points is close to or opposite to the straight line angle, and the distance between the center points of the two line segments is close to the length Lw indicated on the feature identifier, then the line segments corresponding to the two center points are considered to be the line segments at both ends of the concave feature. For example, L1 and L3 are straight line segments at both ends. Calculate whether the distance from the center point of L2 to line segment L1 or L3 is consistent with the depth value d of the concave plate corresponding to the feature identifier, thereby further confirming whether the three line segments are the line segments on the concave plate corresponding to the feature identifier.
[0069] Furthermore, the angles between the remaining straight lines and L1 or L3 are traversed. If there is a straight line whose angle with L1 or L3 is close to β or (π-β), and the length of the straight line segment is close to the length of the hypotenuse segment, then the line segment is considered to be a slant line on the contour, and the two hypotenuses are recorded as L4 and L5 respectively. In this way, by traversing each plate, the accurate identification position of the feature identification is obtained.
[0070] S202: Determine a reference point on the feature identifier based on the structural features and identifier position of the feature identifier.
[0071] Specifically, based on the structural features and identification position of the feature identifier, a reference point is selected from the feature identifier so that the feature identifier has a reference point for position reference.
[0072] In some implementation scenarios, a reference point on the feature identifier is determined based on the structural features and identification position of the feature identifier, including: determining the connection between the interconnected flat plates and inclined plates based on the structural features and identification position of the feature identifier; and determining a reference point on the feature identifier based on the connection and identification position.
[0073] Specifically, based on the structural features of the feature identifier and the identification position of the feature identifier in the target scene, the connection between the interconnected flat plate and the inclined plate is fitted to determine the connection between the plate bodies.
[0074] Furthermore, based on the connection points between the plates and the marking positions, representative reference points are selected from the marking features to improve the accuracy of the reference points.
[0075] For illustrative purposes, please continue with Figure 4 , let the intersection of L1 and L4 be L14. In the top view, the operation of the connection is simplified to the intersection operation. The calculation formula of the intersection is as follows:
[0076]
[0077] Similarly, the intersection of L5 and L3 is L35, and the intersection of L2, L4 and L5 is L24 and L25. Based on the connection and the mark position, the center point of the feature mark can be determined. The calculation formula is as follows:
[0078]
[0079] Among them, Lcx and Lcy correspond to the coordinates of the reference point.
[0080] S203: Based on the reference point and the target point, determine the docking posture of the robot when docking with the target point.
[0081] Specifically, based on the matching relationship between the reference point and the target point, the posture of the robot when moving toward the target point and docking with the target point is predicted, and the docking posture of the robot when docking with the target point is determined.
[0082] In one embodiment, based on the reference point and the target point, the docking posture of the robot when docking with the target point is determined, including: establishing a reference coordinate system based on the reference point, and determining the reference posture of the robot when docking with the target point in the reference coordinate system; converting the reference posture to the map coordinate system corresponding to the target scene to obtain the docking posture of the robot when docking with the target point.
[0083] Specifically, the target point position and angle of the device docking are calculated using a laser point cloud projected onto the feature marker. The docking pose is determined by the reference point of the feature marker and the relative position of the desired device position relative to the reference point. A reference coordinate system is established using the reference point as the origin, the x-axis as the outward direction, and the right-hand rule as the y-axis. The position of the point at which successful docking occurs is used to determine the reference pose of the robot when docking with the target point in the reference coordinate system. Thus, by establishing a reference coordinate system with the reference point as the origin, the reference pose of the robot when docking with the target point can be accurately estimated in the reference coordinate system.
[0084] Furthermore, the reference pose is converted to the map coordinate system corresponding to the target scene to obtain the docking pose of the robot when docking with the target point. Assuming that the reference coordinate system is D and the reference position is Td, the docking pose of Td in the map coordinate system is Tmd, and the conversion process is as follows:
[0085] Tmd=Tmb*TbL*TLd*Td(6)
[0086] Among them, Tmb represents the pose of the latest laser frame matching in the sliding window during the docking process; TbL represents the external parameter of the lidar relative to the center of the device; TLd represents the pose of the reference coordinate system D relative to the laser coordinate system; Td represents the pose of the device in the reference coordinate system D when it is expected to stop; Tmd represents the docking pose of the robot in the map coordinate system when docking is successful.
[0087] S204: Using the multiple sets of docking postures and multiple sets of identification positions obtained during the docking process, the docking postures during the docking process are updated until the robot docks at the target point.
[0088] Specifically, the multiple sets of docking postures and multiple sets of identification positions obtained during the docking process are used to continuously update the docking postures obtained during the docking process, thereby correcting errors caused by position changes and hardware accuracy until the robot docks at the target point.
[0089] In some implementation scenarios, the robot is equipped with a laser radar and an odometer, and uses multiple sets of docking postures and multiple sets of identification positions obtained during the docking process to update the docking posture during the docking process until the robot docks at the target point, including: obtaining the latest docking posture, and determining a first optimization parameter based on the latest docking posture and the previously obtained docking posture; wherein the latest docking posture corresponds to a laser frame collected by the laser radar that can identify feature identification; obtaining the time difference between the latest docking posture and the previously obtained docking posture, determining a first position change feedbacked by the odometer within the time difference, and a second position change of the robot compared to the identification position within the time difference, and determining a second optimization parameter based on the first position change and the second position change; determining an optimization target based on the first optimization parameter and the second optimization parameter, and using the optimization target to update the docking posture during the docking process until the robot docks at the target point.
[0090] Specifically, the most recently obtained docking pose is obtained, and a first optimization parameter is determined based on the newly obtained docking pose and the previously optimized pose. The most recently obtained docking pose corresponds to a laser frame captured by the lidar that can identify a feature marker. In other words, if the laser frame within the current sliding window can detect the feature marker, the docking pose required for the device to reach the docking target point is updated. If the laser data within the current sliding window cannot detect the feature marker, the previously detected result is used.
[0091] For the sake of convenience, we take the graph optimization model as an example. When a feature identifier is detected, its calculated position observation is added to the graph optimization model, and a certain position observation is recorded as M αi , the absolute observation weight is recorded as Qp, and the optimization variable corresponding to this moment is Bi, that is, the timestamp of the optimization variable is aligned with the observable laser timestamp, then the constructed residual E Mαi for:
[0092] E Mαi =Qp * (M αi -Bi)(7)
[0093] Among them, E Mαi Corresponding to the first optimization parameter.
[0094] Furthermore, during the docking process, the odometer mode is switched to perform precise docking. The time difference between the latest docking posture and the previously obtained docking posture is obtained. At this time, if the device moves z perpendicular to the feature identifier normal vector, the feature identifier should move z in the opposite direction relative to the robot in the direction perpendicular to the normal vector. The first position change of the odometer feedback within the time difference and the second position change of the robot compared to the identifier position within the time difference are determined. The first position change and the second position change are used to construct the second optimization parameter. Figure 4Taking the feature identification shown as an example, the normal vector of the feature identification is determined using the normal vectors of the horizontal line segments L1 and L3 and the angle bisectors of the two oblique line segments L4 and L5.
[0095] For the sake of convenience, the optimization variables corresponding to the two adjacent laser frames recognizing the feature identifier are Bi and Bj, the corresponding device position change in the time difference is Δz, and the relative angle change observation weight is Qr. The corresponding residual E βij for:
[0096] E βij =Qr*(Δz–(Bj-Bi))(8)
[0097] Among them, E βij Corresponding to the second optimization parameter.
[0098] It can be understood that the optimization target can be constructed based on the first optimization parameter and the second optimization parameter, that is, min(∑ i E Mαi +∑ i,j E βij ), thus jointly optimizing the docking posture by optimizing the target, which can effectively improve the docking accuracy.
[0099] It should be noted that in order to avoid the failure to scan feature markers at close range, the identified posture is converted to the map coordinate system. In this way, when feature markers cannot be detected at close range or at a certain moment, the latest docking posture can be used to ensure the final docking accuracy.
[0100] S205: In response to the robot successfully docking with the target point, the current identification position is merged with the identification position obtained when the docking is successful in the historical period to obtain the identification reference position.
[0101] Specifically, when the robot successfully docks with the target point, the identification position obtained after the last time is recorded to provide accurate initial position screening value for the next task. The current identification position is merged with the identification position obtained when the docking is successful in the historical cycle as the identification reference position for comparison with the identification position obtained in subsequent cycles.
[0102] Optionally, the identification position is marked in the map coordinate system. Each time the docking is successful, the newly obtained identification position is weighted and summed with the previous identification position for update. If the deviation of a certain recognition result is large, the result will be eliminated and not updated.
[0103] S206: In response to a position deviation between the marker position obtained in any period and the marker reference position being greater than a deviation threshold, generating prompt information matching the position deviation.
[0104] Specifically, when the position deviation between the identification position obtained in any cycle and the identification reference position is greater than the deviation threshold, prompt information matching the position deviation is generated to indicate that the current cycle recognition result deviates greatly from the historical result, so that interference can be extracted to reduce the probability of mission failure and robot damage.
[0105] It is understood that when a mission is successfully docked, the identified features are accurately marked on the map, providing accurate initial values for point cloud screening during the next mission. At the same time, if the device detects a significant deviation in the detection results during the next docking process, it indicates that the current device posture is deviating and requires timely intervention.
[0106] See also Figure 5 , Figure 5 This is a structural diagram of an embodiment of an electronic device of the present application. The electronic device 30 includes a memory 301 and a processor 302 coupled to each other, wherein the memory 301 stores program data (not shown in the figure), and the processor 302 calls the program data to implement the method in any of the above embodiments. For an explanation of the relevant content, please refer to the detailed description of the above method embodiments, which will not be repeated here.
[0107] See also Figure 6 , Figure 6 This is a structural diagram of an embodiment of a computer-readable storage medium of the present application. The computer-readable storage medium 40 stores program data 400. When the program data 400 is executed by the processor, the method in any of the above embodiments is implemented. For an explanation of the relevant content, please refer to the detailed description of the above method embodiments, which will not be repeated here.
[0108] It should be noted that the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of this embodiment.
[0109] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0110] If the integrated unit is implemented in the form of 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 the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0111] The above description is merely an implementation method of the present application and does not limit the scope of protection of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the scope of protection of the present application.
Claims
1. A robot docking method, characterized in that: The robot has a corresponding docking target point in a target scene, and the method includes: Acquire multiple laser frames captured by the robot from a target scene and their matching poses, and determine a marker position corresponding to a feature marker in the target scene based on the multiple laser frames and their matching poses; wherein the feature marker is set in the target scene and matches the target point, and its structure includes a plate with multiple orientations; Determining a reference point on the feature identifier based on the structural characteristics of the feature identifier and the identifier position; Determining a docking posture of the robot when docking with the target point based on the reference point and the target point; The docking postures during the docking process are updated using the multiple sets of docking postures and the multiple sets of identification positions obtained during the docking process until the robot docks with the target point.
2. The robot docking method according to claim 1, characterized in that: The robot is provided with a laser radar and an odometer, and the step of acquiring multiple laser frames collected by the robot from the target scene and their matching poses includes: Acquire multiple laser frames collected by the laser radar and their corresponding first timestamps, and the device pose of the robot determined by the odometer and its corresponding second timestamp; Based on the first timestamp and the second timestamp, the laser frame is matched with the device pose to determine a pose matched by the laser frame.
3. The robot docking method according to claim 2, characterized in that: The matching of the laser frame with the device posture based on the first timestamp and the second timestamp to determine the posture matched by the laser frame includes: Obtaining a time difference between the first timestamp and the second timestamp; In response to the time difference not exceeding the time difference threshold, using the device posture at the corresponding second timestamp as the posture for matching the laser frame; In response to the time difference exceeding a time difference threshold, the posture of the laser frame matching is generated by using the device postures corresponding to two groups of second timestamps adjacent before and after the first timestamp.
4. The robot docking method according to claim 1, characterized in that: The characteristic mark includes a flat plate located on the reference surface, two inclined plates respectively intersecting with both ends of the flat plate on the reference surface, and flat plates respectively connected to the ends of the inclined plates and parallel to the reference surface; The step of determining a marker position corresponding to a feature marker in the target scene based on the plurality of laser frames and their matched postures includes: Determining a scene point cloud matching the target scene based on the plurality of laser frames and their matched poses; The scene point cloud is screened using the structural features of the feature identifier to obtain a reference point cloud corresponding to the feature identifier, and a marker position corresponding to the feature identifier in the target scene is determined based on the reference point cloud.
5. The robot docking method according to claim 4, characterized in that: The determining of a reference point on the feature identifier based on the structural feature of the feature identifier and the identifier position includes: Determining a connection between the interconnected flat plate and the inclined plate based on the structural features of the characteristic identifier and the identifier position; Based on the connection and the marker position, a reference point on the feature marker is determined.
6. The robot docking method according to claim 1, characterized in that: The determining, based on the reference point and the target point, a docking posture of the robot when docking with the target point includes: Establishing a reference coordinate system based on the reference point, and determining a reference pose of the robot in the reference coordinate system when docking with the target point; The reference posture is converted to the map coordinate system corresponding to the target scene to obtain the docking posture of the robot when docking with the target point.
7. The robot docking method according to claim 1, characterized in that: The robot is provided with a laser radar and an odometer, and the docking postures during the docking process are updated by using the multiple sets of docking postures and the multiple sets of identification positions obtained during the docking process until the robot docks with the target point, including: Obtaining a latest docking pose, and determining a first optimization parameter based on the latest docking pose and a previously obtained docking pose; wherein the latest docking pose corresponds to a laser frame captured by the laser radar that can identify a feature identifier; Obtaining a time difference between a latest docking posture and a previously obtained docking posture, determining a first position change as fed back by the odometer within the time difference, and a second position change of the robot relative to the identified position within the time difference, and determining a second optimization parameter based on the first position change and the second position change; An optimization target is determined based on the first optimization parameter and the second optimization parameter, and the docking posture during the docking process is updated using the optimization target until the robot docks with the target point.
8. The robot docking method according to claim 1, characterized in that: The method further comprises: updating the docking posture during the docking process by using the multiple sets of docking postures and the multiple sets of identification positions obtained during the docking process until the robot docks with the target point; In response to the robot successfully docking with the target point, fusing the current identification position with identification positions obtained when the docking was successful in a historical period to obtain an identification reference position; In response to a position deviation between the marker position obtained in any period and the marker reference position being greater than a deviation threshold, prompt information matching the position deviation is generated.
9. An electronic device, characterized in that: include: A memory and a processor coupled to each other, wherein the memory stores program data, and the processor calls the program data to execute the method according to any one of claims 1 to 8.
10. A computer-readable storage medium having program data stored thereon, characterized in that: When the program data is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Systems and methods for processing objects, including automated mobile matrix carriers
CN110650903A
Indoor robot global positioning method and system based on cylindrical features
CN116222565A
Positioning method, device, equipment and medium
CN116660922A
Right-angle machine docking method and device based on 2D laser radar
CN119575979A
Position searching method for vurtual address
KR1020060106916A
Cited By
Robot docking method and device and storage medium
CN121468504A