A collision prediction method for a non-circular sweeping robot

CN119115920BActive Publication Date: 2026-08-07AMICRO SEMICONDUCTOR CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
AMICRO SEMICONDUCTOR CO LTD
Filing Date
2023-06-12
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0002]目前清洁场景中大多扫地机的机身造型都是圆形结构,圆形结构的运动规划只需考虑机体前侧障碍物的避障处理,对于清洁场景上存在的非圆形扫地机,比如,一种D型扫地机器人,作为前圆后方造型的扫地机不同于圆形扫地机,清洁运动时运动幅度较大,在后退和旋转动作中容易碰撞上特定方位上的障碍物,导致扫地机器人的导航规划效率不高

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119115920B_ABST
    Figure CN119115920B_ABST
Patent Text Reader

Abstract

The application discloses a collision prediction method of a non-circular sweeping robot, comprising the following steps: calculating the pose of the non-circular sweeping robot at a second moment according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot, the absolute value of the difference between the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot, and the pose of the non-circular sweeping robot at a first moment; and predicting the collision between the non-circular sweeping robot and the obstacle in the direction of the non-circular sweeping robot during movement according to the change of the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in the direction of the non-circular sweeping robot between the first moment and the second moment on the basis of the pose of the non-circular sweeping robot at the first moment and the pose of the non-circular sweeping robot at the second moment, so that the non-circular sweeping robot can avoid directly colliding with the obstacle in the corresponding direction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of robot motion control, and specifically to a collision prediction method for a non-circular sweeping robot. Background Technology

[0002] Currently, most robotic vacuum cleaners used in cleaning scenarios have a circular body shape. The motion planning of a circular structure only needs to consider obstacle avoidance on the front side of the machine. However, for non-circular robotic vacuum cleaners used in cleaning scenarios, such as a D-shaped robotic vacuum cleaner, which has a round front and square rear shape, the movement range during cleaning is larger. During backward and rotating movements, it is easy to collide with obstacles in specific directions, resulting in low navigation planning efficiency of the robotic vacuum cleaner. Summary of the Invention

[0003] This application discloses a collision prediction method for a non-circular sweeping robot, and the specific technical solution is as follows:

[0004] A collision prediction method for a non-circular robotic vacuum cleaner includes: calculating the pose of the non-circular robotic vacuum cleaner at a second moment based on the sum of the velocities of its left and right drive wheels, the absolute value of the difference between the velocities of its left and right drive wheels, and the pose of the non-circular robotic vacuum cleaner at a first moment; and, based on the poses of the non-circular robotic vacuum cleaner at the first and second moments, calculating the planar projection distance between the alignment point of the non-circular robotic vacuum cleaner at the predicted position and the location of an obstacle in one direction of the non-circular robotic vacuum cleaner at a second moment. The change between time one and time two is used to predict the collision situation between the non-circular sweeping robot and the obstacle in that direction during its movement. The intersection of the line connecting the center of the non-circular sweeping robot and the location of the obstacle in one direction with the edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot. The planar projection distance between the alignment point and the obstacle location is the distance formed by the alignment point and the obstacle location in the walking plane of the non-circular sweeping robot. The obstacle location in one direction is used to represent the position of an obstacle in that direction.

[0005] In summary, non-circular robotic vacuum cleaners also predict their movement trends and potential locations at specific moments based on the speeds of their left and right drive wheels. Before the robot actually moves, if the distance to an obstacle in the corresponding direction is calculated to be closer at the second moment than at the first moment, it is confirmed that the robot is about to collide with the obstacle. This completes the prediction of collisions between the robot and obstacles in the corresponding direction during its movement. It fully considers the robot's structure and its positional relationship with the obstacle in the corresponding direction during its movement. In environments where obstacles obstruct the view, it avoids direct collisions with the obstacles in the corresponding direction, improving the navigation planning efficiency of the non-circular robotic vacuum cleaner, especially its navigation efficiency along specific directions.

[0006] Furthermore, the method for predicting the collision situation between the non-circular sweeping robot and the obstacle in one direction during its movement, based on the change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle in one direction of the non-circular sweeping robot between two adjacent moments, includes: if the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle in one direction of the non-circular sweeping robot is less than the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle in the same direction of the non-circular sweeping robot, it is determined that there is a tendency for the non-circular sweeping robot to collide with the obstacle in that direction during its movement; if the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle in one direction of the non-circular sweeping robot is greater than or equal to the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle in the same direction of the non-circular sweeping robot, it is determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in that direction during its movement. Therefore, this technical solution can predict the collision between the non-circular sweeping robot and the obstacle in a certain direction during its movement by changing the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle in a certain direction of the non-circular sweeping robot between two adjacent moments, thus avoiding direct collision between the non-circular sweeping robot and the obstacle during navigation or due to erroneous obstacle avoidance operation.

[0007] Furthermore, if the speeds of both the left and right drive wheels of the non-circular robotic vacuum cleaner are not equal to 0, then the position that the non-circular robotic vacuum cleaner is expected to move to in the second moment, starting from the first moment, is set as the predicted position. The current position of the non-circular robotic vacuum cleaner is the two-dimensional coordinate position occupied by the center of the robot body in the first moment, and the predicted position is the two-dimensional coordinate position occupied by the center of the robot body in the second moment. The time interval between the second moment and the first moment is preset. The pose of the non-circular robotic vacuum cleaner at the current position includes the coordinates of the current position and the direction of movement of the non-circular robotic vacuum cleaner in the first moment. The pose of the non-circular robotic vacuum cleaner at the predicted position includes the coordinates of the predicted position and the direction of movement of the non-circular robotic vacuum cleaner in the second moment. This technical solution selects to plan the position to be moved to in the second moment according to the expected motion trajectory or moving position generated by the speed of the left drive wheel and the speed of the right drive wheel before the non-circular sweeping robot starts to move from the first moment. That is, the predicted position can be equivalent to calculating the center position of the non-circular sweeping robot in the second moment through the current center position of the robot body. This makes it easier to judge the collision trend of the non-circular sweeping robot with obstacles as it moves in the current direction of movement.

[0008] Further, the method for calculating the pose of the non-circular sweeping robot at the second moment based on the sum of the speeds of the left and right drive wheels, the absolute value of the difference between the speeds of the left and right drive wheels, and the pose of the non-circular sweeping robot at the first moment includes: the non-circular sweeping robot sets its real-time measured left drive wheel speed as V. l The non-circular robotic vacuum cleaner sets its real-time measured right drive wheel speed as V. r Then, the non-circular robotic vacuum cleaner moves at a speed V. c Set to equal to Simultaneously, the angular velocity ω generated by the movement of the non-circular sweeping robot... c Set to equal to The left and right drive wheels are connected by an axle with a length of l. The non-circular sweeping robot sets its current position coordinates to (x0, y0) and also sets the angle indicating its first-move direction to θ0. Then, the non-circular sweeping robot moves based on its speed V. c angular velocity ω c Given a movement planning time t, its pose at the predicted position is calculated as the pose of the non-circular sweeping robot at the second moment. The method for calculating its pose at the predicted position includes:

[0009]

[0010]

[0011] θ1=θ0+ω c t;

[0012] Wherein, the movement planning time t is the time interval between the second moment and the first moment; (x1, y1) are the coordinates of the non-circular sweeping robot at the predicted position, and θ1 is the angle indicating the movement direction of the non-circular sweeping robot at the second moment.

[0013] Based on the speeds of the left and right drive wheels of the non-circular robotic vacuum cleaner, and its pose at the first moment, the pose of the non-circular robotic vacuum cleaner at the second moment is calculated before it actually displaces. This pose is then used to assess its collision relationships with obstacles in various directions.

