A laser obstacle avoidance control method for non-circular sweepers

Through lidar scanning and drive wheel speed adjustment, the non-circular sweeping robot can predict the location of obstacles in advance and plan obstacle avoidance paths, solving the problem of non-circular sweeping robots failing to avoid obstacles in a timely manner and improving cleaning efficiency.

CN119112057BActive Publication Date: 2025-10-03AMICRO SEMICONDUCTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310687717.7
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

Technical Problem

When existing non-circular sweeping robots encounter irregular-shaped obstacles, their obstacle avoidance actions are not timely, causing the edges of the robot body to easily collide with the obstacles, affecting the cleaning efficiency.

Method used

The laser radar is used to rotate and scan to obtain effective laser point clouds. The position of obstacles is predicted based on the position relationship and distance between the laser points. The obstacle avoidance path is planned in advance by adjusting the driving wheel speed and the robot's posture to avoid collisions.

Benefits of technology

The robot vacuum cleaner can avoid obstacles in a timely and accurate manner when encountering obstacles, thus improving cleaning efficiency and avoiding collisions between the edges of the robot vacuum cleaner and obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119112057B_ABST
    Figure CN119112057B_ABST
Patent Text Reader

Abstract

The present application discloses a laser obstacle avoidance control method for a non-circular sweeping robot, comprising: step 1, the non-circular sweeping robot uses a laser radar to rotate and scan to obtain an effective laser point cloud, and then determines a laser point used to represent the position of an obstacle in the effective laser point cloud based on the positional relationship between the laser points and the distance between the laser point and the body center of the non-circular sweeping robot; step 2, calculating the posture of the non-circular sweeping robot at the next moment based on the left driving wheel speed, the right driving wheel speed and the posture of the non-circular sweeping robot at the current moment; step 3, obtaining the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position between two adjacent moments, and then determining, based on the change, whether the non-circular sweeping robot has a tendency to collide with an obstacle during movement, and then the non-circular sweeping robot adjusts its posture to avoid the obstacle position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Currently, most sweepers in cleaning scenarios have circular bodies. The motion planning of circular structures only needs to consider obstacle avoidance of obstacles on the front side of the body. For non-circular sweepers in cleaning scenarios, for example, a D-type sweeping robot, as a sweeping robot with a circular front and rear shape, is different from a circular sweeping robot. The movement amplitude during cleaning is large, and obstacle avoidance of surrounding obstacles must be considered in both backward and rotation movements. Generally, when a D-type sweeping robot encounters an obstacle with an irregular shape, it will turn immediately. At this time, there is a speed difference on both sides of the body. The side protrusions of the D-type sweeping robot (such as the protrusion structure at the junction of the front edge and the right edge of the body) are too close to the obstacle and are prone to collision. The robot's obstacle avoidance triggering action is not timely, resulting in the D-type sweeping robot being unable to effectively implement obstacle avoidance triggering in a single direction of the body edge, affecting the cleaning efficiency of the sweeping robot. Summary of the Invention

[0003] This application discloses a laser obstacle avoidance control method for a non-circular sweeper. The specific technical solution is as follows:

[0004] A laser obstacle avoidance control method for a non-circular sweeping robot, the laser obstacle avoidance control method comprising: step 1, the non-circular sweeping robot uses a laser radar to rotate and scan to obtain an effective laser point cloud, and then determines a laser point used to represent the position of an obstacle in the effective laser point cloud according to the positional relationship between the laser points and the distance between the laser point and the body center of the non-circular sweeping robot; step 2, according to the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot and the posture of the non-circular sweeping robot at the current moment, calculates the posture of the non-circular sweeping robot at the next moment; step 3, obtains the alignment point of the non-circular sweeping robot and the distance between the alignment point ... The distance between the laser points at the obstacle position changes between two adjacent moments, and then based on the change, it is determined that the non-circular sweeping robot has a tendency to collide with the obstacle in the process of moving from the current moment to the next moment, and then the non-circular sweeping robot adjusts its posture to avoid the obstacle position; wherein, the intersection of the line connecting the center of the non-circular sweeping robot and the laser point used to represent the obstacle position and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot, so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes; the two adjacent moments include the current moment and the next moment. In summary, before controlling the non-circular sweeping robot to start obstacle avoidance, the present technical solution uses the laser radar to rotate and scan multiple laser points in multiple directions, and then determines the obstacle in the corresponding direction based on the positional relationship between the laser points and the distance relationship between the laser point in the obstacle in the corresponding direction and the center of the body, without the need to add an additional collision sensor to the body. After determining the obstacles in various directions based on the positional relationship of the laser points scanned by the laser radar, the non-circular sweeping robot also predicts the movement trend of the non-circular sweeping robot and the position it can move to at the corresponding moment based on the speed of the left and right driving wheels. Before the non-circular sweeping robot actually moves, when it is calculated that the distance to the obstacle in the corresponding direction at the next moment is closer than the distance to the obstacle in the corresponding direction at the current moment, it is confirmed that the non-circular sweeping robot is about to collide with the obstacle in the corresponding direction, and then the non-circular sweeping robot adjusts its posture, so that the obstacle avoidance action of the non-circular sweeping robot is timely and accurate, and a reasonable obstacle avoidance distance can be planned in advance based on the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position in the corresponding direction and the changes between two adjacent moments.

[0005] Furthermore, in the valid laser point cloud obtained in step 1, the plane projection distance between two laser points at different locations is calculated, where the plane projection distance between two laser points at different locations is the distance between the two laser points within the walking plane of the non-circular sweeping robot; when the plane projection distance between the two laser points is less than a preset projection distance, it is determined that the two laser points are located at the same obstacle. Thus, obstacles located in different directions of the non-circular sweeping robot are sequentially traversed. After sequentially traversing each laser point on the edge of the same obstacle, point clouds located at different obstacles can be divided.

[0006] Furthermore, the step 1 specifically includes: step 11, controlling the laser radar to emit a laser line, rotating and scanning a laser point cloud, and then screening out the laser points in the target circle with the center of the body as the center in the laser point cloud to form a valid laser point cloud; then traversing each laser point in the valid laser point cloud in turn; step 12, in the valid laser point cloud, each time a laser point is traversed, calculating the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed; step 13, judging whether the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is less than a preset projection distance, and if so, determining the currently traversed laser point. The laser point and an adjacent laser point that has not been traversed are located in the same obstacle; otherwise, it is determined that the currently traversed laser point and an adjacent laser point that has not been traversed are located in different obstacles. Step 14: after determining that the currently traversed laser point and an adjacent laser point that has not been traversed are both located in the same obstacle or in different obstacles, an adjacent laser point that has not been traversed is updated to the currently traversed laser point, and then steps 12 and 13 are repeated until all laser points in the valid laser point cloud are calculated and judged, and the laser points located in different obstacles are determined to be divided from the valid laser point cloud.

[0007] Furthermore, in step 14, among the laser points located on the same obstacle, a laser point closest to the center of the body is selected as the laser point used to represent the position of the obstacle, and the two-dimensional plane coordinates of the laser point used to represent the position of the obstacle are set as the position coordinates of the obstacle where it is located; then the position coordinates of each obstacle set are filled into the storage queue in turn, so that the non-circular sweeping robot can determine the position of each obstacle in the target circular area by traversing the storage queue.

[0008] In summary, by repeatedly executing step 12 and step 13 until all laser points in the valid laser point cloud are calculated and judged, it is determined that all laser points in the valid laser point cloud are traversed. Therefore, the laser points falling into different obstacles can be divided from the valid laser point cloud, that is, the point cloud information of each obstacle distributed in the target circle is obtained, so that the obstacle occupation area at different directions of the non-circular sweeping robot can be distinguished in the effective laser point cloud scanned by the laser radar according to the positional relationship between the two adjacent laser points.

[0009] Furthermore, in step 2, if the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are not equal to the value 0, the non-circular sweeping robot sets the position to which it moves to at the next moment as the target navigation position, but the non-circular sweeping robot does not start moving towards the target navigation position; wherein, the current position of the non-circular sweeping robot is the position occupied by the body center of the non-circular sweeping robot at the current moment, and the target navigation position is the position occupied by the body center of the non-circular sweeping robot at the next moment; the time interval between the next moment and the current moment is pre-set; the posture of the non-circular sweeping robot at the current position includes the coordinates of the current position and the moving direction of the non-circular sweeping robot at the current moment; the posture of the non-circular sweeping robot at the target navigation position includes the coordinates of the target navigation position and the moving direction of the non-circular sweeping robot at the next moment. This technical solution plans the position to be moved to at the next moment, i.e., the target navigation position, according to the expected motion trajectory or moving position generated by the left driving wheel speed and the right driving wheel speed before the non-circular sweeping robot starts to move from the current moment. This is equivalent to calculating the body center position of the non-circular sweeping robot at the next moment through the current body center position, which is convenient for judging the collision tendency of the non-circular sweeping robot with obstacles when moving in the current moving direction.

[0010] Furthermore, if the speed of the left driving wheel of the non-circular cleaning robot is not equal to the speed of the right driving wheel of the non-circular cleaning robot, the non-circular cleaning robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate by a preset angle. For the same obstacle position, the alignment point of the non-circular sweeping robot is configured to rotate by a preset angle in the reverse direction of a preset clockwise direction, so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

