Collision prediction method for non-circular cleaning robots
By calculating the driving wheel speed and posture of the non-circular cleaning robot and combining the change in the plane projection distance of the obstacle location point, all-round collision prediction of the non-circular cleaning robot and obstacles is achieved, which solves the problem of the non-circular cleaning robot colliding with obstacles during movement and improves the obstacle avoidance effect.
Patent Information
- Application Number
- CN202310688078.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2043-06-12
AI Technical Summary
Non-circular cleaning robots are prone to colliding with obstacles during cleaning due to their large range of motion, especially during backward and rotating movements, when it is difficult to take into account obstacles in multiple directions, resulting in poor obstacle avoidance effect.
By calculating the sum and difference of the left and right driving wheel speeds of the non-circular cleaning robot and combining them with the robot's posture, its position at future moments and the risk of collision with obstacles are predicted. The obstacle position points are obtained using ranging sensors to perform comprehensive collision prediction and path planning.
It effectively avoids direct collisions between non-circular cleaning robots and obstacles during navigation, achieves flexible obstacle avoidance actions, takes into account obstacles in multiple directions, and improves the obstacle avoidance capability of the cleaning robot.
Smart Images

Figure CN119138802B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot motion control, and in particular to a collision prediction method for a non-circular 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 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 circular front and rear shape, is different from a circular sweeper. During cleaning, the sweeper has a larger movement amplitude 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] This application discloses a collision prediction method for a non-circular cleaning robot. 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: Calculate the 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 posture of the non-circular cleaning robot at the first moment; Step B: Based on the determination of the posture of the non-circular cleaning robot at the first moment and its posture at the second moment, predict the collision of the non-circular cleaning robot with an obstacle at one direction 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 direction of the non-circular cleaning robot; Step C: Update the obstacle position point at the new direction of the non-circular cleaning robot obtained in advance to the obstacle position point at one direction of the non-circular cleaning robot described in step B, and then repeat step B until all the obstacle position points at all directions obtained in advance have executed step B to predict the collision of the non-circular cleaning robot with obstacles at each direction.
[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 based on 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 direction at the second moment is closer than the distance to the obstacle in the corresponding direction at the first moment, it is confirmed that the non-circular cleaning robot is about to collide with the obstacle in the corresponding direction, and the prediction of the situation in which the non-circular cleaning robot collides with the obstacle in the corresponding direction is completed, fully considering the body structure and its positional relationship with the obstacle position point in the corresponding direction during the movement process. In an environment where obstacles are distributed in multiple isolated directions, it is determined by repeating 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 collision with obstacles in multiple directions of 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, avoiding the non-circular cleaning robot from 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] Furthermore, the previously acquired obstacle locations in all directions are located within a target circular area of a certain radius with the center of the non-circular cleaning robot as the center, the maximum planar projection distance between the alignment point of the non-circular cleaning robot and its center of the 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 the ranging sensor supports rotational scanning to obtain each obstacle in a 360-degree direction. In step C, the obstacle location points in the new direction of the non-circular cleaning robot are the obstacle location points in all the previously acquired obstacle locations that have not been subjected to step B. Thus, by executing step C, it is possible to sequentially predict whether the obstacle location points in each direction of the non-circular cleaning robot will be collided with by the non-circular cleaning robot during movement, taking into account the full range of collision prediction issues, 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, this 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] Furthermore, 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. This technical solution plans the position to be moved to at the second moment according to the expected motion trajectory or moving position generated by the left drive wheel speed and the right drive wheel speed before the non-circular cleaning robot starts moving from the first moment, that is, the predicted position. This is equivalent to calculating the center position of the non-circular cleaning robot at the second moment through the current center position of the body, which is convenient for judging the collision tendency of the non-circular cleaning robot with obstacles when moving in the current moving direction.
[0010] Furthermore, 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 moves 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:
[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 coordinate 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] Based on the speeds of the left and right driving wheels of the non-circular cleaning robot and its posture 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. This posture is used as the posture of the non-circular cleaning robot at the predicted position, and is used to assess 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 being connected by an axle, and the axle being arranged at the dividing line between the body and the head; the body shape formed by the body and the head is not circular, and the front of the head points in the direction of movement of the non-circular cleaning robot. Thus, when the movement direction of the non-circular cleaning robot is the positive direction of the horizontal axis of the robot coordinate system, the central axis of the non-circular cleaning robot can be set as the horizontal axis of the robot coordinate system, and the center of the non-circular cleaning robot is the origin of the robot coordinate system, the coordinate axis orientation of the robot coordinate system is changed by the left and right drive wheels to record the movement 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 location point and the 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 location point is the straight line distance formed by the alignment point and the obstacle location 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 The non-circular cleaning robot's alignment point is configured to rotate by a preset angle, with respect to the same obstacle location, in a direction counter to the preset clockwise direction, such that: for the same obstacle location, when the posture of the non-circular cleaning robot changes, the alignment point of the non-circular cleaning robot changes. Whenever the distance calculated between the alignment point of the non-circular cleaning robot and the obstacle location point at a certain orientation of the non-circular cleaning robot changes between two adjacent moments, this can be used to determine whether the non-circular cleaning robot has a tendency to collide with an obstacle at the corresponding orientation during movement from the first moment to the second moment.
[0018] Furthermore, the coordinates of the obstacle position point on 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 of the moving direction indicated at the current position is determined to be θ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 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 at the predicted position are (x1, y1), and determines that the angle indicated by its moving direction at the predicted position is θ1, the position coordinates of the obstacle (x1, y1) are converted into the relative coordinates based on the relative coordinate conversion formula. p ,y p ) is converted into the coordinates of the obstacle to be avoided at the second moment (relaXp1, relaYp1) in the second robot coordinate system; then the second moment coordinates of the obstacle to be avoided (relaXp1, relaYp1) are used to calculate the alignment angle relaθ1 of the obstacle to be avoided at the second moment; wherein, the positive direction of the horizontal 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. The relative coordinate transformation formula is used to obtain the position information of the obstacle to be avoided at the second moment. This 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 representing the obstacle's position) between two adjacent moments. This change in distance facilitates determining whether the non-circular cleaning robot has a tendency to collide with the obstacle during its movement from the first moment to the second moment.
[0019] Furthermore, the position coordinates of the obstacle (x p ,y p ) into the coordinates of the obstacle to be avoided at the first moment include: 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 transformation formula, the position coordinates of the obstacle (x p ,y p ) into the coordinates of the obstacle to be avoided at the second moment include: relaXp1=(x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1;
[0023] The alignment angle relaθ1 of the obstacle to be avoided at the second moment calculated using the coordinates of the obstacle to be avoided at the second moment (relaXp1, relaYp1) is
[0024]
[0025] Therefore, based on 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 achieve 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 use the mapping relationship to enumerate the distance information from the alignment point to the body center at 360 angular pointings with the body center of the non-circular cleaning robot as the center of the circle, 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 call 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, the distance between the body center and the obstacle position point in a certain direction decreases, then it is determined that there is a tendency for the non-circular 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, the distance between the body center and the obstacle position point in a certain direction increases, then it is determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle at the obstacle position point in the certain direction during the movement.
[0028] In summary, the above-mentioned technical solution 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 of triggering 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 for preventing 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, #2, and #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 This is another embodiment of the present application, which 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 This is a flow chart 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 provided below for further explanation. In the following description, for the purpose of illustration rather than limitation, specific details such as specific system structures and technologies are provided to provide a thorough understanding of the embodiments of the present application. However, it will 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, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0034] Generally speaking, robots that perform sweeping, vacuuming, and mopping tasks are also collectively classified as cleaning robots. Currently, cleaning robots are roughly divided into round cleaning robots, square cleaning robots, and D-shaped cleaning robots. The square cleaning robots are generally rectangular in shape, while the D-shaped cleaning robots are a combination of a circle and a rectangle. Both square cleaning robots and D-shaped cleaning robots 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 left and right sides, resulting in the non-circular cleaning robots directly colliding 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 figures, 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, this application needs to detect whether the body edges will collide with obstacles in the corresponding directions in a given direction based on distance information.
[0035] As an embodiment, a collision prediction method for a non-circular cleaning robot is disclosed. The collision prediction method is performed by a non-circular cleaning robot equipped with a ranging sensor. The non-circular cleaning robot includes a cleaning robot that is not circular in shape and can also take into account the mopping function. It is suitable for moving on the horizontal ground in an indoor environment, positioning, and constructing a grid map to facilitate navigation path planning. The cleaning robot collects three-dimensional point cloud information in multiple directions within its walking plane in real time or pre-stores environmental posture information in multiple directions within the walking plane of the cleaning robot. Figure 4 It can be seen that the collision prediction method includes:
[0036] Step A: Calculate the posture of the non-circular cleaning robot at the second moment based on the sum of the left drive wheel speed and the right drive wheel speed of the non-circular cleaning robot, the absolute value of the difference between the left drive wheel speed and the right drive wheel speed of the non-circular cleaning robot, and the posture of the non-circular cleaning robot at the first moment. This is the posture of the non-circular cleaning robot at the second moment predicted at its current position, and then execute step B.
[0037] In step A, the non-circular cleaning robot is still at its 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 left driving wheel speed and the right driving wheel speed of the non-circular cleaning robot (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 the determination of the posture of the non-circular cleaning robot at the first moment and its posture at the second moment, 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 in one direction of the non-circular cleaning robot between the first moment and the second moment (referring to the change in the distance value), predict the collision of the non-circular cleaning robot with the obstacle in this direction, and then execute step C. The obstacle position point in one direction can be a position point obtained by pre-fitting, or it can be an obstacle contour point selected closest to the center of the body, which is used to represent the obstacle in one direction (that is, one position point represents one obstacle). They are all in the same walking plane, that is, 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 direction of the non-circular cleaning robot can be calculated, that is, the projection distance between the two three-dimensional points in the same walking plane; by judging the size relationship between the plane projection distances between the alignment point of the non-circular cleaning robot and the obstacle position point in one direction 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 direction of the non-circular cleaning robot between two adjacent moments can be obtained. In step B, the 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 the 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 the 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 drive wheel speed and the right drive wheel speed. 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 of the non-circular cleaning robot. This allows the non-circular cleaning robot to 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. Taking into account 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 an obstacle position point in the same direction (i.e., an obstacle position point), the obstacle position point in the new direction (representing the previously acquired obstacle position point in one direction of the non-circular cleaning robot that has not executed step B) is updated to the obstacle position point in one direction of the non-circular cleaning robot that has most 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 drive wheel speed, until all the previously acquired obstacle position points in the directions are traversed, that is, all the previously determined obstacle position points in the directions have executed steps B and C. Thus, by repeatedly executing steps B and C, the non-circular cleaning robot can take into account the collision problem of obstacles in multiple directions during the navigation process.
[0040] Specifically, the change in the distance between the obstacle position points in various directions 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. 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 in various directions 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 in various directions is less than the distance between the alignment point of the non-circular cleaning robot at the current position and the obstacle position points in the corresponding direction, it is determined that the non-circular cleaning robot has a tendency to collide with the obstacle in the corresponding direction during the movement along the current moving direction, and it is necessary to adjust the posture at the first moment in advance to continue moving from the current position to avoid the obstacle position points in various directions.
[0041] It should be noted that the intersection of the line connecting the center of the non-circular cleaning robot and the obstacle location points at each 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. Since the non-circular cleaning robot is not circular in shape, the distance from the body edge to the body center is not fixed. Therefore, the distance from the alignment point formed at each angle of the non-circular cleaning robot 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 a first moment to a second moment, 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 obstacle location point in one 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, the distance between the alignment point of the non-circular cleaning robot and the obstacle location points in each orientation 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 and based on the change, it is determined 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 based on 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 direction at the second moment is closer than the distance to the obstacle in the corresponding direction at the first moment, it is confirmed that the non-circular cleaning robot is about to collide with the obstacle in the corresponding direction, and the prediction of the situation in which the non-circular cleaning robot collides with the obstacle in the corresponding direction is completed, fully considering the body structure and its positional relationship with the obstacle position point in the corresponding direction during the movement process. In an environment where obstacles are distributed in multiple isolated directions, it is determined by repeating 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 collision with obstacles in multiple directions of 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, avoiding the non-circular cleaning robot from 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 noted that if a collision trend with an obstacle in a corresponding orientation is determined, 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 location point in one orientation of the non-circular cleaning robot is directly used as a reasonable obstacle avoidance distance in the corresponding orientation to prevent the non-circular cleaning robot from directly colliding with the obstacle in the corresponding orientation. If a collision trend with an obstacle in the corresponding orientation is determined to be absent, 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 location point in one orientation of the non-circular cleaning robot is directly used as a reasonable obstacle avoidance distance in the corresponding orientation. The obstacle avoidance distance is the safe distance between the center of the non-circular cleaning robot and the obstacle location point in one orientation. The non-circular cleaning robot maintains this safe distance during movement, which can reserve adjustment space for the corresponding orientation of the robot, overcoming the problem of directly colliding with the obstacle in the corresponding orientation due to insufficient adjustment space in the corresponding orientation. Therefore, it can ensure that the robot will not be hindered by obstacles during movement, and at least can move along the edge of the obstacle or away from the obstacle.
[0044] In the above embodiment, the obstacle position points in all directions obtained in advance are located in a target circular area with a certain radius with the body center of the non-circular cleaning robot as the center of the circle, and 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 raster map; the ranging sensor supports rotational scanning to obtain various obstacles in a 360-degree direction; in step C, the obstacle position point in the new direction of the non-circular cleaning robot is the obstacle position point in all directions obtained in advance, which has not executed step B, wherein the obstacle position point in the new direction is the point cloud position information representing the obstacle in the new direction relative to the obstacle position point in one direction of the non-circular cleaning robot that has recently executed step B or the obstacle position point that has already executed step B. 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 points on 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 is located within the target circle and is scanned by the ranging sensor (such as a laser radar) equipped with the non-circular cleaning robot. It is located within the walking plane of the non-circular cleaning robot. The walking plane of the non-circular cleaning robot is considered to be Figure 1 The YOX coordinate system is shown in the plane. Obstacle #1, Obstacle #2, and Obstacle #3 are considered to be three isolated obstacles located at different positions of the non-circular cleaning robot. Steps B to C are required to predict whether the non-circular cleaning robot will collide 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 direction 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 direction 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 direction 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 direction of the non-circular cleaning robot can be represented by a laser point used to represent the obstacle position in that direction, 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 in one direction of the non-circular cleaning robot is the plane projection distance between the alignment point and the obstacle position point used to represent the direction, 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 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, 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 direction 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 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 that direction during its movement. It is also determined that the non-circular cleaning robot has a tendency to collide with the obstacle in the corresponding direction during its movement along the current moving direction to the second moment. The position point occupied by the obstacle in the corresponding direction is detected in advance. In some embodiments, it is predicted that the non-circular 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 direction 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 direction 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 direction during its movement, and it is also determined that there is no tendency for the non-circular cleaning robot to collide with the obstacle in the corresponding direction during its movement along the current moving direction to the second moment. The position point occupied by the obstacle in the corresponding direction is detected in advance, and in some embodiments, it is predicted that the non-circular cleaning robot will not collide with the obstacle 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 the navigation movement or due to erroneous triggering of the 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, 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 plans the position to be moved to at the second moment according to the expected motion trajectory or moving position generated by the left drive wheel speed and the right drive wheel speed before the non-circular cleaning robot starts moving from the first moment, that is, the predicted position. This is equivalent to calculating the center position of the non-circular cleaning robot at the second moment through the current center position of the body, which is convenient for judging the collision tendency of the non-circular cleaning robot with obstacles when moving in the current moving direction.
[0052] It should be noted that the current position of the non-circular cleaning robot is the position occupied by the center of the non-circular cleaning robot at the first moment, and the predicted position is the position occupied by the 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, preferably 200ms, but does not represent the actual movement 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 an obstacle during the movement 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 movement direction of the non-circular cleaning robot at the first moment, and is recorded as the current movement direction of the non-circular cleaning robot. It can be measured in real time by a 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 movement direction of the non-circular cleaning robot at the second moment, both of which are calculated based on 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 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 posture of the non-circular cleaning robot at the first moment includes: the non-circular cleaning robot uses an odometer to measure the travel distance of the left driving wheel and the travel 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 is 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 passes through the center of the body of the non-circular cleaning robot, and the left driving wheel and the right driving wheel are respectively installed on the left and right sides of the non-circular cleaning robot. 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 its current position to (x0, y0), and also sets the angle indicated by its moving direction at the first moment to θ0, forming the posture of the non-circular 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] Wherein, the movement planning time t is the time interval between the second moment and the first moment; (x1, y1) are the coordinates of the predicted position, and θ1 is the angle indicated by the non-circular cleaning robot's movement direction at the second moment. Based on the speeds of the non-circular cleaning robot's left and right drive wheels and its position at the first moment, the non-circular cleaning robot's position at the second moment is calculated before the non-circular cleaning robot actually moves. This position is used to assess its collision risk 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 an axle, and the 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 central body is semicircular and the nose is rectangular; wherein the front of the nose points in the direction of movement of the non-circular cleaning robot. The two symmetrically arranged wheels are respectively a left drive wheel and a right drive wheel, and the non-circular cleaning robot moves via the left drive wheel and the right drive wheel; when it is determined that the movement direction of the non-circular cleaning robot is the positive direction of the horizontal axis of the robot coordinate system, the central axis of the non-circular cleaning robot can be set as the horizontal axis of the robot coordinate system, and the 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 drive wheel and the right drive wheel to record the movement direction information of the non-circular cleaning robot in real time.
[0062] In this embodiment, the body center of the non-circular cleaning robot can 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, 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 direction of movement of the robot. 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 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 ω cThe non-circular cleaning robot's alignment point is configured to rotate by a preset angle, with respect to the same obstacle location point, in a direction opposite to the preset clockwise direction. In this embodiment, the intersection of a line connecting the center of the non-circular cleaning robot, the obstacle location point in one orientation of the non-circular cleaning robot, and the edge of the non-circular cleaning robot's body 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 counterclockwise by a preset angle so that the alignment point of the non-circular cleaning robot changes when the posture of the non-circular cleaning robot changes.
[0065] Assume that a 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 over time, and the center of the non-circular cleaning robot also changes over time. This drives the alignment point of the non-circular cleaning robot to change over time, especially when the laser point used to represent the position of an obstacle in the same orientation remains unchanged. The alignment point of the non-circular cleaning robot changes as the posture of the non-circular cleaning robot changes. Therefore, whenever the distance between the alignment point of the non-circular cleaning robot and the position point of an obstacle in one orientation of the non-circular cleaning robot is calculated, it changes between two adjacent moments. This 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.
[0066] As an embodiment, the two-dimensional plane coordinates (x p ,y p ), which can be understood as pre-acquiring 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 of the moving direction indicated at the current position is determined to be θ0, the position coordinates of the obstacle (x p ,y p ) is converted into relative coordinates in the first robot coordinate system, recorded as the first moment coordinates of the obstacle to be avoided (relaXp0, relaYp0), but the actual obstacle it represents has not changed in posture; the origin of the first robot coordinate system is the current position, that is, the position occupied by the center of the body 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 ) is represented by the angle between the obstacle position represented by ) and the positive direction of the horizontal coordinate 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 express the deflection angle between the alignment point of the non-circular cleaning robot at the current position and the line connecting its body center 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 (used to represent the laser point of the obstacle position), and then calculate the deflection angle between the alignment point of the non-circular cleaning robot at the current position and the line connecting its body center relative to the current moving direction of the non-circular cleaning robot.
[0067] On the basis of the above embodiment, after calculating 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 undergoes a posture change relative to the robot coordinate system of the non-circular cleaning robot at the current position, corresponding to the first robot coordinate system undergoing a rotation transformation and a translation transformation to obtain a second robot coordinate system. 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 a corresponding rotation transformation and a translation transformation as the posture of the non-circular cleaning robot changes. Specifically, the origin of the first robot coordinate system (represented by the body center of the non-circular cleaning robot) undergoes a corresponding rotation transformation and a 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 second moment coordinates of the obstacle to be avoided (relaXp1, relaYp1) are used to calculate the angle relaθ1 between the position of the obstacle where it is located or the position of the obstacle represented by it and the positive direction of the horizontal axis of the second robot coordinate system, recorded as the alignment angle of the obstacle to be avoided at the second moment, and expressed as The angle between the alignment point of the non-circular cleaning robot at the predicted position and the line connecting the center of its body and the moving direction of the non-circular cleaning robot at the second moment is represented, or it can be understood as the orientation of the obstacle to be avoided at the second moment, recorded as the alignment angle relaθ1 at the moment of the obstacle to be avoided, to represent the angle between the alignment point of the non-circular cleaning robot at the predicted position and the line connecting the center of its body and 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. The relative coordinate transformation formula is then used to obtain the position information of the obstacle to be avoided at the second moment. This information is then 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 representing the obstacle's position) between two adjacent moments. This change in distance facilitates determining whether the non-circular cleaning robot has a tendency to collide with the obstacle during its movement from the first moment to the second moment.
[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 include: 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 transformation formula, the position coordinates of the obstacle (x p ,y p ) into the coordinates of the obstacle to be avoided at the second moment include: relaXp1=(x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1.
[0072] The alignment angle relaθ1 of the obstacle to be avoided at the second moment calculated using the coordinates of the obstacle to be avoided at the second moment (relaXp1, relaYp1) is
[0073]
[0074] Therefore, based on 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 achieve 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 center O of the body 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, which corresponds 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 alignment angle relaθ0 of the obstacle to be avoided at the first moment, and by the 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 changed robot coordinate system (such as 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 preset 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 of the circle. 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, for example, 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 first moment coordinates of the obstacle to be avoided is calculated as follows: The distance between the obstacle position point in one direction and the edge of the body of the non-circular cleaning robot at the current position is formed.
[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 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 judged that D1 < D0, it is determined that during the process of the non-circular cleaning robot rotating at an angular velocity ω c from the current position, the distance between the center of the body and the obstacle position point in one direction decreases. The non-circular cleaning robot gradually approaches an obstacle in one direction during the movement at the left driving wheel speed V l and the right driving 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 driving wheel speed V l and / or the right driving wheel speed V r ; if the left driving wheel speed V l is greater than the right driving wheel speed V r , then adjust the difference between the left driving wheel speed V l and the right driving wheel speed V r to be less than the value 0. It can be to adjust the left driving wheel speed V l to be less than the right driving 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 driving wheel speed V l is less than the right driving wheel speed V r , then adjust the difference between the left driving wheel speed V l and the right driving wheel speed V r to be greater than the value 0. It can be to adjust the left driving wheel speed V l to be greater than the right driving 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 driving wheels to avoid the obstacle in the corresponding direction in a timely manner.
[0083] The adjustment methods for the left driving wheel speed V l and the right driving 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 it is determined that 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 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 embodiment 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 of triggering 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 for preventing 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, as 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 the obstacle #2 and its two-dimensional coordinates falling on 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, wherein 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 P is parallel to the body edge of the non-circular cleaning robot (corresponding to Figure 3At the left edge of the rectangular head, where the body includes the fuselage and the head), the intersection point C2 is marked as the alignment point C2 of the non-circular cleaning robot. Then, based on the foregoing embodiment, when the position coordinates of the body center O are (x0, y0), the distance (or planar projection distance) between the obstacle position point P and the body center O is equal to The distance (or planar projection distance) between the alignment point C2 and the body center O is ROBOT_RELA_DIST(relaθ0), where 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 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 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 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 pointed by 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 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 head), the intersection point C1 is marked as the alignment point C1 of the non-circular cleaning robot. Then, based on the foregoing embodiment, when the position coordinates of the body center O' are (x1, y1), the distance (or planar projection distance) between the obstacle position point P and the body center O' is equal to The distance (or planar projection distance) between the alignment point C1 and the body center O' is ROBOT_RELA_DIST(relaθ1), where 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 planar projection distance) between the obstacle position point P and the alignment point C1. When D1 < D0, the distance between the left side of the non-circular cleaning robot's fuselage 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 detected 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 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 the obstacle #3 and its two-dimensional coordinates falling on 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 on the upper right of the non-circular cleaning robot, wherein 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 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. From the first moment to the second moment, the movement 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 aligned with the body edge of the non-circular cleaning robot (corresponding to Figure 3 The intersection E2 of the obstacle position point P2 and 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 body center O' is ROBOT_RELA_DIST(relaθ1), relaθ1 is the angle E2O'F1, so, 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 determined before the non-circular cleaning robot starts moving from the current position O, prompting the non-circular cleaning robot not to move at the original driving wheel speed and 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 within 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 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 posture of the non-circular cleaning robot at the first moment; Step B: Based on the determination of 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, predict the collision between the non-circular cleaning robot and the obstacle at one direction 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; 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; 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 positions in all directions obtained in advance are located within a target circular area of a certain radius with the 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 center of its body 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; In step C, the obstacle position point at the new position of the non-circular cleaning robot is an obstacle position point at which step B has not been performed among the obstacle position points at all positions obtained in advance.
3. The collision prediction method according to claim 2, characterized in that: The method for predicting the collision of the non-circular cleaning robot with an obstacle in one direction during 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 direction 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 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 that direction during 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 one direction 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 direction 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 direction 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 a value of 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 of the body center of the non-circular cleaning robot at the first moment, and the predicted position is the two-dimensional coordinate position of 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 include 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 to , the non-circular cleaning robot sets its real-time measured right driving wheel speed to ; Then, the non-circular cleaning robot moves its speed Set equal to ; At the same time, the angular velocity generated by moving the non-circular cleaning robot 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 ; The non-circular cleaning robot sets the coordinates of the current position to ( ), the non-circular cleaning robot also sets the angle indicated by its moving direction at the first moment to ; Then the non-circular cleaning robot is based on the moving speed , angular velocity 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: ; ; ; Wherein, the movement planning time t is the time interval between the second moment and the first moment; ( ) is the coordinate of the non-circular cleaning robot at the predicted position, is the angle indicated by the moving 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 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 of The alignment point of the non-circular cleaning robot 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: Obtain the coordinates of the obstacle position point in one direction of the non-circular cleaning robot in advance, and record it as the obstacle position coordinates ( ); The coordinates of the current position of the non-circular cleaning robot are determined as ( ), and the angle indicated by its moving direction at the current position is determined to be Then, the position coordinates of the obstacle ( ) is converted into the first moment coordinates of the obstacle to be avoided in the first robot coordinate system ( ); Then use the first moment coordinates of the obstacle to be avoided ( ) Calculate the alignment angle of the obstacle to be avoided at the first moment ; 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; The coordinates of the predicted position of the non-circular cleaning robot are ( ), and the angle indicated by its moving direction at the predicted position is determined to be Then, the position coordinates of the obstacle ( ) is converted into the coordinates of the obstacle to be avoided at the second moment in the second robot coordinate system ( ); Then use the coordinates of the obstacle to be avoided at the second moment ( ) Calculate the alignment angle of the obstacle to be avoided at the second moment ; 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; in,( )、( )as well as( ) 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 position coordinates of the obstacle ( ) into the coordinates of the obstacle to be avoided at the first moment include: ; ; Using the first moment coordinates of the obstacle to be avoided ( ) Calculate the alignment angle of the obstacle to be avoided at the first moment yes Based on the relative coordinate conversion formula, the position coordinates of the obstacle ( ) into the coordinates of the obstacle to be avoided at the second moment include: ; ; Using the coordinates of the obstacle to be avoided at the second moment ( ) The calculated alignment angle of the obstacle to be avoided at the second moment yes 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 calculated using ROBOT_RELA_DIST( )express; 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 calculated using ROBOT_RELA_DIST( )express; 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, which 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 distance between the alignment point of the non-circular cleaning robot at its current position and the first moment coordinates of the obstacle to be avoided The calculation method is: ; 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 The calculation method is: ; when When the non-circular cleaning robot starts from the current position, it is determined that the angular velocity During the rotation process, if the distance between the center of the body and the obstacle position point in one direction decreases, it is determined that the non-circular cleaning robot has a tendency to collide with the obstacle at the obstacle position point in the one direction during the movement; when When the non-circular cleaning robot starts from the current position, it is determined that the angular velocity During the rotation process, if the distance between the center of the body and the obstacle position point in one direction increases, it is determined that the non-circular cleaning robot has no tendency to collide with the obstacle at the obstacle position point in the one direction during movement.
Citation Information
Patent Citations
Robot
CN107608362A
Multi-sensor fusion based SLAM and obstacle avoidance mobile chassis
CN108710376A