Robot repositioning method
Through the angle between the plane of the computer robot and the ground and laser point cloud data, combined with the laser point cloud data of the pre-order frame, the problem of insufficient relocation accuracy of the robot in complex environments is solved, and higher relocation accuracy and universality are achieved.
Patent Information
- Application Number
- CN202411790686.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2025-04-18
AI Technical Summary
In the prior art, when a robot repositions in a complex and uneven environment, it fails to effectively consider the situation where the robot itself is inclined relative to the ground, resulting in insufficient repositioning accuracy.
Through the angle between the plane of the computer robot and the ground, the real-time fuselage inclination angle is determined. If it is within the preset range, the pre-order laser point cloud data of multiple frames is obtained, the nearest reference frame laser point cloud data is determined, and the reference frame data is used for relocation. When the laser grounding phenomenon occurs, the corresponding relocation operation is performed.
The accuracy of robot relocation is improved, positioning failure or error problems caused by laser grounding is avoided, and the universality of relocation methods is enhanced.
Smart Images

Figure CN119846645A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a robot repositioning method. Background Art
[0002] With the rapid development of technology, sweeping robots have occupied an important position in the field of household and commercial cleaning. When performing cleaning tasks, sweeping robots often need to obtain their own position. This process usually relies on relocalization technology. For example, sweeping robots obtain real-time lidar data and accurately match it with the global map to determine their own position in the map.
[0003] However, in the face of complex and uneven environmental challenges such as long-haired carpets and cobblestone floors, the robot may cause positioning matching errors due to the laser beam accidentally hitting the ground when it is tilted. In the prior art, multi-sensor information is usually fused to correct the laser data, and the corrected laser data is used for repositioning. For example, patent document CN114789439A discloses a slope positioning correction method, which uses an inertial measurement element to obtain the robot's position and posture changes in real time, thereby inferring changes in the robot's environment and being able to compensate for the robot's positioning results in real time.
[0004] However, the prior art only considers the impact of ground tilt on the relocalization result, and does not provide a relocalization strategy when the robot itself is tilted relative to the ground, resulting in insufficient accuracy of the relocalization method. Summary of the invention
[0005] In order to solve the above technical problems, the present disclosure provides a robot repositioning method to improve the accuracy of robot repositioning.
[0006] In a first aspect, an embodiment of the present disclosure provides a robot repositioning method, comprising:
[0007] Calculate the angle between the robot body plane and the ground to get the real-time body tilt angle;
[0008] If the real-time fuselage tilt angle is within a first preset range, acquiring multiple frames of previous laser point cloud data of the current frame of laser point cloud data;
[0009] Determine, according to the acquisition time of the multiple frames of preceding laser point cloud data, reference frame laser point cloud data closest to the current frame laser point cloud data, wherein the fuselage inclination angle corresponding to the reference frame laser point cloud data is less than a first angle threshold;
[0010] When the current frame laser point cloud data has a laser ground hitting phenomenon, a robot repositioning operation is performed according to the reference frame laser point cloud data, and the laser ground hitting phenomenon is a phenomenon that the angle between the laser beam and the ground is greater than a second angle threshold.
[0011] In some embodiments, after determining the reference frame laser point cloud data closest to the current frame laser point cloud data, the method further includes:
[0012] If the reference frame laser point cloud data does not exist, controlling the robot to move to the first position along a preset path;
[0013] The robot is controlled to perform a repositioning operation at the first position.
[0014] In some embodiments, the calculating the angle between the robot body plane and the ground to obtain the real-time body tilt angle includes:
[0015] Determine a first normal vector, wherein the first normal vector is perpendicular to the ground;
[0016] Get the robot's roll angle data and pitch angle data at the current moment;
[0017] Performing an angle transformation on the first normal vector according to the roll angle data and the pitch angle data to obtain a second normal vector, wherein the second normal vector is perpendicular to the body plane of the robot at the current moment;
[0018] The angle between the first normal vector and the second normal vector is calculated to obtain the real-time fuselage tilt angle.
[0019] In some embodiments, after determining the reference frame laser point cloud data closest to the current frame laser point cloud data, the method further includes:
[0020] Determine the number of points in the current frame laser point cloud data according to the reference frame laser point cloud data;
[0021] If the proportion of the ground-marking points in the laser point cloud data of the current frame is greater than a preset proportion threshold, it is determined that the laser ground-marking phenomenon exists in the laser point cloud data of the current frame.
[0022] In some embodiments, determining the number of points in the current frame laser point cloud data according to the reference frame laser point cloud data includes:
[0023] Registering the reference frame laser point cloud data with the current frame laser point cloud data to obtain registered point cloud data;
[0024] The current frame laser point cloud data is matched point by point with the registration point cloud data to determine a plurality of candidate points in the current frame laser point cloud data whose matching degree is lower than a preset matching degree threshold.
[0025] In some embodiments, registering the reference frame laser point cloud data with the current frame laser point cloud data to obtain registered point cloud data includes:
[0026] Obtaining a reference posture of the robot corresponding to the reference frame laser point cloud data;
[0027] Obtaining the real-time position and posture of the robot corresponding to the laser point cloud data of the current frame;
[0028] Determining a posture difference according to the reference posture and the real-time posture;
[0029] According to the posture difference, the reference frame laser point cloud data is converted to the current frame laser point cloud data coordinate system to obtain the converted reference frame laser point cloud data;
[0030] Point cloud registration is performed on the converted reference frame laser point cloud data and the current frame laser point cloud data to obtain registered point cloud data.
[0031] In some embodiments, the method further comprises:
[0032] The local density of the candidate point in the laser point cloud data of the current frame is calculated, and the candidate point whose local density is higher than a preset density threshold is determined as the marking point.
[0033] In some embodiments, calculating the local density of the candidate point in the current frame laser point cloud data includes:
[0034] For the candidate point, determine a density reference point closest to the candidate point in the laser point cloud data of the current frame;
[0035] The distance between the candidate point and the density reference point is calculated to obtain the local density of the candidate point.
[0036] In some embodiments, the robot repositioning operation is performed according to the reference frame laser point cloud data, including:
[0037] Obtaining the reference position of the robot at the time corresponding to the reference frame laser point cloud data;
[0038] Determining a movement trajectory of the robot after the reference position according to the odometer data;
[0039] Based on the reference position and the moving trajectory, the position of the robot at the current moment is determined.
[0040] In some embodiments, the method further comprises:
[0041] When the real-time fuselage tilt angle is less than the minimum value of the first preset range, or when there is no laser hitting the ground in the current frame laser point cloud data, a robot repositioning operation is performed according to the current frame laser point cloud data.
[0042] The robot repositioning method provided by the disclosed embodiment determines whether the robot is tilted relative to the ground by calculating the angle between the robot body and the ground. When the robot is tilted and the laser point cloud data of the current frame shows laser hitting the ground, the laser point cloud data of the previous frame is used to perform a repositioning operation, thereby avoiding the problem of unreliable positioning of the laser point cloud data of the current frame due to laser hitting the ground, thereby improving the accuracy of the robot repositioning.
[0043] In some embodiments, by utilizing a fusion calculation method of the robot's roll angle and pitch angle to solve the angle between the robot's body plane and the ground, the robot's tilt state can be more accurately reflected compared to a single Euler angle calculation.
[0044] In some embodiments, by comparing the point cloud distribution of the laser point cloud data in the current tilted state with the reference frame point cloud data in the non-tilted state, it is determined whether there is a continuous and relatively isolated set of laser points in the current frame point cloud data, so as to determine whether the laser beam hits the ground due to the tilt of the robot, thereby providing a reference for the selection of the data source for the repositioning operation and ensuring the reliability of the repositioning operation.
[0045] In some embodiments, different repositioning strategies are adaptively matched according to different tilt states of the robot itself, so that the accuracy of repositioning can be guaranteed in various tilt states, thereby improving the universality of the repositioning method. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0047] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0048] Figure 1 A flow chart of a robot repositioning method provided by an embodiment of the present disclosure;
[0049] Figure 2 A schematic diagram of the laser grounding phenomenon provided by an embodiment of the present disclosure;
[0050] Figure 3A schematic diagram of the distribution of the laser-marked point cloud provided in an embodiment of the present disclosure;
[0051] Figure 4 A schematic diagram of the fuselage tilt angle provided in an embodiment of the present disclosure;
[0052] Figure 5 A flow chart of the location detection provided by the embodiment of the present disclosure;
[0053] Figure 6 A schematic diagram of an adaptive fusion positioning strategy provided by an embodiment of the present disclosure;
[0054] Figure 7 A schematic diagram of the structure of a robot repositioning device provided in an embodiment of the present disclosure;
[0055] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0056] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0057] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.
[0058] The disclosed embodiment provides a robot repositioning method, which is introduced below in conjunction with a specific embodiment.
[0059] Figure 1 This is a flow chart of the robot repositioning method provided in the embodiment of the present disclosure. The method can be applied to a robot, such as a self-moving cleaning robot. It is understandable that the robot repositioning method provided in the embodiment of the present disclosure can also be applied in other scenarios.
[0060] Below Figure 1 The robot repositioning method shown in the figure is introduced, and the specific steps of the method are as follows:
[0061] S101, calculating the angle between the robot body plane and the ground to obtain a real-time body tilt angle.
[0062] The real-time body tilt angle is the angle between the robot body plane and the ground at the current relocation moment. Under normal circumstances, the robot body plane should be parallel to the ground, and the real-time body tilt angle is 0°. However, when the ground is uneven, the robot body may tilt relative to the ground, and the real-time body tilt angle is not 0°.
[0063] S102: If the real-time fuselage tilt angle is within a first preset range, obtaining multiple frames of preceding laser point cloud data of the current frame of laser point cloud data.
[0064] The previous laser point cloud data is collected earlier than the current frame laser point cloud data. When the real-time body tilt angle is within the first preset range, the robot has a certain degree of tilt, and the current frame laser point cloud data may not be completely reliable, and auxiliary positioning is required based on the previous laser point cloud data.
[0065] Optionally, the first preset range is 2° to 5°.
[0066] S103: Determine, according to the acquisition time of the multiple frames of preceding laser point cloud data, reference frame laser point cloud data closest to the current frame laser point cloud data, wherein the fuselage inclination angle corresponding to the reference frame laser point cloud data is less than a first angle threshold.
[0067] Each frame of preceding laser point cloud data corresponds to its own fuselage tilt angle. Several frames of preceding laser point cloud data whose fuselage tilt angle is less than a first angle threshold are selected, and according to the acquisition time of each frame of preceding laser point cloud data, the preceding laser point cloud data whose acquisition time is closest to the current frame of laser point cloud data is selected as the reference frame laser point cloud data.
[0068] The first angle threshold is less than a minimum value of the first preset range. Optionally, the first angle threshold is 1.5°.
[0069] If the body inclination angle corresponding to the reference frame laser point cloud data is less than the first angle threshold, then at the time of collection of the reference frame laser point cloud data, the robot body is nearly parallel to the ground, and the corresponding reference frame laser point cloud data is highly reliable and can be used as effective reference data for robot repositioning.
[0070] S104. When there is a laser hitting the ground phenomenon in the current frame laser point cloud data, a robot repositioning operation is performed according to the reference frame laser point cloud data, wherein the laser hitting the ground phenomenon is a phenomenon in which an angle between the laser beam and the ground is greater than a second angle threshold.
[0071] Figure 2 This is a schematic diagram of the laser grounding phenomenon provided by the embodiment of the present disclosure. Figure 2As shown, when the real-time body inclination angle of the robot is greater than the second angle threshold, the angle between the robot body and the ground is too large, and part of the laser emitted by the laser sensor on the body will hit the ground, causing errors in the collected laser point cloud data of the current frame, which in turn causes the robot to fail to reposition.
[0072] Figure 3 This is a schematic diagram of the distribution of the laser-marked point cloud provided in the embodiment of the present disclosure. Figure 3 As shown, when the laser hits the ground, the end point of the laser beam is offset to the ground due to the tilt of the robot, causing the robot to mistake the laser point on the ground for the laser point on the obstacle in front.
[0073] At this time, the current frame laser point cloud data cannot be used as the data basis for robot repositioning, while the reference frame point cloud data is the normal point cloud data closest to the current state of the robot. Therefore, the current position of the robot is determined based on the reference frame point cloud data.
[0074] Specifically, the reference position of the robot at the time corresponding to the reference frame laser point cloud data is obtained; the movement trajectory of the robot after the reference position is determined according to the odometer data; and the position of the robot at the current time is determined based on the reference position and the movement trajectory.
[0075] The odometer data includes the robot's moving distance and moving direction, including the moving distance and moving direction from the reference position corresponding to the reference frame laser point cloud data to the current position. Based on the reference position, combined with the moving distance and moving direction, the robot's position at the current moment can be determined, thereby completing the robot's relocation operation.
[0076] The disclosed embodiment obtains a real-time body tilt angle by calculating the angle between the robot body plane and the ground; if the real-time body tilt angle is within a first preset range, multiple frames of preceding laser point cloud data of the current frame laser point cloud data are obtained; according to the acquisition time of the multiple frames of preceding laser point cloud data, the reference frame laser point cloud data closest to the current frame laser point cloud data is determined, and the body tilt angle corresponding to the reference frame laser point cloud data is less than a first angle threshold; when there is a laser hitting the ground phenomenon in the current frame laser point cloud data, the robot is repositioned according to the reference frame laser point cloud data, and the laser hitting the ground phenomenon is a phenomenon that the angle between the laser beam and the ground is greater than a second angle threshold. By calculating the angle between the body and the ground, it is determined whether the robot is tilted relative to the ground. When the robot is tilted and the laser hitting the ground phenomenon occurs in the current frame laser point cloud data, the laser point cloud data of the preceding frame is used to perform a repositioning operation, so as to avoid the problem of positioning failure or positioning error caused by unreliable current frame laser point cloud data due to laser hitting the ground, thereby improving the accuracy of robot repositioning.
[0077] In some embodiments, the method of calculating the angle between the robot body plane and the ground to obtain the real-time body tilt angle includes: determining a first normal vector, wherein the first normal vector is perpendicular to the ground; obtaining the roll angle data and pitch angle data of the robot at the current moment; performing an angle transformation on the first normal vector according to the roll angle data and the pitch angle data to obtain a second normal vector, wherein the second normal vector is perpendicular to the body plane of the robot at the current moment; and calculating the angle between the first normal vector and the second normal vector to obtain the real-time body tilt angle.
[0078] During the movement of the robot, Euler angles are used to represent the robot's posture, namely roll, pitch and yaw. The roll angle describes the robot's rotation angle around its forward direction axis, and the pitch angle describes the robot's rotation angle in the vertical direction.
[0079] The disclosed embodiment introduces the roll angle and pitch angle of the robot into the three-dimensional space transformation to synthesize an equivalent plane angle, that is, a real-time body tilt angle.
[0080] Figure 4 Schematic diagram of the fuselage tilt angle provided by the embodiment of the present disclosure. Figure 4 As shown, a first normal vector n1 perpendicular to the ground and a second normal vector n2 perpendicular to the plane of the fuselage are constructed, and the real-time fuselage tilt angle θ is the angle between the first normal vector n1 and the second normal vector n2.
[0081] The first normal vector n1 is denoted as (0, 0, 1), which represents the upward direction vertical to the ground.
[0082] When the robot is in a horizontal state, the normal vector of its body plane is consistent with the direction of the first normal vector, that is, n2 is also (0, 0, 1). At this time, the real-time body tilt angle θ of the robot is 0°.
[0083] When the robot tilts, the robot body has a roll angle α and a pitch angle β, which is equivalent to rotating around the forward direction axis by an angle α and rotating around the vertical axis of the forward direction axis on the horizontal plane by an angle β from the state where the body plane is parallel to the ground. Correspondingly, n2 can be expressed as:
[0084]
[0085] Furthermore, considering that the first normal vector n1 is (0, 0, 1), the angle θ between the first normal vector n1 and the second normal vector n2 is calculated:
[0086]
[0087] The disclosed embodiment utilizes a fusion calculation method of the robot's roll angle and pitch angle to solve the angle between the robot's body plane and the ground. Compared with a single Euler angle calculation, it can more accurately reflect the robot's tilt state.
[0088] On the basis of the above embodiment, after determining the reference frame laser point cloud data closest to the current frame laser point cloud data, the method further includes: determining the number of hit points in the current frame laser point cloud data based on the reference frame laser point cloud data; if the proportion of the hit points in the current frame laser point cloud data is greater than a preset proportion threshold, determining that there is laser hitting in the current frame laser point cloud data.
[0089] The point cloud is generated when the laser beam hits the ground, which cannot normally reflect the obstacle information around the robot.
[0090] For a single frame of laser point cloud data, if the proportion of the ground points is too large and greater than a preset ratio threshold, it can be determined that there is a laser ground phenomenon in the single frame of laser point cloud data. Optionally, the preset ratio threshold is 15%.
[0091] The robot body inclination angle corresponding to the reference frame laser point cloud data is less than the first angle threshold, and the point cloud data therein has a high credibility. Based on the reference frame laser point cloud data, the abnormal point cloud data in the current frame laser point cloud data can be determined, that is, the hitting point.
[0092] Specifically, the reference frame laser point cloud data and the current frame laser point cloud data are registered to obtain registered point cloud data; the current frame laser point cloud data and the registered point cloud data are matched point by point to determine multiple candidate points in the current frame laser point cloud data whose matching degree is lower than a preset matching degree threshold.
[0093] Among them, since the robot reference pose corresponding to the reference frame laser point cloud data is different from the robot real-time pose corresponding to the current frame laser point cloud data, it is necessary to convert the reference frame laser point cloud data according to the difference between the reference pose and the real-time pose, and then perform point cloud registration.
[0094] Figure 5 This is a flow chart of the location detection provided by the embodiment of the present disclosure. Figure 5 As shown, the specific implementation method of determining whether the laser point cloud data of the current frame has the laser ground hitting phenomenon is:
[0095] S501, obtaining a robot reference posture corresponding to the reference frame laser point cloud data.
[0096] S502: Obtain the real-time posture of the robot corresponding to the laser point cloud data of the current frame.
[0097] S503: Determine a posture difference according to the reference posture and the real-time posture.
[0098] The posture refers to the position and orientation of the robot in space. The IMU (Inertial Measurement Unit) can be used to obtain the robot's attitude angle, and the odometer data can be used to determine the robot's current position after moving relative to the reference position; the difference between the real-time posture and the reference posture can be used to obtain the posture difference.
[0099] S504: According to the posture difference, convert the reference frame laser point cloud data to the current frame laser point cloud data coordinate system to obtain converted reference frame laser point cloud data.
[0100] The laser sensor carried by the robot is relatively fixed to the robot body, so the posture difference between the reference posture and the real-time posture also reflects the conversion relationship between the reference frame laser point cloud data coordinate system and the current frame laser point cloud data.
[0101] The reference frame laser point cloud data is rotated and transformed based on the posture difference to obtain the converted reference frame laser point cloud data.
[0102] S505 , performing point cloud registration on the converted reference frame laser point cloud data and the current frame laser point cloud data to obtain registered point cloud data.
[0103] Point cloud registration is a process of aligning point cloud data of different frames into the same coordinate system through geometric transformation. There is still a certain difference between the converted reference frame point cloud data and the current frame point cloud data. Point cloud registration is used to eliminate the difference between the two as much as possible to obtain the ideal point cloud corresponding to the robot's posture at the current moment, that is, the registered point cloud data.
[0104] Optionally, the PLICP (Point-to-Line Iterative Closest Point) point cloud registration algorithm is used for point cloud registration. This algorithm matches each point in the point cloud with a straight line in the matching benchmark instead of a single point, which is more in line with the actual situation of LiDAR point clouds in structured scenes, especially for point cloud data processing with noise and outliers.
[0105] The point cloud data transformation process is expressed as follows:
[0106] pc′=pc correct ·T pose_diff ·T PLICP
[0107] Among them, pc′ is the registration point cloud data, pc correct is the reference frame laser point cloud data, T pose_diff is the transformation matrix corresponding to the pose difference, T PLICPis the transformation matrix obtained through PLICP registration.
[0108] S506: Match the current frame laser point cloud data with the registration point cloud data point by point, and determine a plurality of candidate points in the current frame laser point cloud data whose matching degree is lower than a preset matching degree threshold.
[0109] The registration point cloud data is theoretically the normal point cloud data collected by the robot in the current posture. The current frame laser point cloud data is matched point by point with the registration point cloud data, that is, the point cloud in the current frame laser point cloud data that is significantly different from the registration point cloud data can be determined, that is, multiple candidate points with a matching degree lower than the preset matching degree threshold are obtained.
[0110] Among them, the matching degree between the laser point in the current frame laser point cloud data and the laser point in the registration point cloud data can be measured by the distance between the laser points. The larger the distance between the laser point in the current frame laser point cloud data and the corresponding laser point in the registration point cloud data, the higher the matching degree between the laser point in the current frame laser point cloud data and the corresponding laser point in the registration point cloud data.
[0111] Optionally, a preset distance threshold of 0.2 m is set, and when the distance between the laser point in the current frame laser point cloud data and the corresponding laser point in the registration point cloud data is greater than the preset distance threshold, it is determined that the matching degree of the laser point is lower than the preset matching degree threshold.
[0112] S507, calculating the local density of the candidate point in the laser point cloud data of the current frame, and determining the candidate point whose local density is higher than a preset density threshold as the marking point.
[0113] Specifically, for the candidate point, determine the density reference point closest to the candidate point in the current frame laser point cloud data; calculate the distance between the candidate point and the density reference point to obtain the local density of the candidate point.
[0114] In the laser ground-marking phenomenon, the marking point on the ground usually appears as a continuous and relatively isolated linear laser point set. Considering the noise interference introduced by laser scattering, and the point cloud data generated by the laser radar is naturally orderly, the local density between two adjacent points in the point cloud (i.e., the distance between two adjacent points) is calculated to distinguish the real marking point from random noise.
[0115] The density reference point is the laser point closest to the candidate point in the laser point cloud data of the current frame. If the distance between the candidate point and the density reference point is less than the preset distance threshold, it is determined that the local density of the candidate point is higher than the preset density threshold.
[0116] Optionally, the preset distance threshold is 0.1m.
[0117] S508: If the proportion of the ground-marking points in the laser point cloud data of the current frame is greater than a preset proportion threshold, it is determined that the laser ground-marking phenomenon exists in the laser point cloud data of the current frame.
[0118] The disclosed embodiment compares the point cloud distribution of the laser point cloud data in the current tilted state with the reference frame point cloud data in the non-tilted state to determine whether there is a continuous and relatively isolated laser point set in the current frame point cloud data, thereby determining whether the laser beam hits the ground due to the tilt of the robot, providing a reference for the data source selection of the repositioning operation, and ensuring the reliability of the repositioning operation.
[0119] Based on any of the above embodiments, when the real-time fuselage tilt angle is less than the minimum value of the first preset range, or when there is no laser hitting the ground in the current frame laser point cloud data, the robot repositioning operation is performed according to the current frame laser point cloud data.
[0120] The robot extracts edge feature points and plane feature points from the current frame laser point cloud data, and uses the point cloud matching algorithm to match the current frame laser point cloud data with the map data and estimate the pose to determine the current location of the robot.
[0121] Since there is no laser hitting the ground in the current frame laser point cloud data, it can be used as an effective basis for robot repositioning. At this time, there is no need to trace back the previous laser point cloud data. The robot repositioning operation can be directly performed based on the current frame laser point cloud data.
[0122] Optionally, if the reference frame laser point cloud data does not exist, the robot is controlled to move to a first position along a preset path; and the robot is controlled to perform a repositioning operation at the first position.
[0123] There is no reference frame laser point cloud data, that is, no reference frame laser point cloud data with a body tilt angle less than the first angle threshold can be found in the previous frame laser point cloud data of the current frame laser point cloud data, which means that the body tilt angle of the robot from the previous moment to the current moment is large, and the environment where the robot is located is not suitable for repositioning. The robot needs to be controlled to move to other positions for repositioning.
[0124] Specifically, the robot is controlled to move to the first position and perform the repositioning operation again.
[0125] Optionally, when the real-time body tilt angle is greater than the third angle threshold, it is determined that the current robot tilt is too severe, and it is considered that there is a significant protrusion or obstacle on the ground. At this time, the robot should perform obstacle avoidance or obstacle crossing operations, and the current position of the robot is not suitable for repositioning. The third angle threshold can be set to 5°.
[0126] Figure 6Schematic diagram of the adaptive fusion positioning strategy provided by the embodiment of the present disclosure. Figure 6 As shown, the positioning strategy includes the following steps:
[0127] S601, calculating the angle between the robot body plane and the ground to obtain a real-time body tilt angle.
[0128] S602: Determine whether the real-time body tilt angle is greater than a third angle threshold. If yes, execute S608; if no, execute S603.
[0129] S603: Determine whether the real-time body tilt angle is within a first preset range. If yes, execute S604; if no, execute S606.
[0130] S604: Determine whether there is reference frame laser point cloud data. If yes, execute S605; if no, execute S608.
[0131] S605: Determine whether there is laser grounding in the current frame of laser point cloud data. If yes, execute S607; if no, execute S606.
[0132] S606: Repositioning using the laser point cloud data of the current frame.
[0133] S607: Repositioning using the reference frame laser point cloud data.
[0134] S608: Control the robot to move to the first position according to a preset path and then reposition it.
[0135] The disclosed embodiment adaptively matches different repositioning strategies according to different tilt states of the robot itself, so as to ensure accurate repositioning in various tilt states, thereby improving the universality of the repositioning method.
[0136] Figure 7 The schematic diagram of the structure of the robot repositioning device provided in the embodiment of the present disclosure. The robot repositioning device may be the robot as described in the above embodiment, or the robot repositioning device may be a component or assembly in the robot. The robot repositioning device provided in the embodiment of the present disclosure may execute the processing flow provided in the embodiment of the robot repositioning method, such as Figure 7As shown, the robot repositioning device 70 includes: a calculation module 71, an acquisition module 72, a determination module 73, and a repositioning module 74; wherein the calculation module 71 is used to calculate the angle between the robot body plane and the ground to obtain a real-time body tilt angle; the acquisition module 72 is used to obtain multiple frames of preceding laser point cloud data of the current frame laser point cloud data if the real-time body tilt angle is within a first preset range; the determination module 73 is used to determine the reference frame laser point cloud data closest to the current frame laser point cloud data according to the acquisition time of the multiple frames of preceding laser point cloud data, and the body tilt angle corresponding to the reference frame laser point cloud data is less than a first angle threshold; the repositioning module 74 is used to perform a robot repositioning operation according to the reference frame laser point cloud data when there is a laser ground hitting phenomenon in the current frame laser point cloud data, and the laser ground hitting phenomenon is a phenomenon that the angle between the laser beam and the ground is greater than a second angle threshold.
[0137] Optionally, the repositioning module 74 is also used to control the robot to move to the first position along a preset path if the reference frame laser point cloud data does not exist; and control the robot to perform a repositioning operation at the first position.
[0138] Optionally, the calculation module 71 includes a first determination unit 711, a first acquisition unit 712, a second acquisition unit 713, and a calculation unit 714; the first determination unit 711 is used to determine a first normal vector, which is perpendicular to the ground; the first acquisition unit 712 is used to acquire the roll angle data and pitch angle data of the robot at the current moment; the second acquisition unit 713 is used to perform an angle transformation on the first normal vector according to the roll angle data and the pitch angle data to obtain a second normal vector, which is perpendicular to the body plane of the robot at the current moment; the calculation unit 714 is used to calculate the angle between the first normal vector and the second normal vector to obtain the real-time body tilt angle.
[0139] Optionally, the robot repositioning device 70 also includes a ground hitting detection module 75, which includes a second determination unit 751 and a third determination unit 752; the second determination unit 751 is used to determine the number of hitting points in the current frame laser point cloud data based on the reference frame laser point cloud data; the third determination unit 752 is used to determine that laser ground hitting exists in the current frame laser point cloud data if the proportion of the hitting points in the current frame laser point cloud data is greater than a preset proportion threshold.
[0140] Optionally, the second determination unit 751 is used to align the reference frame laser point cloud data with the current frame laser point cloud data to obtain aligned point cloud data; and to match the current frame laser point cloud data with the aligned point cloud data point by point to determine multiple candidate points in the current frame laser point cloud data whose matching degree is lower than a preset matching degree threshold.
[0141] Optionally, the second determination unit 751 is used to obtain a reference posture of the robot corresponding to the reference frame laser point cloud data; obtain a real-time posture of the robot corresponding to the current frame laser point cloud data; determine a posture difference according to the reference posture and the real-time posture; according to the posture difference, convert the reference frame laser point cloud data to the coordinate system of the current frame laser point cloud data to obtain converted reference frame laser point cloud data; perform point cloud registration on the converted reference frame laser point cloud data and the current frame laser point cloud data to obtain registered point cloud data.
[0142] Optionally, the second determination unit 751 is further configured to calculate the local density of the candidate point in the laser point cloud data of the current frame, and determine the candidate point whose local density is higher than a preset density threshold as the marking point.
[0143] Optionally, the second determination unit 751 is further used to determine, for the candidate point, a density reference point closest to the candidate point in the laser point cloud data of the current frame; calculate the distance between the candidate point and the density reference point to obtain the local density of the candidate point.
[0144] Optionally, the repositioning module 74 is used to obtain the reference position of the robot at the moment corresponding to the reference frame laser point cloud data; determine the moving trajectory of the robot after the reference position based on the odometer data; and determine the position of the robot at the current moment based on the reference position and the moving trajectory.
[0145] Optionally, the repositioning module 74 is used to perform a robot repositioning operation according to the current frame laser point cloud data when the real-time fuselage tilt angle is less than the minimum value of the first preset range, or when there is no laser hitting the ground in the current frame laser point cloud data.
[0146] Figure 7 The robot repositioning device of the illustrated embodiment can be used to execute the technical solution of the above-mentioned method embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0147] Figure 8 Schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. The electronic device may be a robot as described in the above embodiment. The electronic device provided in an embodiment of the present disclosure may execute the processing flow provided in an embodiment of the robot relocation method, such as Figure 8 As shown, the electronic device 80 includes: a memory 81, a processor 82, a computer program and a communication interface 83; wherein the computer program is stored in the memory 81 and is configured so that the processor 82 executes the robot repositioning method as described above.
[0148] In addition, an embodiment of the present disclosure further provides a computer-readable storage medium on which a computer program is stored. The computer program is executed by a processor to implement the robot repositioning method described in the above embodiment.
[0149] In addition, an embodiment of the present disclosure also provides a computer program product, which includes a computer program or instructions, and when the computer program or instructions are executed by a processor, the robot repositioning method as described above is implemented.
[0150] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0151] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0152] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
[0153] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0154] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.
[0155] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0156] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A robot repositioning method, characterized in that: The method comprises: Calculate the angle between the robot body plane and the ground to get the real-time body tilt angle; If the real-time fuselage tilt angle is within a first preset range, acquiring multiple frames of previous laser point cloud data of the current frame of laser point cloud data; Determine, according to the acquisition time of the multiple frames of preceding laser point cloud data, reference frame laser point cloud data closest to the current frame laser point cloud data, wherein the fuselage inclination angle corresponding to the reference frame laser point cloud data is less than a first angle threshold; When the current frame laser point cloud data has a laser ground hitting phenomenon, a robot repositioning operation is performed according to the reference frame laser point cloud data, and the laser ground hitting phenomenon is a phenomenon that the angle between the laser beam and the ground is greater than a second angle threshold.
2. The method according to claim 1, characterized in that After determining the reference frame laser point cloud data closest to the current frame laser point cloud data, the method further includes: If the reference frame laser point cloud data does not exist, controlling the robot to move to the first position along a preset path; The robot is controlled to perform a repositioning operation at the first position.
3. The method according to claim 1, characterized in that The calculating the angle between the robot body plane and the ground to obtain the real-time body tilt angle includes: Determine a first normal vector, wherein the first normal vector is perpendicular to the ground; Get the robot's roll angle data and pitch angle data at the current moment; Performing an angle transformation on the first normal vector according to the roll angle data and the pitch angle data to obtain a second normal vector, wherein the second normal vector is perpendicular to the body plane of the robot at the current moment; The angle between the first normal vector and the second normal vector is calculated to obtain the real-time fuselage tilt angle.
4. The method according to claim 1, characterized in that After determining the reference frame laser point cloud data closest to the current frame laser point cloud data, the method further includes: Determine the number of points in the current frame laser point cloud data according to the reference frame laser point cloud data; If the proportion of the ground-marking points in the laser point cloud data of the current frame is greater than a preset proportion threshold, it is determined that the laser ground-marking phenomenon exists in the laser point cloud data of the current frame.
5. The method according to claim 4, characterized in that The step of determining the number of points in the current frame laser point cloud data according to the reference frame laser point cloud data includes: Registering the reference frame laser point cloud data with the current frame laser point cloud data to obtain registered point cloud data; The current frame laser point cloud data is matched point by point with the registration point cloud data to determine a plurality of candidate points in the current frame laser point cloud data whose matching degree is lower than a preset matching degree threshold.
6. The method according to claim 5, characterized in that The registering the reference frame laser point cloud data with the current frame laser point cloud data to obtain the registered point cloud data includes: Obtaining a reference posture of the robot corresponding to the reference frame laser point cloud data; Obtaining the real-time position and posture of the robot corresponding to the laser point cloud data of the current frame; Determining a posture difference according to the reference posture and the real-time posture; According to the posture difference, the reference frame laser point cloud data is converted to the current frame laser point cloud data coordinate system to obtain the converted reference frame laser point cloud data; Point cloud registration is performed on the converted reference frame laser point cloud data and the current frame laser point cloud data to obtain registered point cloud data.
7. The method according to claim 5, characterized in that The method further comprises: The local density of the candidate point in the laser point cloud data of the current frame is calculated, and the candidate point whose local density is higher than a preset density threshold is determined as the marking point.
8. The method according to claim 5, characterized in that The calculating the local density of the candidate point in the laser point cloud data of the current frame includes: For the candidate point, determine a density reference point closest to the candidate point in the laser point cloud data of the current frame; The distance between the candidate point and the density reference point is calculated to obtain the local density of the candidate point.
9. The method according to claim 1, characterized in that: The robot repositioning operation is performed according to the reference frame laser point cloud data, comprising: Obtaining the reference position of the robot at the time corresponding to the reference frame laser point cloud data; Determining a movement trajectory of the robot after the reference position according to the odometer data; Based on the reference position and the moving trajectory, the position of the robot at the current moment is determined.
10. The method according to claim 1, characterized in that The method further comprises: When the real-time fuselage tilt angle is less than the minimum value of the first preset range, or when there is no laser hitting the ground in the current frame laser point cloud data, a robot repositioning operation is performed according to the current frame laser point cloud data.
Citation Information
Patent Citations
Slope positioning correction method and device, robot and readable storage medium
CN114789439A