[0014] Furthermore, the non-circular sweeping robot includes a body, a head, and two symmetrically arranged wheels connected by an axle located at the boundary between the body and the head. The body and head together form a non-circular shape, with the front of the head pointing in the direction of movement of the non-circular sweeping robot. Thus, with the direction of movement of the non-circular sweeping robot aligned with the positive direction of the horizontal axis of the robot's coordinate system, and the central axis of the non-circular sweeping robot's body set as the horizontal axis of the robot's coordinate system, and the center of the non-circular sweeping robot's body being the origin of the robot's coordinate system, the orientation of the coordinate axes of the robot's coordinate system can be changed by using the left and right drive wheels to record the movement direction information of the non-circular sweeping robot in real time.

[0015] Furthermore, if the speed of the left drive wheel of the non-circular robotic vacuum cleaner is not equal to the speed of the right drive wheel, then the non-circular robotic vacuum cleaner is configured to move clockwise at an angular velocity ω. c By rotating a preset angle, for the same obstacle location, the alignment point of the non-circular sweeping robot is configured to rotate a preset angle in the opposite direction of a preset clockwise direction, so that: for the same obstacle location, when the pose of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes. Whenever the distance between the alignment point of the non-circular sweeping robot and the obstacle location in one direction of the non-circular sweeping robot changes between two adjacent moments, this can be used to determine whether there is a tendency for the non-circular sweeping robot to collide with the obstacle in the corresponding direction during its movement from the first moment to the second moment.