[0011] Furthermore, in step 3, the method for determining, based on the change, whether the non-circular sweeping robot has a tendency to collide with an obstacle in the process of moving from the current moment to the next moment includes: if the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point used to represent the obstacle position is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the laser point used to represent the obstacle position, determining that the non-circular sweeping robot has a tendency to collide with the corresponding obstacle in the process of moving along the current moving direction to the next moment; wherein, the plane projection distance between the alignment point and the laser point is the distance formed by the alignment point and the laser point in the walking plane of the non-circular sweeping robot, and the corresponding obstacle is an obstacle represented by the laser point used to represent the obstacle position. Therefore, this embodiment can predict the possibility of collision between the non-circular sweeping robot and obstacles in the direction during its movement based on the change in the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point used to represent the obstacle position between two adjacent moments, fully considering the body structure and its positional relationship with obstacles at corresponding directions during its movement, and improving the accuracy of collision prediction in an environment where obstacles are distributed in multiple directions that are isolated from each other. Furthermore, the non-circular sweeping robot can perform obstacle collision prediction in various directions, avoiding the non-circular sweeping 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 movements, effectively taking into account the collision problems caused by obstacles in various directions.

[0012] Furthermore, by executing step 1, the two-dimensional coordinates of the laser point representing the position of the obstacle falling into the walking plane of the non-circular sweeping robot are obtained, which are recorded as the position coordinates of the obstacle (x p ,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0), and the angle indicated by the moving direction 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 robot coordinate system, recorded as the current coordinates of the obstacle to be avoided (relaXp0, relaYp0); where the origin of the robot coordinate system is the current position. Then, in the robot coordinate system, the angle relaθ0 formed by the obstacle's position relative to the positive direction of the robot coordinate system's abscissa is calculated using the current coordinates of the obstacle to be avoided (relaXp0, relaYp0), recorded as the current alignment angle of the obstacle to be avoided. The relative coordinate conversion formula thus obtains the current pose information of the obstacle to be avoided, which is used to calculate the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point representing the obstacle's position).

[0013] Furthermore, after executing step 2 to obtain the coordinates of the target navigation position as (x1, y1) and the angle θ1 indicated by the moving direction of the non-circular sweeping robot at the next moment, the robot coordinate system of the non-circular sweeping robot at the target navigation position changes relative to the robot coordinate system of the non-circular sweeping robot at the current position, and the robot coordinate system of the non-circular sweeping robot at the target navigation position is set to the converted robot coordinate system, wherein the origin of the converted robot coordinate system is the target navigation position; based on the relative coordinate conversion formula, the position coordinates of the obstacle (x1, y1) are converted to the original coordinate system. p ,y p ) is converted into relative coordinates in the converted robot coordinate system, recorded as the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1); then, in the converted robot coordinate system, the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1) are used to calculate the angle realθ1 formed by the obstacle position represented by it relative to the positive direction of the horizontal axis of the converted robot coordinate system, which is recorded as the alignment angle of the obstacle to be avoided at the next moment. The relative coordinate conversion formula is used to obtain the position information of the obstacle to be avoided at the next moment, which is used to compare the change in the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (used to represent the laser point of the obstacle position) between two adjacent moments, so as to judge whether the non-circular sweeping robot has a tendency to collide with the obstacle during the process of moving from the current moment to the next moment based on the change in this distance.

[0014] Furthermore, there is a preset mapping relationship between the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position and the alignment angle of the obstacle to be avoided at the current moment; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the body center of the non-circular sweeping robot at the current position is represented by ROBOT_RELA_DIST(relaθ0); the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the body center of the non-circular sweeping robot at the target navigation position and the obstacle to be avoided is represented by ROBOT_RELA_DIST(relaθ0). There is a preset mapping relationship between the alignment angle at the next moment of the object; wherein, the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the body center of the non-circular sweeping robot at the target navigation position is expressed by ROBOT_RELA_DIST(relaθ1); the preset mapping relationship is used to express the functional relationship between the plane projection distance between the alignment point and the body center of the non-circular sweeping robot in the direction of an alignment angle and the same alignment angle; the plane projection distance between the alignment point and the body center is the distance formed by the alignment point and the body center in the walking plane of the non-circular sweeping robot.

[0015] Furthermore, in step 3, the method for obtaining the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of the obstacle between two adjacent moments includes: the distance D0 between the alignment point at the current position of the non-circular sweeping robot and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The distance D1 between the alignment point of the non-circular sweeping robot at the target navigation position and the coordinates of the obstacle to be avoided at the next moment is calculated as follows: When D1 < D0, it is determined that the plane projection distance between the center of the non-circular sweeping robot and the laser point used to represent the obstacle position decreases during the movement from the current moment to the next moment. Therefore, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle during the movement from the current moment to the next moment.

[0016] Furthermore, after determining in step 3 that the non-circular sweeping robot has a tendency to collide with an obstacle during the process of moving from the current moment to the next moment, the method for adjusting the posture of the non-circular sweeping robot includes: determining by executing step 3 that D1 < D0, if the left driving wheel speed V l Greater than the right drive wheel speed V r , then the left driving wheel speed V l and right drive wheel speed V rThe difference is adjusted to be less than 0, so that the non-circular sweeping robot does not collide with the obstacle after moving to the next moment, and the non-circular sweeping robot does not move to the target navigation position, and then the laser point used to represent the new obstacle position is updated to the laser point used to represent the obstacle position, and then steps 1 to 3 are repeated to avoid the new obstacle; by executing step 3 to determine that D1 < D0, if the left driving wheel speed V l Less than the right drive wheel speed V r , then the left driving wheel speed V l and right drive wheel speed V r The difference is adjusted to be greater than 0, so that the non-circular sweeping robot does not collide with the obstacle after moving to the next moment, and the non-circular sweeping robot does not move to the target navigation position; then the laser point used to represent a new obstacle position is updated to the laser point used to represent the obstacle position, and steps 1 to 3 are repeated to avoid the new obstacle.

[0017] In summary, the aforementioned technical solution realizes effective obstacle avoidance triggering operation in a single direction by considering the body structure and the posture state calculated in advance. It can calculate the distance between the alignment point of the non-circular sweeping robot at the target navigation position and the coordinates of the obstacle to be avoided at the next moment before moving, and judge whether the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position in a single direction decreases or increases between two adjacent moments. Thus, obstacle avoidance is accurately triggered while reserving the distance between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the current moment (equivalent to the safety distance) relative to the obstacle in the corresponding direction. Then, each time obstacle avoidance is triggered, steps 1 to 3 are repeated, realizing the obstacle avoidance triggering operation in the old direction while taking into account the problem of collision with the obstacle in the new direction, thereby effectively taking into account the collision problem caused by obstacles in various directions. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 This is a schematic diagram of a laser point cloud of various obstacles scanned by a non-circular sweeping robot within a target circular area, disclosed in an embodiment of the present application.

[0019] Figure 2 Another embodiment of the present application discloses a schematic diagram of the predicted motion trajectory changes of a non-circular sweeping robot under the driving action of its left driving wheel speed and right driving wheel speed.

[0020] Figure 3This is another embodiment of the present application, which discloses a schematic diagram of the predicted posture change of a non-circular sweeping robot in a scenario where obstacle avoidance is triggered by obstacle #2.

[0021] Figure 4 Another embodiment of the present application discloses a flow chart of a laser obstacle avoidance control method for a non-circular sweeper. DETAILED DESCRIPTION

[0022] 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.

[0023] A sweeping robot, also known as an automatic sweeper, smart vacuum cleaner, or robot vacuum cleaner, is a type of smart home appliance that uses artificial intelligence to automatically clean the floor of a room. It typically uses a brushing and vacuuming method to collect debris from the floor into its own trash collection box, completing the floor cleaning function. Generally speaking, robots that perform sweeping, vacuuming, and mopping are also collectively classified as sweeping robots. Current sweeping robots are roughly categorized as round, square, and D-shaped. The square sweeping robot's overall shape is a rectangle, while the D-shaped sweeping robot's overall shape is a combination of a circle and a rectangle. Both the square and D-shaped sweeping robots are non-circular sweeping robots.

