Collision prediction method for non-circular sweeping robot

By calculating the driving wheel speed and position of the non-circular sweeping robot, we predict the collision of obstacles and adjust the motion trajectory to avoid collisions, we solve the problem of obstacle collision caused by the fuselage shape of the non-circular sweeping robot in navigation, and improve the Navigation efficiency and accuracy.

CN119115920AActive Publication Date: 2024-12-13AMICRO SEMICONDUCTOR CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202310687967.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-12
Publication Date
2024-12-13
Estimated Expiration
2043-06-12

AI Technical Summary

Technical Problem

During movement, non-circular sweeping robots are prone to collisions of obstacles caused by non-circular body shape, which reduces navigation planning efficiency.

Method used

By calculating the sum and difference between the left drive wheel speed and the right drive wheel speed of the non-circular sweeping robot, predict its position, and predict the collision situation based on the change in the plane projection distance between the obstacle and the robot alignment point, and adjust the collision situation. Move the track to avoid collision.

Benefits of technology

It improves the navigation planning efficiency of non-circular sweeping robots, avoids direct collisions caused by error triggering obstacle avoidance operations, and enhances the accuracy of navigation movements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119115920A_ABST
    Figure CN119115920A_ABST
Patent Text Reader

Abstract

The invention discloses a collision prediction method for a non-circular sweeping robot, and the method comprises the steps: obtaining a collision prediction result of the non-circular sweeping robot according to the sum value of the speed of a left driving wheel and the speed of a right driving wheel of the non-circular sweeping robot, the absolute value of the difference value of the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot, and the pose of the non-circular sweeping robot at a first moment; calculating the pose of the non-circular sweeping robot at the second moment; on the basis that 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 are determined, according to the change of the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point of the non-circular sweeping robot in one direction between the first moment and the second moment, the position of the non-circular sweeping robot at the predicted position is determined. And predicting the condition that the non-circular sweeping robot collides with the obstacle in the direction in the moving process. And the non-circular sweeping robot is prevented from directly colliding with the obstacle in the corresponding direction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot motion control, and in particular to a collision prediction method for a non-circular sweeping robot. Background Art

[0002] Currently, most sweeping robots in cleaning scenarios have circular structures. The motion planning of circular structures only needs to consider obstacle avoidance of obstacles on the front side of the body. For non-circular sweeping robots in cleaning scenarios, for example, a D-type sweeping robot, as a sweeping robot with a round front and a round back, is different from a circular sweeping robot. It has a larger movement amplitude during cleaning and is prone to collision with obstacles in specific directions during backward and rotating movements, resulting in low navigation planning efficiency of the sweeping robot. Summary of the invention

[0003] The present 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 sweeping robot, the collision prediction method comprising: calculating the posture of the non-circular sweeping robot at a second moment according to the sum of the speed of a left driving wheel and the speed of a right driving wheel of the non-circular sweeping robot, the absolute value of the difference between the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot, and the posture of the non-circular sweeping robot at a first moment; on the basis of determining the posture of the non-circular sweeping robot at the first moment and its posture at the second moment, calculating the posture of the non-circular sweeping robot at a second moment according to the plane projection distance between the alignment point of the non-circular sweeping robot at a predicted position and the obstacle position point at one direction of the non-circular sweeping robot at a second moment. The change between a moment and a second moment is used to predict the collision between the non-circular sweeping robot and the obstacle in the orientation during the movement; wherein, the intersection point of the line connecting the body center of the non-circular sweeping robot and the obstacle position point in one orientation of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot; wherein, the plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot, and the obstacle position point in one orientation of the non-circular sweeping robot is used to indicate the position of an obstacle in the orientation.

[0005] In summary, the non-circular sweeping robot also predicts the movement trend of the non-circular sweeping robot and the position it can move to at the corresponding moment according to the speed of the left and right driving wheels. Before the non-circular sweeping robot actually moves, when it is calculated that the distance to the obstacle in the corresponding position at the second moment is closer than the distance to the obstacle in the corresponding position at the first moment, it is confirmed that the non-circular sweeping robot is about to collide with the obstacle in the corresponding position, and the prediction of the collision between the non-circular sweeping robot and the obstacle in the corresponding position during the movement is completed. The body structure and its positional relationship with the obstacle position point at the corresponding position during the movement are fully considered. In the environment where the obstacle in the corresponding position is blocked, the non-circular sweeping robot is prevented from directly colliding with the obstacle in the corresponding position, thereby improving the navigation planning efficiency of the non-circular sweeping robot, especially the navigation movement efficiency along a specific direction.

[0006] Furthermore, the method for predicting the situation in which the non-circular sweeping robot collides with an obstacle in an orientation during its movement based on the change between two adjacent moments in the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in an orientation of the non-circular sweeping robot includes: if the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in an orientation of the non-circular sweeping robot is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same orientation of the non-circular sweeping robot, determining that the non-circular sweeping robot has a tendency to collide with the obstacle in the orientation during its movement; if the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in an orientation of the non-circular sweeping robot is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same orientation of the non-circular sweeping robot, determining that the non-circular sweeping robot has no tendency to collide with the obstacle in the orientation during its movement. Therefore, the present technical solution can predict the collision of the non-circular sweeping robot with an 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 position point in one direction of the non-circular sweeping robot between two adjacent moments, thereby avoiding the non-circular sweeping robot from directly colliding with an obstacle during navigation movement or due to erroneous triggering of the obstacle avoidance operation.

[0007] Furthermore, if the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are both not equal to the value 0, the non-circular sweeping robot sets the position to which it is expected to move from the first moment to the second moment as the predicted position; the current position of the non-circular sweeping robot is the two-dimensional coordinate position occupied by the body center of the non-circular sweeping robot at the first moment, and the predicted position is the two-dimensional coordinate position occupied by the body center of the non-circular sweeping robot at the second moment; the time interval between the second moment and the first moment is pre-set; wherein, the posture of the non-circular sweeping robot at the current position includes the coordinates of the current position of the non-circular sweeping robot and the moving direction of the non-circular sweeping robot at the first moment; wherein, the posture of the non-circular sweeping robot at the predicted position includes the coordinates of the predicted position and the moving direction of the non-circular sweeping robot at the second moment. The present technical solution selects to plan the position to be moved to at the second moment according to the expected motion trajectory or moving position generated by the left driving wheel speed and the right driving wheel speed before the non-circular sweeping robot starts to move from the first moment, that is, the predicted position. This is equivalent to calculating the body center position of the non-circular sweeping robot at the second moment through the current body center position, which is convenient for judging the collision tendency of the non-circular sweeping robot with obstacles when moving in the current moving direction.