[0016] Furthermore, the coordinates of the obstacle's location point in one direction of the non-circular sweeping robot are obtained in advance, and denoted as the obstacle's position coordinates (x, y). p,y p After the non-circular sweeping robot determines its current position coordinates as (x0, y0) and the angle indicating its movement direction at the current position as θ0, it uses the relative coordinate transformation formula to convert the position coordinates of the obstacle (x0, y0) to (x0, y0). p ,y p The coordinates of the obstacle to be avoided at the first moment are converted to the coordinates (relaXp0, relaYp0) in the first robot coordinate system. Then, the alignment angle relaθ0 of the obstacle to be avoided at the first moment is calculated using the coordinates (relaXp0, relaYp0). Here, the positive direction of the horizontal axis of the first robot coordinate system is the direction of movement of the non-circular sweeping robot at its current position, and the origin of the first robot coordinate system is set at the current position. After the coordinates of the non-circular sweeping robot at the predicted position are determined to be (x1, y1), and the angle indicating its movement direction at the predicted position is determined to be θ1, the position coordinates (x1, y1) of the obstacle are converted to the coordinates (relaXp0, relaYp0) in the first robot coordinate system. p ,y p The coordinates of the obstacle to be avoided at the second moment are converted to the coordinates (relaXp1, relaYp1) in the second robot coordinate system; then, the alignment angle relaθ1 of the obstacle to be avoided at the second moment is calculated using the coordinates (relaXp1, relaYp1); where the positive direction of the horizontal axis of the second robot coordinate system is the direction of movement of the non-circular sweeping robot at the predicted position, and the origin of the second robot coordinate system is set at the predicted position; where (x p ,y p (x0, y0) and (x1, y1) are all located in the world coordinate system. Therefore, the pose information of the obstacle to be avoided at the second moment is obtained through the relative coordinate transformation formula. This information is used to compare the change in distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point representing the obstacle's position) between two adjacent moments. This allows for the determination of whether the non-circular sweeping robot has a tendency to collide with the obstacle during its movement from the first moment to the second moment based on the change in distance.

[0017] Furthermore, based on the relative coordinate transformation formula, the position coordinates (x, y) of the obstacle are transformed. p ,y p Methods for converting coordinates to the first-moment coordinates of the obstacle to be avoided include: relaXp0 = (x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0;

[0018] The alignment angle relaθ0 of the obstacle to be avoided at the first moment is calculated using the first-moment coordinates (relaXp0, relaYp0) of the obstacle to be avoided.

[0019]

[0020] Based on the relative coordinate transformation formula, the position coordinates (x, y) of the obstacle are transformed. p ,y p Methods for converting coordinates to the second moment of the obstacle to be avoided include: relaXp1=(x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1;

[0021] The alignment angle relaθ1 of the obstacle to be avoided at the second moment, calculated using the second-moment coordinates (relaXp1, relaYp1) of the obstacle to be avoided, is...

[0022]

[0023] Therefore, based on the position coordinates of the non-circular robot's center and the position coordinates of the obstacle, the aforementioned relative coordinate transformation formula is used to perform rotation and translation transformations, thereby transforming the position coordinates of the obstacle into the robot's coordinate system.

[0024] Further, there is a pre-set mapping relationship between the planar projection distance between the alignment point of the non-circular floor cleaning robot at the current position and the body center of the non-circular floor cleaning robot at the current position and the alignment angle at the first moment of the obstacle to be avoided; wherein, the planar projection distance between the alignment point of the non-circular floor cleaning robot at the current position and the body center of the non-circular floor cleaning robot at the current position is represented by ROBOT_RELA_DIST(relaθ0); there is a pre-set mapping relationship between the planar projection distance between the alignment point of the non-circular floor cleaning robot at the predicted position and the body center of the non-circular floor cleaning robot at the predicted position and the alignment angle at the second moment of the obstacle to be avoided; wherein, the planar projection distance between the alignment point of the non-circular floor cleaning robot at the predicted position and the body center of the non-circular floor cleaning robot at the predicted position is represented by ROBOT_RELA_DIST(relaθ1); the pre-set mapping relationship is used to represent the functional relationship between the planar projection distance between the alignment point on the pointing direction of an alignment angle of the non-circular floor cleaning robot and the body center and the same alignment angle; the planar projection distance between the alignment point and the body center is the distance formed between the alignment point and the body center in the walking plane of the non-circular floor cleaning robot, and is used to represent the distance from the body center to the edge of the body along the direction indicated by an alignment angle. Thus, the distance information from the alignment point to the body center at 360 angular directions with the body center of the non-circular floor cleaning robot as the center of the circle can be enumerated using the mapping relationship, facilitating the call of the distance information at the corresponding alignment angle through the pre-set mapping relationship when calculating the distance between the alignment point of the non-circular floor cleaning robot and the laser point representing the position of an obstacle at different moments or different positions where the non-circular floor cleaning robot has moved.

[0025] Further, the calculation method of the distance D0 between the alignment point of the non-circular floor cleaning robot at the current position and the coordinates at the first moment of the obstacle to be avoided is as follows: The calculation method of the distance D1 between the alignment point of the non-circular floor cleaning robot at the predicted position and the coordinates at the second moment of the obstacle to be avoided is as follows: When D1 < D0, it is determined that when the non-circular floor cleaning robot starts from the current position and rotates at an angular velocity ω c during the rotation process, the distance between the body center and the obstacle position point in one azimuth decreases, then it is determined that there is a tendency for the non-circular floor cleaning robot to collide with the obstacle at the obstacle position point in the one azimuth during the moving process; when D1 > D0, it is determined that when the non-circular floor cleaning robot starts from the current position and rotates at an angular velocity ω c during the rotation process, the distance between the body center and the obstacle position point in one azimuth increases, then it is determined that there is no tendency for the non-circular floor cleaning robot to collide with the obstacle at the obstacle position point in the one azimuth during the moving process.

[0026] In summary, the aforementioned technical solution, by considering the body structure and pre-calculated pose state, achieves effective collision prediction. It can calculate the distance between the alignment point of the non-circular sweeping robot at its current position and the first-moment coordinates of the obstacle to be avoided, even before any movement occurs. Furthermore, it can determine whether the distance between the alignment point of the non-circular sweeping robot and the laser point representing the obstacle's position decreases or increases between adjacent moments, improving the accuracy of collision prediction. Thus, by pre-reserving a safe distance (a safe distance to prevent the robot from colliding with obstacles) between the alignment point of the non-circular sweeping robot at its current position and the first-moment coordinates of the obstacle to be avoided relative to the corresponding obstacle, it can determine the precise timing for triggering obstacle avoidance, preventing the non-circular sweeping robot from directly colliding with obstacles at its original drive wheel speed. Attached Figure Description

[0027] Figure 1 This is a schematic diagram of the distribution of obstacles #1, #2 and #3 scanned by a non-circular sweeping robot within a target circular area, according to one embodiment of this application.

[0028] Figure 2 This is another embodiment of the present application, which discloses a schematic diagram of the pose changes of a non-circular sweeping robot during its movement.

[0029] Figure 3 This is another embodiment of the present application, which discloses a schematic diagram of the pose change of a non-circular sweeping robot in predicting its collision with obstacle #2.

[0030] Figure 4 This is a schematic flowchart of a collision prediction method for a non-circular sweeping robot, which is disclosed in another embodiment of this application. Detailed Implementation

[0031] To provide a clearer description of the present invention, specific embodiments are given below for further explanation. In the following description, specific details such as particular system structures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that the present application can also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary detail.

[0032] A robotic vacuum cleaner, also known as an automatic cleaning robot, intelligent vacuum cleaner, or robotic vacuum cleaner, is a type of smart home appliance that uses artificial intelligence to automatically clean floors in a room. It typically uses a combination of brushing and vacuuming to collect debris into its dustbin, thus completing the cleaning process. Generally, robots that perform sweeping, vacuuming, and mopping are all categorized as robotic vacuum cleaners. Currently, robotic vacuum cleaners are roughly divided into three types: round, square, and D-shaped. Square robotic vacuum cleaners are composed of rectangles, while D-shaped robotic vacuum cleaners are a combination of a circle and a rectangle. Square and D-shaped robotic vacuum cleaners are both considered non-circular robotic vacuum cleaners. Figure 1 and 3 A schematic diagram of a D-type robot is shown. Figure 2 The diagram shows a square-shaped robotic vacuum cleaner. When these non-circular robotic vacuum cleaners move in an indoor environment, for example, they need to turn after walking a certain distance in a straight line. The non-circular robotic vacuum cleaners do not have enough space to adjust on the front, back, left, and right sides, causing them to directly collide with obstacles during movement. This is because the edges of the non-circular robotic vacuum cleaner (considered as the boundary of the robot's walking plane) are not necessarily in a regular shape.

[0033] As one embodiment, a collision prediction method for a non-circular robotic vacuum cleaner is disclosed. The collision prediction method is executed by a non-circular robotic vacuum cleaner equipped with a ranging sensor. The non-circular robotic vacuum cleaner includes models that are not circular in shape, can also perform mopping functions, and is adapted to move, locate, and build grid maps on horizontal surfaces in indoor environments to facilitate navigation path planning. The robotic vacuum cleaner collects real-time 3D point cloud information of specific orientations within its walking plane or pre-stores environmental pose information of specific orientations within its walking plane. See reference. Figure 4 It can be seen that the collision prediction method includes:

[0034] Step A: Calculate the pose of the non-circular robot vacuum cleaner at the second moment based on the sum of the speeds of the left and right drive wheels, the absolute value of the difference between the speeds of the left and right drive wheels, and the pose of the non-circular robot vacuum cleaner at the first moment. This is the predicted pose of the non-circular robot vacuum cleaner at the second moment from its current position. Then, proceed to Step B.

[0035] In step A, the non-circular robotic vacuum cleaner remains at its current position. The current position is the coordinate position included in the robot's pose at the first moment, representing the two-dimensional plane position occupied by the robot's center at that moment. The predicted position is the position the non-circular robotic vacuum cleaner will move to at the next moment, starting from its current position. This predicted position represents the two-dimensional plane position occupied by the robot's center at the next moment, i.e., the coordinate position included in the robot's pose at the second moment. The pose at the second moment is calculated based on the conversion between the left and right drive wheel velocities (including conversion to angular velocity and linear velocity of the robot's center) and the robot's pose at the first moment, assuming no change in either the left or right drive wheel velocities. This calculation allows for advance knowledge of the robot's next position and enables navigation path planning.

[0036] Step B: Based on the pose of the non-circular sweeping robot at the first moment and its pose at the second moment, predict the possibility of the non-circular sweeping robot colliding with the obstacle in one direction during its movement, according to the change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location point of the obstacle in one direction of the non-circular sweeping robot between the first and second moments (referring to the change in distance value). This includes determining whether the non-circular sweeping robot will collide with the obstacle in one direction based on its pose and alignment point at each moment. The obstacle location point in one direction can be a pre-fitted location point or a selected obstacle contour point closest to the center of the robot body, used to represent an obstacle in one direction (i.e., one location point represents one obstacle). All are in the same walking plane, i.e., the world coordinate system plane. Then, the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle location point in one direction of the non-circular sweeping robot can be calculated, i.e., the projection distance between two three-dimensional points in the same walking plane. By judging the magnitude relationship between the planar projection distance between the alignment point of the non-circular sweeping robot and the obstacle location point in one direction of the non-circular sweeping robot at two adjacent time points, the change of the planar projection distance between the alignment point of the non-circular sweeping robot and the obstacle location point in one direction of the non-circular sweeping robot between two adjacent time points can be obtained. In step B, two adjacent moments include the first moment and the second moment. When the planar projection distance between the alignment point of the non-circular sweeping robot and the obstacle location point in one direction of the non-circular sweeping robot decreases from the first moment to the second moment, it is determined that there is a tendency for the non-circular sweeping robot to collide with the obstacle during its movement from the first moment to the second moment. Therefore, at the current position, it is determined in advance that the non-circular sweeping robot, moving at the speeds of its left and right drive wheels, will collide with the obstacle located at the pre-determined obstacle location point. The obstacle to collide with can be located on the front edge, rear edge, left edge, or right edge of the non-circular sweeping robot's body, or it can be the left front edge, left rear edge, right front edge, or right rear edge. This allows the non-circular sweeping robot to adjust its posture or stop moving to avoid the obstacle location point in the corresponding direction.

[0037] Specifically, the change in distance between the obstacle location in one direction of the non-circular sweeping robot and the pre-determined alignment point of the non-circular sweeping robot is calculated and known before the non-circular sweeping robot actually moves. When the calculated distance decreases, it is determined that there is a risk of collision. In some embodiments, while keeping the distance between the center of the non-circular sweeping robot and the obstacle location in one direction greater than the distance between the center of the non-circular sweeping robot and the alignment point, if the calculated distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle location in one direction is less than the distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle location in one direction, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle in the corresponding direction during its movement along the current direction. It is necessary to adjust the pose at the first moment in advance to continue moving from the current position to avoid the obstacle location in the one direction.

[0038] It should be noted that the intersection of the line connecting the center of the non-circular robot vacuum's body to the location of an obstacle in one direction and the edge of the robot's body is marked as the alignment point. Since the non-circular robot vacuum is not circular, the distance from the edge to the center is not fixed, so the distance from the alignment point to the center is not necessarily equal at different angles. The alignment point changes as the robot's pose changes. In some implementations, the robot's pose is configured to change over time during the transition from a first moment to a second moment, and the robot's center also changes over time. This causes the alignment point to change over time, especially when the obstacle location in one direction remains constant. Therefore, the distance between the alignment point and the obstacle location in one direction will change between adjacent moments. Whenever the distance between the alignment point of the non-circular sweeping robot and the location of an obstacle in a certain direction changes between two adjacent moments, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle in the corresponding direction during its movement from the first moment to the second moment.

[0039] In summary, non-circular robotic vacuum cleaners also predict their movement trends and potential locations at corresponding moments based on the speeds of their left and right drive wheels. Before the robot actually moves, if the distance to an obstacle in the corresponding direction is calculated to be closer at the second moment than at the first moment, it is confirmed that the robot is about to collide with the obstacle. This completes the prediction of collisions between the robot and obstacles in the corresponding direction during its movement. By fully considering the robot's structure and its positional relationship with the obstacle in the corresponding direction during its movement, the accuracy of collision prediction is improved, avoiding direct collisions between the robot and obstacles in the corresponding direction. This enhances the navigation planning efficiency of non-circular robotic vacuum cleaners, especially the efficiency of navigation along specific directions.

[0040] It should be added that, if a tendency to collide with an obstacle in the corresponding direction is determined, the planar projection distance between the alignment point of the non-circular robot vacuum at the predicted position in the first moment and the obstacle's position in one direction of the non-circular robot vacuum should be used as a reasonable obstacle avoidance distance to prevent the non-circular robot vacuum from directly colliding with the obstacle in the corresponding direction. If a tendency to collide with an obstacle in the corresponding direction is determined not to be present, the planar projection distance between the alignment point of the non-circular robot vacuum at the predicted position in the first or second moment and the obstacle's position in one direction of the non-circular robot vacuum should be used as a reasonable obstacle avoidance distance.

[0041] In some embodiments, the distribution of obstacle locations in one direction of the non-circular sweeping robot in step B is schematically represented as follows: Figure 1 A discrete black dot distributed along the edge of obstacle #1 Figure 1 A discrete black dot distributed along the edge of obstacle #2, and Figure 1 A discrete black dot distributed along the edge of obstacle #3, all located within the target circular region and scanned by the ranging sensor (e.g., lidar) mounted on the non-circular sweeping robot, lies within the walking plane of the non-circular sweeping robot, which is considered as... Figure 1 The YOX coordinate system shown is located on the plane. Obstacles #1, #2, and #3 are considered as three isolated obstacles located at different positions on the non-circular sweeping robot.

[0042] In the above embodiments, the method for predicting the collision between the non-circular sweeping robot and the obstacle in a certain direction during its movement, based on the change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of the obstacle in a certain direction of the non-circular sweeping robot between two adjacent time moments, includes:

[0043] The change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in one direction of the non-circular sweeping robot between two adjacent moments can be obtained by comparing the magnitude of the planar projection distances calculated at two adjacent moments or by making a difference judgment. The obstacle position point in one direction of the non-circular sweeping robot can be represented by a laser point used to represent the position of the obstacle in that direction, corresponding to the laser point cloud information obtained by the laser sensor scanning, for example, collected from a target circular area with a certain radius centered on the robot's center O. The maximum distance between the alignment point of the non-circular sweeping robot and the robot's center (specifically, the planar projection distance) is less than the certain radius, which is less than the maximum scanning radius of the lidar, and can still meet the point cloud data accuracy allowed by the lidar or the grid resolution requirements for constructing the laser grid map.

[0044] The planar projection distance between the alignment point and the obstacle location in one direction of the non-circular robotic vacuum cleaner is the planar projection distance between the alignment point and the obstacle location in that direction. The planar projection distance between the alignment point and the obstacle location is the distance formed by the alignment point and the obstacle location in the walking plane of the non-circular robotic vacuum cleaner. Correspondingly, the intersection of the line connecting the center of the non-circular robotic vacuum cleaner and the obstacle location in one direction with the edge of the non-circular robotic vacuum cleaner is marked as the alignment point of the non-circular robotic vacuum cleaner, so that the alignment point of the non-circular robotic vacuum cleaner changes with the pose of the non-circular robotic vacuum cleaner. The planar projection distance between the alignment point and the obstacle location is the distance formed by the alignment point and the obstacle location in the walking plane of the non-circular robotic vacuum cleaner. When both the body shape and the shape of the obstacle are irregular, it generally also changes with the pose of the non-circular robotic vacuum cleaner.

[0045] If the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of an obstacle in one direction of the non-circular sweeping robot is less than the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the location of an obstacle in the same direction of the non-circular sweeping robot, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle in that direction during its movement. It is also determined that the non-circular sweeping robot has a tendency to collide with the obstacle in the corresponding direction during its movement along the current direction to the second moment. The location of the obstacle in the corresponding direction is detected in advance. In some implementations, it is predicted that the non-circular sweeping robot may collide with the obstacle at the predicted position.

[0046] If the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of an obstacle in one direction of the non-circular sweeping robot is greater than or equal to the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the location of an obstacle in the same direction of the non-circular sweeping robot, it is determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in that direction during its movement. It is also determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in the corresponding direction during its movement along the current direction to the second moment. The location of the obstacle in the corresponding direction is detected in advance, and in some implementations, it is predicted that the non-circular sweeping robot will not collide with the obstacle at the predicted position.

[0047] Therefore, this embodiment can predict the collision between the non-circular sweeping robot and the obstacle in a certain direction during its movement based on the change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle in a certain direction of the non-circular sweeping robot between two adjacent moments, thus avoiding the non-circular sweeping robot from directly colliding with the obstacle during navigation or due to erroneous obstacle avoidance operation.

[0048] As one embodiment, if neither the speed of the left drive wheel nor the speed of the right drive wheel of the non-circular robotic vacuum cleaner is equal to 0, then starting from the first moment, the non-circular robotic vacuum cleaner sets the expected position to be reached in the second moment as the predicted position. However, the non-circular robotic vacuum cleaner does not actually start moving towards the predicted position; instead, it moves to the position according to the unadjusted drive wheel speeds. The pose of the non-circular robotic vacuum cleaner at the predicted position is determined by the unadjusted speeds of the left and right drive wheels. Neither the speed of the left nor the speed of the right drive wheel is equal to 0; the left drive wheel speed can be equal to the right drive wheel speed, but neither is equal to 0. When the left drive wheel speed is greater than the right drive wheel speed, the non-circular robotic vacuum cleaner rotates to the right, forming a differential motion model. When the left drive wheel speed is less than the right drive wheel speed, the non-circular robotic vacuum cleaner rotates to the left, forming a differential motion model. Therefore, the non-circular robotic vacuum cleaner maintains its movement under the driving action of the left and right drive wheels, and its real-time moving speed is not equal to 0. In this embodiment, before the non-circular sweeping robot starts moving from the first moment, the position it will move to in the second moment is planned according to the expected motion trajectory or moving position generated by the speed of the left drive wheel and the speed of the right drive wheel. This is equivalent to calculating the center position of the non-circular sweeping robot in the second moment using the current center position of the robot body. This makes it easier to judge the collision trend of the non-circular sweeping robot with obstacles as it moves in the current direction of movement.

[0049] It should be noted that the current position of the non-circular robotic vacuum cleaner is the position occupied by the robot's center at the first moment, and the predicted position is the position occupied by the robot's center at the second moment. The time interval between the second and first moments is preset, preferably 200ms, but it does not represent the actual movement time of the non-circular robotic vacuum cleaner. It is a test time set to determine the tendency of the non-circular robotic vacuum cleaner to collide with obstacles during its movement from the first moment to the second moment. The pose of the non-circular robotic vacuum cleaner at its current position (pose at the first moment) includes the coordinates of the non-circular robotic vacuum cleaner's current position and its movement direction at the first moment, and is recorded as the current movement direction, which can be measured in real time by a gyroscope. The pose of the non-circular robotic vacuum cleaner at its predicted position (pose at the second moment) includes the coordinates of the predicted position and its movement direction at the second moment, both calculated based on the pose of the non-circular robotic vacuum cleaner at the first moment.

[0050] In the above embodiments, the method for calculating the pose of the non-circular sweeping robot at the second moment based on the sum of the speeds of the left and right drive wheels, the absolute value of the difference between the speeds of the left and right drive wheels, and the pose of the non-circular sweeping robot at the first moment includes: the non-circular sweeping robot uses an odometer to measure the distance traveled by the left drive wheel and the right drive wheel in a unit time in real time, and obtains the speeds of the left and right drive wheels respectively; the non-circular sweeping robot sets its real-time measured left drive wheel speed as V. l The non-circular robotic vacuum cleaner sets its real-time measured right drive wheel speed as V. r Then, the non-circular robotic vacuum cleaner moves at a speed V. c Set to equal to The equivalent moving speed of the non-circular robot vacuum's center of motion is considered to be calculated as the sum of the speeds of the left and right drive wheels, and is located within the robot's walking plane; simultaneously, the angular velocity ω generated by the robot's movement is considered... c Set to equal to The value is considered to be calculated from the absolute value of the difference between the speeds of the left and right drive wheels of the non-circular sweeping robot, representing the result of the robot's rotational motion. The left and right drive wheels are connected by an axle that runs transversely through the center of the robot's body. The left and right drive wheels are respectively mounted on the left and right sides of the robot, and the length of the axle is l. It should be noted that when V... l Not equal to V r When a non-circular robotic vacuum cleaner turns, the required angular velocity ω is... c It is not equal to the value 0.

[0051] The non-circular sweeping robot sets the coordinates of its current position to (x0, y0) and also sets the angle of its movement direction indication at the first moment to θ0, thus forming the pose of the non-circular sweeping robot at the first moment.

[0052] Then, the non-circular robotic vacuum cleaner is based on its moving speed V. c angular velocity ω c Given a movement planning time t, its pose at the predicted position is calculated as the pose of the non-circular sweeping robot at the second moment. The method for calculating its pose at the predicted position includes:

[0053]

[0054]

[0055] θ1=θ0+ωc t;

[0056] Wherein, the movement planning time t is the time interval between the second moment and the first moment; (x1, y1) are the coordinates of the predicted position, and θ1 is the angle indicating the movement direction of the non-circular sweeping robot at the second moment. Therefore, based on the speeds of the left and right drive wheels of the non-circular sweeping robot, and its pose at the first moment, the pose of the non-circular sweeping robot at the second moment is calculated before it actually displaces, and this pose is used to evaluate its collision relationships with obstacles in various directions.

[0057] Corresponding to Figure 2 In the middle, V l Less than V r The non-circular robotic vacuum cleaner turns eastward in the positive direction of the Y-axis, forming... Figure 2 The robot's motion trajectory is shown, and the central axis of the non-circular sweeping robot can be regarded as the tangent of the robot's motion trajectory; ω is required to calculate the pose at the predicted position. c t equals Δθ; Δx in the x-axis direction of the diagram equals The x-axis displacement component represents the displacement of a non-circular robotic vacuum cleaner turning in the positive Y-axis direction during its movement planning time t; the Δy in the y-axis direction is equal to... This represents the y-axis displacement component generated when a non-circular robotic vacuum cleaner turns in the positive y-axis direction during the movement planning time t. This is expressed by x1 = x0 + Δx, y1 = y0 + Δy, and θ1 = θ0 + ω. c t obtains the pose of the non-circular sweeping robot at the second moment, including the coordinates of the predicted position (x1, y1) (the center position of the robot at the second moment) and the angle θ1 indicating the direction of movement of the non-circular sweeping robot at the second moment.

[0058] It should be noted that the non-circular sweeping robot includes a body, a head, and two symmetrically arranged wheels. The two symmetrically arranged wheels are connected by an axle, which is located at the boundary line between the body and the head. Figure 2 The double-arrow line segment located between the left and right drive wheels of a non-circular robotic vacuum cleaner; the body shape composed of the robot body and head is not circular, preferably... Figure 1 and Figure 3The robot's body is circular, and its head is rectangular; the front of the head points in the direction of movement for the non-circular robot vacuum. Two symmetrically arranged wheels are the left and right drive wheels, which the non-circular robot uses to move. Given that the robot's direction of movement is the positive direction of the horizontal axis of the robot's coordinate system, and the robot's central axis can be set as the horizontal axis of the robot's coordinate system, with the robot's center being the origin of the robot's coordinate system, the orientation of the robot's coordinate axes can be changed using the left and right drive wheels to record the robot's direction of movement in real time.

[0059] In this embodiment, the center of the non-circular sweeping robot can be the midpoint of the wheel axle; for example... Figure 1 and Figure 3 As can be seen, the body is circular in shape. After being assembled with the rectangular head, a portion of the left and right sides of the head is cut off to ensure that its edges fit snugly against the left and right sides of the body. This results in the head protruding a rectangular structure relative to the body, visible in the robot's direction of movement. Figure 2 The positive direction of the x-axis is shown; where the head is the front part of the frame of the non-circular sweeping robot, and the body is the rear part of the frame. The center of the body of the non-circular sweeping robot can be the center of the rectangular head, and the body includes the head and the body; the vertex of one side of the head of the non-circular sweeping robot is the vertex of the front side of the rectangular head. In some embodiments, the midpoint of the wheel axle can be set as the center of the body. Then, the distance between the vertex of one side of the head of the illustrated non-circular sweeping robot and the center of the body of the non-circular sweeping robot is the radius of the body of the non-circular sweeping robot, which is also equivalent to the distance from the midpoint of the wheel axle to the boundary of the head of the non-circular sweeping robot. The angle formed by the vertex of one side of the head of the non-circular sweeping robot with respect to the central axis of the non-circular sweeping robot has a corresponding functional relationship with the radius of the body.

[0060] If the speed of the left drive wheel of a non-circular robotic vacuum cleaner is not equal to the speed of its right drive wheel, then the non-circular robotic vacuum cleaner is configured to move clockwise at an angular velocity ω. c By rotating a preset angle, for the same obstacle location, the alignment point of the non-circular sweeping robot is configured to rotate a preset angle in the opposite direction of a preset clockwise direction, so that: for the same obstacle location, when the pose of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes. In this embodiment, the intersection of the line connecting the center of the non-circular sweeping robot's body to the obstacle location in one direction of the non-circular sweeping robot and the edge of the non-circular sweeping robot's body is marked as the alignment point of the non-circular sweeping robot.

[0061] Specifically, if the speed of the left drive wheel of a non-circular robotic vacuum cleaner is less than the speed of its right drive wheel, then the non-circular robotic vacuum cleaner will rotate counterclockwise at an angular velocity ω. c Rotate at a preset angle ω c The alignment point of the non-circular robotic vacuum cleaner is configured to rotate clockwise by a preset angle. This causes a change in the robot's pose, resulting in a change in its alignment point. If the speed of the left drive wheel is greater than the speed of the right drive wheel, the robot rotates clockwise at an angular velocity ω. c Rotate at a preset angle ω c The alignment point of the non-circular robotic vacuum cleaner is configured to rotate counterclockwise by a preset angle. This causes the alignment point to change when the pose of the non-circular robotic vacuum cleaner changes.

[0062] Assuming a non-circular robotic vacuum cleaner moves from a first moment to a second moment, its pose is configured to change over time, and its body center also changes over time. This causes the alignment point of the non-circular vacuum cleaner to change over time, especially when the laser point representing the position of an obstacle in the same direction remains constant. Therefore, whenever the distance between the alignment point of the non-circular vacuum cleaner and the position of an obstacle in one direction changes between two adjacent moments, it can be used to determine whether there is a tendency for the non-circular vacuum cleaner to collide with an obstacle in the corresponding direction during its movement from the first moment to the second moment.

[0063] As one embodiment, the two-dimensional planar coordinates (x, y, z) of the obstacle location point in one orientation of the non-circular sweeping robot are obtained in advance. p ,y p This can be understood as pre-obtaining the two-dimensional coordinates of a 3D point cloud representing the position of an obstacle as it falls onto the walking plane of a non-circular sweeping robot, denoted as the obstacle's position coordinates (x, y). p ,y p After the non-circular sweeping robot determines its current position coordinates as (x0, y0) and the angle indicating its movement direction at the current position as θ0, it uses the relative coordinate transformation formula to convert the position coordinates of the obstacle (x0, y0) to (x0, y0). p ,y pThe coordinates of the obstacle to be avoided are converted to relative coordinates in the first robot coordinate system and denoted as the first-moment coordinates (relaXp0, relaYp0). However, the actual obstacle represented by these coordinates does not undergo any pose change. The origin of the first robot coordinate system is the current position, which is the position occupied by the center of the non-circular robot at the first moment. Therefore, an obstacle in one direction can be marked as an obstacle to be avoided. The positive direction of the horizontal axis of the first robot coordinate system is the direction of movement of the non-circular robot at the current position. Then, in the first robot coordinate system, the angle relaθ0 between the position of the obstacle and the positive direction of the horizontal axis of the first robot coordinate system is calculated using the first-moment coordinates (relaXp0, relaYp0). p ,y p The angle between the obstacle position and the positive direction of the horizontal axis of the first robot coordinate system, or the orientation of the obstacle to be avoided at the first moment, is denoted as the alignment angle relaθ0 of the obstacle to be avoided at the first moment. This angle represents the deflection angle between the line connecting the alignment point of the non-circular robot at its current position and the center of its body, relative to the current direction of movement of the non-circular robot. Thus, the pose information of the obstacle to be avoided at the first moment is obtained through the relative coordinate transformation formula. This information is used to calculate the distance between the edge of the non-circular robot and the position coordinates of the obstacle (the laser point used to represent the position of the obstacle). Finally, the deflection angle between the line connecting the alignment point of the non-circular robot at its current position and the center of its body, relative to the current direction of movement of the non-circular robot, is calculated.

[0064] Based on the above embodiments, after calculating and obtaining the coordinates (x1, y1) of the predicted position and the angle θ1 indicating the movement direction of the non-circular sweeping robot at the second moment, the robot coordinate system of the non-circular sweeping robot at the predicted position undergoes a pose change relative to the robot coordinate system of the non-circular sweeping robot at the current position. This corresponds to obtaining the second robot coordinate system from the first robot coordinate system through rotation and translation transformations. Therefore, the robot coordinate system of the non-circular sweeping robot at the predicted position is set as the second robot coordinate system. The pose change of the robot coordinate system is represented by the pose change of the non-circular sweeping robot between the predicted position and its current position. That is, the first robot coordinate system undergoes corresponding rotation and translation transformations as the pose of the non-circular sweeping robot changes. Specifically, the origin of the first robot coordinate system (represented by the center of the non-circular sweeping robot's body) undergoes corresponding rotation and translation transformations according to the pose change of the non-circular sweeping robot between the predicted position and its current position to obtain the second robot coordinate system. The origin of the second robot coordinate system is the predicted position. Then, based on the relative coordinate transformation formula, the position coordinates (x1, y1) of the obstacle are transformed... p ,yp The coordinates are converted to relative coordinates in the second robot coordinate system and denoted as the second-moment coordinates of the obstacle to be avoided (relaXp1, relaYp1), but the actual obstacle it represents has not changed its pose. Then, in the second robot coordinate system, the position of the obstacle or the angle relaθ1 between the second-moment coordinates (relaXp1, relaYp1) of the obstacle to be avoided and the positive direction of the horizontal axis of the second robot coordinate system is calculated using the second-moment coordinates of the obstacle to be avoided. This angle is denoted as the second-moment alignment angle of the obstacle to be avoided. Let relaθ1 be the angle between the line connecting the alignment point of the non-circular robot at the predicted position and its center, relative to the robot's direction of movement at the second moment. This angle can also be interpreted as the orientation of the obstacle to be avoided at the second moment, and is denoted as the alignment angle relaθ1 at the time of obstacle avoidance. p ,y p All coordinates are located in the world coordinate system. The relative coordinate transformation formula is used to obtain the pose information of the obstacle to be avoided at the second moment. This information is then used to compare the change in distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point representing the obstacle's position) between two adjacent moments. This allows for the determination of whether the non-circular sweeping robot has a tendency to collide with the obstacle during its movement from the first moment to the second moment, based on the change in distance.

[0065] In the foregoing embodiments, the position coordinates (x, y) of the obstacle are transformed based on the relative coordinate transformation formula. p ,y p Methods for converting coordinates to the first-moment coordinates of the obstacle to be avoided include: relaXp0 = (x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0.

[0066] The alignment angle relaθ0 of the obstacle to be avoided at the first moment is calculated using the first-moment coordinates (relaXp0, relaYp0) of the obstacle to be avoided.

[0067]

[0068] Based on the relative coordinate transformation formula, the position coordinates (x, y) of the obstacle are transformed. p ,y pMethods for converting coordinates to the second moment of the obstacle to be avoided include: relaXp1=(x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1.

[0069] The alignment angle relaθ1 of the obstacle to be avoided at the second moment, calculated using the second-moment coordinates (relaXp1, relaYp1) of the obstacle to be avoided, is...

[0070]

[0071] Therefore, based on the position coordinates of the non-circular robot's center and the position coordinates of the obstacle, the aforementioned relative coordinate transformation formula is used to perform rotation and translation transformations, thereby transforming the position coordinates of the obstacle into the robot's coordinate system.

[0072] In the aforementioned embodiments, the planar projection distance between the alignment point of the non-circular sweeping robot at its current position and the center of its body at its current position has a pre-set mapping relationship with the alignment angle of the obstacle to be avoided at the first moment. Specifically, the planar projection distance between the alignment point and the center of the non-circular sweeping robot at its current position (represented by the coordinates (x0, y0) of the current position) is represented by ROBOT_RELA_DIST(relaθ0), and this planar projection distance is the distance formed by the alignment point and the center of the body within the walking plane of the non-circular sweeping robot, corresponding to... Figure 3 The straight-line distance between the alignment point C1 and the body center O at the current position.

[0073] The planar projection distance between the alignment point of the non-circular robot vacuum at the predicted position and the center of the robot's body at the predicted position has a pre-set mapping relationship with the alignment angle of the obstacle to be avoided at the second moment. The planar projection distance between the alignment point and the center of the robot's body at the predicted position (represented by the coordinates (x1, y1) of the predicted position) is represented by ROBOT_RELA_DIST(relaθ1). This planar projection distance between the alignment point and the center of the robot's body is the distance formed by the alignment point and the center of the robot within the walking plane of the non-circular robot, corresponding to... Figure 3 The straight-line distance between the alignment point C2 and the body center O' at the current position.

[0074] The pre-defined mapping relationship represents the functional relationship between the planar projection distance between the alignment point of the non-circular sweeping robot at an alignment angle and the center of the robot body, and the same alignment angle. Here, the alignment angle is represented by the first-time alignment angle relaθ0 of the obstacle to be avoided, and by the second-time alignment angle relaθ1 of the obstacle to be avoided. For the same obstacle's position coordinates (x... p ,y p When a non-circular robotic vacuum cleaner changes its pose due to the speed of its left and right drive wheels, the position of its body center within its walking plane changes. The angle between the line connecting the position coordinates of the same obstacle (or a laser point representing the obstacle's position) and the body center, relative to the robot's direction of movement (the positive direction of the horizontal axis of the changing robot coordinate system (e.g., the robot coordinate system transformation mentioned in the previous embodiment)), changes. This means the alignment angle changes, causing the non-circular robotic vacuum cleaner to point at an alignment angle. Consequently, the planar projection distance between the alignment point of the non-circular robotic vacuum cleaner at that alignment angle and the body center also changes. In this embodiment, the pre-set mapping relationship is used to determine the position coordinates (x, y, y) of the same obstacle. p ,y p The function relationship between the planar projection distance between the alignment point and the center of the robot body and the alignment angle is quantized. This allows the mapping relationship to enumerate the distance information from the alignment point to the center of the robot body at 360 angular points centered on the robot body. This information can be compiled into a mapping table or array, which is convenient for calculating the distance between the alignment point of the non-circular robot and the laser point used to represent the position of an obstacle at different times or positions of the non-circular robot body. The distance information at the corresponding alignment angle can be retrieved through the pre-set mapping relationship.

[0075] Based on the foregoing embodiments, the method for calculating the change (represented as a change in distance value, such as the distance value increasing or decreasing) between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in one direction of the non-circular sweeping robot at the first and second moments includes:

[0076] The distance D0 between the alignment point of the non-circular robotic vacuum cleaner at its current position and the coordinates of the obstacle to be avoided at the first moment is calculated as follows: This is used to represent the distance between the location of an obstacle in a given orientation and the edge of the non-circular robot's body at its current position.

[0077] The calculation method of the distance D1 between the alignment point of the non-circular floor cleaning robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment is as follows: A distance is formed between the position point of the obstacle in the orientation and the body edge of the non-circular floor cleaning robot at the predicted position.

[0078] When D1 < D0, it is determined that during the process of the non-circular floor cleaning robot moving from the first moment to the second moment, the planar projection distance between the body center and the laser point representing the position of an obstacle is reduced. Specifically, when it is judged that D1 < D0, it is determined that during the process of the non-circular floor cleaning robot rotating at an angular velocity ω c from the current position, the distance between the body center and the position point of the obstacle in one orientation is reduced. The non-circular floor cleaning robot moves at a left drive wheel speed V l and a right drive wheel speed V r and gradually approaches the obstacle in one orientation during the movement process. It is determined that there is a tendency for the non-circular floor cleaning robot to collide with the corresponding obstacle during the process of moving along the current moving direction to the second moment.

[0079] Then, the non-circular floor cleaning robot is triggered to adjust the left drive wheel speed V l and / or the right drive wheel speed V r ; if the left drive wheel speed V l is greater than the right drive wheel speed V r , the difference between the left drive wheel speed V l and the right drive wheel speed V r is adjusted to be less than the value 0. It can be to adjust the left drive wheel speed V l to be less than the right drive wheel speed V r so that the non-circular floor cleaning robot does not collide with the obstacle after moving to the second moment, and moreover, the non-circular floor cleaning robot does not move to the predicted position; if the left drive wheel speed V l is less than the right drive wheel speed V r , the difference between the left drive wheel speed V l and the right drive wheel speed V r is adjusted to be greater than the value 0. It can be to adjust the left drive wheel speed V l to be greater than the right drive wheel speed V r so that the non-circular floor cleaning robot does not collide with the obstacle after moving to the second moment, and moreover, the non-circular floor cleaning robot does not move to the predicted position. Therefore, when the non-circular floor cleaning robot detects that the distance between the coordinate position included in its pose at the second moment and the obstacle in the corresponding orientation decreases, it confirms that the machine is about to hit the obstacle, and then triggers obstacle avoidance by adjusting the speeds of the left and right drive wheels to avoid the obstacle in the corresponding orientation in a timely manner.

[0080] For the left drive wheel speed Vl With right drive wheel speed V r The adjustment methods include, but are not limited to, motor drive, PID closed-loop feedback regulation, and other drive wheel speed adjustment methods.

[0081] When D1 > D0, it is determined that during the process of the non-circular sweeping robot moving from the first moment to the second moment, the planar projection distance between the robot's center and the obstacle's location in one direction increases. Specifically, when D1 > D0 is calculated, it is determined that the non-circular sweeping robot, starting from its current position, moves according to the angular velocity ω c During rotation, the distance between the center of the robot body and the location of the obstacle in one direction increases, so the non-circular sweeping robot does not need to adjust the speed V of the left drive wheel. l And / or the right drive wheel speed is set to V. r The non-circular robotic vacuum cleaner does not collide with obstacles when it reaches the second moment, and it is allowed to move to the predicted position; wherein, the angular velocity ω generated by the movement of the non-circular robotic vacuum cleaner... c It may not be equal to the value 0.

[0082] In summary, the aforementioned embodiments, by considering the body structure and pre-calculated pose state, achieve effective collision prediction. They can calculate the distance between the alignment point of the non-circular sweeping robot at its current position and the first-moment coordinates of the obstacle to be avoided, even before any movement occurs. Furthermore, they can determine whether the distance between the alignment point of the non-circular sweeping robot and the laser point representing the obstacle's position decreases or increases between adjacent moments, improving the accuracy of collision prediction. Thus, by pre-reserving a distance (a safe distance to prevent the robot from colliding with obstacles) between the alignment point of the non-circular sweeping robot at its current position and the first-moment coordinates of the obstacle to be avoided relative to the corresponding obstacle, the accurate timing for triggering obstacle avoidance is determined, preventing the non-circular sweeping robot from directly colliding with obstacles at its original drive wheel speed.

[0083] In some embodiments, such as Figure 3 As shown, the non-circular sweeping robot's movement direction at the first moment is the direction of arrow F0, and the position of the robot's center O is its current position; the obstacle position point P, used to represent obstacle #2, and its two-dimensional coordinates on the non-circular sweeping robot's walking plane (the plane where the robot's coordinate system is located) are obtained in advance. Figure 3The obstacle point P in the lower left corner of the non-circular robot vacuum cleaner can be represented as such. In the first instant, the positive direction of the horizontal axis of the robot's coordinate system is the direction of arrow F0. In the first instant, the line connecting the center O of the non-circular robot vacuum cleaner and the obstacle point P intersects the edge of the non-circular robot vacuum cleaner (corresponding to...). Figure 3 If the intersection point C2 of the semi-circular body and the left edge of the semi-circular body is marked as the alignment point C2 of the non-circular sweeping robot, then based on the aforementioned embodiment, when the position coordinates of the body center O are (x0, y0), the distance (or planar projection distance) between the obstacle position point P and the body center O is equal to The distance (or the planar projection distance) between alignment point C2 and the body center O is ROBOT_RELA_DIST(relaθ0), where relaθ0 is the angle C2OF0. The orientation of the corresponding obstacle position point P at the first moment is the direction of arrow F2. Used to represent the distance (or planar projection distance) between obstacle location point P and alignment point C2. For example... Figure 3 As shown, the non-circular robotic vacuum cleaner, influenced by the speeds of its left and right drive wheels, will move forward and to the right as illustrated. From the first moment to the second moment, the direction of movement of the non-circular robotic vacuum cleaner at the second moment is indicated by arrow F1, and the center of the robot body O' is the predicted position. The positive direction of the horizontal axis of the robot's coordinate system at the second moment is indicated by arrow F1. At the second moment, the line connecting the center of the non-circular robotic vacuum cleaner O' and the obstacle position point P intersects the edge of the non-circular robotic vacuum cleaner (corresponding to...). Figure 3 If the intersection point C1 of the left edge of the semi-circular body is marked as the alignment point C1 of the non-circular sweeping robot, then based on the aforementioned embodiment, when the position coordinates of the body center O' are (x1, y1), the distance (or planar projection distance) between the obstacle position point P and the body center O' is equal to... The distance (or planar projection distance) between alignment point C2 and the body center O' is ROBOT_RELA_DIST(relaθ1), where relaθ1 is the angle between C2O'F1 and the obstacle position point P. The orientation of the obstacle point P at the first moment is the direction of arrow F3. Therefore, It is used to represent the distance (or planar projection distance) between the obstacle position point P and the alignment point C1. When D1 < D0, the distance between the left side of the non-circular floor sweeping robot body and the obstacle #2 is reduced during rotation. Therefore, the non-circular floor sweeping robot will predict that it will be obstructed by the obstacle #2 during the right turn. For example, the obstacle #2 will collide with the left semi-circular body of the non-circular floor sweeping robot during the right turn. This collision situation can be determined before the non-circular floor sweeping robot starts moving from the current position O, prompting the non-circular floor sweeping robot not to move at the original driving wheel speed to collide with the obstacle #2.

[0084] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered to be within the scope described in this specification.

Claims

1. A collision prediction method for a non-circular sweeping robot, characterized in that, The collision prediction method includes: Step A: Calculate the pose of the non-circular sweeping robot at the second moment based on the sum of the speeds of the left and right drive wheels, the absolute value of the difference between the speeds of the left and right drive wheels, and the pose of the non-circular sweeping robot at the first moment. Step B: Based on the pose of the non-circular sweeping robot at the first moment and its pose at the second moment, predict the collision situation between the non-circular sweeping robot and the obstacle position in one direction during its movement, according to the change of the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position in one direction of the non-circular sweeping robot between the first moment and the second moment. The intersection of the line connecting the center of the non-circular sweeping robot body to the obstacle location and the edge of the non-circular sweeping robot body is marked as the alignment point of the non-circular sweeping robot; the planar projection distance between the alignment point and the obstacle location is the distance formed by the alignment point and the obstacle location in the walking plane of the non-circular sweeping robot. The method for calculating the pose of the non-circular sweeping robot at the second moment based on the sum of the speeds of its left and right drive wheels, the absolute value of the difference between the speeds of its left and right drive wheels, and the pose of the non-circular sweeping robot at the first moment includes: The non-circular robotic vacuum cleaner sets its real-time measured left drive wheel speed as... The non-circular robotic vacuum cleaner sets its real-time measured right drive wheel speed as... Then, the non-circular robotic vacuum cleaner will adjust its movement speed. Set to equal to Simultaneously, the angular velocity generated by the movement of the non-circular sweeping robot... Set to equal to | |;Where, the left drive wheel and the right drive wheel are connected by an axle, the length of which is ; Non-circular robotic vacuum cleaners set the coordinates of their current position to ( (For non-circular robotic vacuum cleaners, the angle of their initial movement direction indicator is also set to...) ; Then, non-circular robotic vacuum cleaners are based on their movement speed. angular velocity Given a movement planning time t, its pose at the predicted position is calculated as the pose of the non-circular sweeping robot at the second moment. The method for calculating its pose at the predicted position includes: ; ; ; Wherein, the movement planning time t is the time interval between the second time point and the first time point; () represents the coordinates of the non-circular robotic vacuum cleaner at the predicted location. The angle indicating the direction of movement of the non-circular sweeping robot at the second moment.

2. The collision prediction method according to claim 1, characterized in that, The method for predicting the collision between a non-circular sweeping robot and an obstacle in a certain direction during its movement, based on the change in the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of an obstacle in one direction of the non-circular sweeping robot between two adjacent time points, includes: If the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of an obstacle in one direction of the non-circular sweeping robot is less than the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the location of an obstacle in the same direction of the non-circular sweeping robot, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle in that direction during its movement. If the planar projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the location of an obstacle in one direction of the non-circular sweeping robot is greater than or equal to the planar projection distance between the alignment point of the non-circular sweeping robot at the current position and the location of an obstacle in the same direction of the non-circular sweeping robot, it is determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in that direction during its movement.

3. The collision prediction method according to claim 2, characterized in that, If the speeds of both the left and right drive wheels of a non-circular robotic vacuum cleaner are not equal to 0, then the position that the non-circular robotic vacuum cleaner is expected to move to in the second moment, starting from the first moment, is set as the predicted position. The current position of the non-circular robotic vacuum cleaner is the two-dimensional coordinate position occupied by the center of the robot body in the first moment, and the predicted position is the two-dimensional coordinate position occupied by the center of the robot body in the second moment. The time interval between the second moment and the first moment is preset. Among them, the pose of the non-circular sweeping robot at its current position includes the coordinates of the current position of the non-circular sweeping robot and the direction of movement of the non-circular sweeping robot at the first moment. The pose of the non-circular sweeping robot at the predicted position includes the coordinates of the predicted position and the direction of movement of the non-circular sweeping robot at the second moment.

4. The collision prediction method according to claim 3, characterized in that, The non-circular sweeping robot includes a body, a head, and two symmetrically arranged wheels connected by an axle located at the dividing line between the body and the head. The body and head together form a non-circular shape, and the front of the head points in the direction of movement of the non-circular sweeping robot.

5. The collision prediction method according to claim 3, characterized in that, If the speed of the left drive wheel of a non-circular robotic vacuum cleaner is not equal to the speed of its right drive wheel, then the non-circular robotic vacuum cleaner is configured to move in a preset clockwise direction at an angular velocity... By rotating a preset angle, for the same obstacle location, the alignment point of the non-circular sweeping robot is configured to rotate a preset angle in the opposite direction of the preset clockwise direction, so that: for the same obstacle location, when the pose of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

6. The collision prediction method according to claim 5, characterized in that, The coordinates of an obstacle's location point in one direction of the non-circular sweeping robot are obtained in advance, and denoted as the obstacle's position coordinates. ); The coordinates of the current position of the non-circular sweeping robot are ( ), and determine the angle of its movement direction indication at the current position as ), Then, based on the relative coordinate transformation formula, the position coordinates of the obstacle are ( Convert the coordinates of the obstacle to be avoided to the first moment in the first robot coordinate system. Then, using the first-moment coordinates of the obstacle to be avoided (); Calculate the alignment angle of the obstacle to be avoided at the first moment. In this system, the positive direction of the horizontal axis of the first robot coordinate system is the direction of movement of the non-circular sweeping robot at its current position, and the origin of the first robot coordinate system is set at the current position. The coordinates of the predicted location determined by the non-circular sweeping robot are ( ), and determine the angle indicating its direction of movement at the predicted location as ), Then, based on the relative coordinate transformation formula, the position coordinates of the obstacle are ( Converted to the second time-stamp coordinates of the obstacle to be avoided in the second robot coordinate system ( Then, using the second-time coordinates of the obstacle to be avoided ( Calculate the alignment angle of the obstacle to be avoided at the second moment. In this system, the positive direction of the horizontal axis of the second robot coordinate system is the direction of movement of the non-circular sweeping robot at the predicted position, and the origin of the second robot coordinate system is set at the predicted position. in,( ), ( )as well as( All of them are located in the world coordinate system.

7. The collision prediction method according to claim 6, characterized in that, Based on the relative coordinate transformation formula, the position coordinates of the obstacle are ( Methods for converting coordinates to the first-moment coordinates of the obstacle to be avoided include: ; ; Using the first-moment coordinates of the obstacle to be avoided ( Calculate the alignment angle of the obstacle to be avoided at the first moment. yes Based on the relative coordinate transformation formula, the position coordinates of the obstacle are ( Methods for converting coordinates to the second-time coordinates of the obstacle to be avoided include: ; ; Using the second time coordinates of the obstacle to be avoided The calculated alignment angle of the obstacle to be avoided at the second moment. yes 。 8. The collision prediction method according to claim 7, characterized in that, The planar projection distance between the alignment point of the non-circular robot vacuum at its current position and the center of its body at its current position has a pre-set mapping relationship with the alignment angle of the obstacle to be avoided at the first moment; wherein, the planar projection distance between the alignment point of the non-circular robot vacuum at its current position and the center of its body at its current position is determined using ROBOT_RELA_DIST( )express; The planar projection distance between the alignment point of the non-circular robot vacuum at the predicted position and the center of the robot's body at the predicted position has a pre-set mapping relationship with the alignment angle of the obstacle to be avoided at the second moment; wherein, the planar projection distance between the alignment point of the non-circular robot vacuum at the predicted position and the center of the robot's body at the predicted position uses ROBOT_RELA_DIST( )express; The pre-set mapping relationship is used to represent the functional relationship between the planar projection distance between the alignment point and the center of the body of the non-circular sweeping robot at an alignment angle and the same alignment angle; the planar projection distance between the alignment point and the center of the body is the distance formed by the alignment point and the center of the body in the walking plane of the non-circular sweeping robot, and is used to represent the distance from the center of the body to the edge of the body along the direction indicated by an alignment angle.

9. The collision prediction method according to claim 8, characterized in that, The distance between the alignment point of the non-circular robotic vacuum cleaner at its current position and the coordinates of the obstacle to be avoided at the first moment. The calculation method is as follows: ; The distance between the alignment point of the non-circular robotic vacuum cleaner at the predicted location and the second-moment coordinates of the obstacle to be avoided. The calculation method is as follows: ; when At that time, it is determined that the non-circular sweeping robot starts from its current position and moves according to its angular velocity. If the distance between the center of the robot body and the location of an obstacle in one direction decreases during the rotation, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle at the location of the obstacle in that one direction during its movement. when At that time, it is determined that the non-circular sweeping robot starts from its current position and moves according to its angular velocity. If the distance between the center of the robot body and the location of an obstacle in a certain direction increases during the rotation, it is determined that the non-circular sweeping robot does not have a tendency to collide with the obstacle at the location of the obstacle in that certain direction during its movement.

Citation Information

Patent Citations

  • Collision prediction method for non-circular cleaning robot

    CN119138802A