Mobile robot obstacle avoidance method, mobile robot and computer readable storage medium
By acquiring the initial set of obstacle points and ground offset parameters to correct the position of the obstacle point set, the problem of inaccurate judgment of suspended obstacles by mobile robots in complex environments is solved, achieving more efficient obstacle avoidance judgment and reducing missed detections.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHEN ZHEN 3IROBOTICS CO LTD
- Filing Date
- 2023-02-23
- Publication Date
- 2026-04-21
AI Technical Summary
Existing mobile robots struggle to accurately determine whether to avoid suspended obstacles, leading to missed or false detections, especially in complex home work environments such as slopes or uneven ground, where the ground calibrated by the structured light sensor may differ from the actual ground.
By acquiring the initial set of obstacle points and ground offset parameters in the current environment, the position of the obstacle point set is corrected using the offset parameters, the distance between the suspended obstacle and the preset calibration ground is determined, and the mobile robot is controlled to avoid the obstacle.
This improves the accuracy of mobile robots in judging avoidance of suspended obstacles, reduces missed detections, and ensures that robots can pass safely.
Smart Images

Figure CN116185037B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of robotics, and in particular to a method for obstacle avoidance by a mobile robot, a mobile robot, and a computer-readable storage medium. Background Technology
[0002] Obstacle avoidance is one of the important functions of mobile robots in autonomous navigation. In order to enable mobile robots to detect and avoid low obstacles, such as wires and socks, the mainstream mobile robots on the market currently use structured light sensors.
[0003] However, in practical applications, due to the complexity of the working environment, in addition to low obstacles, there may also be suspended obstacles. Furthermore, the actual ground may be uneven, causing the mobile robot to look down, or there may be slopes in the ground. In these situations, the mobile robot may be unable to accurately determine whether to avoid suspended obstacles, resulting in missed areas being swept. Summary of the Invention
[0004] This specification aims to at least partially address one of the technical problems in the related art. To this end, one objective of this specification is to propose a mobile robot obstacle avoidance method that can correct the position of the ground and obstacles detected in the current environment, and then determine whether to avoid suspended obstacles, thereby making the obstacle avoidance of the mobile robot more accurate.
[0005] The second objective of this specification is to propose an obstacle avoidance device for a mobile robot.
[0006] The third objective of this specification is to propose a mobile robot.
[0007] The fourth objective of this specification is to provide a computer-readable storage medium.
[0008] To achieve the above objectives, a first aspect of this specification provides a method for obstacle avoidance of a mobile robot. This obstacle avoidance method includes: acquiring an initial set of obstacle points in the current environment, and an offset parameter between the current ground and a preset calibration ground; using the offset parameter to correct the position of the obstacle point set to obtain a target obstacle point set; if the initial obstacle point set indicates the presence of a suspended obstacle in the current environment, determining a first distance between the lowest point of the suspended obstacle in the target obstacle point set and the preset calibration ground; if the first distance is less than or equal to a passing distance threshold, controlling the mobile robot to avoid the suspended obstacle.
[0009] The obstacle avoidance method for mobile robots according to the embodiments of this specification corrects the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thus reducing the occurrence of missed detections.
[0010] In some embodiments of this specification, determining the presence of a suspended obstacle in the current environment using the initial obstacle point set includes: determining a second distance between the obstacle to be determined in the initial obstacle point set and the current ground; if an obstacle to be determined is found in the initial obstacle point set whose second distance exceeds a first distance threshold, determining that the suspended obstacle exists in the current environment; wherein the suspended obstacle is an obstacle to be determined whose second distance exceeds the first distance threshold.
[0011] In some embodiments of this specification, obtaining the initial obstacle point set of obstacles in the current environment includes: obtaining laser data of the mobile robot emitting a line laser into the current environment; performing a line fitting on the line laser based on the laser data to obtain a line fitting result; and determining the initial obstacle point set in the laser data according to the line fitting result.
[0012] In some embodiments of this specification, the mobile robot emits two intersecting line laser beams into the current environment; the process of performing linear fitting on the line lasers based on the laser data to obtain a linear fitting result includes: determining a first set of ground points within a preset range in each line laser data set; wherein, the line laser data is obtained by separating the line laser data generated by the two line laser beams in the current environment; performing linear fitting on the first set of ground points based on a first fitting error to obtain a first linear equation for each line laser beam; determining a second set of ground points in each line laser data set whose distance from the first linear equation satisfies a preset distance condition; performing linear fitting on the second set of ground points based on a second fitting error to obtain a second linear equation for each line laser beam; wherein, the second fitting error is less than the first fitting error; and using the second linear equation as the linear fitting result for each line laser beam.
[0013] In some embodiments of this specification, determining the initial obstacle point set in the laser data based on the straight line fitting result includes: determining the target ground point set in the laser data located on the second straight line equation; and using other points in the laser data besides the target ground point set as the initial obstacle point set.
[0014] In some embodiments of this specification, obtaining the offset parameters between the current ground and the preset calibration ground includes: performing planar fitting on the current ground based on the straight line fitting result to determine the offset parameters between the current ground and the preset calibration ground.
[0015] In some embodiments of this specification, the step of performing plane fitting on the current ground based on the straight line fitting result to determine the offset parameter between the current ground and the preset calibration ground includes: performing plane fitting according to the second straight line equation of the two line laser beams to obtain the plane equation of the current ground; determining the rotation matrix and translation matrix between the current ground and the preset calibration ground according to the plane equation of the current ground, and using the rotation matrix and the translation matrix as the offset parameter.
[0016] In some embodiments of this specification, after performing planar fitting on the current ground based on the straight-line fitting result to determine the offset parameter between the current ground and the preset calibration ground, the method further includes: performing horizontal correction on the current ground based on the offset parameter; if the distance between a specified position on the mobile robot and the horizontally corrected current ground is greater than or equal to a second distance threshold, determining that there is a depression in the laser emission area of the mobile robot; and controlling the mobile robot to avoid the depression.
[0017] To achieve the above objectives, a second aspect of this specification provides an obstacle avoidance device for a mobile robot. The obstacle avoidance device includes: an acquisition module for acquiring an initial set of obstacle points in the current environment, and offset parameters between the current ground and a preset calibration ground; a correction module for correcting the position of the obstacle point set using the offset parameters to obtain a target obstacle point set; a distance determination module for determining a first distance between the lowest point of the suspended obstacle in the target obstacle point set and the preset calibration ground if the initial obstacle point set indicates the presence of a suspended obstacle in the current environment; and an avoidance module for controlling the mobile robot to avoid the suspended obstacle if the first distance is less than or equal to a passing distance threshold.
[0018] The obstacle avoidance device for mobile robots according to embodiments of this specification corrects the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thus reducing the occurrence of missed detections.
[0019] To achieve the above objectives, a third aspect of this specification provides a mobile robot. The mobile robot includes a memory, a processor, and a mobile robot obstacle avoidance program stored in the memory. The mobile robot obstacle avoidance program is executed by the processor to implement the mobile robot obstacle avoidance method as described in any embodiment of the first aspect.
[0020] According to the embodiments of this specification, when the obstacle avoidance program of the mobile robot is executed by the processor, the initial set of suspended obstacle points is corrected using the offset parameter between the current ground and the preset calibration ground. Then, the distance between the suspended obstacle and the preset calibration ground is determined using the corrected target obstacle point set to judge whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thereby reducing the occurrence of missed detections.
[0021] To achieve the above objectives, a fourth aspect of this specification provides a computer-readable storage medium storing a mobile robot obstacle avoidance program thereon, which, when executed by a processor, implements the mobile robot obstacle avoidance method as described in any embodiment of the first aspect.
[0022] According to the computer-readable storage medium of the embodiments of this specification, when the mobile robot obstacle avoidance program is executed by a processor, it can correct the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thereby reducing the occurrence of missed detections.
[0023] Additional aspects and advantages of this specification will be set forth in part in the description which follows, and in part will be obvious from the description or may be learned by practice of this specification. Attached Figure Description
[0024] Figure 1 This is a flowchart of an obstacle avoidance method for a mobile robot according to an embodiment of this specification.
[0025] Figure 2 This is a schematic diagram comparing scenarios of ground calibration and obstacle detection on uneven ground performed by a mobile robot in one embodiment of this specification.
[0026] Figure 3 This is a schematic diagram of a scenario in which a mobile robot performs position correction in one embodiment of this specification.
[0027] Figure 4 This is a schematic diagram of a scenario in which a mobile robot emits a line laser in one embodiment of this specification.
[0028] Figure 5 This is a schematic diagram illustrating a scenario for acquiring low-point cloud data in one embodiment of this specification.
[0029] Figure 6 This is a schematic diagram of a scenario for coarse fitting in one embodiment of this specification.
[0030] Figure 7 This is a schematic diagram illustrating a scenario in one embodiment of this specification where a mobile robot avoids a depression in the ground.
[0031] Figure 8 This is a schematic diagram illustrating the determination of a depressed surface in one embodiment of this specification.
[0032] Figure 9 This is a schematic diagram of the mounting position of the dual-line laser sensor in one embodiment of this specification.
[0033] Figure 10 This is a structural block diagram of a mobile robot obstacle avoidance device in one embodiment of this specification.
[0034] Figure 11 This is a structural block diagram of a mobile robot in one embodiment of this specification. Detailed Implementation
[0035] The embodiments of this specification are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this specification, and should not be construed as limiting this specification.
[0036] Obstacle avoidance is a crucial function for mobile robots during autonomous navigation. Currently, commonly used obstacle avoidance sensors include mechanical collision switches, infrared proximity sensors, ultrasonic sensors, microwave radar, lidar, structured light sensors, and Time-of-Flight (ToF) sensors. To enable mobile robots to detect and avoid low obstacles such as power lines and socks, structured light sensors are now the mainstream technology used in mobile robots on the market.
[0037] Structured light sensors utilize the principle of triangulation to obtain depth information. Their advantages include: (1) high ranging accuracy; (2) the ability to acquire height information of obstacles, especially low obstacles; and (3) susceptibility to sunlight interference. Their disadvantages include the ability to acquire depth information only along a laser line, a relatively large sensor size, and high requirements for structural stability. In some mobile robots, structured light sensors can detect low objects such as 5mm thick wires and socks, but their obstacle detection performance is poor when encountering suspended obstacles.
[0038] Furthermore, in practical applications, the complex working environment in a home can present challenges. Slopes or uneven surfaces may cause the robot vacuum to view the ground from above. Whether it's a slope or the robot looking down, the surface calibrated by the robot's structured light sensor will not be on the same horizontal plane as the actual ground, thus weakening the robot's obstacle detection ability. Pitching or sloping will cause the robot to be out of sync with the ground. In such an environment, the robot is more likely to fail to accurately determine whether to avoid suspended obstacles, leading to false or missed detections.
[0039] The following description, with reference to the accompanying drawings, describes an obstacle avoidance method for a mobile robot, a mobile robot, and a computer-readable storage medium according to embodiments of this specification.
[0040] This specification presents an obstacle avoidance method for a mobile robot through its embodiments. Please refer to... Figure 1 The obstacle avoidance method includes:
[0041] S110, obtain the initial obstacle point set of obstacles in the current environment, as well as the offset parameters between the current ground and the preset calibration ground.
[0042] The mobile robot can be a household cleaning robot, such as a robot vacuum cleaner. The mobile robot can be equipped with a camera module and multiple line laser emitters, for example, two line laser emitters. These line laser emitters can specifically be structured light sensors, with the two structured light sensors respectively installed on the front left and front right sides of the mobile robot to emit line lasers into the outside world.
[0043] When implementing obstacle detection methods, the mobile robot can activate two structured light sensors in real time and emit line lasers into the current environment. After emitting the line lasers, the mobile robot can receive the laser data generated by the line lasers. The laser data includes an initial set of ground points projected onto the ground and an initial set of obstacle points projected onto the obstacles. Obstacles in the current environment include obstacles located on the ground, such as socks and electrical wires; they may also include suspended obstacles, such as cabinets or sofas supported at four corners.
[0044] Please see Figure 2 In the environment in which a mobile robot is currently located, the ground may not be flat. For example, the robot may be on flat ground but the ground in front of it is a slope, or it may be on a downhill slope but the ground in front of it is flat, or the robot's rear wheels may run over a threshold, causing it to tilt (pitch). All of these situations will make the height of the ground and obstacles in front of the robot appear higher than they should be. Therefore, the robot may perceive the ground in front of it as an obstacle, plan an incorrect route, and immediately detour. However, in reality, there may be no obstacle in front of it, or the obstacle may be far away or suspended in mid-air, or the ground may only appear "relatively higher" because the robot is tilted down, and once it passes the threshold, the ground in front of it will return to a flat surface in the robot's view. If any of these situations occur, the mobile robot will be unable to move normally into the area in front of it, and it will be unable to accurately judge the obstacles in front of it. Therefore, the mobile robot needs to perform position correction on the ground and obstacles in the currently acquired laser data in order to accurately identify and avoid obstacles in the environment ahead.
[0045] Specifically, such as Figure 2 As shown in scenario ①, before using the mobile robot, it can be placed on a flat surface for ground calibration to obtain the parameters of the mobile robot and the calibration surface. Therefore, the mobile robot can store the preset calibration surface parameters, that is, store the ground position parameters of the actual horizontal ground. The calibration of the mobile robot on the flat surface can be performed by the mobile robot in the manufacturing factory or by the user during use using the mobile robot's calibration algorithm. This application does not limit the calibration time of the mobile robot. As shown in scenario ②, when using the mobile robot, it detects low obstacles on a flat and undisturbed surface. As shown in scenario ③, when using the mobile robot, it detects suspended obstacles in an environment with a flat and undisturbed surface. As shown in scenario ④, when using the mobile robot 100, the ground in front has a certain slope, but the mobile robot is not on the slope, and a sloping surface is detected. As shown in scenario ⑤, when the mobile robot 100 is in use, the ground in front has a certain slope, but the mobile robot 100 is not on the slope, and there are obstacles on the slope. At this time, the slope and the obstacles on it are detected. As shown in scenario ⑥, when the mobile robot 100 is in use, the ground in front has a certain slope, but the mobile robot 100 is not on the slope. At this time, the slope and the suspended obstacles in the current environment are detected.
[0046] When the mobile robot is performing cleaning work, it activates its structured light sensor in real time. The sensor obtains laser data of the current environment. Using the initial set of ground points projected onto the ground from the laser data, a plane equation for the current ground can be fitted. This plane equation can then be used to determine the offset parameters between the current ground and a preset calibration ground.
[0047] S120, the position of the obstacle point set is corrected using the offset parameter to obtain the target obstacle point set.
[0048] The offset parameter can characterize the degree to which obstacles in the current environment are offset due to the current ground being a slope. Therefore, the current ground can be corrected by the offset parameter, that is, the uphill can be corrected to the horizontal ground. At the same time, the position of the obstacle can also be corrected to obtain the target obstacle point set based on the preset calibration ground.
[0049] Please see Figure 3 In scenario (a), the mobile robot faces an uphill slope with a suspended obstacle W on it. The mobile robot obtains the planar equation of the uphill slope. Since the slope and the horizontal plane have an angle, there is a certain offset between them. Based on the planar equation, the offset between the uphill slope and a preset calibration ground can be calculated. The suspended obstacle W is then virtually rotated, translated, or rotated and translated based on this offset. Figure 3 The position of the suspended obstacle W in scene (b). After ground position correction and obstacle position correction, the desired position of the suspended obstacle W and the corresponding target obstacle point set can be obtained based on the preset calibration ground.
[0050] In some implementations, the offset parameters may include rotation and translation matrices. The initial obstacle point set is rotated and translated according to the rotation and translation matrices to obtain a target obstacle point set fitted onto a preset calibration ground.
[0051] It is understandable that the formulas for rotation matrices and translation matrices, as well as the formulas for rotation transformations and translation transformations, are known to those skilled in the art and will not be elaborated upon here.
[0052] S130, if it is determined from the initial obstacle point set that there are suspended obstacles in the current environment, determine the first distance between the lowest point of the suspended obstacle in the target obstacle point set and the preset calibration ground.
[0053] The mobile robot operates in the current environment, emitting laser beams to obtain laser data of the environment. This laser data includes an initial set of ground points projected onto the ground and an initial set of obstacle points projected onto obstacles. If there are low-lying obstacles and suspended obstacles in the current environment, the initial obstacle point set includes the low-lying obstacle points projected onto the low-lying obstacles and the suspended obstacle points projected onto the suspended obstacles.
[0054] Therefore, if it is determined that there is a suspended obstacle in the current environment based on the initial obstacle point set, the height of the suspended obstacle above the ground should be determined in order to determine whether the mobile robot can pass under the suspended obstacle.
[0055] To reduce the impact of ground slope on obstacle detection by the mobile robot, offset parameters can be used to first correct the position of the obstacle and the current ground. Then, the distance between the suspended obstacle and the ground can be determined using the corrected target obstacle point set. It is understood that the current ground, after position correction, will roughly coincide with the preset calibration ground.
[0056] Specifically, the presence of suspended obstacles in the current environment can be determined first using an initial obstacle point set. If such obstacles exist, their number can be determined from the initial obstacle point set. Then, based on the target obstacle point set, the first distance between the lowest point of any suspended obstacle and the preset calibration ground can be determined. The first distance is the vertical distance from the lowest point of the suspended obstacle to the preset calibration ground.
[0057] S140, if the first distance is less than or equal to the passing distance threshold, control the mobile robot to avoid the suspended obstacle.
[0058] The distance threshold can be understood as the minimum distance that a mobile robot can pass through. It is generally set to be greater than the height of the mobile robot. For example, if the height of the mobile robot is 12cm, in order to prevent the mobile robot from getting stuck due to a bump in the ground below the suspended obstacle, the distance threshold can be set to 14cm.
[0059] The first distance corresponding to the suspended obstacle is compared with the passage distance threshold. If it is less than or equal to the passage distance threshold, it indicates that the mobile robot cannot pass under the suspended obstacle. Then, the mobile robot is controlled to avoid the suspended obstacle.
[0060] The obstacle avoidance method for mobile robots according to the embodiments of this specification corrects the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thus reducing the occurrence of missed detections.
[0061] In some embodiments of this specification, determining the presence of a suspended obstacle in the current environment by using an initial obstacle point set includes: determining a second distance between the obstacle to be determined in the initial obstacle point set and the current ground; if it is determined in the initial obstacle point set that there is an obstacle to be determined whose second distance exceeds a first distance threshold, it is determined that there is a suspended obstacle in the current environment; wherein, the suspended obstacle is an obstacle to be determined whose second distance exceeds the first distance threshold.
[0062] Specifically, in the initial obstacle point set, the set of all obstacles to be determined is determined based on the degree of clustering. Using the current ground as a reference, the vertical distance from the lowest point of each obstacle to the current ground is determined as the second distance between the obstacle and the current ground. This second distance is compared with a first distance threshold. If the second distance between the obstacle and the current ground exceeds the first distance threshold, the obstacle is considered a suspended obstacle. If the obstacle is a low obstacle on the ground, its lowest point is located on the current ground, while a suspended obstacle maintains a certain distance from the current ground. Therefore, the first distance threshold is generally set to 0. However, since laser data may have some errors, the first distance threshold can also be set to a larger value, such as 1cm or 2cm. Only when the distance between the lowest point of the obstacle and the current ground exceeds 2cm is the obstacle determined to be a suspended obstacle.
[0063] In some embodiments of this specification, obtaining the initial obstacle point set of obstacles in the current environment includes: obtaining laser data of the mobile robot emitting a line laser into the current environment; performing a line fitting on the line laser based on the laser data to obtain a line fitting result; and determining the initial obstacle point set in the laser data according to the line fitting result.
[0064] Please see Figure 4 When implementing obstacle detection, the mobile robot 200 can activate two structured light sensors 402 in real time and emit laser beams into the external environment. The emitted laser beams form... Figure 4The dashed lines indicate surfaces ABF and DCE. Since the point set characteristics represented by the line laser are a line segment, the intersection of surface ABF and the ground is line segment BF, the intersection of surface ABF and obstacle 400 is line segment AB, the intersection of surface DCE and the ground is line segment CE, and the intersection of surface DCE and obstacle 400 is line segment DC. The camera module 404 can also acquire images of the environment in front of the mobile robot 200 in real time. By performing image processing methods such as light intensity calculation, it obtains the laser data of the line lasers emitted by the two structured light sensors 402 projected into the current environment. That is, it obtains the line segments BF and AB projected by the left structured light sensor 402, and the line segments CE and DC projected by the right structured light sensor 402. These four line segments are all point sets (point cloud sets) formed by point clouds.
[0065] Understandably, laser data is essentially a set of point clouds. Since the environment includes the ground as well as obstacles such as walls, the laser data contains an initial set of ground points projected onto the ground and an initial set of obstacle points projected onto the obstacles.
[0066] The mobile robot 200 is equipped with two structured light sensors 402 that emit line lasers to the outside world in real time, and the line lasers emitted by the two structured light sensors 402 intersect. The angle between the two structured light sensors 402 in the emission direction can be 70°, 90°, 100° or other angles, with the angle value ranging from 0° to less than 180°. The specific angle value used is set according to the actual obstacle avoidance function requirements.
[0067] Since laser data always includes an initial set of ground points projected onto the ground, and may also include an initial set of obstacle points projected onto obstacles, and these two sets are mixed together, the initial set of ground points projected onto the ground can be determined first from the laser data, followed by the initial set of obstacle points. Because obstacles are generally higher than the ground, the position of the point cloud projected onto the obstacle is higher than the position of the point cloud projected onto the ground. Therefore, after obtaining the laser data for each laser beam, the point cloud data within a preset range can be identified from the laser data as the first initial set of ground points.
[0068] For example, a line can be fitted using the RANSAC (Random Sample Consensus) algorithm or other algorithms capable of line fitting, based on a first initial set of ground points. The RANSAC algorithm can determine a two-dimensional straight line from a set of observation data (point cloud data). Therefore, the first initial set of ground points for one of the line lasers is used as the input to the RANSAC algorithm, and the corresponding straight line equation for that line laser is output.
[0069] In some implementations, the laser data generated by the two line lasers in the current environment can be separated to obtain the laser data of each line laser projected into the current environment.
[0070] The left and right structured light sensors 402 project line lasers in a sequential manner. For example, the left structured light sensor 402 projects a line laser first, and then the camera module 404 acquires the first image corresponding to the left structured light sensor 402. After analysis and processing, the first laser data corresponding to the line laser emitted by the left structured light sensor 402 is obtained. Then, the right structured light sensor 402 projects a line laser first, and the camera module 404 acquires the second image corresponding to the right structured light sensor 402. After analysis and processing, the second laser data corresponding to the line laser emitted by the right structured light sensor 402 is obtained. Each point cloud in the first and second laser data is assigned a different number. The first and second laser data form the overall laser data, which is the laser data obtained in the above steps. When processing and calculating the overall laser data using this method, the laser data corresponding to the two line lasers can be directly separated by their numbers, thereby distinguishing which point clouds correspond to which line laser.
[0071] After obtaining the point clouds of each of the two laser lines, the initial ground point sets for each line can be determined based on their respective laser data. Linear fitting is then performed using these initial ground point sets to obtain the linear equations for each of the two laser lines. Based on these linear equations, the point clouds of all laser data projected onto the ground can be determined, i.e., the initial ground point sets. The other point sets in the laser data besides these initial ground point sets are then used as the initial obstacle point sets.
[0072] In some embodiments of this specification, the mobile robot emits two intersecting line laser beams into the current environment; the process of performing linear fitting on the line lasers based on the laser data to obtain a linear fitting result includes: determining a first set of ground points within a preset range in each line laser data set; wherein, the line laser data is obtained by separating the line laser data generated by the two line laser beams in the current environment; performing linear fitting on the first set of ground points based on a first fitting error to obtain a first linear equation for each line laser beam; determining a second set of ground points in each line laser data set whose distance from the first linear equation satisfies a preset distance condition; performing linear fitting on the second set of ground points based on a second fitting error to obtain a second linear equation for each line laser beam; wherein, the second fitting error is less than the first fitting error; and using the second linear equation as the linear fitting result for each line laser beam.
[0073] Because laser data may contain more point clouds projected onto obstacles, even more than those projected onto the ground, directly inputting the laser data as the initial ground point set into the RANSAC algorithm could result in a large error in the fitted linear equation for the laser line, leading to a significant deviation between the fitted ground and the actual ground. Therefore, to improve the accuracy of the linear equation fitted by the RANSAC algorithm, the laser data can be filtered to obtain a more accurate point set located on the ground.
[0074] Specifically, a preset height threshold t1 can be used to filter out all point cloud data whose positions are not lower than the preset height threshold t1, retaining only the point cloud data whose positions are lower than the preset height threshold t1, i.e., low-level point cloud data. The preset height threshold t1 ( Figure 5 The height threshold t1 (shown by the dashed line in the image) is set to a height higher than the obstacle detection standard of the mobile robot 200. If the mobile robot 200 considers all objects higher than 5mm as obstacles, then the preset height threshold t1 will be set to a value greater than 5mm, for example, 20mm. This ensures that all point clouds projected onto the uphill slope are below the preset height threshold t1 and are thus retained in the low-point cloud data, while simultaneously filtering out most of the point clouds projected onto the wall from the low-point cloud data, so that the point cloud data contained in the low-point cloud data mainly consists of point clouds from the ground.
[0075] Since most of the low-point cloud data consists of point clouds on the ground, fitting a straight line to the low-point cloud data can yield a relatively accurate linear equation for the line laser.
[0076] Because the low-level cloud data is determined to potentially contain obstacle point clouds based on a preset height threshold t1, although the number of obstacle point clouds contained in the low-level cloud data is relatively small, directly using this low-level cloud data for straight line fitting may result in a hypotenuse line segment. One end of this hypotenuse line segment is connected to the outer end of the line segment presented by the ground point cloud in the low-level cloud data, and the other end of this hypotenuse line segment is connected to the outer end of the line segment presented by the obstacle point cloud in the low-level cloud data. For example... Figure 6 The hypotenuse shown by the dashed line is not representative of the actual ground line segment due to discrepancies between the hypotenuse and the actual ground line segment.
[0077] Therefore, when performing linear fitting on low-point cloud data, the linear fitting can be divided into coarse fitting and fine fitting. First, a coarse fitting is performed, followed by a fine fitting, and the second fitting error used in the fine fitting should be smaller than the first fitting error used in the coarse fitting.
[0078] For example, when performing coarse fitting using the RANSAC algorithm, a first fitting error is set to 10 mm, and a first straight line equation is output as the coarse fitting result. When performing fine fitting using the RANSAC algorithm, a second fitting error is set to 3 mm, and a second straight line equation is output as the fine fitting result.
[0079] Understandably, the same algorithm can be used for both coarse and fine fitting, but the inputs and fitting error settings will differ. Furthermore, before coarse fitting, N points within a preset range close to the mobile robot can be selected from the low-level point cloud data as a first ground point set. This first ground point set can then be used as input for coarse fitting, instead of performing coarse fitting on all low-level point cloud data. This further ensures that the fine fitting result obtained after fine fitting will not include obstacle point clouds. N is a preset value, the magnitude of which can be determined based on the first fitting error or a preset range.
[0080] Specifically, the coarse fitting process includes: firstly, determining low-level cloud data from the laser data using a preset height threshold t1. Then, determining a first set of ground points within a preset range from the low-level cloud data. Setting a first fitting error, for example, 10 mm. Using the first set of ground points as input to the RANSAC algorithm, performing a straight-line fitting on the current laser line to obtain the first straight-line equation. That is, deriving the first straight-line equation based on the xyz axes: Ax + By + Cz + D = 0, where A, B, and C are the first, second, and third coefficients of the equation, respectively, and D is a constant. The straight line described by this first straight-line equation can be considered as a line segment with a thickness of 10 mm.
[0081] After obtaining the coarse fitting result, i.e., obtaining the line segment with a thickness of 10mm, the point cloud data that meets the preset distance condition from the laser data is first filtered out as the second ground point set. This can be understood as filtering out points that are far from the 10mm line segment as noise and interference, retaining only the points that are closer. The preset distance condition can be set to point clouds with a distance less than or equal to 10mm or other distance values. It can be understood that the point cloud located on the line segment has a distance of 0 from the line segment, and therefore belongs to the point cloud that meets the preset distance condition.
[0082] The remaining point cloud after filtering based on preset distance conditions is called the second ground point set. At this point, it is assumed that the second ground point set primarily contains point clouds of the ground, with very few point clouds containing obstacles. Therefore, more stringent line fitting parameters can be used. That is, by utilizing the second fitting error, the second ground point set is used as input to the RANSAC algorithm for fine fitting. For example, the second fitting error can be set to 3mm to obtain a more accurate second line equation, which can then be used as the line equation for the line laser.
[0083] In some embodiments of this specification, determining an initial obstacle point set in laser data based on the straight line fitting result includes: determining a target ground point set in the laser data that lies on the second straight line equation; and using other points in the laser data besides the target ground point set as the initial obstacle point set.
[0084] After determining the equation of the straight line intersecting the laser beam on the ground in the current environment, it can be understood that points located on the straight line equation are the points projected onto the ground. Therefore, all point clouds contained in the second straight line equation can be identified from the laser data as the target ground point set. Points outside the second straight line equation are the points projected onto obstacles in the current environment, i.e., the initial obstacle point set.
[0085] In some embodiments of this specification, obtaining the offset parameters between the current ground and the preset calibration ground includes: performing planar fitting on the current ground based on the straight line fitting result to determine the offset parameters between the current ground and the preset calibration ground.
[0086] Since two straight lines can define a plane, after obtaining the equations of the lines intersecting the two laser lines with the current ground, a plane fitting can be performed based on these equations to obtain the plane equation of the current ground. Based on the plane equation of the current ground, the offset parameters between the current ground and the preset calibration ground can be determined.
[0087] In some embodiments of this specification, plane fitting is performed on the current ground based on the straight line fitting result to determine the offset parameter between the current ground and the preset calibration ground. This includes: performing plane fitting based on the second straight line equation of the two line lasers to obtain the plane equation of the current ground; determining the rotation matrix and translation matrix between the current ground and the preset calibration ground based on the plane equation of the current ground, and using the rotation matrix and the translation matrix as the offset parameter.
[0088] Specifically, such as Figure 4As shown, after obtaining the second line equations of line segments BF and CE that intersect the current ground with the two structured light sensors 402 respectively, a plane fitting operation is performed using the two second line equations. Specifically, the RANSAC algorithm can be used for plane fitting. The plane is calculated in three-dimensional space based on the two intersecting line segments, thereby obtaining the plane equation of the current ground. This plane equation represents the position recognition result of the mobile robot 200 on the ground in the current posture, which is the plane equation of the actual ground from the perspective of the mobile robot 200.
[0089] Based on the plane equation of the current ground and the ground parameters of the preset calibration ground in the mobile robot, the rotation matrix and translation matrix between the plane equation and the preset calibration ground can be determined.
[0090] The initial set of obstacle points is corrected using rotation and translation transformations to obtain the corrected target obstacle position. It is understood that the formulas for the rotation and translation matrices, as well as the formulas for the rotation and translation transformations, are familiar to those skilled in the art and will not be elaborated upon here.
[0091] In some embodiments of this specification, after performing planar fitting on the current ground based on the straight-line fitting result to determine the offset parameter between the current ground and the preset calibration ground, the method further includes: performing horizontal correction on the current ground based on the offset parameter; if the distance between a specified position on the mobile robot and the horizontally corrected current ground is greater than or equal to a second distance threshold, determining that there is a depression in the laser emission area of the mobile robot; and controlling the mobile robot to avoid the depression.
[0092] In some situations, the operating environment of a mobile robot often contains two rooms at different heights; for example, the level of a bathroom is usually lower than that of other rooms. In such environments, the mobile robot can also perform cliff fall detection to prevent it from falling off a cliff and being unable to climb back up to continue cleaning tasks.
[0093] The embodiments in this specification can also utilize a dual-line laser sensor configured for mobile robots to achieve cliff detection. Dual-line laser sensors are small in size, easy to deploy, and can be combined into different installation schemes; they can provide distance measurement information from multiple points to measure the size of obstacles; the dual-line distance measurement principle is insensitive to ambient light and obstacle reflectivity.
[0094] When mobile robots use dual-line laser sensors to detect cliffs, the height of the cliff to be detected can be set according to the robot's own obstacle-crossing height capability, so as to prevent the robot from falling off the cliff and being unable to climb up to carry out subsequent cleaning tasks. Furthermore, due to the small size of the dual-line laser sensor, it is easy to deploy, the detection range of the mobile robot is wider, the blind spot is smaller during movement, the obstacle avoidance route is smoother, and it can also work normally in scenarios with sufficient lighting such as floor-to-ceiling windows and balconies.
[0095] Please see Figure 4 The mobile robot can replace the structured light sensor 402 with a dual-line laser sensor. The field of view of a dual-line laser sensor typically ranges from 20 degrees to 120 degrees and can be adjusted according to actual needs. In the embodiments of this specification, the field of view of the dual-line laser sensor can be set to 90 degrees.
[0096] Besides sensors, mobile robots also include moving parts, primarily consisting of drive wheels and omnidirectional wheels. Two drive wheels can be placed on the left and right sides of the mobile robot, forming a common differential robot chassis. The omnidirectional wheel near the front in this example serves to further support the chassis. When the dual-line laser sensor detects a cliff, it sends the distance information to the mobile robot's control board. The control board, using pre-calibrated structural parameters, converts the cliff's height information into orientation information in the mobile robot's coordinate system, plans a new path, and controls the drive wheels to complete the obstacle avoidance maneuver.
[0097] It should be noted that in the embodiments of this specification, the mobile robot performs cliff detection, that is, it detects whether there is a depression in the ground in front of the mobile robot that the mobile robot cannot climb out of when the mobile robot is working in the current environment.
[0098] For example, please refer to Figure 7 The dual-line laser sensor is positioned at the front of the mobile robot, thus giving the robot a forward-facing perspective. Figure 7 In Figure (a), the mobile robot moves forward, but the depression in the ground in front of it has not yet entered the detection range of the dual-line laser sensor. Figure 7 In Figure (b), when the depressed ground area enters the detection range of the dual-line laser sensor, the mobile robot first decelerates, then stops, and then reverses. Depending on the current task type, if it is a right-edge cleaning task, the mobile robot turns left; if it is a left-edge cleaning task, the mobile robot turns right. Figure 7 Figure (c) is a schematic diagram illustrating a right-edge cleaning task. (As shown) Figure 7As shown in Figure (c), after turning left at a certain angle, the mobile robot continues to move forward. If a depression is still detected ahead, the mobile robot moves backward and then turns left again. Once no more depressions are detected within the field of view of the dual-line laser sensor, the mobile robot has completed its depression avoidance strategy and continues working on its original right-edge cleaning task.
[0099] It is understandable that during the process of the mobile robot performing detection and obstacle avoidance, the recessed ground may happen to be located in the blind zone of the dual-line laser sensor at a certain moment. However, since the mobile robot is constantly moving, the recessed ground can be detected again by the dual-line laser sensor after its position and angle change. Therefore, the impact of the blind zone on the obstacle avoidance of the mobile robot can be ignored.
[0100] Specifically, during operation in the current environment, the mobile robot emits a dual-line laser to obtain laser data of the current ground. If there is a depression in the ground ahead that needs to be identified, the detected ground may be the depression. The aforementioned method is used to perform plane fitting on the depression to obtain its plane equation. Then, the offset parameter between the depression and a preset calibration ground is determined using this plane equation. The horizontal correction of the depression is performed using the offset parameter. Based on the horizontally corrected depression, the ranging function of the dual-line laser sensor is used to determine the distance between a designated position on the mobile robot and the horizontally corrected depression. If this distance is greater than or equal to a second distance threshold, the depression is determined to be one that the mobile robot cannot climb out of. The mobile robot is then controlled to avoid this depression. For example, the designated position on the mobile robot can be the installation location of the dual-line laser sensor. Figure 8 As shown, if the installation height of the dual-line laser sensor is 6cm, the distance measurement height between the mobile robot and the reference ground is 6cm. If the obstacle-crossing height of the mobile robot is 2cm, then the second distance threshold can be set to 8cm. If a depression appears in front of the mobile robot, and the distance measurement height between the mobile robot and the horizontally corrected depression is 8cm or greater, then the depression can be identified as a depression, and the mobile robot must avoid it and cannot pass through.
[0101] The process of a mobile robot avoiding obstacles on uneven ground may include the following steps:
[0102] Step 010: When the mobile robot is running, it will create a local grid map centered on the current position of the mobile robot as a memory map of the cliff depression, which will be provided to the mobile robot to obtain the location of the depression.
[0103] The local grid map can be set to a size of 5m x 5m and a resolution of 2cm. Specifically, the size and resolution of the local grid map can be set according to the mobile robot's operating environment.
[0104] Step 020: When the mobile robot approaches the depression, it determines the location of the depression and fills it into the cliff depression memory map; and based on the location of the depression, it performs simulation of the lidar to calculate the point with the shortest Euclidean distance between the current radar and the depression.
[0105] Specifically, such as Figure 7 As shown, when the mobile robot approaches the depression in the ground, it calculates the location of the depression based on the robot's current position and the SLAM map position, and fills it into the cliff depression memory map described in step 010. Subsequently, the mobile robot performs a simulated LiDAR calculation based on the depression's location. The simulated LiDAR, centered on the current robot's radar, calculates the point with the shortest Euclidean distance between the current radar and the depression at a resolution of 1°. The distance information from the simulated LiDAR to this point is then converted into the radar's data structure. The direction directly behind the mobile robot is defined as the radar's positive direction, and the radar's rotation direction is counter-clockwise.
[0106] Step 030: As the mobile robot approaches the sunken ground, it fills the map and generates a simulated LiDAR based on the information fed back by the dual-line laser sensor. When the minimum distance fed back in a certain direction is less than the preset minimum distance threshold, it calculates the deceleration ratio and decelerates according to the deceleration ratio.
[0107] Specifically, as the mobile robot approaches the recessed ground (depending on the detection range of the dual-line laser sensor, which is currently defined as having a 1m range for obstacle avoidance), the robot fills in the map and generates a simulated LiDAR based on the information fed back from the dual-line laser sensor. For example, when the mobile robot detects that the shortest distance reported by the simulated LiDAR within the 130° to 230° range is less than 0.5m, the robot will calculate a deceleration ratio. This ratio is calculated based on the shortest distance within the simulated LiDAR's feedback range, the previous deceleration ratio, the control speed issued by the mobile robot in the previous cycle, and the current speed. The mobile robot then calculates the current decelerated speed based on the deceleration ratio and decelerates accordingly.
[0108] Step 040: When the mobile robot detects that the shortest distance within the range of the simulated lidar feedback is less than the minimum distance threshold preset for avoidance control, the mobile robot will send a parking control command.
[0109] Specifically, 5cm can be defined as the minimum distance required for the mobile robot to avoid the recessed ground and prevent the omnidirectional wheels from falling off the cliff. This distance is a safe distance derived from the furthest distance from the collision sensor on the robot's outer shell to the side scanner. When the mobile robot detects that the shortest distance within the range of the simulated LiDAR feedback is less than the minimum distance for avoidance control (5cm), the mobile robot will send a stop control command. Subsequently, the mobile robot will stop 3cm to 5cm in front of the recessed ground (where there is a control error).
[0110] Step 050: After the mobile robot stops in front of the recessed ground, the rotation angle is calculated based on the distance fed back by the simulated lidar of the mobile robot.
[0111] Specifically, the angle calculation method is as follows: First, the mobile robot will divide the field of view of the simulated lidar into multiple blocks. For example, 60° to 90° is defined as the right front range, 90° to 180° is defined as the right middle range, 180° to 270° is the left middle range, and 270° to 300° is the left front range.
[0112] Then, the mobile robot calculates the specific angle it needs to rotate based on the shortest distance reported within each range. For example, when the distance is between 0 and 5 cm, it turns 90 degrees. Since this embodiment uses a right-edge cleaning task mode for obstacle avoidance, when the mobile robot encounters an obstacle, it rotates to the left, resulting in a counter-clockwise rotation angle. For example, when the minimum distance within the right front and right center ranges is less than the set threshold (0.05 m), the calculated angle is a 60° left turn. After the mobile robot turns 60° to the left, the minimum distance within the right front range may still be less than the set threshold (0.05 m), in which case the calculated angle is a 30° left turn, and it continues to rotate 30° to the left.
[0113] Step 060: When the mobile robot is turning, if the wide-angle of the dual-line laser sensor is large enough, the mobile robot can continuously detect the depression in the ground. Therefore, by repeating the above operation, the mobile robot can avoid the depression along the edge.
[0114] Please see Figure 9 This paper demonstrates several deployment methods of dual-line laser sensors on a mobile robot. Different placements of the dual-line laser sensors affect the horizontal and vertical viewing angles when detecting depressions, thus influencing the detection range and blind zone of the sensors. Therefore, it is possible to combine... Figure 9 The installation methods shown in Figures (b) and (c) involve placing a sensor at a higher and a lower position respectively, and using them in combination to reduce the blind zone of the dual-line laser sensor.
[0115] Corresponding to the above embodiments, this specification also proposes an obstacle avoidance device for a mobile robot. For example... Figure 10 As shown, the obstacle avoidance device includes:
[0116] The acquisition module 1010 is used to acquire the initial obstacle point set of obstacles in the current environment, as well as the offset parameters between the current ground and the preset calibration ground.
[0117] The correction module 1020 is used to correct the position of the obstacle point set using offset parameters to obtain the target obstacle point set.
[0118] The distance determination module 1030 is used to determine the first distance between the lowest point of the suspended obstacle in the target obstacle point set and the preset calibration ground if it is determined through the initial obstacle point set that there is a suspended obstacle in the current environment.
[0119] The obstacle avoidance module 1040 is used to control the mobile robot to avoid suspended obstacles if the first distance is less than or equal to the passing distance threshold.
[0120] The obstacle avoidance device for mobile robots according to embodiments of this specification corrects the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thus reducing the occurrence of missed detections.
[0121] It should be noted that for details not disclosed in the mobile robot obstacle avoidance device of this embodiment, please refer to the details disclosed in the embodiments of the mobile robot obstacle avoidance method in this specification, which will not be repeated here.
[0122] Corresponding to the above embodiments, this specification also proposes a computer-readable storage medium storing a mobile robot obstacle avoidance program thereon. When the mobile robot obstacle avoidance program is executed by a processor, it implements the mobile robot obstacle avoidance method as described in any of the above embodiments.
[0123] According to the computer-readable storage medium of the embodiments of this specification, when the mobile robot obstacle avoidance program is executed by a processor, it can correct the position of an initial set of suspended obstacle points using offset parameters between the current ground and a preset calibration ground. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thereby reducing the occurrence of missed detections.
[0124] Corresponding to the above embodiments, this specification also provides a mobile robot.
[0125] Figure 11 This is a structural block diagram of a mobile robot according to one embodiment of this specification, such as... Figure 11 As shown, the mobile robot 1100 includes a memory 1104, a processor 1102, and a mobile robot obstacle avoidance program 1106 stored in the memory 1104 and executable on the processor 1102. When the processor 1102 executes the mobile robot obstacle avoidance program 1106, it implements the mobile robot obstacle avoidance method of any of the above embodiments.
[0126] According to the embodiments of this specification, when the processor 1102 executes the mobile robot obstacle avoidance program 1106, it can use the offset parameters between the current ground and the preset calibration ground to correct the position of the initial set of suspended obstacle points. Then, it uses the corrected target obstacle point set to determine the distance between the suspended obstacle and the preset calibration ground, thereby determining whether the mobile robot should avoid the suspended obstacle. Through position correction, the embodiments of this specification enable the mobile robot to more accurately determine whether to avoid suspended obstacles in the current environment, thereby reducing the occurrence of missed detections.
[0127] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0128] It should be understood that various parts of this specification can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0129] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0130] In the description of this specification, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this specification and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this specification.
[0131] Furthermore, the terms "first," "second," etc., used in the embodiments of this specification are for descriptive purposes only and should not be construed as indicating or implying relative importance, or implicitly specifying the number of technical features indicated in this embodiment. Therefore, features defined with terms such as "first" and "second" in the embodiments of this specification can explicitly or implicitly indicate that the embodiment includes at least one of those features. In the description of this specification, the word "multiple" means at least two or more, such as two, three, four, etc., unless otherwise explicitly specified in the embodiments.
[0132] In this specification, unless otherwise explicitly specified or limited in the embodiments, the terms "installation," "connection," "joining," and "fixing," etc., appearing in the embodiments, should be interpreted broadly. For example, a connection can be a fixed connection, a detachable connection, or an integral part; it can also be a mechanical connection, an electrical connection, etc. Of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal communication between two components, or the interaction between two components. Those skilled in the art will be able to understand the specific meaning of the above terms in this specification based on the specific implementation.
[0133] In this specification, unless otherwise expressly specified and limited, "above" or "below" the second feature can mean that the first and second features are in direct contact, or that the first and second features are in indirect contact through an intermediate medium. Furthermore, "above," "over," and "on top" of the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0134] Although embodiments of this specification have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting this specification. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this specification.
Claims
1. A method for obstacle avoidance in a mobile robot, characterized in that, The method includes: Obtain the initial obstacle point set of obstacles in the current environment, as well as the offset parameters between the current ground and the preset calibration ground; The position of the obstacle point set is corrected using the offset parameter to obtain the target obstacle point set; If it is determined from the initial obstacle point set that there is a suspended obstacle in the current environment, determine the first distance between the lowest point of the suspended obstacle in the target obstacle point set and the preset calibration ground; If the first distance is less than or equal to the distance threshold, the mobile robot is controlled to avoid the suspended obstacle; The process of obtaining the initial obstacle point set of obstacles in the current environment includes: Acquire laser data of the line laser emitted by the mobile robot into the current environment; Based on the laser data, a straight line fit is performed on the line laser to obtain the straight line fit result; The initial obstacle point set is determined from the laser data based on the straight line fitting result; The mobile robot emits two intersecting line laser beams into the current environment; the process of performing a line fitting based on the laser data to obtain a line fitting result includes: A first set of ground points within a preset range is determined in each line laser data set; wherein, the line laser data is obtained by separating the line laser data generated by two line laser beams in the current environment from the laser data; Based on the first fitting error, a straight line fit is performed on the first set of ground points to obtain the first straight line equation for each of the line laser beams; Determine a second set of ground points in each of the line laser data whose distance from the first line equation satisfies a preset distance condition; Based on the second fitting error, a straight line equation is obtained by fitting the second set of ground points to obtain the second straight line equation for each of the line laser beams; wherein, the second fitting error is smaller than the first fitting error; The second linear equation is used as the linear fitting result for each of the said line laser beams.
2. The method according to claim 1, characterized in that, The step of determining whether there are suspended obstacles in the current environment through the initial obstacle point set includes: Determine a second distance between the obstacle to be determined in the initial obstacle point set and the current ground; If, in the initial set of obstacle points, there is an obstacle to be determined whose second distance exceeds the first distance threshold, it is determined that the current environment contains the suspended obstacle; wherein, the suspended obstacle is the obstacle to be determined whose second distance exceeds the first distance threshold.
3. The method according to claim 1, characterized in that, Determining the initial obstacle point set from the laser data based on the straight line fitting result includes: Determine the set of target ground points in the laser data that lie on the second straight line equation; The points in the laser data other than the target ground point set are used as the initial obstacle point set.
4. The method according to claim 1, characterized in that, Obtain the offset parameters between the current ground and the preset calibration ground, including: Based on the straight line fitting result, a plane fitting is performed on the current ground to determine the offset parameter between the current ground and the preset calibration ground.
5. The method according to claim 4, characterized in that, The step of performing planar fitting on the current ground based on the straight-line fitting result to determine the offset parameters between the current ground and the preset calibration ground includes: The plane equation of the current ground is obtained by performing plane fitting based on the second linear equation of the two line laser beams; The rotation and translation matrices between the current ground plane equation and the preset calibration ground are determined, and the rotation and translation matrices are used as the offset parameters.
6. The method according to claim 4, characterized in that, After performing plane fitting on the current ground based on the straight-line fitting result to determine the offset parameter between the current ground and the preset calibration ground, the method further includes: The current ground surface is horizontally corrected based on the offset parameters; If the distance between a specified position on the mobile robot and the current ground after horizontal correction is greater than or equal to a second distance threshold, it is determined that there is a concave ground in the laser emission area of the mobile robot; The mobile robot is controlled to avoid the sunken ground.
7. A mobile robot, characterized in that, The mobile robot includes: a memory, a processor, and a mobile robot obstacle avoidance program stored in the memory, wherein the mobile robot obstacle avoidance program is executed by the processor to implement the mobile robot obstacle avoidance method as described in any one of claims 1 to 6.
8. A computer-readable storage medium storing a mobile robot obstacle avoidance program thereon, characterized in that, When the mobile robot obstacle avoidance program is executed by the processor, it implements the mobile robot obstacle avoidance method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Obstacle classification and obstacle avoidance control system based on TOF camera
CN112415998A
Line laser calibration method, device, equipment and storage medium
CN114543725A
Dynamic obstacle avoidance method and device and mobile robot
CN114764252A