Laser obstacle avoidance control method for non-circular sweeper

Through lidar scanning and driving wheel speed adjustment, the D-type sweeping robot can avoid obstacles in a timely and accurate manner, solving the problem that protruding parts on both sides of the body are prone to collisions with obstacles, and improving cleaning efficiency and flexibility.

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

Patent Information

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

AI Technical Summary

Technical Problem

When a D-type sweeping robot encounters irregularly shaped obstacles, the protruding parts on both sides of the body are prone to hit obstacles, resulting in untimely obstacle avoidance and affecting the cleaning efficiency.

Method used

LiDAR rotation scanning is used to obtain laser point clouds, determine the position of obstacles based on the position relationship between laser points and the center distance of the body, adjust the speed of the drive wheel to avoid obstacles, and predict the distance change between the alignment point and the obstacle position. The collision trend is to adjust the position in advance to achieve timely obstacle avoidance.

Benefits of technology

It improves the accuracy and efficiency of the D-type sweeping robot to avoid obstacles in non-circular environments, avoids collisions in a single orientation at the edge of the body, and enhances the flexibility of cleaning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119112057A_ABST
    Figure CN119112057A_ABST
Patent Text Reader

Abstract

The invention discloses a laser obstacle avoidance control method for a non-circular sweeping robot, and the method comprises the steps: 1, enabling the non-circular sweeping robot to obtain an effective laser point cloud through the rotation scanning of a laser radar, laser points used for representing the position of the obstacle are determined in the effective laser point cloud according to the position relation between the laser points and the distance between the laser points and the center of a machine body of the non-circular sweeping robot; 2, calculating the pose of the non-circular sweeping robot at the next moment according to the left driving wheel speed, the right driving wheel speed and the pose at the current moment of the non-circular sweeping robot; and step 3, acquiring the change condition of the distance between the alignment point of the non-circular sweeping robot and the laser point for representing the position of the obstacle between two adjacent moments, and determining the trend of collision between the non-circular sweeping robot and the obstacle in the moving process according to the change condition. And then the non-circular sweeping robot adjusts the pose to avoid the position of the obstacle.
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] At present, most sweeping robots in cleaning scenes have circular structures. The motion planning of circular structures only needs to consider the obstacle avoidance processing of obstacles on the front side of the body. For non-circular sweeping robots in cleaning scenes, for example, a D-type sweeping robot, as a sweeping robot with a front circle and a rear shape, is different from a circular sweeping robot. The movement amplitude is larger during cleaning movement, and the 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 (for example, 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 easy to collide with the obstacle. The robot's obstacle avoidance triggering action is not timely, resulting in the D-type sweeping robot being unable to effectively implement the obstacle avoidance triggering in a single direction of the body edge, affecting the cleaning efficiency of the sweeping robot. Summary of the invention

[0003] The present 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 position relationship between laser points and the distance between the laser point and the body center of the non-circular sweeping robot; step 2, 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, the posture of the non-circular sweeping robot at the next moment is calculated; step 3, obtaining 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 body 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 avoiding obstacles, the technical solution uses the laser radar to rotate and scan the laser points in multiple directions, and then determines the obstacles in the corresponding directions based on the positional relationship between the laser points and the distance relationship between the laser points in the obstacles in the corresponding directions and the center of the body, without the need to add additional collision sensors 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 according to the speed of the left and right driving wheels. Before the non-circular sweeping robot actually moves, when it is calculated that the distance to the obstacle in the corresponding 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 indicate the obstacle position in the corresponding direction and the changes between two adjacent moments.

[0005] Furthermore, in the effective 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. Therefore, obstacles located in different directions of the non-circular sweeping robot are traversed in sequence, and after the laser point positions at the edge of the same obstacle are sorted and each laser point is traversed in sequence, the point clouds located at different obstacles can be divided.

[0006] Further, 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, the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is calculated; 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 the preset projection distance, and if so, determining the currently traversed 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 respectively; 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 are located in different obstacles respectively, an adjacent laser point that has not been traversed to the currently traversed laser point is updated to the currently traversed laser point, and then step 12 and step 13 are repeated until all laser points in the valid laser point cloud are calculated and judged, and it is determined that the laser points located in different obstacles are 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 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 it is located; then the position coordinates of each obstacle that is set are filled into the storage queue in turn, so that the non-circular sweeping robot determines 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, so 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 circular area 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 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. The present 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 facilitates the judgment of 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] Further, in step 3, the method for determining, based on the change, that 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 indicate 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 indicate 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 indicate the obstacle position. Therefore, this embodiment can predict the possibility of collision between the non-circular sweeping robot and an obstacle at the target navigation position according to 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 consider the body structure and its positional relationship with the obstacle at the corresponding position during its movement, and improve the accuracy of collision prediction in an environment where obstacles are distributed in multiple isolated positions. Furthermore, the non-circular sweeping robot can perform obstacle collision prediction in various positions to avoid the non-circular sweeping robot directly colliding with obstacles in the corresponding positions, or avoiding obstacles in a specific position but colliding with obstacles in another specific position during backward and rotation movements, effectively taking into account the collision problems caused by obstacles in various positions.