[0024] Figure 1 and 3 A schematic diagram of a D-type robot is shown. Figure 2 A schematic diagram of a square sweeping robot is shown. When these non-circular sweeping robots walk in an indoor environment, for example, they need to turn after walking in a straight line for a distance. In an environment with isolated obstacles discretely distributed in multiple directions, the non-circular sweeping robots have insufficient adjustment space on the front and rear sides or left and right sides, resulting in the non-circular sweeping robots directly colliding with obstacles during movement. The reason is that the body edge of the non-circular sweeping robot (considered as the body boundary of the robot's walking plane) is not necessarily a regular figure, that is, the distance between the body edge and the body center in each direction is not equal or even has no pattern to follow. Unlike the circular sweeping robot, the distance from the body center to the body edge is equal to the machine radius. Therefore, when triggering the non-circular sweeping robot to perform obstacle avoidance operation, the present application needs to trigger obstacle avoidance based on distance information at different angles.

[0025] As an embodiment, a laser obstacle avoidance control method for a non-circular sweeping robot is disclosed. The executor of the laser obstacle avoidance control method is a non-circular sweeping robot equipped with a laser radar, including all types of laser sweeping robots that are not circular in shape. The method can take into account the mopping function and is suitable for moving, positioning and constructing local maps and global maps on the horizontal ground in an indoor environment, so as to plan navigation positions and navigation paths for obstacle avoidance. The laser sweeping robot is a sweeping machine with a laser radar installed in the body, and the laser radar rotates at a specific assembly height to scan the surrounding environment of the non-circular sweeping robot.

[0026] See Figure 4 It can be seen that the laser obstacle avoidance control method includes:

[0027] Step 1: The non-circular sweeping robot uses a laser radar to perform a rotational scan to obtain a valid laser point cloud. Specifically, at a single location, the laser radar rotates and scans laser points in a 360-degree direction. The point cloud within the target circular region centered on the robot's body is then selected as the valid laser point cloud, minimizing the accuracy error in the data collected by the laser radar. Within the valid laser point cloud, the laser point representing the obstacle's location is determined based on the positional relationship between the laser points and the distance between the laser points and the robot's body center. Within the same obstacle, the laser point that best represents the obstacle's location is selected. Laser points representing the obstacle's location at various orientations can then be determined. Step 2 is then executed. In step 1, laser points located on the same obstacle are first identified from the valid laser point cloud based on the positional relationship between the two laser points. Laser points representing the obstacle's location are then determined based on the distance between the laser points and the robot's body center. Laser points representing each obstacle's location are then stored. Each obstacle's location is located at a different orientation of the non-circular sweeping robot.

[0028] Step 2: Calculate the position of the non-circular sweeping robot at the next moment based on the left and right drive wheel speeds of the non-circular sweeping robot and the current position of the non-circular sweeping robot. This is the predicted position of the non-circular sweeping robot at the next moment based on the current position of the non-circular sweeping robot, and then proceed to Step 3. The current position is the coordinate position included in the position of the non-circular sweeping robot at the current moment, which can represent the two-dimensional plane position occupied by the center of the non-circular sweeping robot at the current moment. The current position is the coordinate position included in the position of the non-circular sweeping robot at the current moment. The target navigation position is the position to which the non-circular sweeping robot will move at the next moment starting from the current position. It can represent the two-dimensional plane position occupied by the body center of the non-circular sweeping robot at the next moment. The target navigation position is the coordinate position included in the posture of the non-circular sweeping robot at the next moment; the posture at the next moment is the result calculated by the non-circular sweeping robot according to the left driving wheel speed, the right driving wheel speed and the posture of the non-circular sweeping robot at the current moment, and is calculated under the condition that the left driving wheel speed and the right driving wheel speed do not change, so as to know the position to be moved to at the next moment in advance and realize the planning of the navigation path.

[0029] Step 3. Obtain the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle between two adjacent moments (referring to the change in the distance value). The distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle at each moment can be calculated. Then, by judging the size relationship between the distances between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle at two adjacent moments, the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle between two adjacent moments can be obtained. In step 3, the two adjacent moments include the current moment and the next moment; based on the change, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle during the process of moving from the current moment to the next moment, that is, it is determined in advance that the non-circular sweeping robot will collide with the obstacle where the laser point is located 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 sweeping robot body, or can also be the left front edge, left rear edge, right front edge, or right rear edge. The non-circular sweeping robot then adjusts its posture to avoid (or is understood to be bypassing) the obstacle position, corresponding to the non-circular sweeping robot adjusting its posture without actually moving or moving toward the target navigation position, which can be adjusting the left drive wheel speed and / or the right drive wheel speed, including configuring the left drive wheel speed and the right drive wheel speed to be equal to 0, or changing the magnitude relationship between the left drive wheel speed and the right drive wheel speed to avoid the obstacle position in the corresponding direction.

[0030] Specifically, the change in the distance between the laser point used to represent the position of an obstacle in the same direction and the pre-determined alignment point of the non-circular sweeping robot is known before the non-circular sweeping 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 sweeping robot and the laser point representing an obstacle position greater than the distance between the body center of the non-circular sweeping robot and the alignment point, if the calculated distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point representing an obstacle position is less than the distance between the alignment point of the non-circular sweeping robot at the current position and the laser point representing an obstacle position, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle during the movement along the current moving direction, and the posture of the non-circular sweeping robot at the current moment needs to be adjusted in advance so that it can continue to move from the current position to avoid the said obstacle position.

[0031] It should be noted that the intersection of the line connecting the body center of the non-circular sweeping robot, the laser point used to indicate the position of the obstacle, and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot. When the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes; in some embodiments, in the process of moving from the current moment to the next moment, the posture of the non-circular sweeping robot is configured to change with time, and the body center of the non-circular sweeping robot also changes with time, which drives the alignment point of the non-circular sweeping robot to change with time, especially when the laser point used to indicate the position of the obstacle in the same direction remains unchanged, the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot. Therefore, the distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle in one direction will change between two adjacent moments. Whenever the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of an obstacle in a certain direction is obtained between two adjacent moments and based on the change, it is determined that the non-circular sweeping robot has a tendency to collide with an obstacle in the corresponding direction when moving from the current moment to the next moment, and then the non-circular sweeping robot adjusts its posture in order to avoid the obstacle positions in various directions in time during the subsequent actual navigation movement.

[0032] In summary, the aforementioned embodiment, before controlling the non-circular sweeping robot to begin obstacle avoidance, uses laser radar to scan laser points in multiple directions using rotation. The robot then identifies obstacles in corresponding directions based on the positional relationships between the laser points and the distance relationship between the laser point within the obstacle and the center of the robot body, eliminating the need for additional collision sensors within the robot body. After determining obstacles in each direction based on the positional relationships of the laser points scanned by the laser radar, the non-circular sweeping robot also predicts its motion trend and the position it can move to at a given moment based on the speeds of its left and right drive wheels. Before the non-circular sweeping robot actually moves, if the calculated distance to the obstacle in the corresponding direction at the next moment is closer than the current distance to the obstacle in the corresponding direction, the robot is determined to be about to collide with the obstacle in the corresponding direction. The robot then adjusts its position, resulting in timely and accurate obstacle avoidance. A reasonable obstacle avoidance distance is pre-planned based on the distance between the non-circular sweeping robot's alignment point and the laser point representing the obstacle's location, as well as its change between two adjacent moments.

[0033] It should be noted that the obstacle avoidance distance is the safe distance between the center of the body and the laser point used to indicate the position of the obstacle. The non-circular sweeping robot maintains this safe distance when moving, which can reserve adjustment space for the corresponding direction of the body, and overcome the problem of directly colliding with obstacles in the corresponding direction due to insufficient adjustment space in the corresponding direction. Therefore, it can ensure that the robot will not be hindered by obstacles during movement, and at least can walk along the edge of the obstacle or stay away from the obstacle.

[0034] For example, after determining in step 3 that there is a tendency for the non-circular sweeping robot to collide with an obstacle in the corresponding direction, the distance between the non-circular sweeping robot's alignment point and the laser point used to indicate the obstacle's position at the current moment is directly used as the obstacle avoidance distance; after determining in step 3 that there is no tendency for the non-circular sweeping robot to collide with an obstacle in the corresponding direction, the distance between the non-circular sweeping robot's alignment point and the laser point used to indicate the obstacle's position at the next moment is directly used as the obstacle avoidance distance. This prevents the non-circular sweeping robot from directly colliding with obstacles in the corresponding direction.

[0035] Furthermore, considering that a non-circular sweeping robot cannot take into account obstacles in multiple directions during navigation, after executing steps 1 to 3 for one obstacle location, the new laser point used to represent the obstacle location (representing the laser point used to represent the obstacle location obtained in step 1 that has not executed step 3) is updated to the laser point used to represent the obstacle location that has most recently executed step 3. Then, steps 1 to 3 are repeated, or steps 2 to 3 are repeated, to avoid new obstacles until all laser points used to represent the obstacle location determined in step 1 have been traversed, that is, all laser points used to represent the obstacle location determined in step 1 have already executed step 3. The new laser point used to represent the obstacle location has not executed step 3; the new laser point used to represent the obstacle location is the point cloud position information representing the obstacle in the new direction relative to the laser point used to represent the obstacle location that has most recently executed step 3 or the laser point used to represent the obstacle location that has already executed step 3. Thus, by repeatedly executing step 3, the problem of collision between the edge of the body and obstacles in multiple directions is taken into account, and the collision problem caused by obstacles in various directions is also effectively taken into account; the non-circular sweeping robot can perform obstacle avoidance actions in various directions, making the obstacle avoidance actions of the non-circular sweeping robot simple and flexible in scenes with obstacles distributed in multiple directions.

[0036] As an embodiment, in the valid laser point cloud obtained in step 1, the plane projection distance between two laser points at different locations is calculated, where the plane projection distance between two laser points at different locations is the distance formed by the two laser points within the walking plane of the non-circular sweeping robot; when the plane projection distance between the two laser points is less than a preset projection distance, it is determined that the two laser points are located at the same obstacle. In this embodiment, obstacles located in different directions of the non-circular sweeping robot can be traversed in sequence. After traversing each laser point in sequence, the laser point positions on the edge of the same obstacle are sorted and the point clouds located at different obstacles can be divided.

[0037] In the valid laser point cloud obtained in step 1, the two laser points at different positions to be calculated are preferably two laser points at adjacent positions, which are schematically represented as Figure 1 Any two adjacent laser points along the edge of obstacle #1, Figure 1 Any two adjacent laser points along the edge of obstacle #2, and Figure 1 Any two adjacent laser points along the edge of obstacle #3 are located within the target circle and are scanned by the laser radar. They are located within the walking plane of the non-circular sweeping robot. The walking plane of the non-circular sweeping robot is considered Figure 1 The plane where the YOX coordinate system is shown; the preset projection distance is preferably 20 mm.

[0038] As an embodiment, step 1 specifically includes:

[0039] Step 11: Control the laser radar to emit laser lines, rotate and scan to generate laser point clouds, and then select the laser points within the target circle with the center of the aircraft as the center in the laser point cloud to form a valid laser point cloud; then traverse each collected laser point in the valid laser point cloud in turn; and then execute step 12. It should be noted that due to the accuracy error of the point cloud data collected by the laser radar, and the farther the laser point is from the center of the aircraft, the greater the error, so when using the laser radar to mark obstacles, only the laser point cloud within a certain radius of the center of the aircraft is used as Figure 1 The valid data of the obstacles marked in the target circular area shown, that is, the valid laser point cloud, the maximum distance between the alignment point and the center of the non-circular sweeping robot (specifically expressed by the maximum radius of the body) is less than the certain radius, and the certain radius is less than the maximum scanning radius of the laser radar. It can also meet the point cloud data accuracy allowed by the laser radar or the grid resolution requirements for constructing a laser raster map.

[0040] Specifically, the laser points collected by the non-circular sweeping robot at position O are discrete points on the contour lines of obstacles #1, #2 and #3 projected by the laser line. Each discrete point can be converted to the robot coordinate system. If the origin of the robot coordinate system is the center of the body, the straight-line distance between the corresponding discrete point and the center of the body is calculated using the converted coordinates of each discrete point in the robot coordinate system, which is reflected as the distance between the contour point of the obstacle and the alignment point of the non-circular sweeping robot.

[0041] Step 12: In the valid laser point cloud, each time a laser point is traversed, the plane projection distance between the currently traversed laser point and its adjacent untraversed laser point is calculated, and then step 13 is executed. The valid laser point cloud can be regarded as a point cloud of multiple collected laser points in the target circular area distributed according to a predetermined position. The currently traversed laser point and its adjacent untraversed laser point can be extracted according to the positional proximity, and the plane projection distance between the currently traversed laser point and its adjacent untraversed laser point is calculated.

[0042] Step 13: Determine whether the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is less than a preset projection distance. If so, determine that the currently traversed laser point and the adjacent laser point that has not been traversed are located in the same obstacle; otherwise, determine that the currently traversed laser point and the adjacent laser point that has not been traversed are located in different obstacles.

[0043] Step 14: After determining that the currently traversed laser point and an adjacent untraversed laser point are both located at the same obstacle, or at different obstacles, update the adjacent untraversed laser point to the currently traversed laser point as the currently traversed laser point, and repeat step 12 and step 13 until all laser points in the valid laser point cloud are calculated and determined, and the laser points located in different obstacles are determined to be divided from the valid laser point cloud.

[0044] In this embodiment, the two laser points involved in the calculation of the plane projection distance will be marked as two laser points that have been traversed after the judgment of step 13, so as to prevent repeated traversal in the subsequent repeated execution of steps 12 and 13; then an adjacent laser point that has not been traversed can be extracted to continue to calculate the new plane projection distance according to the relationship of adjacent positions and accept the judgment of step 13. On this basis, by repeating steps 12 and 13 until all laser points in the valid laser point cloud are calculated and judged, it is determined that all laser points in the valid laser point cloud have been traversed. Therefore, the laser points falling into different obstacles can be divided from the valid laser point cloud, that is, the point cloud information of each obstacle distributed in the target circle is obtained, so that the obstacle occupation areas at different directions of the non-circular sweeping robot can be distinguished in the effective laser point cloud scanned by the laser radar according to the positional relationship between the two adjacent laser points.

[0045] Based on steps 11 to 14 of the aforementioned embodiment, after the non-circular sweeping robot divides all laser points located at different obstacles by executing step 14, the laser point closest to the center of the robot body is selected from the laser points located at the same obstacle divided in step 14 as the laser point used to represent the position of the obstacle. Specifically, the laser point used to represent the position of the same obstacle, where the laser point closest to the center of the robot body is for the same obstacle and is closest in terms of plane projection distance; and the two-dimensional plane coordinates of the laser point used to represent the position of the obstacle are set as the position coordinates of the obstacle where it is located. In the process of repeating steps 12 to 13, the laser points used to represent the positions of different obstacles and the position coordinates of different obstacles in the target circular area are obtained in sequence. The position coordinates of each obstacle are then filled into a storage queue in sequence to record the positions of all obstacles in the target circular area, representing the positions of each obstacle around the non-circular sweeping robot.

[0046] In some embodiments, in steps 12 and 13, the currently traversed laser point and its adjacent untraversed laser point are adjacently located in the valid laser point cloud, and are configured to be traversed in a sequential order. In step 13 that is executed multiple times in succession, it is determined that the planar projection distance between the currently traversed laser point and its adjacent untraversed laser point is less than a preset projection distance, and then all laser points located on the same obstacle are obtained and sequentially marked as traversed laser points in the valid laser point cloud; then, it is determined that the planar projection distance between the currently traversed laser point and its adjacent untraversed laser point is greater than the preset projection distance, and then the adjacent untraversed laser point is determined to be a laser point located in a new obstacle, that is, it is determined that the currently traversed laser point and its adjacent untraversed laser point are located in different obstacles. Then, an untraversed laser point adjacent to the currently traversed laser point is updated as the currently traversed laser point, and steps 12 and 13 are repeated to sequentially determine all laser points located at a new obstacle, until all laser points in the valid laser point cloud are traversed, and the plane projection distance between each two adjacent laser points is calculated and determined, thereby achieving the division of the laser points collected in step 11 into laser points located in different obstacles.

[0047] As an embodiment, in step 2, if the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are both not equal to the value 0, the non-circular sweeping robot sets the position to be moved to at the next moment as the target navigation position starting from the current moment, but the non-circular sweeping robot does not start moving towards the target navigation position; wherein, the left driving wheel speed of the non-circular sweeping robot and the right driving wheel speed of the non-circular sweeping robot are both not equal to the value 0, the 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 sweeping 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 sweeping robot rotates to the left, forming a differential motion model; therefore, the non-circular sweeping robot keeps moving under the driving action of the left driving wheel and the right driving wheel, and the real-time moving speed of the non-circular sweeping robot is not the value 0. This embodiment plans the position to be moved to at the next moment, i.e., the target navigation position, according to the expected motion trajectory or moving position generated by the left driving wheel speed and the right driving wheel speed before the non-circular sweeping robot starts to move from the current moment. This is equivalent to calculating the body center position of the non-circular sweeping robot at the next moment through the current body center position, which is convenient for judging the collision tendency of the non-circular sweeping robot with obstacles when moving in the current moving direction.

[0048] It should be noted that the current position of the non-circular sweeping robot is the position of the robot's body center at the current moment, and the target navigation position is the position of the robot's body center at the next moment. The time interval between the next moment and the current moment is pre-set, preferably 200ms, but does not represent the actual movement time of the non-circular sweeping robot. It is a test time set to determine whether the non-circular sweeping robot has a tendency to collide with obstacles during its movement from the current moment to the next moment. The posture of the non-circular sweeping robot at the current moment includes the coordinates of the non-circular sweeping robot's current position and the direction of movement of the non-circular sweeping robot at the current moment, which is recorded as the current movement direction of the non-circular sweeping robot and can be measured in real time by the gyroscope. The posture of the non-circular sweeping robot at the target navigation position includes the coordinates of the target navigation position and the direction of movement of the non-circular sweeping robot at the next moment, both of which are calculated based on the posture of the non-circular sweeping robot at the current moment.

[0049] As an embodiment, in step 2, the method for calculating the posture of the non-circular sweeping robot at the next moment based on the left driving wheel speed, the right driving wheel speed and the posture of the non-circular sweeping robot at the current moment includes: the non-circular sweeping robot uses an odometer to measure the left driving wheel and the right driving wheel respectively to obtain the left driving wheel speed and the right driving wheel speed; the non-circular sweeping robot sets the left driving wheel speed measured in real time as V l , the non-circular sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to Equivalent to the moving speed of the body center of the non-circular sweeping robot, and is located in the walking plane of the non-circular sweeping robot; at the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to Among them, the left driving wheel and the right driving wheel are connected by a wheel axle, and the wheel axle runs across the center of the body of the non-circular sweeping robot. The left driving wheel and the right driving wheel are respectively installed on the left and right sides of the non-circular sweeping robot. The length of the wheel axle is l. It should be noted that when V l Not equal to V r When the non-circular sweeping robot turns, the angular velocity ω that needs to be calculated is c Not equal to the value 0.

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

[0051] Then, the pose at the target navigation position is calculated according to the pose planning formula as the pose of the non-circular sweeping robot at the next moment; the pose planning formula includes the following:

[0052]

[0053]

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

[0055] Among them, the movement planning time t is the time interval between the next moment and the current moment; (x1, y1) is the coordinate of the target navigation position, and θ1 is the angle indicated by the movement direction of the non-circular sweeping robot at the next moment.

[0056] Corresponding to Figure 2 In, V l Less than V r , the non-circular sweeping robot turns left, forming Figure 2 The robot motion trajectory shown in FIG, the central axis of the non-circular sweeping robot (represented by the rectangle with the left drive wheel and the right drive wheel in the figure) can be regarded as the tangent of the robot motion trajectory; the ω required to be calculated in the posture planning formula c t is equal to Δθ; Δx in the x-axis direction is equal to It represents the x-axis displacement component generated by the non-circular sweeping robot turning left 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 sweeping robot turning left within the movement planning time t. Thus, x1 = x0 + Δx, y1 = y0 + Δy and θ1 = θ0 + ω c t obtains the position and posture of the non-circular sweeping robot at the next moment, including the coordinates (x1, y1) of the target navigation position (the center position of the body at the next moment) and the angle θ1 indicated by the moving direction of the non-circular sweeping robot at the next moment.

[0057] Therefore, the non-circular sweeping robot is based on the moving speed V c , angular velocity ω c The position and posture of the non-circular sweeping robot at the target navigation position are calculated based on the movement planning time t, and are used as the position and posture of the non-circular sweeping robot at the next moment. Specifically, the position and posture of the non-circular sweeping robot at the next moment are calculated based on the sum of the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot, the absolute value of the difference between the speed of the left driving wheel and the speed of the right driving wheel of the non-circular sweeping robot, and the position and posture of the non-circular sweeping robot at the current moment.

[0058] It should be noted that the non-circular sweeping robot includes a body, a head and two symmetrically arranged driving wheels, the two symmetrically arranged driving wheels are connected by a wheel axle, and the wheel axle is arranged at the dividing line between the body and the head, corresponding to Figure 2 The double-arrow line segment between the left and right drive wheels of the non-circular sweeping robot; the body shape composed of the body and the head is not circular, corresponding to Figure 1 and Figure 3 The fuselage is rectangular and the nose is semicircular, or the nose is rectangular and the fuselage is circular, or corresponds to Figure 2 The central body is rectangular and the nose is rectangular; the front of the nose points in the direction of movement of the non-circular sweeping robot. The two symmetrically arranged drive wheels are a left drive wheel and a right drive wheel, respectively, and the non-circular sweeping robot moves via the left drive wheel and the right drive wheel. The movement direction of the non-circular sweeping robot is the positive direction of the horizontal axis of the robot coordinate system. The central axis of the non-circular sweeping robot can be set as the horizontal axis of the robot coordinate system, and the center of the non-circular sweeping robot is the origin of the robot coordinate system. Therefore, the left drive wheel and the right drive wheel can be used to change the coordinate axis direction of the robot coordinate system to record the movement direction information of the non-circular sweeping robot in real time.

[0059] In some embodiments, the body center of the non-circular sweeping robot may be the midpoint of the wheel axle; Figure 1 and Figure 3 It can be seen that the head is semi-circular in shape. After being combined with the rectangular body, a part of the left and right sides of the head is cut off so that its edges fit together with the edges of the left and right sides of the body. The head will reveal a semi-circular structure outward relative to the body, and reveal it in the direction of movement of the robot; among them, the body is the rear part of the frame of the non-circular sweeping robot, and the head is the front part of the frame of the non-circular sweeping robot. In this embodiment, the body center of the non-circular sweeping robot can be the center of the semicircular head. Since the head is a circular structure with both sides cut off, the body center of the non-circular sweeping robot is the center of the head before cutting; the vertex on one side of the body of the non-circular sweeping robot is the vertex on the front side of the rectangular body. In some embodiments, the midpoint of the wheel axle can be set as the center of the head. Then the straight-line distance between the vertex on one side of the body of the non-circular sweeping robot shown in the figure and the body center of the non-circular sweeping robot becomes the maximum radius of the non-circular sweeping robot, which is also equivalent to the longest distance from the midpoint of the wheel axle to the boundary of the body of the non-circular sweeping robot. The angle formed by the vertex on one side of the body of the non-circular sweeping robot relative to the central axis of the non-circular sweeping robot corresponds to the longest distance.

[0060] Based on the embodiment corresponding to step 2, if the speed of the left driving wheel of the non-circular sweeping robot is not equal to the speed of the right driving wheel of the non-circular sweeping robot, the non-circular sweeping robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate the preset angle ω c For the same obstacle location, the non-circular robot's alignment point is configured to rotate by a preset angle in the counterclockwise direction of a preset direction, so that the non-circular robot's alignment point changes as the robot's posture changes. In this embodiment, the intersection of the line connecting the center of the non-circular robot, the laser point used to indicate the same obstacle location, and the edge of the non-circular robot's body is marked as the non-circular robot's alignment point.

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

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

[0063] If the speed of the left driving wheel of the non-circular sweeping robot is equal to the speed of the right driving wheel of the non-circular sweeping robot, the non-circular sweeping robot moves along the straight line at a speed V c The alignment point of the non-circular sweeping robot is configured to move in the opposite direction of the straight line at the edge of the body at a moving speed V c Offset.

[0064] Assume that a non-circular sweeping robot moves from one moment to the next. During this process, the non-circular sweeping robot's posture is configured to change over time, and the center of the non-circular sweeping robot also changes over time. This causes the non-circular sweeping robot's alignment point to change over time. In particular, if the laser point used to indicate the position of an obstacle in the same orientation remains unchanged, the non-circular sweeping robot's alignment point will change as the non-circular sweeping robot's posture changes. Therefore, whenever the distance between the non-circular sweeping robot's alignment point and the laser point used to indicate the position of an obstacle in a certain orientation changes between two adjacent moments, this can be used to determine whether the non-circular sweeping robot has a tendency to collide with an obstacle in the corresponding orientation during its movement from the current moment to the next.

[0065] As an embodiment, in step 3, the method for determining, based on the change, whether the non-circular sweeping robot has a tendency to collide with an obstacle in the process of moving from the current moment to the next moment includes: the change is a change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position between two adjacent moments, which is essentially a change in the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the obstacle position point in one direction of the non-circular sweeping robot between two adjacent moments. The plane projection distances calculated at the two adjacent moments can be compared in size or judged by difference. Among them, the obstacle position point in one direction of the non-circular sweeping robot is represented by a laser point used to represent the obstacle position in this direction, the plane projection distance between the alignment point and the obstacle position point in one direction of the non-circular sweeping robot is the plane projection distance between the alignment point and the laser point used to represent the obstacle position in this direction, the plane projection distance between the alignment point and the laser point is the distance formed by the alignment point and the laser point in the walking plane of the non-circular sweeping robot, and accordingly, the intersection of the line connecting the body center of the non-circular sweeping robot and the obstacle position point in one direction of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot, so that the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot; the plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot. When the body shape and the shape of the obstacle are both irregular, it will generally change with the change of the posture of the non-circular sweeping robot.

[0066] If the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point used to indicate the position of the obstacle is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the laser point used to indicate the position of the obstacle, it is determined that the non-circular sweeping robot has a tendency to collide with the corresponding obstacle during its movement along the current movement direction to the next moment, and the corresponding obstacle is an obstacle represented by the laser point used to indicate the position of the obstacle. In some embodiments, it is predicted that the non-circular sweeping robot may collide with the obstacle at the target navigation position. In addition, if the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point used to indicate the position of the obstacle is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the laser point used to indicate the position of the obstacle, it is determined that the non-circular sweeping robot has no tendency to collide with the obstacle represented by the laser point used to indicate the position of the obstacle during its movement along the current movement direction to the next moment, and in some embodiments, the possibility of collision with other obstacles is not ruled out.

[0067] Therefore, this embodiment can predict the situation in which the non-circular sweeping robot collides 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 sweeping robot at the target navigation position and the obstacle position point in one direction of the non-circular sweeping robot between two adjacent moments. Specifically, if the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the obstacle position point in one direction of the non-circular sweeping robot is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same direction of the non-circular sweeping robot, it is determined that there is a tendency for the non-circular sweeping robot to collide with the obstacle in the direction during its movement; if the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the obstacle position point in one direction of the non-circular sweeping robot is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same direction of the non-circular sweeping robot, it is determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in the direction during its movement. This fully considers the positional relationship between the body structure and its movement process and obstacles at corresponding directions, and improves the accuracy of collision prediction in an environment where obstacles are distributed in multiple directions that are isolated from each other. In addition, the non-circular sweeping robot can perform obstacle collision prediction in various directions, avoiding the non-circular sweeping 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 movements, effectively taking into account the collision problems caused by obstacles in various directions.

[0068] As an embodiment, by executing step 1, the two-dimensional coordinates of the laser point representing the position of the obstacle falling into the walking plane of the non-circular sweeping robot are obtained, which are recorded as the position coordinates of the obstacle (x p ,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0), and the angle indicated by the moving direction at the current position is determined to be θ0, the position coordinates of the obstacle (x p ,y p ) is converted into the relative coordinates in the robot coordinate system, which is recorded as the coordinates of the obstacle to be avoided at the current moment (relaXp0, relaYp0), but the actual obstacle it represents has not changed in position; the origin of the robot coordinate system is the current position, that is, the position occupied by the non-circular sweeping robot at the current moment, then the obstacle in one direction can be marked as the obstacle to be avoided, where the coordinates of the current position are (x0, y0) and the position coordinates of the obstacle (x p ,y p ) are all located in the world coordinate system. Then, in the robot coordinate system, the current coordinates of the obstacle to be avoided (relaXp0, relaYp0) are used to calculate the angle relaθ0 between the obstacle position or the obstacle position represented by it and the positive direction of the horizontal axis of the robot coordinate system, that is, (x p ,y p ) relative to the positive direction of the horizontal axis of the robot coordinate system, or it can be understood as the current orientation of the obstacle to be avoided. Specifically, it is expressed as the angle formed by the line connecting (relaXp0, relaYp0) and (x0, y0) relative to the horizontal axis of the robot coordinate system with (x0, y0) as the origin, recorded as the alignment angle relaθ0 of the obstacle to be avoided at the current moment, which represents the deflection angle formed by the line connecting the alignment point of the non-circular sweeping robot at the current position and its body center relative to the current moving direction of the non-circular sweeping robot. The relative coordinate conversion formula is used to obtain the pose information of the obstacle to be avoided at the current moment, which is used to calculate the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (the laser point used to represent the position of the obstacle).

[0069] On the basis of the above embodiment, after executing step 2 to obtain the coordinates (x1, y1) of the target navigation position and the angle θ1 indicated by the moving direction of the non-circular sweeping robot at the next moment, the robot coordinate system of the non-circular sweeping robot at the target navigation position undergoes a posture change relative to the robot coordinate system of the non-circular sweeping robot at the current position, and the robot coordinate system of the non-circular sweeping robot at the target navigation position is set to the converted robot coordinate system, wherein the posture change of the robot coordinate system is represented by the posture change of the non-circular sweeping robot between the target navigation position and its current position, that is, the robot coordinate system will undergo corresponding rotational transformation and translational transformation as the posture of the non-circular sweeping robot changes, specifically, the origin of the robot coordinate system (represented by the body center of the non-circular sweeping robot) undergoes corresponding rotational transformation and translational transformation according to the posture change of the non-circular sweeping robot between the target navigation position and its current position, and obtains the converted robot coordinate system. Then the origin of the converted robot coordinate system is the target navigation position. Among them, the coordinates (x1, y1) of the target navigation position and the position coordinates (x p ,y p ) are all located in the world coordinate system. Then, based on the relative coordinate conversion formula, the position coordinates of the obstacle (x p ,y p) is converted into relative coordinates in the converted robot coordinate system, which are recorded as the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1), but the actual obstacle represented by it does not change its posture; then, in the converted robot coordinate system, the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1) are used to calculate the angle relaθ1 between the position of the obstacle where it is located or the position of the obstacle represented by it and the positive direction of the abscissa axis of the converted robot coordinate system, which is recorded as the alignment angle of the obstacle to be avoided at the next moment, so as to express the deflection angle between the alignment point of the non-circular sweeping robot at the target navigation position and the center of its body and the moving direction of the non-circular sweeping robot at the next moment, or it can be understood as the orientation of the obstacle to be avoided at the next moment. Specifically expressed as the angle formed by the line connecting (relaXp1, relaYp1) and (x1, y1) relative to the horizontal axis of the converted robot coordinate system, recorded as the alignment angle relaθ1 at the moment of the obstacle to be avoided, which represents the deflection angle formed by the line connecting the alignment point of the non-circular sweeping robot at the target navigation position and the center of its body relative to the moving direction of the non-circular sweeping robot at the next moment, thereby obtaining the position information of the obstacle to be avoided at the next moment through the relative coordinate transformation formula, which is used to compare the change in the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (used to represent the laser point of the obstacle position) between two adjacent moments, so as to judge whether the non-circular sweeping robot has a tendency to collide with the obstacle in the process of moving from the current moment to the next moment according to the change in the distance.