[0008] Further, the method for calculating the posture of the non-circular cleaning robot at the second moment according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, the absolute value of the difference between the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, and the posture of the non-circular cleaning robot at the first moment includes: the non-circular cleaning robot sets the left driving wheel speed measured in real time as V l , the non-circular sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to The left driving wheel and the right driving wheel are connected by an axle, and the length of the axle is l; the non-circular sweeping robot sets the coordinates of the current position to (x0, y0), and the non-circular sweeping robot also sets the angle indicated by its moving direction at the first moment to θ0; then the non-circular sweeping robot sets the moving speed V c , angular velocity ω c and the movement planning time t, calculating the posture at the predicted position as the posture of the non-circular sweeping robot at the second moment, wherein the method for calculating the posture at the predicted position includes:

[0009]

[0010]

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

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

[0013] Therefore, according to the speed of the left driving wheel and the right driving wheel of the non-circular sweeping robot and the posture of the non-circular sweeping robot at the first moment, the posture of the non-circular sweeping robot at the second moment is calculated before the non-circular sweeping robot actually moves, and is used as the posture of the non-circular sweeping robot at the predicted position, so as to evaluate its collision relationship with obstacles in various directions.

[0014] Furthermore, the non-circular sweeping robot includes a body, a head and two symmetrically arranged wheels, the two symmetrically arranged wheels are connected by a wheel axle, and the wheel axle is arranged at the dividing line between the body and the head; the body shape composed of the body and the head is not circular, and the front of the head points to the moving direction of the non-circular sweeping robot. Therefore, when the moving direction of the non-circular sweeping robot is the positive direction of the horizontal axis of the robot coordinate system, the body center line of the non-circular sweeping robot can be set as the horizontal axis of the robot coordinate system, and the body center of the non-circular sweeping robot is the origin of the robot coordinate system, the coordinate axis direction of the robot coordinate system is changed by the left driving wheel and the right driving wheel to record the moving direction information of the non-circular sweeping robot in real time.

[0015] Furthermore, if the speed of the left driving wheel of the non-circular cleaning robot is not equal to the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate by a preset angle, and for the same obstacle position point, the alignment point of the non-circular sweeping robot is configured to rotate by a preset angle in the opposite direction of the preset clockwise direction, so that: for the same obstacle position point, when the posture 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 position point in one direction of the non-circular sweeping robot changes between two adjacent moments, it can be used to determine whether the non-circular sweeping robot has a tendency to collide with an obstacle in the corresponding direction during the process of moving from the first moment to the second moment.

[0016] Furthermore, the coordinates of the obstacle position point in one direction of the non-circular sweeping robot are obtained in advance and recorded as the position coordinates of the obstacle (x p,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0), and determines that the angle indicated by the moving direction at the current position is θ0, the position coordinates of the obstacle (x p ,y p ) is converted into the coordinates of the obstacle to be avoided at the first moment (relaXp0, relaYp0) in the first robot coordinate system; then the first moment coordinates of the obstacle to be avoided (relaXp0, relaYp0) are used to calculate the first moment alignment angle relaθ0 of the obstacle to be avoided; wherein, the positive direction of the abscissa axis of the first robot coordinate system is the moving direction of the non-circular sweeping robot at the current position, and the origin of the first robot coordinate system is set at the current position; after the non-circular sweeping robot determines that the coordinates at the predicted position are (x1, y1), and determines that the angle indicated by the moving direction at the predicted position is θ1, the position coordinates (x1, y1) of the obstacle are converted to θ1 based on the relative coordinate conversion formula. p ,y p ) is converted into the coordinates of the obstacle to be avoided at the second moment (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 of the obstacle to be avoided at the second moment (relaXp1, relaYp1); wherein, the positive direction of the abscissa axis of the second robot coordinate system is the moving direction 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; wherein, (x p ,y p ), (x0, y0) and (x1, y1) are all in the world coordinate system. Thus, the position information of the obstacle to be avoided at the second moment is obtained through the relative coordinate conversion formula, which is used to compare the change in the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point used to represent the position of the obstacle) between two adjacent moments, so as to judge whether the non-circular sweeping robot has a tendency to collide with the obstacle in the process of moving from the first moment to the second moment according to the change in the distance.