[0012] Furthermore, by executing step 1, the two-dimensional coordinates of the laser point used to represent 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 determines that the angle indicated by the moving direction at the current position is θ0, the position coordinates of the obstacle (x p ,y p) is converted into relative coordinates in the robot coordinate system, 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 coordinates of the obstacle to be avoided at the current moment (relaXp0, relaYp0) are used to calculate the angle relaθ0 between the position of the obstacle represented by it and the positive direction of the horizontal axis of the robot coordinate system, recorded as the alignment angle of the obstacle to be avoided at the current moment. Thus, the position and posture information of the obstacle to be avoided at the current moment is obtained through the relative coordinate conversion formula, which is used to calculate 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).

[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 converted robot coordinate system. p ,y p ) is converted into relative coordinates in the robot coordinate system after the conversion, recorded as the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1); then in the robot coordinate system after the conversion, the coordinates of the obstacle to be avoided at the next moment (relaXp1, relaYp1) are used to calculate the angle realθ1 between the position of the obstacle represented by it and the positive direction of the horizontal axis of the robot coordinate system after the conversion, recorded as the alignment angle of the obstacle to be avoided at the next moment. Thus, the position and posture information of the obstacle to be avoided at the next moment is obtained through the relative coordinate conversion formula, which is used to compare the change in the distance between the edge of the non-circular sweeping robot and the position coordinates of the obstacle (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.

[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 There is a preset mapping relationship for the alignment angle 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 is represented by ROBOT_RELA_DIST(relaθ1); the preset mapping relationship is used to represent 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 between the alignment point and the body center in the walking plane of the non-circular sweeping robot.

[0015] Further, 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 indicate the position of the obstacle between two adjacent moments includes: the distance D0 between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The calculation method of 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: 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, thereby determining 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] Further, 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: by executing step 3 to determine 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 a 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 above technical solution realizes effective obstacle avoidance triggering operation in a single orientation 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 indicate the position of the obstacle in a single orientation is smaller or larger between two adjacent moments, by considering 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 orientation, and accurately trigger obstacle avoidance. Then, each time the obstacle avoidance is triggered, steps 1 to 3 are repeated to realize the obstacle avoidance triggering operation in the old orientation while taking into account the problem of contact with the obstacle in the new orientation, thereby effectively taking into account the collision problems caused by obstacles in various orientations. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 An embodiment of the present application discloses a schematic diagram of a laser point cloud of a non-circular sweeping robot scanning various obstacles within a target circular area.

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

[0020] Figure 3Another embodiment of the present application 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 given below for further explanation. In the following description, for illustration rather than for limitation, specific details such as specific system structure, technology and the like are proposed, so as to thoroughly understand the present application embodiments. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, the detailed description of well-known systems, devices, circuits and methods is omitted to prevent unnecessary details from hindering the description of the present application.

[0023] A sweeping robot, also known as an automatic sweeper, smart vacuum cleaner, robot vacuum cleaner, etc., is a type of smart home appliance that can automatically clean the floor in the room with a certain degree of artificial intelligence. Generally, it uses brushing and vacuuming to absorb the debris on the ground into its own garbage storage box, thereby completing the function of floor cleaning. Generally speaking, robots that complete sweeping, vacuuming, and mopping are also collectively classified as sweeping robots. The current sweeping robots are roughly divided into round sweeping robots, square sweeping robots, and D-type sweeping robots. The overall shape of the square sweeping robot is composed of a rectangle, and the overall shape of the D-type sweeping robot is a combination of a circle and a rectangle. The square sweeping robot and the D-type sweeping robot are both non-circular sweeping robots.

[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 the left and right sides, causing the non-circular sweeping robots to directly collide with obstacles during movement. The reason is that the body edge of the non-circular sweeping robot (considered as the body boundary of the robot's walking plane) is not necessarily a regular shape, that is, the distance between the body edge and the body center in each direction is not equal or even irregular. Unlike a 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 building local 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 also 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 rotate and scan to obtain a valid laser point cloud. Specifically, the laser radar rotates and scans the laser points in a 360-degree direction at a position, and then selects the point cloud in the target circle with the center of the body as the center as the valid laser point cloud, reducing the accuracy error of the data collected by the laser radar. Then, in the valid 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, the laser point used to represent the position of the obstacle is determined, and in the same obstacle, it is used as a laser point that best represents the position of the obstacle, and then the laser point used to represent the position of the obstacle in each direction can be determined. Then execute step 2. Among them, step 1 will first determine the laser point on the same obstacle from the valid laser point cloud according to the positional relationship between the two laser points, and then determine the laser point used to represent the position of the obstacle based on the distance between the laser point and the body center of the non-circular sweeping robot. On this basis, the laser points representing the positions of each obstacle can be saved, and the positions of each obstacle are located in different directions of the non-circular sweeping robot.

[0028] Step 2: Calculate 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, which is the posture of the non-circular sweeping robot at the next moment predicted at the current position, and then execute step 3. The current position is the coordinate position included in the posture of the non-circular sweeping robot at the current moment, which can represent the two-dimensional plane position occupied by the body center of the non-circular sweeping robot at the current moment. The current position is the coordinate position included in the posture 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, which 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 when the left driving wheel speed and the right driving wheel speed do not change, so as to know the position to be moved to at the next moment in advance and realize the planning of the navigation path.

[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, and then 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 by judging the size relationship between 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 two adjacent moments. In step 3, two adjacent moments include the current moment and the next moment; then, according to the change, it is determined that 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, 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 driving wheel speed and the right driving wheel speed. The colliding obstacle can be located at the front edge of the body of the non-circular sweeping robot, the rear edge of the body, the left edge of the body, or the right edge of the body, or the left front edge, the left rear edge, the right front edge, or the right rear edge. Then the non-circular sweeping robot adjusts its posture to avoid (or understand as bypassing) the obstacle position, corresponding to the non-circular sweeping robot adjusting its posture when it does not actually move or move to the target navigation position, which can be adjusting the left driving wheel speed and / or the right driving wheel speed, including configuring the left driving wheel speed and the right driving wheel speed to be equal to the value 0, or changing the size relationship between the left driving wheel speed and the right driving 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 obstacle position in the same orientation and the pre-determined alignment point of the non-circular sweeping robot is known before the non-circular sweeping robot actually moves, and when the calculated distance becomes smaller, it is determined that there is a collision risk. In some embodiments, while keeping the distance between the body center of the non-circular 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 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 orientation remains unchanged, the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot. Therefore, 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 orientation 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 one direction between two adjacent moments is obtained 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 timely avoid the obstacle positions in various directions during the subsequent actual navigation movement.

[0032] In summary, before the non-circular sweeping robot is controlled to avoid obstacles, the aforementioned embodiment uses laser points in multiple directions scanned by the laser radar to determine the obstacles in the corresponding directions based on the positional relationship between the laser points and the distance relationship between the laser points in the obstacles in the corresponding directions and the center of the body, without the need to add an additional collision sensor in the body. After the obstacles in each direction are determined 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 according to the speed of the left and right driving wheels. Before the non-circular sweeping robot actually moves, when it is calculated that the distance to the obstacle in the corresponding 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. A reasonable obstacle avoidance distance is 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 and the 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 position of the body, and overcome the problem of directly colliding with obstacles in the corresponding position due to insufficient adjustment space in the corresponding position. 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 position, the distance between the alignment point of the non-circular sweeping robot at the current moment and the laser point used to indicate the position of the obstacle 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 position, the distance between the alignment point of the non-circular sweeping robot at the next moment and the laser point used to indicate the position of the obstacle is directly used as the obstacle avoidance distance. This prevents the non-circular sweeping robot from directly colliding with an obstacle in the corresponding position.

[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 an obstacle position, 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 that has recently executed step 3, and then steps 1 to 3 are repeated or steps 2 to 3 are repeated to avoid new obstacles 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 representing the obstacle in the new direction 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. Thus, by repeatedly executing step 3, the problem of the edge of the body contacting 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 effective 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. In this embodiment, obstacles located in different directions of the non-circular sweeping robot can be traversed in sequence, and after traversing each laser point in sequence for the laser point position order at the edge of the same obstacle, 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, the step 1 specifically includes:

[0039] Step 11, control the laser radar to emit laser lines, rotate and scan the laser point cloud, and then select 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 traverse each collected laser point in the valid laser point cloud in turn; then execute step 12. It should be noted that since the point cloud data collected by the laser radar has accuracy errors, and the farther the laser point is from the center of the body, 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 body is used as Figure 1 The valid data of 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 grid 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 transformed 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 effective 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, and then step 13 is executed. The effective laser point cloud can be regarded as a point cloud in which multiple collected laser points in the target circular area are distributed according to predetermined positions. Then, the currently traversed laser point and an adjacent laser point that has not been traversed can be extracted according to the positional proximity relationship, and the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed 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 an adjacent laser point that has not been traversed are located in the same obstacle; otherwise, determine that the currently traversed laser point and an 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 laser point that has not been traversed are both located at the same obstacle, or at different obstacles respectively, an adjacent laser point that has not been traversed to the currently traversed laser point is updated as the currently traversed laser point, and then step 12 and step 13 are repeated 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 calculating 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 positional adjacent relationship and accept the judgment of step 13, and on this basis, by repeating 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 have been traversed, so that 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 circular area 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.

[0045] Based on steps 11 to 14 of the above-mentioned embodiment, after the non-circular sweeping robot divides all the laser points located at different obstacles by executing step 14, among the laser points located at the same obstacle divided in step 14, a laser point closest to the center of the body is selected as the laser point used to indicate the position of the obstacle, specifically, the laser point used to indicate the position of the same obstacle, where the laser point closest to the center of the body is for the same obstacle and is the closest in terms of plane projection distance; 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 it is located, and in the process of repeating steps 12 to 13, the laser points used to indicate the positions of different obstacles and the position coordinates of different obstacles in the target circular domain are obtained in sequence. Then, the position coordinates of each obstacle set are filled into the storage queue in sequence to record the positions of all obstacles in the target circular domain, representing the positions of each obstacle around the non-circular sweeping robot.

[0046] In some embodiments, 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 effective laser point cloud, and are configured to have a sequential traversal order. In step 13 that is executed multiple times in succession, it is determined that the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is less than the preset projection distance, and then all laser points located in the same obstacle can be obtained, and they will be marked as traversed laser points in the effective laser point cloud in sequence; then it is determined that the plane projection distance between the currently traversed laser point and an adjacent laser point that has not been traversed is greater than the preset projection distance, and the adjacent laser point that has not been traversed is a laser point located in a new obstacle, that is, it is determined that the currently traversed laser point and an adjacent laser point that has not been traversed are respectively 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 determine all laser points located at a new obstacle in turn, 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 realizing 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 to move to 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 to form a differential motion model; when the left driving wheel speed is less than the right driving wheel speed, the non-circular sweeping robot rotates to the left to form a differential motion model; therefore, the non-circular sweeping robot keeps moving under the driving action of the left driving wheel and the right driving wheel, and the real-time moving speed of the non-circular sweeping robot is not the value 0. This embodiment chooses to plan the position to be moved to at the next moment, that is, 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 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, and the time interval is preferably 200ms, but it does not represent the actual moving time of the non-circular sweeping robot. It is a test time set to determine whether the non-circular sweeping robot has a tendency to collide with obstacles during the process of moving from the current moment to the next moment. The posture of the non-circular sweeping robot at the current moment includes the coordinates of the current position of the non-circular sweeping robot and the moving direction of the non-circular sweeping robot at the current moment, and is recorded as the current moving direction of the non-circular sweeping robot, which can be measured in real time by the gyroscope. The posture of the non-circular sweeping robot at the 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, which are calculated on the basis of determining 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 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 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 is equivalent to the moving speed of the 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 The left driving wheel and the right driving wheel are connected by a wheel axle, the wheel axle runs through the center of the non-circular sweeping robot, the left driving wheel and the right driving wheel are respectively installed on the left and right sides of the non-circular sweeping robot, and the length of the wheel axle is l. It should be noted that when V l Not equal to V r When the non-circular sweeping robot turns, the angular velocity ω that needs to be calculated is c Not equal to the value 0.

[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 posture at the target navigation position is calculated according to the posture planning formula as the posture of the non-circular sweeping robot at the next moment; the posture 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 moving 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. 1 is a non-circular sweeping robot (represented by a rectangle with a left driving wheel and a right driving wheel) whose central axis can be regarded as a tangent to 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 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 and the movement planning time t, and calculate its posture at the target navigation position as the posture of the non-circular sweeping robot at the next moment. Specifically, the posture of the non-circular sweeping robot at the next moment is calculated according to the sum of the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot, the absolute value of the difference between the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot, and the posture of the non-circular sweeping robot at the current moment.

[0058] It should be noted that the non-circular sweeping robot comprises 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 drive wheel and the right drive wheel of the non-circular sweeping robot; the body shape composed of the body and the head is not circular, 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 middle body is rectangular and the head is rectangular; wherein the front of the head points to the moving direction of the non-circular sweeping robot. The two symmetrically arranged driving wheels are respectively the left driving wheel and the right driving wheel, and the non-circular sweeping robot moves by 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, the body center line of the non-circular sweeping robot can be set as the horizontal axis of the robot coordinate system, and the body center of the non-circular sweeping robot is the origin of the robot coordinate system, so that the coordinate axis direction of the robot coordinate system can be changed by the left driving wheel and the right driving wheel to record the moving direction information of the non-circular sweeping robot in real time.

[0059] In some embodiments, the body center of the non-circular cleaning robot may be the midpoint of the wheel axle; Figure 1 and Figure 3 It can be seen that the head is semi-circular in shape. After being combined with the rectangular body, a part of the left and right sides of the head are 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 moving direction of the robot; wherein, 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 two 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 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 the preset angle ω c t, 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 the preset clockwise direction, so that the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot. In this embodiment, the intersection of the body center of the non-circular sweeping robot and the line connecting the laser point used to represent the same obstacle position and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot.

[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 the clockwise direction at an angular velocity ω c Rotate the preset angle ω c t, the alignment point of the non-circular sweeping robot is configured to rotate in a counterclockwise direction by a preset angle so that when the posture of the non-circular sweeping robot changes, the alignment point of the non-circular sweeping robot changes.

[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 moving 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 the non-circular sweeping robot moves from the current moment to the next moment. During this process, the posture of the non-circular sweeping robot is configured to change with time, and the body center of the non-circular sweeping robot also changes with time, which drives the alignment point of the non-circular sweeping robot to change with time. In particular, when the laser point used to represent the position of the obstacle in the same 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, whenever the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the position of the obstacle in one direction changes between two adjacent moments, it can be used to determine whether the non-circular sweeping robot has a tendency to collide with the obstacle in the corresponding direction during the process of moving from the current moment to the next moment.

[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 orientation of the non-circular sweeping robot between two adjacent moments. The plane projection distances calculated at two adjacent moments can be compared in size or judged by difference. Among them, the obstacle position point in one orientation of the non-circular sweeping robot is represented by a laser point used to represent the obstacle position in this orientation, the plane projection distance between the alignment point and the obstacle position point in one orientation 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 orientation, 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 orientation of the non-circular sweeping robot and the body edge of the non-circular sweeping robot is marked as the alignment point of the non-circular sweeping robot, so that the alignment point of the non-circular sweeping robot changes with the change of the posture of the non-circular sweeping robot; the plane projection distance between the alignment point and the obstacle position point is the distance formed by the alignment point and the obstacle position point in the walking plane of the non-circular sweeping robot, and when the body shape and the shape of the obstacle are both irregular shapes, it will generally change with the change of the posture of the non-circular sweeping robot.

[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 a corresponding obstacle in the process of moving along the current moving 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 an obstacle represented by the laser point used to indicate the position of the obstacle in the process of moving along the current moving direction to the next moment, and the possibility of colliding with other obstacles is not ruled out in some embodiments.

[0067] Therefore, this embodiment can predict the situation of the non-circular sweeping robot colliding with the obstacle in the orientation during the movement process according to the change of 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 orientation 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 orientation of the non-circular sweeping robot is less than the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same orientation of the non-circular sweeping robot, it is determined that there is a tendency for the non-circular sweeping robot to collide with the obstacle in the orientation during the movement process; 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 orientation of the non-circular sweeping robot is greater than or equal to the plane projection distance between the alignment point of the non-circular sweeping robot at the current position and the obstacle position point in the same orientation of the non-circular sweeping robot, it is determined that there is no tendency for the non-circular sweeping robot to collide with the obstacle in the orientation during the movement process. In this way, the positional relationship between the body structure and the obstacles at the corresponding directions during its movement is fully considered, and the collision prediction accuracy is improved in an environment where obstacles are distributed in multiple directions that are isolated from each other. The non-circular sweeping robot can perform obstacle collision prediction in various directions to avoid the non-circular sweeping robot directly colliding with obstacles in corresponding directions, or avoiding obstacles in a specific direction but colliding with obstacles in another specific direction during backward and rotating 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 used to represent 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 determines that the angle indicated by the moving direction at the current position is θ0, the position coordinates of the obstacle (x p ,y p ) is converted into relative coordinates in the robot coordinate system and 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 its posture; 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 an obstacle in one direction can be marked as an 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 it represents and the positive direction of the horizontal axis of the robot coordinate system, that is, (x p ,y p ) is the angle between the obstacle position represented by (relaXp0, relaYp0) and (x0, y0) and the positive direction of the horizontal axis of the robot coordinate system, or it can be understood as the orientation of the obstacle to be avoided at the current moment. Specifically, it is expressed as the angle between the line connecting (relaXp0, relaYp0) and (x0, y0) and 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, to represent the deflection angle between the alignment point of the non-circular sweeping robot at the current position and the line connecting its body center relative to the current moving direction of the non-circular sweeping robot, so as to obtain the position information of the obstacle to be avoided at the current moment through the relative coordinate conversion formula, which is used to calculate 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).

[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 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 change in the robot coordinate system is represented by the change in the posture 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 change in the posture 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, 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 obstacle position where it is located or the obstacle position represented by it and the positive direction of the horizontal coordinate axis of the converted robot coordinate system, recorded as the alignment angle of the obstacle to be avoided at the next moment, so as to represent the deflection angle between the alignment point of the non-circular sweeping robot at the target navigation position and the line connecting 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. It is 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, to represent 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, so as to obtain the position and posture 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: From the above embodiment, it can be known that the position coordinates (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 conversion formula, the obstacle position coordinates (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). Therefore, according to the position coordinates of the center of the non-circular sweeping robot and the position coordinates of the obstacle, the aforementioned relative coordinate conversion formula is used to perform rotation transformation and translation transformation to realize the conversion of the position coordinates of the obstacle into the robot coordinate system.

[0076] Specifically, the position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the current moment, including: 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 conversion formula, the obstacle position coordinates (x p ,y p ) into the coordinates of the obstacle to be avoided at the next moment, including: 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 body center O 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 represented by ROBOT_RELA_DIST(relaθ1), and the plane projection distance between the alignment point and the body center is the distance between the alignment point and the body center in the walking plane of the non-circular sweeping robot, which corresponds to Figure 3 The straight-line distance between the alignment point C2 and the body center O' at the current position.

[0084] The preset mapping relationship is used to represent the functional relationship between the plane projection distance between the alignment point and the center of the non-circular sweeping robot in the direction of an alignment angle and the same alignment angle. The alignment angle here is represented by the 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 line connecting the position coordinates of the same obstacle (or the laser point used to indicate the position of the obstacle) and the body center relative to the moving direction of the non-circular sweeping robot (the positive direction of the horizontal coordinate axis of the robot coordinate system that changes (for example, the conversion of the robot coordinate system mentioned in the 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 pre-set mapping relationship is used to calculate the position coordinates (x p ,y p ) is used to quantify the functional relationship between the plane projection distance between the alignment point and the body center and the alignment angle, so as to use the mapping relationship to enumerate the 360 ​​angles of the non-circular sweeping robot with the body center as the center. The distance information from the alignment point to the body center can be composed of a data structure such as a mapping table or an array, which is convenient for calculating the distance between the alignment point of the non-circular sweeping robot and the laser point used to represent the obstacle position at different times or different positions when the non-circular sweeping robot moves, and calling the distance information at the corresponding alignment angle.

[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, such as an increase or decrease in the distance value) includes:

[0086] The distance D0 between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The distance between the coordinates of the laser point used to represent 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 calculation method of 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: The distance between the coordinates of the laser point used to represent 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 robot and the laser point in one direction indicating the position of the obstacle decreases. 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 driving wheel speed V l and / or right drive wheel speed V r .

[0089] In some embodiments, 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 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 obstacles 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 executed in 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 then steps 1 to 3 are repeated to avoid new obstacles 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. Among them, the new laser point used to represent the obstacle position has not executed step 3.

[0090] In some embodiments, 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 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 obstacles 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 and not executed in 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 then steps 1 to 3 are repeated to avoid new obstacles 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. 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 driving wheels to avoid the obstacle in the corresponding direction in time.

[0092] For the left driving 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 adjustment 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, the distance between the center of the body and a direction used to indicate the position of the obstacle increases, and the non-circular sweeping robot does not need to adjust the left driving wheel speed V l and / or right drive wheel speed 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 and not executed in 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 then steps 1 to 3 are repeated to avoid new obstacles 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 indicate the position of the obstacle has not been processed in step 3.

[0094] In summary, the above-mentioned embodiment realizes effective obstacle avoidance triggering operation in a single orientation 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 indicate the position of the obstacle in a single orientation is smaller or larger between two adjacent moments, by considering 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 orientation, and accurately trigger obstacle avoidance. Then, each time obstacle avoidance is triggered, steps 1 to 3 are repeated to realize the obstacle avoidance triggering operation in the old orientation while taking into account the problem of contact with the obstacle in the new orientation, thereby effectively taking into account the collision problems caused by obstacles in various orientations.

[0095] In some embodiments, 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 into 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 of 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 rightward 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 point C2 of the left edge of the rectangular body of the non-circular cleaning robot is marked as the alignment point C2 of the non-circular cleaning robot. Based on the above embodiment, when the position coordinates of the body center O' are (x1, y1), the distance (or plane projection distance) between the obstacle position point P and the body center O' is equal to The distance (or plane projection distance) between the alignment point C2 and the center of the body O' is ROBOT_RELA_DIST(relaθ1), relaθ1 is the angle of the angle C2O'F1, and the direction of the corresponding obstacle position point P at the current moment is the direction of the arrow E1, so, Used to represent the distance (or plane projection distance) between the obstacle position point P and the alignment point C2. When D1<D0, the distance between the left side of the non-circular sweeping robot and obstacle #2 is shortened during the rotation process. Therefore, the non-circular sweeping robot will be hindered by obstacle #2 during the rotation to the right. For example, obstacle #2 will collide with the left side of the rectangular body of the non-circular sweeping robot during the right turn of the non-circular sweeping robot. Therefore, the non-circular sweeping robot needs to adjust the left drive wheel speed and / or the right drive wheel speed from the current moment to form a differential to guide the non-circular sweeping robot to move in a specific direction, thereby triggering the obstacle avoidance operation while reserving a reasonable distance D0 to avoid moving to (x1, y1), thereby overcoming the problem that the non-circular sweeping robot directly collides with obstacle #2 due to insufficient adjustment space on the lower left side.

[0096] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of 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 only express several embodiments of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope 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, and then determines the laser point used to represent the obstacle position in the valid 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: Calculate the position and posture of the non-circular sweeping robot at the next moment according to the left driving wheel speed and the right driving wheel speed of the non-circular sweeping robot and the position and 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 indicate the position of the obstacle between two adjacent moments, and then determining, based on the change, 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; Among them, 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, 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 effective 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 laser lines, rotate and scan the laser point cloud, and then select 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 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, determining 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, determining that the currently traversed laser point and the adjacent laser point that has not been traversed are located in the same obstacle; otherwise, determining that the currently traversed laser point and the adjacent laser point that has not been traversed are located in different obstacles respectively; Step 14: after determining that the currently traversed laser point and an adjacent laser point that has not been traversed are both located at the same obstacle, or at different obstacles respectively, an adjacent laser point that has not been traversed to the currently traversed laser point is updated as the currently traversed laser point, and then step 12 and step 13 are repeated 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 body 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 left driving wheel speed of the non-circular cleaning robot and the right driving wheel speed of the non-circular cleaning robot are not equal to the value 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 to move towards the target navigation position; The current position of the non-circular sweeping robot is the position of the body center of the non-circular sweeping robot at the current moment, and the target navigation position is the position of 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 preset; The position and 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 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 cleaning robot at the next moment according to the left driving wheel speed, the right driving wheel speed and the posture of the non-circular cleaning robot at the current moment includes: The non-circular sweeping robot sets its real-time measured left drive wheel speed as V l , the non-circular sweeping robot sets its real-time measured right driving wheel speed as V r ; Then, the non-circular sweeping robot moves at a speed V c Set equal to At the same time, the angular velocity ω generated by the movement of the non-circular sweeping robot c Set equal to Among them, the left driving wheel and the right driving wheel are connected by an axle, and the length of the axle is l; The non-circular sweeping robot sets the coordinates of the current position to (x0, y0), and the non-circular sweeping robot also sets the angle indicated by its moving direction at the current moment to θ0; Then, the posture at the target navigation position is calculated according to the posture planning formula as the posture of the non-circular sweeping robot at the next moment; the posture 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 moving 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 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; the body shape composed of the body and the head is not circular, and the front of the head points to the moving direction of the non-circular sweeping robot; Among them, the two symmetrically arranged driving wheels are respectively the left driving wheel and the right driving wheel, and the non-circular sweeping robot moves via 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 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.

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 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 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 in the process of 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 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 θ0, the position coordinates of the obstacle (x p ,y p ) is converted into relative coordinates in the robot coordinate system, 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 conversion formula, the obstacle position coordinates (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 coordinates of the obstacle to be avoided at the next moment (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 conversion formula, the obstacle position coordinates (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 sweeping robot at the current position and the body center of the non-circular floor sweeping 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 sweeping robot at the current position and the body center of the non-circular floor sweeping 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 sweeping robot at the target navigation position and the body center of the non-circular floor sweeping 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 sweeping robot at the target navigation position and the body center of the non-circular floor sweeping 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 sweeping 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 sweeping robot.

15. The laser obstacle avoidance control method according to claim 14, characterized in that: In step 3, the method for obtaining the change in the distance between the alignment point of the non-circular floor sweeping robot and the laser point representing the position of the obstacle between two adjacent moments includes: The distance D0 between the alignment point of the non-circular sweeping robot at the current position and the coordinates of the obstacle to be avoided at the current moment is calculated as follows: The calculation method of 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: When D1 < D0, it is determined that during the process of the non-circular floor sweeping 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 sweeping robot moving from the current moment to the next moment in step 3, the method for the non-circular floor sweeping 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 sweeping robot does not collide with obstacles after moving to the next moment. Moreover, the non-circular floor sweeping robot does not move to the target navigation position, and then the new laser point representing the obstacle position is updated to the laser point representing the obstacle position, and Steps 1 to 3 are repeatedly executed to avoid the new obstacle until all the laser points representing the obstacle positions determined in Step 1 are traversed; When it is determined that D1 < D0 by executing 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. 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 3 are repeatedly executed to avoid the new obstacle 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

  • Remote obstacle detection method based on laser radar multi-frame point cloud fusion

    CN110221603A

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

    CN114608849A

  • Robot control method, chip and robot

    CN114879663A

  • Laser point-based robot suspension determining method, map update method, and chip

    WO2023078318A1