Collision prediction method for non-circular cleaning robot
By calculating the speed and posture information of the non-circular cleaning robot, combined with the change of the plane projection distance of the obstacle position point, the all-round collision prediction of the non-circular cleaning robot is achieved, and the non-circular cleaning robot is solved during the movement process. The problem of insufficient collision prediction improves obstacle avoidance.
Patent Information
- Application Number
- CN202310688078.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2043-06-12
AI Technical Summary
During the movement of the non-circular cleaning robot, it is difficult to effectively take into account the collision problems of obstacles in multiple directions, resulting in insufficient collision prediction and affecting the obstacle avoidance effect.
By calculating the sum and difference between the left drive wheel speed and the right drive wheel speed of the non-circular cleaning robot, combining the position information, predict the position of the robot at the second moment, and according to the alignment point between the obstacle and the robot Plane projection distance changes, predict collision conditions, and repeat execution to cover obstacle position points in all directions to achieve all-round collision prediction.
Effectively predict and avoid collisions between non-circular cleaning robots with obstacles in multiple orientations, improving safety and flexibility during navigation, ensuring that the robot can move smoothly in obstacle scenarios distributed in multiple orientations.
Smart Images

Figure CN119138802A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of robot motion control, and in particular to a collision prediction method for a non-circular cleaning robot. Background Art
[0002] Currently, most sweepers in cleaning scenarios have circular bodies. The motion planning of circular structures only needs to consider obstacle avoidance of obstacles on the front side of the body. For non-circular sweepers in cleaning scenarios, for example, a D-type cleaning robot, as a sweeper with a round front and a square back, is different from a circular sweeper. It has a larger movement amplitude during cleaning and is prone to collide with obstacles in at least one direction during backward and rotation movements, resulting in the cleaning robot being unable to effectively take into account the collision problems caused by obstacles in multiple directions. Summary of the invention
[0003] The present application discloses a collision prediction method for a non-circular cleaning robot, and the specific technical solution is as follows:
[0004] A collision prediction method for a non-circular cleaning robot, characterized in that the collision prediction method comprises:
[0005] 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 posture of the non-circular cleaning robot at the first moment and its posture at the second moment, predicting the collision of the non-circular cleaning robot with an obstacle at one orientation according to the change between the first moment and the second moment 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 one orientation of the non-circular cleaning robot; Step C, updating the obstacle position point at the new orientation of the non-circular cleaning robot obtained in advance to the obstacle position point at one orientation of the non-circular cleaning robot described in step B, and then repeating step B until all the obstacle position points at all orientations obtained in advance have executed step B to predict the collision of the non-circular cleaning robot with obstacles at each orientation.
[0006] In summary, the non-circular cleaning robot also predicts the movement trend of the non-circular cleaning 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 cleaning 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 cleaning robot is about to collide with the obstacle in the corresponding position, and the prediction of the collision between the non-circular cleaning robot and the obstacle in the corresponding position is completed, taking into full consideration the body structure and its positional relationship with the obstacle position point at the corresponding position during its movement, and in an environment where obstacles are distributed in multiple isolated positions, the non-circular cleaning robot is determined by repeatedly executing steps B and C. The positions of obstacles in multiple directions, and judge whether there is a tendency for the non-circular cleaning robot to collide with obstacles in various directions during the process of moving from the current position to the target navigation position, taking into account the problem of multiple directions of contact with obstacles at the edge of the body, and effectively taking into account the collision problems caused by obstacles in various directions, so that the non-circular cleaning robot can perform obstacle collision prediction in various directions to avoid the non-circular cleaning robot directly colliding with obstacles in corresponding directions, or avoiding obstacles in a specific direction but colliding with obstacles in another specific direction during backward and rotation actions, making the obstacle avoidance action of the non-circular cleaning robot simple and flexible in scenes with obstacles distributed in multiple directions.
[0007] Further, the obstacle position points in all directions obtained in advance are located in a target circle with a certain radius with the body center of the non-circular cleaning robot as the center, the maximum plane projection distance between the alignment point of the non-circular cleaning robot and the body center thereof is less than the certain radius, the certain radius is less than the maximum scanning radius of the distance measuring sensor installed on the non-circular cleaning robot, and the distance measuring sensor supports rotation scanning to obtain various obstacles in a 360-degree direction; in step C, the obstacle position points in the new direction of the non-circular cleaning robot are the obstacle position points in all directions obtained in advance that have not been executed in step B. Thus, by executing step C, it is predicted in turn whether the obstacle position points in various directions of the non-circular cleaning robot will be collided with by the non-circular cleaning robot in the moving process, taking into account the all-round collision prediction problem, and providing more comprehensive and effective obstacle distribution information and obstacle avoidance path planning strategies for the non-circular cleaning robot that has not yet moved.
[0008] Furthermore, the method for predicting the situation in which the non-circular cleaning robot collides with an obstacle in an orientation during its movement based on 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 in an orientation of the non-circular cleaning robot between two adjacent moments includes: if the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position point in an orientation of the non-circular cleaning robot is less than the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same orientation of the non-circular cleaning robot, it is determined that there is a tendency for the non-circular cleaning robot to collide with the obstacle in the orientation during its movement; if the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position point in an orientation of the non-circular cleaning robot is greater than or equal to the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same orientation of the non-circular cleaning robot, it is determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle in the orientation during its movement. Therefore, the present technical solution can predict the collision of the non-circular cleaning 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 cleaning robot at the predicted position and the obstacle position point in one direction of the non-circular cleaning robot between two adjacent moments, thereby avoiding the non-circular cleaning robot from directly colliding with an obstacle during navigation movement or due to erroneous triggering of obstacle avoidance operation.
[0009] Further, if the left driving wheel speed of the non-circular cleaning robot and the right driving wheel speed of the non-circular cleaning robot are both not equal to the value 0, the non-circular cleaning 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 cleaning robot is the two-dimensional coordinate position occupied by the body center of the non-circular cleaning robot at the first moment, and the predicted position is the two-dimensional coordinate position occupied by the body center of the non-circular cleaning robot at the second moment; the time interval between the second moment and the first moment is set in advance; wherein, the 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; wherein, the 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. 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 cleaning robot starts to move from the first moment, i.e., the predicted position. This is equivalent to calculating the body center position of the non-circular cleaning robot at the second moment through the current body center position, which facilitates the judgment of the collision tendency of the non-circular cleaning robot with obstacles when moving in the current moving direction.
[0010] 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 its left driving wheel speed measured in real time as V l , the non-circular cleaning robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular cleaning robot moves its speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular cleaning 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 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 cleaning 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 cleaning robot at the second moment, wherein the method for calculating the posture at the predicted position includes:
[0011]
[0012]
[0013] θ1=θ0+ω c t;
[0014] 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 cleaning robot at the predicted position, and θ1 is the angle indicated by the movement direction of the non-circular cleaning robot at the second moment.
[0015] Therefore, according to the speed of the left driving wheel and the right driving wheel of the non-circular cleaning robot and the posture of the non-circular cleaning robot at the first moment, the posture of the non-circular cleaning robot at the second moment is calculated before the non-circular cleaning robot actually moves, and is used as the posture of the non-circular cleaning robot at the predicted position, which is used to evaluate its collision relationship with obstacles in various directions.
[0016] Furthermore, the non-circular cleaning 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 cleaning robot. Therefore, when the moving direction of the non-circular cleaning robot is the positive direction of the horizontal axis of the robot coordinate system, the body center line of the non-circular cleaning robot can be set as the horizontal axis of the robot coordinate system, and the body center of the non-circular cleaning 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 cleaning robot in real time.
[0017] Furthermore, the intersection of the line connecting the center of the non-circular cleaning robot and the obstacle position point and the body edge of the non-circular cleaning robot is marked as the alignment point of the non-circular cleaning robot, and the plane projection distance between the alignment point and the obstacle position point is the straight line distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular cleaning robot. 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 cleaning 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 cleaning robot changes, the alignment point of the non-circular cleaning robot changes. Whenever the distance between the alignment point of the non-circular cleaning robot and the obstacle position point in one orientation of the non-circular cleaning robot changes between two adjacent moments, it can be used to determine whether the non-circular cleaning 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.
[0018] Furthermore, the coordinates of the obstacle position point in one direction of the non-circular cleaning robot are obtained in advance and recorded as the position coordinates of the obstacle (x p ,y p ); After the non-circular cleaning 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 (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 cleaning robot at the current position, and the origin of the first robot coordinate system is set at the current position; after the non-circular cleaning 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 into 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 cleaning 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 cleaning 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 cleaning robot has a tendency to collide with the obstacle during the process of moving from the first moment to the second moment according to the change in the distance.
[0019] 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;
[0020] 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.
[0021]
[0022] 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;
[0023] 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
[0024]
[0025] Therefore, according to the position coordinates of the center of the non-circular cleaning 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.
[0026] Furthermore, there is a preset mapping relationship between the planar projection distance between the alignment point of the non-circular cleaning robot at the current position and the body center of the non-circular cleaning robot at the current position and the alignment angle at the first moment of the obstacle to be avoided; among them, the planar projection distance between the alignment point of the non-circular cleaning robot at the current position and the body center of the non-circular cleaning robot at the current position is represented by ROBOT_RELA_DIST(relaθ0); there is a preset mapping relationship between the planar projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the body center of the non-circular cleaning robot at the predicted position and the alignment angle at the second moment of the obstacle to be avoided; among them, the planar projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the body center of the non-circular cleaning robot at the predicted position is represented by ROBOT_RELA_DIST(relaθ1); the preset mapping relationship is used to represent the functional relationship between the planar projection distance between the alignment point on the pointing direction of a certain alignment angle of the non-circular 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 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 directions with the body center of the non-circular 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 cleaning robot and the laser point representing the position of an obstacle at different moments or different positions when the non-circular cleaning robot moves, and calling the distance information at the corresponding alignment angle through the preset mapping relationship.
[0027] Furthermore, the calculation method of the distance D0 between the alignment point of the non-circular cleaning robot at the current position and the coordinates of the obstacle at the first moment to be avoided is as follows: The calculation method of the distance D1 between the alignment point of the non-circular cleaning robot at the predicted position and the coordinates of the obstacle at the second moment to be avoided is as follows: When D1 < D0, it is determined that when the non-circular cleaning robot starts from the current position and rotates at an angular velocity ω c during the rotation process, if the distance between the body center and the obstacle position point in a certain direction decreases, it is determined that there is a tendency for the non-circular 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 cleaning robot starts from the current position and rotates at an angular velocity ω c during the rotation process, if the distance between the body center and the obstacle position point in a certain direction increases, it is determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle at the obstacle position point in the certain direction during the movement.
[0028] 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 cleaning 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 cleaning 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 cleaning 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 avoids the non-circular cleaning robot from directly colliding with the obstacle at the original driving wheel speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] 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 cleaning robot within a target circular area.
[0030] Figure 2 Another embodiment of the present application discloses a schematic diagram of the posture changes of a non-circular cleaning robot during movement.
[0031] Figure 3 Another embodiment of the present application discloses a schematic diagram of the posture change of a non-circular cleaning robot in an obstacle avoidance scenario triggered by obstacles #2 and #3.
[0032] Figure 4 It is a flowchart of another embodiment of the present application that discloses a collision prediction method for a non-circular cleaning robot. DETAILED DESCRIPTION
[0033] 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.
[0034] Generally speaking, robots that complete sweeping, vacuuming, and mopping are also collectively classified as cleaning robots. Currently, cleaning robots are roughly divided into round cleaning robots, square cleaning robots, and D-type cleaning robots. The overall shape of the square cleaning robot is composed of a rectangle, and the overall shape of the D-type cleaning robot is a combination of a circle and a rectangle. Both the square cleaning robot and the D-type cleaning robot are non-circular cleaning robots. Figure 1 and 3 A schematic diagram of a D-type cleaning robot is shown. Figure 2 A schematic diagram of a square cleaning robot is shown. When these non-circular cleaning robots walk in an indoor environment, for example, they need to turn after walking in a straight line for a distance. In an environment with isolated obstacles discretely distributed in multiple directions, the non-circular cleaning robots have insufficient adjustment space on the front and rear sides or the left and right sides, causing the non-circular cleaning robots to directly collide with obstacles during movement. The reason is that the body edges of the non-circular cleaning robots (considered as the body boundaries and nose boundaries of the robot's walking plane) are not necessarily regular shapes, that is, the distances between the body edges and the body centers in all directions are not equal or even irregular. Unlike circular cleaning robots, the distances from the body centers to the body edges are equal to the machine radius. Therefore, the non-circular cleaning robots cannot take into account obstacles in all directions during navigation. Therefore, before triggering the non-circular cleaning robot to avoid obstacles, the present application needs to detect whether the body edge in a given direction will collide with obstacles in the corresponding direction based on distance information.
[0035] As an embodiment, a collision prediction method for a non-circular cleaning robot is disclosed. The execution subject of the collision prediction method is a non-circular cleaning robot equipped with a distance measuring sensor. The non-circular cleaning robot includes a cleaning 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 cleaning robot collects three-dimensional point cloud information at multiple positions in its walking plane in real time or pre-stores environmental posture information at multiple positions in the walking plane of the cleaning robot. Figure 4 It can be seen that the collision prediction method includes:
[0036] Step A, calculate the position and posture of the non-circular cleaning robot at the second moment based on 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 position and posture of the non-circular cleaning robot at the first moment. This is the position and posture of the non-circular cleaning robot at the second moment predicted at the current position, and then execute step B.
[0037] In step A, the non-circular cleaning robot is still at the current position; the current position is the coordinate position included in the posture of the non-circular cleaning robot at the first moment, which can represent the two-dimensional plane position occupied by the body center of the non-circular cleaning robot at the first moment, and the current position is the coordinate position included in the posture of the non-circular cleaning robot at the first moment. The predicted position is the position to which the non-circular cleaning 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 cleaning robot at the next moment, that is, the predicted position is the coordinate position included in the posture of the non-circular cleaning robot at the second moment; the posture at the second moment is the result of the conversion operation of the non-circular cleaning robot according to the left driving wheel speed and the right driving wheel speed (including conversion into angular velocity and linear velocity of the body center), and the posture of the non-circular cleaning 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 in advance the position to be moved to at the next moment and realize the planning of the navigation path.
[0038] Step B. Based on determining the position and posture of the non-circular cleaning robot at the first moment and its position and posture at the second moment, predict the collision between the non-circular cleaning robot and the obstacle at one position 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 one position of the non-circular cleaning robot between the first moment and the second moment (referring to the change in the distance value), and then execute step C. 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 cleaning robot at the predicted position and the obstacle position point in one orientation of the non-circular cleaning robot may be calculated, i.e., the projection distance between the two three-dimensional points in the same walking plane; by judging the size relationship between the plane projection distance between the alignment point of the non-circular cleaning robot and the obstacle position point in one orientation of the non-circular cleaning robot at two adjacent moments, the change in the plane projection distance between the alignment point of the non-circular cleaning robot and the obstacle position point in one orientation of the non-circular cleaning 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 cleaning robot and an obstacle position point in one direction of the non-circular cleaning robot decreases from the first moment to the second moment, it is determined that the non-circular cleaning 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 cleaning robot will collide with the obstacle at the predetermined obstacle position point when moving according to the left driving wheel speed and the right driving wheel speed, and the colliding obstacle can be located at the front edge, rear edge, left edge, or right edge of the non-circular cleaning robot, or can be the left front edge, left rear edge, right front edge, or right rear edge. The non-circular cleaning robot can adjust its posture or stop moving to avoid the obstacle position point in the corresponding direction.
[0039] Step C, update the obstacle position point at the new orientation of the non-circular cleaning robot obtained in advance to the obstacle position point at one orientation of the non-circular cleaning robot described in step B, and then repeat step B until all the obstacle position points at all orientations obtained in advance have executed step B to predict the collision between the non-circular cleaning robot and obstacles at various orientations. Considering that the non-circular cleaning robot cannot take into account obstacles in multiple directions during the navigation process, after executing steps A to C for the obstacle position point in the same direction (i.e., one obstacle position point), the obstacle position point in the new direction (representing the obstacle position point in one direction of the non-circular cleaning robot that has not executed step B in advance) is updated to the obstacle position point in one direction of the non-circular cleaning robot that has recently executed step B, and then steps B to C are repeated or steps A to C are repeated to predict the collision of the non-circular cleaning robot with the obstacle in the new direction during the movement at the original driving wheel speed, until all the obstacle position points in the directions obtained in advance are traversed, that is, all the obstacle position points in the directions obtained in advance that are predetermined have executed steps B and step C. Thus, by repeatedly executing steps B and step C, the collision problem of obstacles in multiple directions is taken into account by the non-circular cleaning robot during the navigation process.
[0040] Specifically, the change in the distance between the obstacle position points at various orientations of the non-circular cleaning robot and the pre-determined alignment point of the non-circular cleaning robot is calculated before the non-circular cleaning robot actually moves, and when the calculated distance becomes smaller, it is determined that there is a collision risk. In some embodiments, while keeping the distance between the body center of the non-circular cleaning robot and the obstacle position points at various orientations greater than the distance between the body center of the non-circular cleaning robot and the alignment point, if the calculated distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position points at various orientations is less than the distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position points at the corresponding orientation, it is determined that the non-circular cleaning robot has a tendency to collide with the obstacle at the corresponding orientation during the movement along the current moving direction, and the posture at the first moment needs to be adjusted in advance to continue moving from the current position to avoid the obstacle position points at various orientations.
[0041] It should be noted that the intersection of the line connecting the body center of the non-circular cleaning robot and the obstacle position points in each direction of the non-circular cleaning robot and the body edge of the non-circular cleaning robot is marked as each alignment point of the non-circular cleaning robot. Since the non-circular cleaning 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 cleaning robot at each angle to the body center is not necessarily equal. When the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes. In some embodiments, during the process of moving from the first moment to the second moment, the posture of the non-circular cleaning robot is configured to change with the change of time, and the body center of the non-circular cleaning robot also changes with the change of time, then the alignment point of the non-circular cleaning robot is also driven 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 cleaning robot is driven to change with the change of the posture of the non-circular cleaning robot. Therefore, the distance between the alignment point of the non-circular cleaning robot and the obstacle position points in each direction will change between two adjacent moments. Whenever the change in the distance between the alignment point of the non-circular cleaning robot and the obstacle position point in each direction between two adjacent moments is obtained, it is determined based on the change that the non-circular cleaning 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.
[0042] In summary, the non-circular cleaning robot also predicts the movement trend of the non-circular cleaning 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 cleaning 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 cleaning robot is about to collide with the obstacle in the corresponding position, and the prediction of the collision between the non-circular cleaning robot and the obstacle in the corresponding position is completed, taking into full consideration the body structure and its positional relationship with the obstacle position point at the corresponding position during its movement, and in an environment where obstacles are distributed in multiple isolated positions, the non-circular cleaning robot is determined by repeatedly executing steps B and C. The positions of obstacles in multiple directions, and judge whether there is a tendency for the non-circular cleaning robot to collide with obstacles in various directions during the process of moving from the current position to the target navigation position, taking into account the problem of multiple directions of contact with obstacles at the edge of the body, and effectively taking into account the collision problems caused by obstacles in various directions, so that the non-circular cleaning robot can perform obstacle collision prediction in various directions to avoid the non-circular cleaning robot directly colliding with obstacles in corresponding directions, or avoiding obstacles in a specific direction but colliding with obstacles in another specific direction during backward and rotation actions, making the obstacle avoidance action of the non-circular cleaning robot simple and flexible in scenes with obstacles distributed in multiple directions.
[0043] 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 cleaning robot at the predicted position at the first moment and the obstacle position point in one orientation of the non-circular cleaning robot is directly used in the corresponding orientation as a reasonable obstacle avoidance distance to prevent the non-circular cleaning 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 cleaning 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 cleaning robot is directly used in the corresponding orientation as a reasonable obstacle avoidance distance. The obstacle avoidance distance is the safe distance between the center of the body and the obstacle position point in one orientation. The non-circular cleaning robot maintains this safe distance to move, which can reserve adjustment space for the corresponding orientation of the body, overcome the problem of directly colliding with the obstacle in the corresponding orientation due to insufficient adjustment space in the corresponding orientation, and thus can ensure that the robot will not be hindered by obstacles during movement, and at least can walk along the edge of the obstacle or stay away from the obstacle.
[0044] In the above embodiment, the obstacle position points in all directions obtained in advance are located in a target circle with a certain radius with the body center of the non-circular cleaning robot as the center, the maximum plane projection distance between the alignment point of the non-circular cleaning robot and the body center of the non-circular cleaning robot is less than the certain radius, and the certain radius is less than the maximum scanning radius of the ranging sensor installed on the non-circular cleaning robot, and can at least meet the point cloud data accuracy allowed by the ranging sensor or the grid resolution requirement for constructing a grid map; the ranging sensor supports rotational scanning to obtain various obstacles in a 360-degree direction; in step C, the obstacle position points in the new direction of the non-circular cleaning robot are the obstacle position points in all directions obtained in advance, which have not executed step B, wherein the obstacle position points in the new direction are relative to the obstacle position points in one direction of the non-circular cleaning robot that has recently executed step B or the obstacle position points that have already executed step B, and are point cloud position information representing the obstacles in the new direction. Therefore, by executing step C, it is possible to predict in turn whether the obstacle positions in various directions of the non-circular cleaning robot will be collided with by the non-circular cleaning robot during the movement, taking into account the all-round collision prediction problem, and providing more comprehensive and effective obstacle distribution information and obstacle avoidance path planning strategies for the non-circular cleaning robot that has not yet moved.
[0045] In some embodiments, in step B, the distribution of obstacle positions in one direction of the non-circular cleaning robot is schematically represented as follows: Figure 1 A discrete black dot distributed along the edge of obstacle #1, Figure 1A 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 circular area and is scanned by the ranging 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 shown. Obstacle #1, obstacle #2 and obstacle #3 are regarded as three isolated obstacles located at different positions of the non-circular cleaning robot, and it is necessary to perform steps B to C to predict whether the non-circular cleaning robot collides with obstacles at various positions during movement.
[0046] In step B, the method for predicting the collision of the non-circular cleaning robot with an obstacle in one orientation during its movement based on 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 in one orientation of the non-circular cleaning robot between two adjacent moments includes: 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 in one orientation of the non-circular cleaning 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 cleaning robot can be represented by a laser point used to represent the obstacle position in that orientation, corresponding to the laser point cloud information obtained by scanning with a laser sensor.
[0047] It should be noted that the plane projection distance between the alignment point and the obstacle position point at one orientation of the non-circular cleaning robot is the plane projection distance between the alignment point and the obstacle position point used to represent the orientation, and 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 cleaning robot. Accordingly, the intersection of the line connecting the body center of the non-circular cleaning robot and the obstacle position point at one orientation of the non-circular cleaning robot and the body edge of the non-circular cleaning robot is marked as the alignment point of the non-circular cleaning robot, so that the alignment point of the non-circular cleaning robot changes with the change of the posture of the non-circular cleaning 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 cleaning robot. When the body shape and the shape of the obstacle are both irregular, it will generally change with the change of the posture of the non-circular cleaning robot.
[0048] If the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position point in one orientation of the non-circular cleaning robot is smaller than the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same orientation of the non-circular cleaning robot, it is determined that the non-circular cleaning robot has a tendency to collide with the obstacle in that orientation during its movement. It is also determined that the non-circular cleaning robot has a tendency to collide with the obstacle in the corresponding orientation during its movement along the current moving direction to the second moment. The position point occupied by the obstacle in the corresponding orientation is detected in advance, and in some embodiments, it is predicted that the non-circular cleaning robot may collide with the obstacle at the predicted position.
[0049] If the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the obstacle position point in one orientation of the non-circular cleaning robot is greater than or equal to the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same orientation of the non-circular cleaning robot, it is determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle in that orientation during its movement. It is also determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle in the corresponding orientation during its movement along the current moving direction to the second moment. The position points occupied by the obstacles in the corresponding orientation are detected in advance, and in some embodiments it is predicted that the non-circular cleaning robot will not collide with the obstacles at the predicted position.
[0050] Therefore, this embodiment can predict the collision of the non-circular cleaning 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 cleaning robot at the predicted position and the obstacle position point in one direction of the non-circular cleaning robot between two adjacent moments, thereby avoiding the non-circular cleaning robot from directly colliding with an obstacle during navigation movement or due to erroneous triggering of obstacle avoidance operation.
[0051] As an embodiment, if the left driving wheel speed of the non-circular cleaning robot and the right driving wheel speed of the non-circular cleaning robot are both not equal to the value 0, then the non-circular cleaning robot sets the position moved to at the second moment as the predicted position starting from the first moment, but the non-circular cleaning robot does not start moving to the predicted position; wherein, the left driving wheel speed of the non-circular cleaning robot and the right driving wheel speed of the non-circular cleaning robot are both not equal to the value 0, the left driving wheel speed can be equal to the right driving wheel speed but both are not equal to the value 0; when the left driving wheel speed is greater than the right driving wheel speed, the non-circular cleaning robot rotates to the right, forming a differential motion model; when the left driving wheel speed is less than the right driving wheel speed, the non-circular cleaning robot rotates to the left, forming a differential motion model; therefore, the non-circular cleaning 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 cleaning robot is not the value 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 cleaning 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 cleaning robot at the second moment through the current body center position, which is convenient for judging the collision tendency of the non-circular cleaning robot when moving in the current moving direction and encountering obstacles.
[0052] It should be noted that the current position of the non-circular cleaning robot is the position occupied by the body center of the non-circular cleaning robot at the first moment, and the predicted position is the position occupied by the body center of the non-circular cleaning robot at the second moment; the time interval between the second moment and the first moment is pre-set, and the time interval is preferably 200ms, but it does not represent the actual moving time of the non-circular cleaning robot. It is a test time set to determine whether the non-circular cleaning 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 cleaning robot at the current position (the posture at the first moment) 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, and is recorded as the current moving direction of the non-circular cleaning robot, which can be measured in real time by the gyroscope. The posture of the non-circular cleaning 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 cleaning robot at the second moment, both of which are calculated on the basis of determining the posture of the non-circular cleaning robot at the first moment.
[0053] In the above embodiment, 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 uses an odometer to measure the walking distance of the left driving wheel and the walking distance of the right driving wheel in unit time in real time, and obtains the left driving wheel speed and the right driving wheel speed respectively; the non-circular cleaning robot sets the left driving wheel speed measured in real time as V l , the non-circular cleaning robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular cleaning robot moves its speed V c Set equal to The moving speed of the body center of the non-circular cleaning robot is equivalent to the speed calculated by the sum of the left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot, and is located in the walking plane of the non-circular cleaning robot; at the same time, the angular velocity ω generated by the movement of the non-circular cleaning 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 cleaning robot, which is the result of the rotation of the non-circular cleaning 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 cleaning robot, the left driving wheel and the right driving wheel are respectively installed on the left and right sides of the non-circular cleaning 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 cleaning robot turns, the angular velocity ω that needs to be calculated is c Not equal to the value 0.
[0054] 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, forming the posture of the non-circular cleaning robot at the first moment.
[0055] Then the non-circular cleaning 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 cleaning robot at the second moment, wherein the method for calculating the posture at the predicted position includes:
[0056]
[0057]
[0058] θ1=θ0+ωc t;
[0059] 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 cleaning robot at the second moment. Therefore, according to the speed of the left driving wheel and the right driving wheel of the non-circular cleaning robot, and the posture of the non-circular cleaning robot at the first moment, the posture of the non-circular cleaning robot at the second moment is calculated before the non-circular cleaning robot actually moves, as the posture of the non-circular cleaning robot at the predicted position. It is used to evaluate its collision relationship with obstacles in various directions.
[0060] Corresponding to Figure 2 In, V l Less than V r , the non-circular cleaning 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 cleaning robot can be regarded as the tangent of the robot motion trajectory. The ω required to calculate the pose 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 cleaning robot turning in the positive direction of the Y axis within the movement 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 cleaning 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 cleaning 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 cleaning robot at the second moment.
[0061] It should be noted that the non-circular cleaning 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, corresponding to Figure 2 The double-arrow line segment between the left drive wheel and the right drive wheel of the non-circular cleaning robot; the body shape composed of the body and the head is not circular, preferably Figure 1 and Figure 3The middle body is semicircular and the nose is rectangular; wherein the front of the nose points to the moving direction of the non-circular cleaning robot. The two symmetrically arranged wheels are the left driving wheel and the right driving wheel, respectively, and the non-circular cleaning robot moves through the left driving wheel and the right driving wheel; when it is determined that the moving direction of the non-circular cleaning robot is the positive direction of the horizontal axis of the robot coordinate system, the body center axis of the non-circular cleaning robot can be set as the horizontal axis of the robot coordinate system, and the body center of the non-circular cleaning 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 to record the moving direction information of the non-circular cleaning robot in real time.
[0062] In this embodiment, the body center of the non-circular cleaning robot may be the midpoint of the wheel axle; Figure 1 and Figure 3 It can be seen that the fuselage is semicircular 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 fuselage. The head will reveal a rectangular structure outward relative to the fuselage, which is exposed in the moving direction of the robot and can be used. Figure 2 The positive direction of the x-axis shown is represented; wherein the head is the front part of the frame of the non-circular cleaning robot, and the body is the rear part of the frame of the non-circular cleaning robot. The body center of the non-circular cleaning robot can be the center of the rectangular head, and the vertex on one side of the head of the non-circular cleaning robot is the vertex on the side in front of the rectangular head. In some embodiments, the midpoint of the axle can be set as the center of the body, then the straight-line distance between the vertex on one side of the head of the non-circular cleaning robot shown in the figure and the body center of the non-circular cleaning robot becomes the body radius of the non-circular cleaning robot, which is also equivalent to the distance from the midpoint of the axle to the boundary of the head of the non-circular cleaning robot. The angle formed by the vertex on one side of the head of the non-circular cleaning robot relative to the central axis of the non-circular cleaning robot is in a corresponding functional operation relationship with the body radius.
[0063] The intersection of the line connecting the body center of the non-circular cleaning robot and the obstacle position point and the body edge of the non-circular cleaning robot is marked as the alignment point of the non-circular cleaning robot. The plane projection distance between the alignment point and the obstacle position point is the straight-line distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular cleaning robot, so that: for the same obstacle position point, when the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes; specifically, if the left driving wheel speed of the non-circular cleaning robot is not equal to the right driving wheel speed of the non-circular cleaning robot, the non-circular cleaning robot is configured to move along the preset clockwise direction at an angular velocity ω cRotate by a preset angle, for the same obstacle position point, the alignment point of the non-circular cleaning robot is configured to rotate by a preset angle in the opposite direction of the preset clockwise direction. In this embodiment, the intersection of the body center of the non-circular cleaning robot and the line connecting the obstacle position point in one direction of the non-circular cleaning robot and the body edge of the non-circular cleaning robot is marked as the alignment point of the non-circular cleaning robot.
[0064] 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 cleaning robot is configured to rotate in a clockwise direction at a preset angle. When the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes. If the speed of the left driving wheel of the non-circular cleaning robot is greater than the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot rotates in a clockwise direction at an angular velocity ω c Rotate the preset angle ω c t, the alignment point of the non-circular cleaning robot is configured to rotate in a counterclockwise direction by a preset angle so that when the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes.
[0065] Assume that the non-circular cleaning robot moves from a first moment to a second moment. During this process, the posture of the non-circular cleaning robot is configured to change with time, and the body center of the non-circular cleaning robot also changes with time, which drives the alignment point of the non-circular cleaning 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 cleaning robot changes with the change of the posture of the non-circular cleaning robot. Therefore, whenever the distance between the alignment point of the non-circular cleaning robot and the obstacle position point in one orientation of the non-circular cleaning robot changes between two adjacent moments, it can be used to determine whether the non-circular cleaning robot has a tendency to collide with the obstacle in the corresponding orientation during the process of moving from the first moment to the second moment.
[0066] As an embodiment, the two-dimensional plane coordinates (x p ,y p ), which can be understood as 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 cleaning robot, recorded as the position coordinates of the obstacle (x p ,y p); After the non-circular cleaning 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 (x p ,y p ) is converted into relative coordinates in the first robot coordinate system, recorded as the coordinates of the obstacle to be avoided at the first moment (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 cleaning 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 cleaning 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 it can be 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 cleaning robot at the current position and the line connecting the center of its body relative to the current moving direction of the non-circular cleaning 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 cleaning 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 cleaning robot at the current position and the line connecting the center of its body relative to the current moving direction of the non-circular cleaning robot.
[0067] 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 cleaning robot at the second moment, the robot coordinate system of the non-circular cleaning robot at the predicted position changes relative to the robot coordinate system of the non-circular cleaning 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, then the robot coordinate system of the non-circular cleaning robot at the predicted position is set to the second robot coordinate system, wherein the posture change of the robot coordinate system is represented by the posture change of the non-circular cleaning robot between the predicted position and its current position, that is, the first robot coordinate system will undergo corresponding rotation transformation and translation transformation with the posture change of the non-circular cleaning robot, specifically, the origin of the first robot coordinate system (represented by the body center of the non-circular cleaning robot) is subjected to corresponding rotation transformation and translation transformation according to the posture change of the non-circular cleaning robot between the predicted position and its 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 ,y p ) 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 of deflection formed by the line connecting the alignment point of the non-circular cleaning robot at the predicted position and the center of its body relative to the moving direction of the non-circular cleaning robot at the second moment, or 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 of deflection formed by the line connecting the alignment point of the non-circular cleaning robot at the predicted position and the center of its body relative to the moving direction of the non-circular cleaning 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 cleaning 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 cleaning 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.
[0068] 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.
[0069] 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.
[0070]
[0071] 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.
[0072] 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
[0073]
[0074] Therefore, according to the position coordinates of the center of the non-circular cleaning 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.
[0075] In the aforementioned embodiment, there is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the body center of the non-circular cleaning 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 cleaning robot at the current position and the body center of the non-circular cleaning 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 between the alignment point and the body center in the walking plane of the non-circular cleaning robot, which corresponds to Figure 3 The straight-line distance between the alignment point C2 and the body center O at the current position.
[0076] There is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular cleaning robot at the predicted position and the body center of the non-circular cleaning 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 cleaning robot at the predicted position and the body center of the non-circular cleaning 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 cleaning robot, corresponding to Figure 3 The straight-line distance between the alignment point C1 and the body center O' at the current position.
[0077] The preset mapping relationship is used to express the functional relationship between the plane projection distance between the alignment point and the center of the non-circular cleaning 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 cleaning robot changes due to the speed of the left and right driving wheels, the position of the body center of the non-circular cleaning robot in the walking plane of the non-circular cleaning 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 cleaning 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 aforementioned embodiment)) changes, that is, the alignment angle changes, so that the non-circular cleaning robot is pointed at an alignment angle, and the plane projection distance between the alignment point of the non-circular cleaning 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 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 cleaning robot with the body center as the center. The distance information from the alignment point to the body center can be composed of data structures such as mapping tables or arrays, which is convenient for calculating the distance between the alignment point of the non-circular cleaning robot and the laser point used to represent the position of an obstacle at different times or different positions when the non-circular cleaning robot moves, and the distance information at the corresponding alignment angle is called through the pre-set mapping relationship.
[0078] 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 cleaning robot at the predicted position and the obstacle position point in one orientation of the non-circular cleaning robot between a first moment and a second moment includes:
[0079] The distance D0 between the alignment point of the non-circular cleaning robot at the current position and the coordinates of the obstacle to be avoided at the first moment is calculated as follows: 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.
[0080] The distance D1 between the alignment point of the non-circular cleaning robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment is calculated as follows: A distance between the obstacle position point in an orientation and the body edge of the non-circular cleaning robot at the predicted position is formed.
[0081] When D1 < D0, it is determined that during the process of the non-circular cleaning robot moving from the first moment to the second moment, the planar projection distance between the center of the body 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 cleaning robot rotating at an angular velocity ω c the distance between the center of the body and the position point of the obstacle in one direction decreases, and the non-circular cleaning robot gradually approaches the obstacle in one direction during the movement at the left drive wheel speed V l and the right drive wheel speed V r It is determined that there is a tendency for the non-circular cleaning robot to collide with the corresponding obstacle during the process of moving along the current moving direction to the second moment.
[0082] Then trigger the non-circular 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 cleaning robot does not collide with the obstacle after moving to the second moment, and moreover, the non-circular 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 cleaning robot does not collide with the obstacle after moving to the second moment, and moreover, the non-circular cleaning robot does not move to the predicted position. Therefore, when the non-circular cleaning robot detects that the distance between the coordinate position included in its pose at the second moment and the obstacle in the corresponding direction 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 direction in a timely manner.
[0083] The adjustment methods for the left drive wheel speed V l and the right drive wheel speed V r include, but are not limited to, drive wheel speed adjustment methods such as motor drive and PID closed-loop feedback regulation.
[0084] When D1>D0, it is determined that the plane projection distance between the center of the non-circular cleaning robot and the obstacle position point in the one direction increases during the process of the non-circular cleaning robot moving from the first moment to the second moment. Specifically, when D1>D0 is calculated, it is determined that the non-circular cleaning 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 cleaning 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 cleaning robot does not collide with an obstacle when it moves to the second moment, and the non-circular cleaning robot is allowed to move to the predicted position; wherein the angular velocity ω generated by the movement of the non-circular cleaning robot c May not be equal to the value 0.
[0085] 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 cleaning 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 cleaning 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 cleaning 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 cleaning 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 avoids the non-circular cleaning robot from directly colliding with the obstacle at the original driving wheel speed.
[0086] In some embodiments, Figure 3 As shown, the moving direction of the non-circular cleaning 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 cleaning robot (the plane where the robot coordinate system is located) are obtained in advance. Figure 3 It can be represented as the obstacle position point P at the lower left of the non-circular cleaning robot, where 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 cleaning robot and the obstacle position point P is parallel to the body edge of the non-circular cleaning robot (corresponding to Figure 3the left edge of the rectangular nose, where the body includes the fuselage and the nose) the intersection point C2 is marked as the alignment point C2 of the non-circular cleaning robot. Then, based on the foregoing embodiments, when the position coordinates of the center O of the body are (x0, y0), the distance (or the planar projection distance) between the obstacle position point P and the center O of the body is equal to the distance (or the planar projection distance) between the alignment point C2 and the center O of the body is ROBOT_RELA_DIST(relaθ0), and relaθ0 is the angle of the included angle C2OF0. Correspondingly, the orientation of the obstacle position point P at the first moment is the direction pointed by the arrow F2. used to represent the distance (or the planar projection distance) between the obstacle position point P and the alignment point C2. As Figure 3 shown, affected by the speed of the left drive wheel and the speed of the right drive wheel, the non-circular cleaning robot will be planned to move right forward as shown in the figure. From the first moment to the second moment when it turns right, the moving direction of the non-circular cleaning robot at the second moment is the direction pointed by the arrow F1, and the center O' of the body is the predicted position; the positive direction of the horizontal axis of the robot coordinate system at the second moment is the direction pointed by the arrow F1; at the second moment, the line connecting the center O' of the body of the non-circular cleaning robot and the obstacle position point P and the body edge of the non-circular cleaning robot (corresponding to Figure 3 the left edge of the semi-circular fuselage, where the body includes the fuselage and the nose) the intersection point C1 is marked as the alignment point C1 of the non-circular cleaning robot. Then, based on the foregoing embodiments, when the position coordinates of the center O' of the body are (x1, y1), the distance (or the planar projection distance) between the obstacle position point P and the center O' of the body is equal to the distance (or the planar projection distance) between the alignment point C1 and the center O' of the body is ROBOT_RELA_DIST(relaθ1), and relaθ1 is the angle of the included angle C1O'F1. Correspondingly, the orientation of the obstacle position point P at the first moment is the direction pointed by the arrow F3. used to represent the distance (or the planar projection distance) between the obstacle position point P and the alignment point C1. When D1 < D0, the distance between the left side of the body of the non-circular cleaning robot and the obstacle #2 is shortened during the rotation process. Therefore, the non-circular cleaning robot will predict that it will be blocked by the obstacle #2 during the right-turning process. For example, the obstacle #2 will collide with the left side of the semi-circular fuselage of the non-circular cleaning robot during the right-turning process of the non-circular cleaning robot. This collision situation will be judged before the non-circular cleaning robot starts to move from the current position O, and the non-circular cleaning robot will be prompted not to move at the original drive wheel speed to collide with the obstacle #2.
[0087] Similarly, as Figure 3As shown, the moving direction of the non-circular cleaning 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 V used to represent obstacle #3 and its two-dimensional coordinates falling into the walking plane of the non-circular cleaning robot (the plane where the robot coordinate system is located) are obtained in advance. Figure 3 It can be represented as the obstacle position point V at the upper right of the non-circular cleaning robot, where the positive direction of the horizontal 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 cleaning robot and the obstacle position point V is parallel to the body edge of the non-circular cleaning robot (corresponding to Figure 3 The intersection C4 of the right edge of the rectangular head of the non-circular cleaning robot is marked as the alignment point E1 of the non-circular cleaning 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 P2 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 included angle E1OF0. 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 cleaning robot is affected by the speed of the left driving wheel and the right driving wheel, and will be planned to move to the right front as shown in the figure, turning rightward from the first moment to the second moment. The moving direction of the non-circular cleaning 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 cleaning robot and the obstacle position point P2 is parallel to the body edge of the non-circular cleaning robot (corresponding to Figure 3 The intersection point E2 of the right edge of the semicircular head) is marked as the alignment point E2 of the non-circular cleaning 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 P2 and the body center O' is equal to The distance (or plane projection distance) between the alignment point E2 and the center of the body O' is ROBOT_RELA_DIST(relaθ1), where relaθ1 is the angle of the angle E2O'F1. Therefore, It is used to represent the distance (or planar projection distance) between the obstacle position point P and the alignment point E2. When D1 < D0, the distance between the left side of the non-circular cleaning robot body and the obstacle #3 is reduced during rotation. Therefore, the non-circular cleaning robot can predict that it will be obstructed by the obstacle #3 during the right turn. For example, the obstacle #3 will collide with the right side of the semi-circular nose of the non-circular cleaning robot during the right turn of the non-circular cleaning robot. This collision situation can be judged before the non-circular cleaning robot starts to move from the current position O, prompting the non-circular cleaning robot not to move at the original driving wheel speed to collide with the obstacle #3.
[0088] 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 as the scope described in this specification.
Claims
1. A collision prediction method for a non-circular cleaning robot, characterized in that: The collision prediction method comprises: Step A, calculating the position and 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 position and posture of the non-circular cleaning robot at the first moment; Step B, based on determining the position and posture of the non-circular cleaning robot at the first moment and the position and posture of the non-circular cleaning robot at the second moment, predicting the collision between the non-circular cleaning robot and the obstacle at one position of the non-circular cleaning robot according to the change between the first moment and the second moment 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 one position of the non-circular cleaning robot; Step C, update the obstacle position point at the new orientation of the non-circular cleaning robot obtained in advance to the obstacle position point at one orientation of the non-circular cleaning robot described in step B, and then repeat step B until all the obstacle position points at all orientations obtained in advance have executed step B to predict the collision between the non-circular cleaning robot and obstacles at various orientations.
2. The collision prediction method according to claim 1, characterized in that: The obstacle position points in all directions obtained in advance are located in a target circle with a certain radius with the body center of the non-circular cleaning robot as the center, and the maximum plane projection distance between the alignment point of the non-circular cleaning robot and the body center is less than the certain radius, and the certain radius is less than the maximum scanning radius of the distance measuring sensor installed on the non-circular cleaning robot; In step C, the obstacle position points at the new position of the non-circular cleaning robot are obstacle position points at all positions obtained in advance, which have not been subjected to step B.
3. The collision prediction method according to claim 2, characterized in that: The method for predicting the collision between the non-circular cleaning robot and an obstacle at an orientation during movement 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 cleaning robot at the predicted position and the obstacle position point in one direction of the non-circular cleaning robot is less than the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same direction of the non-circular cleaning robot, it is determined that the non-circular cleaning 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 cleaning robot at the predicted position and an obstacle position point in one orientation of the non-circular cleaning robot is greater than or equal to the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position point in the same orientation of the non-circular cleaning robot, it is determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle in that orientation during its movement.
4. The collision prediction method according to claim 3, characterized in that: If the speed of the left driving wheel of the non-circular cleaning robot and the speed of the right driving wheel of the non-circular cleaning robot are both not equal to the value 0, the non-circular cleaning robot sets the position it is expected to move to at the second moment starting from the first moment as the predicted position; the current position of the non-circular cleaning robot is the two-dimensional coordinate position occupied by the body center of the non-circular cleaning robot at the first moment, and the predicted position is the two-dimensional coordinate position occupied by the body center of the non-circular cleaning 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.
5. The collision prediction method according to claim 4, characterized in that: The method for calculating the posture of the non-circular cleaning robot at a second moment according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular 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 a first moment includes: The non-circular cleaning robot sets its real-time measured left drive wheel speed as V l , the non-circular cleaning robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular cleaning robot moves its speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular cleaning 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 cleaning 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 cleaning 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 cleaning robot at the predicted position, and θ1 is the angle indicated by the movement direction of the non-circular cleaning robot at the second moment.
6. The collision prediction method according to claim 5, characterized in that: The non-circular cleaning 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 cleaning robot.
7. The collision prediction method according to claim 6, characterized in that: The intersection of the line connecting the body center of the non-circular cleaning robot and the obstacle position point and the body edge of the non-circular cleaning robot is marked as the alignment point of the non-circular cleaning robot. The plane projection distance between the alignment point and the obstacle position point is the straight line distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular cleaning robot, so that: for the same obstacle position point, when the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes; 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 The non-circular cleaning robot is rotated by a preset angle, and the alignment point is configured to rotate by a preset angle in the opposite direction of a preset clockwise direction.
8. The collision prediction method according to claim 7, characterized in that: The coordinates of the obstacle position point in one direction of the non-circular cleaning robot are obtained in advance and recorded as the obstacle position coordinates (x p ,y p ); After the non-circular cleaning 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 cleaning robot at the current position, and the origin of the first robot coordinate system is set at the current position; After the non-circular cleaning robot determines that the coordinates of the predicted position are (x1, y1) and the angle of the moving direction indicated at the predicted position is determined to be θ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 cleaning 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.
9. The collision prediction method according to claim 8, 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 10. The collision prediction method according to claim 9, characterized in that: There is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular cleaning robot at the current position and the body center of the non-circular cleaning 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 cleaning robot at the current position and the body center of the non-circular cleaning 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 cleaning robot at the predicted position and the body center of the non-circular cleaning 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 cleaning robot at the predicted position and the body center of the non-circular cleaning 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 cleaning 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 cleaning 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.
11. The collision prediction method according to claim 10, characterized in that: The calculation method of the distance D0 between the alignment point of the non-circular cleaning robot at the current position and the coordinates of the obstacle to be avoided at the first moment is: D0 = The distance D1 between the alignment point of the non-circular cleaning robot at the predicted position and the coordinates of the obstacle to be avoided at the second moment is calculated as follows: When D1 < D0, it is determined that during the rotation of the non-circular cleaning robot starting from the current position at an angular velocity ω c if the distance between the center of the body and the position point of the obstacle in a certain direction decreases during the rotation, it is determined that there is a tendency for the non-circular cleaning robot to collide with the obstacle at the position point of the obstacle in the certain direction during the movement; When D1>D0, it is determined that the non-circular cleaning 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 there is no tendency for the non-circular cleaning robot to collide with the obstacle at the obstacle position point in the one direction during the movement.
Citation Information
Patent Citations
Robot
CN107608362A
Multi-sensor fusion based SLAM and obstacle avoidance mobile chassis
CN108710376A
Mobile robot
CN109512344A
Collision detection method and device for robot and robot
CN112621751A
Collision probability estimation device
JP2018045426A
Cited By
Collision prediction method for non-circular sweeping robot
CN119115920A
A collision prediction method for a non-circular sweeping robot
CN119115920B