[0017] Furthermore, based on the relative coordinate conversion formula, the position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the first moment, including: relaXp0 = (x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0;

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

[0019]

[0020] Based on the relative coordinate conversion formula, the obstacle position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the second moment, including: relaXp1 = (x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1;

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

[0022]

[0023] Therefore, according to the position coordinates of the center of the non-circular sweeping robot and the position coordinates of the obstacle, the aforementioned relative coordinate conversion formula is used to perform rotation transformation and translation transformation to realize the conversion of the position coordinates of the obstacle into the robot 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, it is possible to enumerate the distance information from the alignment point to the body center at 360 angular pointings with the body center of the non-circular floor cleaning robot as the center of the circle using the mapping relationship, which is convenient for 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 when the non-circular floor cleaning robot moves, and calling the distance information at the corresponding alignment angle through the pre-set mapping relationship.

[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 of the obstacle to be avoided at the first moment 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 of the obstacle to be avoided at the second moment 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 a certain direction 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 certain direction during the movement; 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 a certain direction 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 certain direction during the movement.

[0026] In summary, the aforementioned technical scheme realizes effective collision prediction by considering the body structure and the posture state calculated in advance. It can calculate the distance between the alignment point of the non-circular sweeping robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment before moving, and judge whether the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of an obstacle becomes smaller or larger between two adjacent moments, thereby improving the accuracy of collision prediction; thereby, the accurate time to trigger the robot to avoid obstacles is determined while reserving the distance between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the first moment relative to the obstacle in the corresponding direction (a safe distance used to prevent the robot from touching the obstacle). This prevents the non-circular sweeping robot from directly colliding with the obstacle at the original driving wheel speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 An embodiment of the present application discloses a distribution diagram of obstacles #1, obstacle #2, and obstacle #3 scanned by a non-circular sweeping robot within a target circular area.

[0028] Figure 2 Another embodiment of the present application discloses a schematic diagram of the posture change of a non-circular sweeping robot during movement.

[0029] Figure 3 Another embodiment of the present application discloses a schematic diagram of the posture change of a non-circular sweeping robot when predicting its collision with obstacle #2.

[0030] Figure 4 Another embodiment of the present application discloses a flow chart of a collision prediction method for a non-circular sweeping robot. DETAILED DESCRIPTION

[0031] In order to more clearly illustrate the present invention, specific embodiments are given below for further explanation. In the following description, for illustration rather than for limitation, specific details such as specific system structure, technology and the like are proposed, so as to thoroughly understand the present application embodiments. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, the detailed description of well-known systems, devices, circuits and methods is omitted to prevent unnecessary details from hindering the description of the present application.

[0032] A sweeping robot, also known as an automatic sweeper, smart vacuum cleaner, robot vacuum cleaner, etc., is a type of smart home appliance that can automatically clean the floor in the room with a certain degree of artificial intelligence. Generally, it uses brushing and vacuuming to absorb the debris on the ground into its own garbage storage box, thereby completing the function of floor cleaning. Generally speaking, robots that complete sweeping, vacuuming, and mopping are also collectively classified as sweeping robots. The current sweeping robots are roughly divided into round sweeping robots, square sweeping robots, and D-type sweeping robots. The overall shape of the square sweeping robot is composed of a rectangle, and the overall shape of the D-type sweeping robot is a combination of a circle and a rectangle. The square sweeping robot and the D-type sweeping robot are both non-circular sweeping robots. Figure 1 and 3 A schematic diagram of a D-type robot is shown. Figure 2 A schematic diagram of a square sweeping robot is shown. When these non-circular sweeping robots walk in an indoor environment, for example, they need to turn after walking in a straight line for a distance. The non-circular sweeping robots have insufficient adjustment space on the front and rear sides or the left and right sides, causing the non-circular sweeping robots to directly collide with obstacles during movement. The reason is that the body edge of the non-circular sweeping robot (considered as the body boundary of the robot's walking plane) does not necessarily form a regular shape.

[0033] As an embodiment, a collision prediction method for a non-circular sweeping robot is disclosed. The execution subject of the collision prediction method is a non-circular sweeping robot equipped with a distance measuring sensor. The non-circular sweeping robot includes a sweeping robot that is not circular in shape, can take into account the mopping function, and is suitable for moving, positioning and building a grid map on the horizontal ground in an indoor environment to plan a navigation path; wherein the sweeping robot collects three-dimensional point cloud information at a specific position in its walking plane in real time or pre-stores environmental posture information at a specific position in the walking plane of the sweeping robot. Figure 4 It can be seen that the collision prediction method includes:

[0034] Step A, based on 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 posture of the non-circular sweeping robot at the first moment, calculate the posture of the non-circular sweeping robot at the second moment, which is the posture of the non-circular sweeping robot at the current position predicted at the second moment, and then execute step B.

[0035] In step A, the non-circular sweeping robot is still at the current position; the current position is the coordinate position included in the posture of the non-circular sweeping robot at the first moment, which can represent the two-dimensional plane position occupied by the body center of the non-circular sweeping robot at the first moment, and the current position is the coordinate position included in the posture of the non-circular sweeping robot at the first moment. The predicted position is the position to which the non-circular sweeping robot moves from the current position at the next moment, which can represent the two-dimensional plane position occupied by the body center of the non-circular sweeping robot at the next moment, that is, the predicted position is the coordinate position included in the posture of the non-circular sweeping robot at the second moment; the posture at the second moment is the result of the conversion operation of the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot (including conversion into angular velocity and linear velocity of the body center) and the posture of the non-circular sweeping robot at the first moment, and the calculation is performed when the left driving wheel speed and the right driving wheel speed do not change, so as to know the position to be moved to at the next moment in advance and realize the planning of the navigation path.

[0036] Step B, based on determining the position and posture of the non-circular sweeping robot at the first moment and its position and posture at the second moment, according to the change between the first moment and the second moment of the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point at one direction of the non-circular sweeping robot (referring to the change of the distance value), predict the collision of the non-circular sweeping robot with the obstacle at that direction during its movement, including judging whether it collides with the obstacle at one of the directions based on the position and posture of the non-circular sweeping robot at each moment and its alignment point. The obstacle position point in one orientation may be a position point obtained by pre-fitting, or an obstacle contour point selected that is closest to the center of the body, and is used to represent an obstacle in one orientation (i.e., one position point represents one obstacle). If they are all in the same walking plane, i.e., the world coordinate system plane, then the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in one orientation of the non-circular sweeping robot may be calculated, i.e., the projection distance between the two three-dimensional points in the same walking plane; by judging the relationship between the plane projection distances from the alignment point of the non-circular sweeping robot to the obstacle position point in one orientation of the non-circular sweeping robot at two adjacent moments, the change in the plane projection distance between the alignment point of the non-circular sweeping robot and the obstacle position point in one orientation of the non-circular sweeping robot between two adjacent moments may be obtained. In step B, two adjacent moments include a first moment and a second moment; when the plane projection distance between the alignment point of the non-circular sweeping robot and an obstacle position point in one direction of the non-circular sweeping robot decreases from the first moment to the second moment, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle in the process of moving from the first moment to the second moment, so that it is determined in advance at the current position that the non-circular sweeping robot will collide with an obstacle at a predetermined obstacle position point when moving at the speed of the left driving wheel and the speed of the right driving wheel, and the colliding obstacle may be located at the front edge, rear edge, left edge, or right edge of the non-circular sweeping robot, or may be the left front edge, left rear edge, right front edge, or right rear edge. The non-circular sweeping robot can adjust its posture or stop moving to avoid the obstacle position point in the corresponding direction.

[0037] Specifically, a change in the distance between an obstacle position point in one orientation of the non-circular sweeping robot and an alignment point of the non-circular sweeping robot determined in advance is calculated before the non-circular sweeping robot actually moves, and when the calculated distance becomes smaller, it is determined that there is a risk of collision. In some embodiments, while keeping the distance between the body center of the non-circular sweeping robot and an obstacle position point in one orientation greater than the distance between the body 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 position point in one orientation is less than the distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in one orientation, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle in the corresponding orientation during its movement along the current moving direction, and it is necessary to adjust the posture at the first moment in advance to continue moving from the current position to avoid the obstacle position point in the one orientation.

[0038] It should be noted that the intersection of the line connecting the body center of the non-circular sweeping robot and the obstacle position point in one direction of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot. Since the non-circular sweeping robot is not circular in shape, the distance from the body edge to the body center is not fixed, so the distance from the alignment point formed by the non-circular sweeping robot at each angle to the body center is not necessarily equal. When the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes. In some embodiments, during the process of moving from the first moment to the second moment, the posture of the non-circular sweeping robot is configured to change with the change of time, and the body center of the non-circular sweeping robot also changes with the change of time, which drives the alignment point of the non-circular sweeping robot to change with the change of time, especially when the obstacle position point in one direction remains unchanged, the alignment point of the non-circular sweeping robot is driven to change with the change of the posture of the non-circular sweeping robot. Therefore, the distance between the alignment point of the non-circular sweeping robot and the obstacle position point in one direction will change between two adjacent moments. Whenever the change of the distance between the alignment point of the non-circular sweeping robot and the obstacle position point in one direction between two adjacent moments is obtained, it is determined based on the change that the non-circular sweeping robot has a tendency to collide with the obstacle in the corresponding direction during the process of moving from the first moment to the second moment.

[0039] In summary, the non-circular sweeping robot also predicts the movement trend of the non-circular sweeping robot and the position it can move to at the corresponding moment according to the speed of the left and right driving wheels. Before the non-circular sweeping robot actually moves, when it is calculated that the distance to the obstacle in the corresponding position at the second moment is closer than the distance to the obstacle in the corresponding position at the first moment, it is confirmed that the non-circular sweeping robot is about to collide with the obstacle in the corresponding position, and the prediction of the collision between the non-circular sweeping robot and the obstacle in the corresponding position during the movement is completed, and the body structure and its positional relationship with the obstacle position point at the corresponding position during the movement are fully considered to improve the accuracy of collision prediction, avoid the non-circular sweeping robot directly colliding with the obstacle in the corresponding position, and improve the navigation planning efficiency of the non-circular sweeping robot, especially the navigation movement efficiency along a specific direction.

[0040] It should be added that, when it is determined that there is a tendency to collide with an obstacle in the corresponding orientation, the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position at the first moment and the obstacle position point in one orientation of the non-circular sweeping robot is directly used in the corresponding orientation as a reasonable obstacle avoidance distance to prevent the non-circular sweeping robot from directly colliding with the obstacle in the corresponding orientation. When it is determined that there is no tendency to collide with an obstacle in the corresponding orientation, the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position at the first moment or the second moment and the obstacle position point in one orientation of the non-circular sweeping robot is directly used in the corresponding orientation as a reasonable obstacle avoidance distance.

[0041] In some embodiments, in step B, the distribution of obstacle positions in one direction of the non-circular sweeping robot is schematically represented as follows: Figure 1 A discrete black dot distributed along the edge of obstacle #1, Figure 1 A discrete black dot along the edge of obstacle #2, and Figure 1 A discrete black dot distributed along the edge of obstacle #3 in the figure is located in the target circle and is scanned by the distance measuring sensor (such as a laser radar) equipped with the non-circular cleaning robot. It is located in the walking plane of the non-circular cleaning robot. The walking plane of the non-circular cleaning robot is regarded as Figure 1 The plane where the YOX coordinate system is located is shown. Obstacle #1, obstacle #2 and obstacle #3 are regarded as three mutually isolated obstacles located at different positions of the non-circular sweeping robot.

[0042] In the above embodiment, the method for predicting the collision between the non-circular sweeping robot and an obstacle in one direction during the movement of the non-circular sweeping robot according to the change between two adjacent moments of the plane 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 comprises:

[0043] The change in the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in one orientation of the non-circular sweeping robot between two adjacent moments can be obtained by comparing the plane projection distances calculated at the two adjacent moments or making a difference judgment, wherein the obstacle position point in one orientation of the non-circular sweeping robot can be represented by a laser point used to represent the obstacle position in the orientation, corresponding to laser point cloud information obtained by scanning with a laser sensor, for example, collected from a target circle with a certain radius with the body center O as the center, wherein the maximum distance between the alignment point of the non-circular sweeping robot and the body center (specifically, the plane projection distance) is less than the certain radius, and the certain radius is less than the maximum scanning radius of the laser radar, and can also meet the point cloud data accuracy allowed by the laser radar or the grid resolution requirement for constructing a laser grid map.

[0044] The plane projection distance between the alignment point and the obstacle position point at one orientation of the non-circular sweeping robot is the plane projection distance between the alignment point and the obstacle position point used to represent the orientation. The plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot. Accordingly, the intersection of the line connecting the body center of the non-circular sweeping robot and the obstacle position point at one orientation of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot, so that the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot; the plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot. When the body shape and the shape of the obstacle are both irregular shapes, it will generally change with the change of the posture of the non-circular sweeping robot.

[0045] If the plane 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 is smaller than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point 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 moving direction to the second moment. The position point occupied by the obstacle in the corresponding direction is detected in advance. In some embodiments, it is predicted that the non-circular sweeping robot may collide with the obstacle at the predicted position.

[0046] If the plane 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 is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point 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 moving direction to the second moment. The position point occupied by the obstacle in the corresponding direction is detected in advance, and in some embodiments 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 of the non-circular sweeping robot with an 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 position point in one direction of the non-circular sweeping robot between two adjacent moments, thereby avoiding the non-circular sweeping robot from directly colliding with an obstacle during navigation movement or due to erroneous triggering of the obstacle avoidance operation.

[0048] As an embodiment, if the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are both not equal to a value of 0, then the non-circular sweeping robot sets the position expected to be moved to at the second moment as the predicted position starting from the first moment, but the non-circular sweeping robot does not start to move to the predicted position. In fact, the non-circular sweeping robot moves to the position according to the unadjusted driving wheel speed, wherein the posture of the non-circular sweeping robot at the predicted position is determined by the unadjusted left driving wheel speed and the right driving wheel speed; the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are both not equal to a value of 0, the left driving wheel speed can be equal to the right driving wheel speed but both are not equal to a value of 0; when the left driving wheel speed is greater than the right driving wheel speed, the non-circular sweeping robot rotates to the right to form a differential motion model; when the left driving wheel speed is less than the right driving wheel speed, the non-circular sweeping robot rotates to the left to form a differential motion model; therefore, the non-circular sweeping robot keeps moving under the driving action of the left driving wheel and the right driving wheel, and the real-time moving speed of the non-circular sweeping robot is not a value of 0. This embodiment selects to plan the position to be moved to at the second moment according to the expected motion trajectory or moving position generated by the left driving wheel speed and the right driving wheel speed before the non-circular sweeping robot starts to move from the first moment, that is, the predicted position. This is equivalent to calculating the body center position of the non-circular sweeping robot at the second moment through the current body center position, which is convenient for judging the collision tendency of the non-circular sweeping robot with obstacles when moving in the current moving direction.

[0049] It should be noted that the current position of the non-circular sweeping robot is the position occupied by the body center of the non-circular sweeping robot at the first moment, and the predicted position is the position occupied by the body center of the non-circular sweeping robot at the second moment; the time interval between the second moment and the first moment is preset, and the time interval is preferably 200ms, but it does not represent the actual moving time of the non-circular sweeping robot. It is a test time set to determine whether the non-circular sweeping robot has a tendency to collide with obstacles during the process of moving from the first moment to the second moment. The posture of the non-circular sweeping robot at the current position (the posture at the first moment) includes the coordinates of the current position of the non-circular sweeping robot and the moving direction of the non-circular sweeping robot at the first moment, and is recorded as the current moving direction of the non-circular sweeping robot, which can be measured in real time by the gyroscope. The posture of the non-circular sweeping robot at the predicted position (the posture at the second moment) includes the coordinates of the predicted position and the moving direction of the non-circular sweeping robot at the second moment, both of which are calculated on the basis of determining the posture of the non-circular sweeping robot at the first moment.

[0050] In the above embodiment, the method for calculating the posture of the non-circular sweeping robot at the 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 posture of the non-circular sweeping robot at the first moment includes: the non-circular sweeping robot uses an odometer to measure in real time the walking distance of the left driving wheel and the walking distance of the right driving wheel in unit time, and obtains the left driving wheel speed and the right driving wheel speed respectively; the non-circular sweeping robot sets the left driving wheel speed measured in real time as V l , the non-circular sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to The moving speed equivalent to the center of the non-circular sweeping robot is considered to be calculated by the sum of the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot, and is located in the walking plane of the non-circular sweeping robot; at the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to It is considered to be calculated by the absolute value of the difference between the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot, which is the result of the rotation of the non-circular sweeping robot; wherein the left driving wheel and the right driving wheel are connected by a wheel axle, the wheel axle runs through the body center of the non-circular sweeping robot, the left driving wheel and the right driving wheel are respectively installed on the left and right sides of the non-circular sweeping robot, and the length of the wheel axle is l. It should be noted that when V l Not equal to V r When the non-circular sweeping robot turns, the angular velocity ω that needs to be calculated is c Not equal to the value 0.

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

[0052] Then the non-circular sweeping robot is based on the moving speed V c , angular velocity ω c and the movement planning time t, calculating the posture at the predicted position as the posture of the non-circular sweeping robot at the second moment, wherein the method for calculating the posture at the predicted position includes:

[0053]

[0054]

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

[0056] Among them, the movement planning time t is the time interval between the second moment and the first moment; (x1, y1) is the coordinate of the predicted position, and θ1 is the angle indicated by the moving direction of the non-circular sweeping robot at the second moment. Therefore, according to the speed of the left driving wheel and the right driving wheel of the non-circular sweeping robot, and the posture of the non-circular sweeping robot at the first moment, the posture of the non-circular sweeping robot at the second moment is calculated before the non-circular sweeping robot actually moves, as the posture of the non-circular sweeping robot at the predicted position. It is used to evaluate its collision relationship with obstacles in various directions.

[0057] Corresponding to Figure 2 In, V l Less than V r , the non-circular sweeping robot turns eastward in the positive direction of the Y axis, forming Figure 2 The robot motion trajectory shown in Figure 2 is shown in Figure 2. The central axis of the non-circular sweeping robot can be regarded as the tangent of the robot motion trajectory; the ω required to calculate the posture at the predicted position c t is equal to Δθ; Δx in the x-axis direction is equal to It represents the x-axis displacement component generated by the non-circular sweeping robot turning in the positive direction of the Y axis within the moving planning time t; the Δy in the y-axis direction is equal to It represents the y-axis displacement component generated by the non-circular sweeping robot turning in the positive direction of the Y axis within the movement planning time t. Thus, x1 = x0 + Δx, y1 = y0 + Δy and θ1 = θ0 + ω c The position and posture of the non-circular sweeping robot at the second moment are obtained, including the coordinates (x1, y1) of the predicted position (the center position of the body at the second moment) and the angle θ1 indicated by the moving direction of the non-circular sweeping robot at the second moment.

[0058] It should be noted that the non-circular sweeping robot comprises a body, a head and two symmetrically arranged wheels, the two symmetrically arranged wheels are connected by a wheel axle, and the wheel axle is arranged at the dividing line between the body and the head, corresponding to Figure 2 The double-arrow line segment between the left drive wheel and the right drive wheel of the non-circular sweeping robot; the body shape composed of the body and the head is not circular, preferably Figure 1 and Figure 3The middle body is circular and the head is rectangular; wherein the front of the head points to the moving direction of the non-circular sweeping robot. wherein the two symmetrically arranged wheels are the left driving wheel and the right driving wheel, respectively, and the non-circular sweeping robot moves by the left driving wheel and the right driving wheel; when it is determined that the moving direction of the non-circular sweeping robot is the positive direction of the horizontal axis of the robot coordinate system, the body center line of the non-circular sweeping robot can be set as the horizontal axis of the robot coordinate system, and when the body center of the non-circular sweeping robot is the origin of the robot coordinate system, the coordinate axis direction of the robot coordinate system can be changed by the left driving wheel and the right driving wheel, so as to record the moving direction information of the non-circular sweeping robot in real time.

[0059] In this embodiment, the body center of the non-circular sweeping robot may be the midpoint of the wheel axle; Figure 1 and Figure 3 It can be seen that the body is circular in shape. After being assembled with the rectangular head, a part of the left and right sides of the head are cut off to make its edges fit together with the left and right edges of the body. The head will reveal a rectangular structure outward relative to the body, which is exposed in the moving direction of the robot. Figure 2 The positive direction of the x-axis shown is indicated; wherein 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 of the non-circular sweeping robot. The body center 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 on one side of the head of the non-circular sweeping robot is the vertex on the front side of the rectangular head. In some embodiments, the midpoint of the axle can be set as the center of the body, then the distance between the vertex on one side of the head of the non-circular sweeping robot shown in the figure and the body center of the non-circular sweeping robot becomes the body radius of the non-circular sweeping robot, which is also equivalent to the distance from the midpoint of the axle to the boundary of the head of the non-circular sweeping robot. The angle formed by the vertex on one side of the head of the non-circular sweeping robot relative to the central axis of the non-circular sweeping robot is in a corresponding functional operation relationship with the body radius.

[0060] If the speed of the left driving wheel of the non-circular cleaning robot is not equal to the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate by a preset angle, for the same obstacle position point, the alignment point of the non-circular sweeping robot is configured to rotate by a preset angle in the opposite direction of the preset clockwise direction, so that: for the same obstacle position point, when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes. In this embodiment, the intersection of the body center of the non-circular sweeping robot and the line connecting the obstacle position point in one direction of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot.

[0061] Specifically, if the speed of the left driving wheel of the non-circular cleaning robot is less than the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot moves counterclockwise at an angular velocity ω c Rotate the preset angle ω c t, the alignment point of the non-circular sweeping robot is configured to rotate in a clockwise direction at a preset angle. When the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes. If the speed of the left driving wheel of the non-circular sweeping robot is greater than the speed of the right driving wheel of the non-circular sweeping robot, the non-circular sweeping robot rotates in a clockwise direction at an angular velocity ω c Rotate the preset angle ω c t, the alignment point of the non-circular sweeping robot is configured to rotate in a counterclockwise direction by a preset angle so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

[0062] Assume that the non-circular sweeping robot moves from a first moment to a second moment. During this process, the posture of the non-circular sweeping robot is configured to change with time, and the body center of the non-circular sweeping robot also changes with time, which drives the alignment point of the non-circular sweeping robot to change with time. In particular, when the laser point used to represent the position of the obstacle in the same orientation remains unchanged, the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot. Therefore, whenever the distance between the alignment point of the non-circular sweeping robot and the obstacle position point in one orientation of the non-circular sweeping robot changes between two adjacent moments, it can be used to determine whether the non-circular sweeping robot has a tendency to collide with an obstacle in the corresponding orientation during the process of moving from the first moment to the second moment.

[0063] As an embodiment, the two-dimensional plane coordinates (x p ,y p ), which can be understood as pre-obtaining the two-dimensional coordinates of the three-dimensional point cloud used to represent the position of an obstacle falling into the walking plane of the non-circular sweeping robot, recorded as the position coordinates of the obstacle (x p ,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0), and determines that the angle indicated by the moving direction at the current position is θ0, the position coordinates of the obstacle (x p ,y p) is converted into relative coordinates in the first robot coordinate system, recorded as the first moment coordinates of the obstacle to be avoided (relaXp0, relaYp0), but the actual obstacle it represents has not changed in position and posture; the origin of the first robot coordinate system is the current position, that is, the position occupied by the center of the non-circular sweeping robot at the first moment, then the obstacle in one direction can be marked as the obstacle to be avoided, and the positive direction of the horizontal axis of the first robot coordinate system is the moving direction of the non-circular sweeping robot at the current position. Then, in the first robot coordinate system, the first moment coordinates of the obstacle to be avoided (relaXp0, relaYp0) are used to calculate the angle relaθ0 between the position of the obstacle and the positive direction of the horizontal axis of the first robot coordinate system, that is, (x p ,y p ) relative to the positive direction of the horizontal axis of the first robot coordinate system, or understood as the orientation of the obstacle to be avoided at the first moment, recorded as the alignment angle relaθ0 of the obstacle to be avoided at the first moment, to represent the deflection angle between the alignment point of the non-circular sweeping robot at the current position and the line connecting the center of its body relative to the current moving direction of the non-circular sweeping robot, so as to obtain the position information of the obstacle to be avoided at the first moment through the relative coordinate transformation formula, which is used to calculate the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point used to represent the position of the obstacle), and then calculate the deflection angle between the alignment point of the non-circular sweeping robot at the current position and the line connecting the center of its body relative to the current moving direction of the non-circular sweeping robot.

[0064] On the basis of the above embodiment, after calculating and obtaining the coordinates (x1, y1) of the predicted position and the angle θ1 indicated by the moving 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 changes relative to the robot coordinate system of the non-circular sweeping robot at the current position, corresponding to the first robot coordinate system undergoing rotation transformation and translation transformation to obtain the second robot coordinate system, and then the robot coordinate system of the non-circular sweeping robot at the predicted position is set to the second robot coordinate system, wherein the change in the robot coordinate system is represented by the change in the posture of the non-circular sweeping robot between the predicted position and the current position, that is, the first robot coordinate system will undergo corresponding rotation transformation and translation transformation with the change in the posture of the non-circular sweeping robot, specifically, the origin of the first robot coordinate system (represented by the body center of the non-circular sweeping robot) undergoes corresponding rotation transformation and translation transformation according to the change in the posture of the non-circular sweeping robot between the predicted position and the current position, to obtain the second robot coordinate system. Then the origin of the second robot coordinate system is the predicted position. Then, based on the relative coordinate conversion formula, the position coordinates (x p ,yp ) is converted into relative coordinates in the second robot coordinate system, recorded as the coordinates of the obstacle to be avoided at the second moment (relaXp1, relaYp1), but the actual obstacle represented by it does not change its posture; then in the second robot coordinate system, the coordinates of the obstacle to be avoided at the second moment (relaXp1, relaYp1) are used to calculate the angle relaθ1 between the position of the obstacle where it is located or the position of the obstacle represented by it and the positive direction of the horizontal axis of the second robot coordinate system, recorded as the alignment angle of the obstacle to be avoided at the second moment, and expressed as The angle between the alignment point of the non-circular sweeping robot at the predicted position and the line connecting the center of the non-circular sweeping robot and the moving direction of the non-circular sweeping robot at the second moment is represented, or it can be understood as the orientation of the obstacle to be avoided at the second moment, recorded as the alignment angle relaθ1 at the moment of the obstacle to be avoided, to represent the angle between the alignment point of the non-circular sweeping robot at the predicted position and the line connecting the center of the non-circular sweeping robot and the moving direction of the non-circular sweeping robot at the second moment; wherein, when the current coordinates (x0, y0), the coordinates of the predicted position (x1, y1) and the position coordinates of the obstacle (x p ,y p ) are all located in the world coordinate system. Thus, the position information of the obstacle to be avoided at the second moment is obtained through the relative coordinate conversion formula, which is used to compare the change of the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point used to represent the position of the obstacle) between two adjacent moments, so as to judge whether the non-circular sweeping robot has a tendency to collide with the obstacle in the process of moving from the first moment to the second moment according to the change of the distance.

[0065] In the above embodiment, the position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the first moment, including: relaXp0 = (x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0.

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

[0067]

[0068] Based on the relative coordinate conversion formula, the obstacle position coordinates (x p ,y p) into the coordinates of the obstacle to be avoided at the second moment, including: relaXp1 = (x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1.

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

[0070]

[0071] Therefore, according to the position coordinates of the center of the non-circular sweeping robot and the position coordinates of the obstacle, the aforementioned relative coordinate conversion formula is used to perform rotation transformation and translation transformation to realize the conversion of the position coordinates of the obstacle into the robot coordinate system.

[0072] In the aforementioned embodiment, there is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position and the alignment angle of the obstacle to be avoided at the first moment; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position (represented by the coordinates (x0, y0) of the current position) is represented by ROBOT_RELA_DIST(relaθ0), and the plane projection distance between the alignment point and the body center is the distance formed by the alignment point and the body center in the walking plane of the non-circular sweeping robot, which corresponds to Figure 3 The straight-line distance between the alignment point C1 and the body center O at the current position.

[0073] There is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the body center of the non-circular sweeping robot at the predicted position and the alignment angle of the obstacle to be avoided at the second moment; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the body center of the non-circular sweeping robot at the predicted position (represented by the coordinates (x1, y1) of the predicted position) is represented by ROBOT_RELA_DIST(relaθ1), and the plane projection distance between the alignment point and the body center is the distance between the alignment point and the body center in the walking plane of the non-circular sweeping robot, which corresponds to Figure 3 The straight-line distance between the alignment point C2 and the body center O' at the current position.

[0074] The preset mapping relationship is used to represent the functional relationship between the plane projection distance between the alignment point and the center of the non-circular sweeping robot in the direction of an alignment angle and the same alignment angle. The alignment angle here is represented by the first moment alignment angle relaθ0 of the obstacle to be avoided at the first moment, and by the second moment alignment angle relaθ1 of the obstacle to be avoided at the second moment. For the position coordinates (x p ,y p ), when the posture of the non-circular sweeping robot changes due to the speed of the left and right driving wheels, the position of the body center of the non-circular sweeping robot in the walking plane of the non-circular sweeping robot will change, and the angle formed by the position coordinates of the same obstacle (or the laser point used to represent the position of an obstacle) and the line connecting the body center relative to the moving direction of the non-circular sweeping robot (the positive direction of the horizontal coordinate axis of the robot coordinate system that changes (for example, the conversion of the robot coordinate system mentioned in the above embodiment)) changes, that is, the alignment angle changes, so that the non-circular sweeping robot is pointed at an alignment angle, and the plane projection distance between the alignment point of the non-circular sweeping robot at the direction of the alignment angle and the body center also changes accordingly. In this embodiment, the pre-set mapping relationship is used to calculate the position coordinates (x p ,y p ) is used to quantify the functional relationship between the plane projection distance between the alignment point and the body center and the alignment angle, so as to use the mapping relationship to enumerate the 360 ​​angles of the non-circular sweeping robot with the body center as the center. The distance information from the alignment point to the body center can be composed of a data structure such as a mapping table or an array, which is convenient for calculating the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of an obstacle at different times or different positions when the non-circular sweeping robot moves, and calling the distance information at the corresponding alignment angle through the pre-set mapping relationship.

[0075] Based on the foregoing embodiment, a method for calculating a change (expressed as a change in distance value, such as an increase or decrease in the distance value) in a plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point in one orientation of the non-circular sweeping robot between the first moment and the second moment includes:

[0076] The calculation method of the distance D0 between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the first moment is: The formation is used to represent the distance between the obstacle position point in one direction and the body edge of the non-circular cleaning robot at the 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: Form a distance 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 plane projection distance between the body center and the laser point representing the position of an obstacle decreases. Specifically, when it is determined 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 decreases. 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 trigger the non-circular floor cleaning robot 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 , then adjust the difference between the left drive wheel speed V l and the right drive wheel speed V r 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 , then adjust the difference between the left drive wheel speed V l and the right drive wheel speed V r 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 and right drive wheel speed V r The adjustment methods include but are not limited to motor drive, PID closed loop feedback adjustment and other driving wheel speed adjustment methods.

[0081] When D1>D0, it is determined that the plane projection distance between the center of the non-circular sweeping robot and the obstacle position point in the one direction increases during the process of the non-circular sweeping robot moving from the first moment to the second moment. Specifically, when D1>D0 is calculated, it is determined that the non-circular sweeping robot starts from the current position and moves at an angular velocity ω c During the rotation process, the distance between the center of the body and the obstacle position point in the one direction increases, and the non-circular sweeping robot does not need to adjust the left driving wheel speed V l and / or right drive wheel speed is set to V r , the non-circular sweeping robot does not collide with an obstacle when it moves to the second moment, and the non-circular sweeping robot is allowed to move to the predicted position; wherein the angular velocity ω generated by the movement of the non-circular sweeping robot c May not be equal to the value 0.

[0082] In summary, the aforementioned embodiments achieve effective collision prediction by considering the body structure and the posture state calculated in advance. When determining the distance between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the first moment, the distance between the alignment point of the non-circular sweeping robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment can be calculated before movement occurs, and it can be judged whether the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of an obstacle becomes smaller or larger between two adjacent moments, thereby improving the accuracy of collision prediction; thereby, the accurate time to trigger the robot to avoid obstacles is determined while reserving the distance between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the first moment relative to the obstacle in the corresponding orientation (a safe distance used to prevent the robot from touching the obstacle). This prevents the non-circular sweeping robot from directly colliding with the obstacle at the original driving wheel speed.

[0083] In some embodiments, Figure 3 As shown, the moving direction of the non-circular sweeping robot at the first moment is the direction of the arrow F0, and the position of the body center O is the current position; the obstacle position point P used to represent obstacle #2 and its two-dimensional coordinates falling into the walking plane of the non-circular sweeping robot (the plane where the robot coordinate system is located) are obtained in advance. Figure 3It can be represented as the obstacle position point P at the lower left of the non-circular sweeping robot, wherein the positive direction of the abscissa axis of the robot coordinate system at the first moment is the direction of the arrow F0; at the first moment, the line connecting the body center O of the non-circular sweeping robot and the obstacle position point P is parallel to the body edge of the non-circular sweeping robot (corresponding to Figure 3 The intersection C2 of the left edge of the semicircular body) is marked as the alignment point C2 of the non-circular sweeping robot. Based on the above embodiment, when the position coordinates of the body center O are (x0, y0), the distance (or plane projection distance) between the obstacle position point P and the body center O is equal to The distance (or plane projection distance) between the alignment point C2 and the center of the body O is ROBOT_RELA_DIST(relaθ0), where relaθ0 is the angle of the angle C2OF0. The direction of the corresponding obstacle position point P at the first moment is the direction of the arrow F2. It is used to represent the distance (or plane projection distance) between the obstacle position point P and the alignment point C2. Figure 3 As shown, the non-circular sweeping robot is affected by the speed of the left driving wheel and the right driving wheel, and is planned to move to the right front as shown in the figure. From the first moment to the second moment, the moving direction of the non-circular sweeping robot at the second moment is the direction of the arrow F1, and the body center O' is the predicted position; the positive direction of the horizontal axis of the robot coordinate system at the second moment is the direction of the arrow F1; at the second moment, the line connecting the body center O' of the non-circular sweeping robot and the obstacle position point P is parallel to the body edge of the non-circular sweeping robot (corresponding to Figure 3 The intersection C1 of the left edge of the semicircular body of the non-circular sweeping robot is marked as the alignment point C1 of the non-circular sweeping robot. Based on the above embodiment, when the position coordinates of the body center O' are (x1, y1), the distance (or plane projection distance) between the obstacle position point P and the body center O' is equal to The distance (or plane projection distance) between the alignment point C2 and the center of the body O' is ROBOT_RELA_DIST(relaθ1), relaθ1 is the angle of the angle C2O'F1, and the direction of the corresponding obstacle position point P at the first moment is the direction of the arrow F3, so, 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, during the rotation of the non-circular floor sweeping robot, the distance between the left side of the robot's body and the obstacle #2 is reduced. Therefore, the non-circular floor sweeping robot will predict that it will be obstructed by the obstacle #2 during the rightward rotation. For example, the obstacle #2 will collide with the left semi-circular body of the non-circular floor sweeping robot during the rightward rotation of the non-circular floor sweeping robot. This collision situation can be detected 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 comprises: Step A, calculating the posture of the non-circular cleaning robot at the second moment according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, the absolute value of the difference between the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, and the posture of the non-circular cleaning robot at the first moment; Step B, based on determining the position and posture of the non-circular sweeping robot at the first moment and the position and posture thereof at the second moment, predicting the collision of the non-circular sweeping robot with the obstacle at one position during its movement according to the change between the first moment and the second moment of the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the obstacle position point at one position of the non-circular sweeping robot; Among them, the intersection of the line connecting the body center of the non-circular sweeping robot and the obstacle position point and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot; the plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot.

2. The collision prediction method according to claim 1, characterized in that: The method for predicting the collision between the non-circular cleaning robot and an obstacle at an orientation during movement of the non-circular cleaning robot according to the change in the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position point at an orientation of the non-circular cleaning robot between two adjacent moments comprises: If the plane 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 is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point 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 the direction during movement; If the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and an obstacle position point in one direction of the non-circular sweeping robot is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point 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 an obstacle in that direction during its movement.

3. The collision prediction method according to claim 2, characterized in that: If the speed of the left driving wheel of the non-circular sweeping robot and the speed of the right driving wheel of the non-circular sweeping robot are both not equal to the value 0, the non-circular sweeping robot sets the position to which it is expected to move at the second moment starting from the first moment as the predicted position; the current position of the non-circular sweeping robot is the two-dimensional coordinate position occupied by the body center of the non-circular sweeping robot at the first moment, and the predicted position is the two-dimensional coordinate position occupied by the body center of the non-circular sweeping robot at the second moment; the time interval between the second moment and the first moment is preset; The position and posture of the non-circular cleaning robot at the current position includes the coordinates of the current position of the non-circular cleaning robot and the moving direction of the non-circular cleaning robot at the first moment; The position and posture of the non-circular cleaning robot at the predicted position includes the coordinates of the predicted position and the moving direction of the non-circular cleaning robot at the second moment.

4. The collision prediction method according to claim 3, characterized in that: The method for calculating the posture of the non-circular cleaning robot at the second moment according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, the absolute value of the difference between the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, and the posture of the non-circular cleaning 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 sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to Among them, the left driving wheel and the right driving wheel are connected by an axle, and the length of the axle is l; The non-circular cleaning robot sets the coordinates of the current position to (x0, y0), and the non-circular cleaning robot also sets the angle indicated by its moving direction at the first moment to θ0; Then the non-circular sweeping robot is based on the moving speed V c , angular velocity ω c and the movement planning time t, calculating the posture at the predicted position as the posture of the non-circular sweeping robot at the second moment, wherein the method for calculating the posture at the predicted position includes: θ1=θ0+ω c t; Among them, the movement planning time t is the time interval between the second moment and the first moment; (x1, y1) is the coordinates of the non-circular sweeping robot at the predicted position, and θ1 is the angle indicated by the moving direction of the non-circular sweeping robot at the second moment.

5. The collision prediction method according to claim 4, characterized in 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, and the axle is arranged at the dividing line between the body and the head; the body shape composed of the body and the head is not circular, and the front of the head points to the moving direction of the non-circular sweeping robot.

6. The collision prediction method according to claim 4, characterized in that: If the speed of the left driving wheel of the non-circular cleaning robot is not equal to the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate a preset angle. For the same obstacle position point, 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 position point, when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

7. The collision prediction method according to claim 6, characterized in that: The coordinates of the obstacle position point in one direction of the non-circular sweeping robot are obtained in advance and recorded as the obstacle position coordinates (x p ,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0) and the angle indicated by the moving direction at the current position is θ0, the position coordinates of the obstacle (x0, y0) are converted to p ,y p ) is converted into the first moment coordinates (relaXp0, relaYp0) of the obstacle to be avoided in the first robot coordinate system; then the first moment coordinates (relaXp0, relaYp0) of the obstacle to be avoided are used to calculate the first moment alignment angle relaθ0 of the obstacle to be avoided; wherein, the positive direction of the horizontal axis of the first robot coordinate system is the moving direction of the non-circular sweeping robot at the current position, and the origin of the first robot coordinate system is set at the current position; After the non-circular sweeping robot determines that the coordinates of the predicted position are (x1, y1), and determines that the angle indicated by the moving direction at the predicted position is θ1, the position coordinates of the obstacle (x1, y1) are converted to p ,y p ) is converted into the coordinates of the obstacle to be avoided at the second moment (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 of the obstacle to be avoided at the second moment (relaXp1, relaYp1); wherein the positive direction of the abscissa axis of the second robot coordinate system is the moving direction 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; Among them, (x p ,y p ), (x0, y0) and (x1, y1) are all located in the world coordinate system.

8. The collision prediction method according to claim 7, characterized in that: Based on the relative coordinate conversion formula, the obstacle position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the first moment, including: relaXp0 = (x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0; The first moment alignment angle relaθ0 of the obstacle to be avoided is calculated using the first moment coordinates (relaXp0, relaYp0) of the obstacle to be avoided. Based on the relative coordinate conversion formula, the obstacle position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the second moment, including: relaXp1 = (x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1; The second moment alignment angle relaθ1 of the obstacle to be avoided calculated using the second moment coordinates (relaXp1, relaYp1) of the obstacle to be avoided is 9. The collision prediction method according to claim 8, characterized in that: There is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position and the first moment alignment angle of the obstacle to be avoided; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position is represented by ROBOT_RELA_DIST(relaθ0); There is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the body center of the non-circular sweeping robot at the predicted position and the alignment angle of the obstacle to be avoided at the second moment; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the predicted position and the body center of the non-circular sweeping robot at the predicted position is represented by ROBOT_RELA_DIST(relaθ1); The pre-set mapping relationship is used to express the functional relationship between the plane projection distance between the alignment point and the body center of the non-circular sweeping robot in the direction of an alignment angle and the same alignment angle; the plane projection distance between the alignment point and the body center is the distance formed by the alignment point and the body center in the walking plane of the non-circular sweeping robot, and is used to express the distance from the body center to the edge of the body along the direction indicated by an alignment angle.

10. The collision prediction method according to claim 9, characterized in that: The calculation method of the distance D0 between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the first moment is: The calculation method of the distance D1 between the alignment point of the non-circular sweeping robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment is: When D1<D0, it is determined that the non-circular sweeping robot starts from the current position and moves at the angular velocity ω c During the rotation process, the distance between the center of the body and the obstacle position point in one direction decreases, then it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle at the obstacle position point in the one direction during the movement; When D1>D0, it is determined that the non-circular sweeping robot starts from the current position and moves at an angular velocity ω c During the rotation, the distance between the center of the body and the obstacle position point in one direction increases, and it is determined that the non-circular sweeping robot does not have a tendency to collide with the obstacle at the obstacle position point in the one direction during the movement.

Citation Information

Patent Citations

  • Cleaning robot and cleaning method thereby

    CN102138769A

  • Intelligent mobile device and moving path planning method and device thereof, program and medium

    CN108873882A

  • Anti-impact scanning matching method and system based on multi-sensor decision fusion

    CN113566828A

  • Unmanned aerial vehicle obstacle avoidance early warning method and device based on binocular vision

    CN113900443A

  • Collision prediction method for non-circular cleaning robot

    CN119138802A