[0070] In the above embodiment, the calculation method of the relative coordinate conversion formula includes: As can be seen from the above embodiment, the position coordinates of the obstacle (x p ,y p ) is converted into different coordinates at different times, including the coordinates of the obstacle to be avoided at the current moment (relaXp0, relaYp0) and the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1), then the real-time coordinates of the obstacle to be avoided are set to (relaXp, relaYp) to represent the coordinates of the obstacle's position coordinates in the adapted robot coordinate system, and the position coordinates of the body center of the non-circular sweeping robot are set to (x, y), which are real-time position coordinates and are different from the position coordinates of the obstacle (x p ,y p ) are in the same coordinate system, but not the robot coordinate system; at the same time, the angle of the moving direction indication of the non-circular sweeping robot is set to θ, which is the angle of the real-time moving direction indication.

[0071] Based on the relative coordinate transformation formula, the position coordinates of the obstacle (x p ,y p) is converted into the real-time coordinates of the obstacle to be avoided as follows:

[0072] relaXp=(x p -x)cosθ+(y p -y)sinθ;

[0073] relaYp=(y p -y)cosθ+(x p -x)sinθ;

[0074] When (x, y) = (x0, y0) and θ = θ0, (relaXp, relaYp) = (relaXp0, relaYp0);

[0075] When (x, y) = (x1, y1) and θ = θ1, (relaXp, relaYp) = (relaXp1, relaYp1). Based on the coordinates of the center of the non-circular robot vacuum and the coordinates of the obstacle, the aforementioned relative coordinate transformation formula is used to perform rotational and translational transformations to convert the obstacle's coordinates to the robot's coordinate system.

[0076] Specifically, the position coordinates of the obstacle (x p ,y p ) is converted into the coordinates of the obstacle to be avoided at the current moment: relaXp0=(x p -x0)cosθ0+(y p -y0)sinθ0;relaYp0=(y p -y0)cosθ0+(x p -x0)sinθ0.

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

[0078]

[0079] 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 next moment include: relaXp1=(x p -x1)cosθ1+(y p -y1)sinθ1;relaYp1=(y p -y1)cosθ1+(x p -x1)sinθ1.

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

[0081]

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

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

[0084] 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 sweeping 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 current moment, and the alignment angle relaθ1 of the obstacle to be avoided at the next moment. For the position coordinates (x p ,y p), when the posture of the non-circular sweeping robot changes due to the speed of the left and right driving wheels, the position of the body center of the non-circular sweeping robot in the walking plane of the non-circular sweeping robot will change, and the angle formed by the position coordinates of the same obstacle (or the laser point used to indicate the position of the obstacle) and the line connecting the body center relative to the moving direction of the non-circular sweeping robot (the positive direction of the horizontal coordinate axis of the 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 sweeping robot is pointed at an alignment angle, and the plane projection distance between the alignment point of the non-circular sweeping robot at the direction of the alignment angle and the body center also changes accordingly. In this embodiment, the 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 sweeping robot with the body center as the center. The distance information from the alignment point to the body center can be composed of a mapping table or an array and other data structures, so that the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position can be calculated at different times or different positions when the non-circular sweeping robot moves, and the distance information at the corresponding alignment angle can be called.

[0085] Based on the above embodiment, in step 3, the method for calculating the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle between two adjacent moments (expressed as a change in the distance value, for example, an increase or decrease in the distance value) includes:

[0086] The distance D0 between the alignment point at the current position of the non-circular sweeping robot and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The distance between the coordinates of the laser point representing the position of the obstacle and the edge of the body of the non-circular cleaning robot at the current position is formed.

[0087] The distance D1 between the alignment point of the non-circular sweeping robot at the target navigation position and the coordinates of the obstacle to be avoided at the next moment is calculated as follows: The distance between the coordinates of the laser point representing the position of the obstacle and the edge of the body of the non-circular cleaning robot at the target navigation position is formed.

[0088] When D1 < D0, it is determined that the plane projection distance between the center of the non-circular sweeping robot and the laser point used to represent the obstacle position decreases during the process of the non-circular sweeping robot moving from the current moment to the next moment. Specifically, by executing step 3 to determine that D1 < D0, it is determined that the non-circular sweeping robot starts from the current position and moves at an angular velocity ω c During the rotation, the distance between the center of the body and the laser point in one direction used to indicate the position of the obstacle is reduced. The non-circular sweeping robot moves at the speed of the left driving wheel V l and right drive wheel speed V r During the movement, the robot gradually approaches an obstacle in a certain direction and determines that the non-circular robot vacuum cleaner has a tendency to collide with the corresponding obstacle when it moves along the current moving direction to the next moment. Then the non-circular robot vacuum cleaner is triggered to adjust the left drive wheel speed V l and / or right drive wheel speed V r .

[0089] In some embodiments, if the left drive wheel speed V l Greater than the right drive wheel speed V r , then the left driving wheel speed V l and right drive wheel speed V r The difference is adjusted to be less than 0, which can be done by adjusting the left drive wheel speed V l Less than the right drive wheel speed V r , so that the non-circular sweeping robot does not collide with an obstacle after moving to the next moment, and the non-circular sweeping robot does not move to the target navigation position; then the new laser point used to represent the obstacle position (representing the laser point used to represent the obstacle position obtained in step 1 and not having executed step 3) is updated to the laser point used to represent the obstacle position (the laser point used to represent the obstacle position that has most recently executed step 3), and steps 1 to 3 are repeated to avoid the new obstacle until all laser points used to represent the obstacle position determined in step 1 have been traversed, that is, all laser points used to represent the obstacle position determined in step 1 have already executed step 3. The new laser point used to represent the obstacle position has not executed step 3; the new laser point used to represent the obstacle position is the point cloud position information representing the obstacle in the new orientation relative to the laser point used to represent the obstacle position that has most recently executed step 3 or the laser point used to represent the obstacle position that has already executed step 3. The new laser point used to represent the obstacle position has not executed step 3.

[0090] In some embodiments, if the left drive wheel speed V l Less than the right drive wheel speed V r , then the left driving wheel speed V l and right drive wheel speed V rThe difference is adjusted to be greater than 0, which can be done by adjusting the left drive wheel speed V l Greater than the right drive wheel speed V r , so that the non-circular sweeping robot does not collide with the obstacle after moving to the next moment, and the non-circular sweeping robot does not move to the target navigation position. Then, the new laser point used to represent the obstacle position (the laser point used to represent the obstacle position obtained in step 1 that has not executed step 3) is updated to the laser point used to represent the obstacle position (the laser point used to represent the obstacle position that has most recently executed step 3), and steps 1 to 3 are repeated to avoid the new obstacle until all the laser points used to represent the obstacle position determined in step 1 have been traversed, that is, all the laser points used to represent the obstacle position determined in step 1 have already executed step 3. Among them, the new laser point used to represent the obstacle position has not executed step 3; the new laser point used to represent the obstacle position is the point cloud position information representing the obstacle in the new orientation relative to the laser point used to represent the obstacle position that has most recently executed step 3 or the laser point used to represent the obstacle position that has already executed step 3. Among them, the new laser point used to represent the obstacle position has not executed step 3. The new laser point used to indicate the position of the obstacle has not executed step 3.

[0091] Therefore, when the non-circular sweeping robot detects that the distance between the coordinate position included in its posture at the next moment and the obstacle in the corresponding direction is reduced, it confirms that the machine is about to hit the obstacle, and then triggers obstacle avoidance by adjusting the speed of the left and right drive wheels to avoid the obstacle in the corresponding direction in time.

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

[0093] When D1>D0, it is determined that the plane projection distance between the center of the non-circular sweeping robot and the laser point used to represent the obstacle position increases during the process of the non-circular sweeping robot moving from the current moment to the next moment. Specifically, when D1>D0 is calculated, it is determined that the non-circular sweeping robot starts from the current position and moves at an angular velocity ω c During the rotation process, if the distance between the center of the body and a direction used to represent the position of the obstacle increases, the non-circular sweeping robot does not need to adjust the left drive wheel speed V l and / or right drive wheel speed V r, the non-circular sweeping robot does not collide with the obstacle when it moves to the next moment, and the non-circular sweeping robot moves to the target navigation position. Then, the new laser point used to represent the obstacle position (the laser point used to represent the obstacle position obtained in step 1 that has not executed step 3) is updated to the laser point used to represent the obstacle position (the laser point used to represent the obstacle position that has recently executed step 3), and steps 1 to 3 are repeated to avoid the new obstacle until all the laser points used to represent the obstacle position determined in step 1 are traversed, that is, all the laser points used to represent the obstacle position determined in step 1 have executed step 3. Among them, the new laser point used to represent the obstacle position has not executed step 3; the new laser point used to represent the obstacle position is the point cloud position information of the obstacle in the new orientation relative to the laser point used to represent the obstacle position that has recently executed step 3 or the laser point used to represent the obstacle position that has already executed step 3. The new laser point used to represent the obstacle position has not executed step 3. The new laser point used to represent the obstacle position has not been processed in step 3.

[0094] In summary, the aforementioned embodiment realizes an effective obstacle avoidance triggering operation in a single direction by considering the body structure and the posture state calculated in advance. It can calculate the distance between the alignment point of the non-circular sweeping robot at the target navigation position and the coordinates of the obstacle to be avoided at the next moment before moving, and judge whether the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position in a single direction is smaller or larger between two adjacent moments. Thus, obstacle avoidance is accurately triggered when the distance between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the current moment (equivalent to the safety distance) is reserved relative to the obstacle in the corresponding direction. Then, each time obstacle avoidance is triggered, steps 1 to 3 are repeated, so that the obstacle avoidance triggering operation in the old direction is carried out while taking into account the problem of contact with the obstacle in the new direction, thereby effectively taking into account the collision problem caused by obstacles in various directions.

[0095] In some embodiments, as Figure 3 As shown, the moving direction of the non-circular sweeping robot at the current moment is the direction of the arrow F0, and the position of the body center O is the current position; by executing step 1, the laser point P used to represent the position of obstacle #2 and its two-dimensional coordinates falling on the walking plane of the non-circular sweeping robot (the plane where the robot coordinate system is located) are obtained. Figure 3It can be represented as the obstacle position point P at the lower left of the non-circular sweeping robot, where the positive direction of the horizontal axis of the robot coordinate system at the current moment is the direction of the arrow F0; at the current moment, the line connecting the body center O of the non-circular sweeping robot and the obstacle position point P is connected to the body edge of the non-circular sweeping robot (corresponding to Figure 3 The intersection C1 of the left edge of the rectangular body of the non-circular sweeping robot is marked as the alignment point C1 of the non-circular sweeping robot. Based on the above embodiment, when the position coordinates of the body center O are (x0, y0), the distance (or plane projection distance) between the obstacle position point P and the body center O is equal to The distance (or plane projection distance) between the alignment point C1 and the center of the body O is ROBOT_RELA_DIST(relaθ0), where relaθ0 is the angle C1OF0. The direction of the corresponding obstacle position point P at the current moment is the direction of the arrow E0. Therefore, It is used to represent the distance (or plane projection distance) between the obstacle position point P and the alignment point C1. Figure 3 As shown, the non-circular sweeping robot is affected by the speed of the left driving wheel and the right driving wheel, and will be planned to rotate to the right as shown in the figure. From the current moment to the next moment, the moving direction of the non-circular sweeping robot at the next moment is the direction of the arrow F1, and the position of the body center O' is the target navigation position; the positive direction of the horizontal axis of the robot coordinate system at the next moment is the direction of the arrow F1; at the next moment, the line connecting the body center O' of the non-circular sweeping robot and the obstacle position point P is aligned with the body edge of the non-circular sweeping robot (corresponding to Figure 3 The intersection C2 of the left edge of the rectangular body of the non-circular sweeping robot is marked as the alignment point C2 of the non-circular sweeping robot. Based on the above embodiment, when the position coordinates of the body center O' are (x1, y1), the distance (or plane projection distance) between the obstacle position point P and the body center O' is equal to The distance (or plane projection distance) between the alignment point C2 and the center of the body O' is ROBOT_RELA_DIST(relaθ1), relaθ1 is the angle C2O'F1, and the direction of the corresponding obstacle position point P at the current moment is the direction of the arrow E1. Therefore, Used to represent the distance (or plane projection distance) between obstacle position point P and alignment point C2. When D1 < D0, the distance between the left side of the non-circular sweeping robot and obstacle #2 is shortened during rotation. As a result, the non-circular sweeping robot will be hindered by obstacle #2 during its rightward rotation. For example, obstacle #2 will collide with the left side of the rectangular body of the non-circular sweeping robot during its rightward rotation. Therefore, the non-circular sweeping robot needs to adjust the left and / or right drive wheel speeds from the current moment to form a differential to guide the non-circular sweeping robot in a specific direction. This will trigger the obstacle avoidance operation while leaving a reasonable distance D0, preventing movement to (x1, y1). This overcomes the problem of the non-circular sweeping robot directly colliding with obstacle #2 due to insufficient adjustment space on the lower left side.

[0096] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, 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, they should be considered to be within the scope of this specification.

[0097] The above embodiments merely represent several embodiments of the present invention, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention. It should be noted that a person skilled in the art may make various modifications and improvements without departing from the concept of the present application, and these modifications and improvements are all within the scope of protection of the present application.

Claims

1. A laser obstacle avoidance control method for a non-circular sweeping robot, characterized in that: The laser obstacle avoidance control method comprises: Step 1: The non-circular sweeping robot uses a laser radar to rotate and scan to obtain a valid laser point cloud. Then, in the valid laser point cloud, the laser point used to represent the obstacle position is determined based on the positional relationship between the laser points and the distance between the laser point and the center of the non-circular sweeping robot body. Step 2: Calculate the posture of the non-circular sweeping robot at the next moment based on the left driving wheel speed, the right driving wheel speed, and the posture of the non-circular sweeping robot at the current moment; Step 3: Obtain the change in the distance between the alignment point of the non-circular sweeping robot and the laser point used to indicate the position of the obstacle between two adjacent moments, and then, based on the change, determine that the non-circular sweeping robot has a tendency to collide with the obstacle during its movement from the current moment to the next moment, and then adjust the posture of the non-circular sweeping robot to avoid the obstacle. Among them, the intersection of the line connecting the center of the body of the non-circular sweeping robot, the laser point used to indicate the position of the obstacle, and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot, so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes; two adjacent moments include the current moment and the next moment.

2. The laser obstacle avoidance control method according to claim 1, characterized in that: In the valid laser point cloud obtained in step 1, the plane projection distance between two laser points at different positions is calculated, wherein the plane projection distance between two laser points at different positions is the distance formed by the two laser points in the walking plane of the non-circular sweeping robot; When the plane projection distance between the two laser points is less than the preset projection distance, it is determined that the two laser points are located at the same obstacle.

3. The laser obstacle avoidance control method according to claim 2, characterized in that: The step 1 specifically includes: Step 11: Control the laser radar to emit a laser line, rotate and scan to generate a laser point cloud, and then select the laser points within the target circle with the center of the aircraft as the center in the laser point cloud to form a valid laser point cloud; then traverse each laser point in the valid laser point cloud in turn; Step 12: In the valid laser point cloud, each time a laser point is traversed, the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is calculated; Step 13: Determine whether the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is less than a preset projection distance. If so, determine that the currently traversed laser point and the adjacent laser point that has not been traversed are located in the same obstacle; otherwise, determine that the currently traversed laser point and the adjacent laser point that has not been traversed are located in different obstacles. Step 14: After determining that the currently traversed laser point and an adjacent untraversed laser point are both located at the same obstacle, or at different obstacles, update the adjacent untraversed laser point to the currently traversed laser point as the currently traversed laser point, and repeat step 12 and step 13 until all laser points in the valid laser point cloud are calculated and determined, and the laser points located in different obstacles are determined to be divided from the valid laser point cloud.

4. The laser obstacle avoidance control method according to claim 3, characterized in that: In step 14, among the laser points located on the same obstacle, a laser point closest to the center of the aircraft is selected as the laser point used to indicate the position of the obstacle, and the two-dimensional plane coordinates of the laser point used to indicate the position of the obstacle are set as the position coordinates of the obstacle where the laser point is located; Then, the position coordinates of each obstacle set are sequentially filled into the storage queue, so that the non-circular sweeping robot can determine the position of each obstacle in the target circular area by traversing the storage queue.

5. The laser obstacle avoidance control method according to claim 4, characterized in that: In step 12 and step 13, the currently traversed laser point and an adjacent laser point that has not been traversed are two laser points with adjacent distribution positions in the valid laser point cloud, and are configured to have a sequential traversal order.

6. The laser obstacle avoidance control method according to claim 1, characterized in that: In step 2, 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 0, the non-circular cleaning robot sets the position to be moved to at the next moment as the target navigation position, but the non-circular cleaning robot does not start moving towards the target navigation position; The current position of the non-circular sweeping robot is the position of the center of the non-circular sweeping robot at the current moment, and the target navigation position is the position of the center of the non-circular sweeping robot at the next moment; the time interval between the next moment and the current moment is preset; The position and posture of the non-circular sweeping robot at the current position include the coordinates of the current position and the moving direction of the non-circular sweeping robot at the current moment; The position and posture of the non-circular cleaning robot at the target navigation position includes the coordinates of the target navigation position and the moving direction of the non-circular cleaning robot at the next moment.

7. The laser obstacle avoidance control method according to claim 6, characterized in that: In step 2, the method for calculating the posture of the non-circular sweeping robot at the next moment according to the left driving wheel speed, the right driving wheel speed and the posture of the non-circular sweeping robot at the current moment includes: The non-circular sweeping robot sets its real-time measured left driving wheel speed as V l , the non-circular sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to The left drive wheel and the right drive wheel are connected by an axle, and the length of the axle is l; The non-circular sweeping robot sets the coordinates of its current position to (x0, y0), and also sets the angle indicated by its moving direction at the current moment to θ0; Then, the pose at the target navigation position is calculated according to the pose planning formula as the pose of the non-circular sweeping robot at the next moment; the pose planning formula includes the following: θ1=θ0+ω c t; Among them, the movement planning time t is the time interval between the next moment and the current moment; (x1, y1) is the coordinate of the target navigation position, and θ1 is the angle indicated by the movement direction of the non-circular sweeping robot at the next moment.

8. The laser obstacle avoidance control method according to claim 7, characterized in that: The non-circular sweeping robot comprises a body, a head, and two symmetrically arranged drive wheels, the two symmetrically arranged drive wheels being connected by a wheel axle, and the wheel axle being arranged at a 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 moving direction of the non-circular sweeping robot; Among them, the two symmetrically arranged driving wheels are the left driving wheel and the right driving wheel respectively, and the non-circular sweeping robot moves through the left driving wheel and the right driving wheel; the moving direction of the non-circular sweeping robot is the positive direction of the horizontal axis of the robot coordinate system.

9. The laser obstacle avoidance control method according to claim 8, characterized in that: If the speed of the left driving wheel of the non-circular sweeping robot is not equal to the speed of the right driving wheel of the non-circular sweeping robot, the non-circular sweeping robot is configured to move along the preset clockwise direction at an angular velocity ω c Rotate by a preset angle. For the same obstacle position, the alignment point of the non-circular sweeping robot is configured to rotate by a preset angle in the reverse direction of a preset clockwise direction, so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

10. The laser obstacle avoidance control method according to claim 9, characterized in that: In step 3, the method for determining, based on the change, whether the non-circular sweeping robot has a tendency to collide with an obstacle during movement from a current moment to a next moment includes: If the plane projection distance between the alignment point of the non-circular sweeping robot at the target navigation position and the laser point used to indicate the position of the obstacle is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the laser point used to indicate the position of the obstacle, it is determined that the non-circular sweeping robot has a tendency to collide with the corresponding obstacle when moving along the current moving direction to the next moment; The plane projection distance between the alignment point and the laser point is the distance between the alignment point and the laser point in the walking plane of the non-circular sweeping robot, and the corresponding obstacle is the obstacle where the laser point used to indicate the position of the obstacle is located.

11. The laser obstacle avoidance control method according to claim 10, characterized in that: By executing step 1, the two-dimensional coordinates of the laser point representing the obstacle position falling on the walking plane of the non-circular sweeping robot are obtained, which are recorded as the position coordinates of the obstacle (x p ,y p ); After the non-circular sweeping robot determines that the coordinates of the current position are (x0, y0) and the angle of the moving direction indicated at the current position is θ0, the position coordinates of the obstacle (x p ,y p ) is converted into relative coordinates in the robot coordinate system and recorded as the coordinates of the obstacle to be avoided at the current moment (relaXp0, relaYp0); where the origin of the robot coordinate system is the current position; Then, in the robot coordinate system, the current coordinates of the obstacle to be avoided (relaXp0, relaYp0) are used to calculate the angle relaθ0 between the obstacle position represented by it and the positive direction of the horizontal axis of the robot coordinate system, which is recorded as the alignment angle of the obstacle to be avoided at the current moment.

12. The laser obstacle avoidance control method according to claim 11, characterized in that: After executing step 2 to obtain the coordinates of the target navigation position as (x1, y1) and the angle θ1 indicated by the moving direction of the non-circular sweeping robot at the next moment, the robot coordinate system of the non-circular sweeping robot at the target navigation position changes relative to the robot coordinate system of the non-circular sweeping robot at the current position, and the robot coordinate system of the non-circular sweeping robot at the target navigation position is set to the converted robot coordinate system, wherein the origin of the converted robot coordinate system is the target navigation position; Based on the relative coordinate transformation formula, the position coordinates of the obstacle (x p ,y p ) is converted into the relative coordinates in the robot coordinate system after the conversion, and recorded as the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1); Then, in the converted robot coordinate system, the next moment coordinates of the obstacle to be avoided (relaXp1, relaYp1) are used to calculate the angle relaθ1 between the obstacle position represented by it and the positive direction of the horizontal axis of the converted robot coordinate system, which is recorded as the alignment angle of the obstacle to be avoided at the next moment.

13. The laser obstacle avoidance control method according to claim 12, characterized in that: The calculation method of the relative coordinate conversion formula includes: The real-time coordinates of the obstacle to be avoided are set to (relaXp, relaYp), the position coordinates of the center of the non-circular sweeping robot are set to (x, y), and the angle indicated by the moving direction of the non-circular sweeping robot is set to θ; Based on the relative coordinate transformation formula, the position coordinates of the obstacle (x p ,y p ) is converted into the real-time coordinates of the obstacle to be avoided as follows: relaXp=(x p -x)cosθ+(y p -y)sinθ; relaYp=(y p -y)cosθ+(x p -x)sinθ; When (x, y) = (x0, y0) and θ = θ0, (relaXp, relaYp) = (relaXp0, relaYp0); When (x, y) = (x1, y1) and θ = θ1, (relaXp, relaYp) = (relaXp1, relaYp1).

14. The laser obstacle avoidance control method according to claim 12, characterized in that: There is a pre-set mapping relationship between the planar projection distance between the alignment point of the non-circular floor cleaning robot at the current position and the body center of the non-circular floor cleaning robot at the current position and the alignment angle of the obstacle to be avoided at the current moment; among them, the planar projection distance between the alignment point of the non-circular floor cleaning robot at the current position and the body center of the non-circular floor cleaning robot at the current position is represented by ROBOT_RELA_DIST(relaθ0); There is a pre-set mapping relationship between the planar projection distance between the alignment point of the non-circular floor cleaning robot at the target navigation position and the body center of the non-circular floor cleaning robot at the target navigation position and the alignment angle of the obstacle to be avoided at the next moment; among them, the planar projection distance between the alignment point of the non-circular floor cleaning robot at the target navigation position and the body center of the non-circular floor cleaning robot at the target navigation position is represented by ROBOT_RELA_DIST(relaθ1); The pre-set mapping relationship is used to represent the functional relationship between the planar projection distance between the alignment point of the non-circular floor cleaning robot in the direction of an alignment angle and the body center and the same alignment angle; the planar projection distance between the alignment point and the body center is the distance formed between the alignment point and the body center in the walking plane of the non-circular floor cleaning robot.

15. The laser obstacle avoidance control method according to claim 14, characterized in that: In step 3, the method for obtaining the change situation of the distance between the alignment point of the non-circular floor cleaning robot and the laser point representing the position of the obstacle between two adjacent moments includes: The distance D0 between the alignment point at the current position of the non-circular sweeping robot and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The distance D1 between the alignment point of the non-circular sweeping robot at the target navigation position and the coordinates of the obstacle to be avoided at the next moment is calculated as follows: When D1 < D0, it is determined that during the process of the non-circular floor cleaning robot moving from the current moment to the next moment, the planar projection distance between the body center and the laser point representing the position of the obstacle decreases.

16. The laser obstacle avoidance control method according to claim 15, characterized in that: After determining that there is a tendency to collide with the obstacle during the process of the non-circular floor cleaning robot moving from the current moment to the next moment in step 3, the method for the non-circular floor cleaning robot to adjust its pose includes: When it is determined that D1 < D0 by executing step 3, if the left drive wheel speed V l is greater than the right drive wheel speed V r , then the difference between the left drive wheel speed V l and the right drive wheel speed V r is adjusted to be less than the value 0, so that the non-circular floor cleaning robot does not collide with obstacles after moving to the next moment. Moreover, the non-circular floor cleaning robot does not move to the target navigation position. Then, the new laser point representing the obstacle position is updated to the laser point representing the obstacle position, and steps 1 to step 3 are repeated to avoid new obstacles until all the laser points representing the obstacle positions determined in step 1 are traversed; When it is determined that D1 < D0 by performing step 3, if the left drive wheel speed V l is less than the right drive wheel speed V r , then the difference between the left drive wheel speed V l and the right drive wheel speed V r is adjusted to be greater than the value 0, so that the non-circular floor cleaning robot does not collide with obstacles after moving to the next moment, and moreover, the non-circular floor cleaning robot does not move to the target navigation position; then the new laser point representing the obstacle position is updated to the laser point representing the obstacle position, and then steps 1 to step 3 are repeatedly executed to avoid new obstacles until all the laser points representing the obstacle positions determined in step 1 are traversed; Among them, the new laser point representing the position of the obstacle has not performed step 3.

Citation Information

Patent Citations

  • Sweeper state detection method and device, electronic equipment and storage medium

    CN114608849A

  • Robot control method, chip and robot

    CN114879663A