Sleep type obstacle, orientation recognition method thereof and robot control method

By integrating robot motion data and point cloud data to identify threshold obstacles and controlling the direction of travel, the problem of low recognition and passing rate of robots when passing through threshold obstacles is solved, and higher recognition accuracy and passing are achieved Success rate.

CN119217357APending Publication Date: 2024-12-31ANKER INNOVATIONS TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202310872625.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2023-07-14
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

Existing robots have a low pass rate when passing through obstacles, making it difficult to accurately identify obstacles and their orientations.

Method used

Threshold obstacles are identified by integrating the changes in the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, as well as the changes in the pitch angle of the robot fuselage, and clustering is carried out based on point cloud data to determine the orientation of the threshold obstacles. Control the relative relationship between the robot's travel direction and the sill-like obstacles to improve the passing rate.

Benefits of technology

The accuracy of recognition of threshold obstacles and the accuracy of orientation recognition are improved, the success rate of robots passing through threshold obstacles is enhanced, and misidentification and lag are avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119217357A_ABST
    Figure CN119217357A_ABST
Patent Text Reader

Abstract

The invention relates to a sill type obstacle recognition method, a sill type obstacle orientation recognition method and a robot control method. According to the robot control method, the recognition result of the sill type obstacle and the recognition result of the orientation of the sill type obstacle are utilized, and the corresponding passing mode of the sill type obstacle is matched according to the relative relation between the advancing direction of the robot and the orientation of the sill type obstacle; a matched sill type obstacle passing mode can be provided for the robot to pass through the sill type obstacle with the orientation of the sill type obstacle as guidance, and the success rate of the robot passing through the sill type obstacle is increased.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of the Chinese patent application filed with the China Patent Office on June 29, 2023, with application number 2023107874091 and application name “Threshold-type obstacle and its orientation identification method, robot control method”, all contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of robot technology, and in particular to a threshold obstacle recognition method, a threshold obstacle orientation recognition method, and a robot control method. Background Art

[0003] With the development of robot technology, robots have greatly brought convenience to people's lives.

[0004] Robots often encounter many types of obstacles during walking, and threshold obstacles are one of them. When existing robots pass through threshold obstacles, there is a problem of low passing rate. Summary of the invention

[0005] Based on this, it is necessary to provide a threshold-type obstacle recognition method that can improve the recognition accuracy, a threshold-type obstacle orientation recognition method that can improve the recognition accuracy, a robot control method that can improve the pass rate of passing through threshold-type obstacles, and a robot and a computer-readable storage medium to address the above-mentioned technical problems.

[0006] In a first aspect, the present application provides a threshold obstacle recognition method, characterized in that the method comprises:

[0007] Obtaining at least one of a target axis angular velocity, a target axis angular acceleration and a target axis acceleration, and a pitch angle of the robot body during walking;

[0008] Whether the robot touches a threshold obstacle is identified based on changes in at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and changes in the pitch angle of the robot body.

[0009] In a second aspect, the present application provides a method for identifying the direction of a threshold obstacle, characterized in that the method comprises:

[0010] Clustering is performed based on the collected point cloud data to obtain multiple clustered point clouds;

[0011] Determine, in the plurality of clustered point clouds, a cluster in which at least two endpoints of a threshold obstacle are located;

[0012] Obtaining a skeleton line of the threshold obstacle according to a line closest to a preset position of the fuselage among lines of a cluster where at least two endpoints of the threshold obstacle are located;

[0013] The orientation of the threshold-type obstacle is determined according to the skeleton line of the threshold-type obstacle.

[0014] In a third aspect, the present application provides a robot control method, characterized in that the method comprises:

[0015] Based on the recognition result of the threshold obstacle, trigger the instruction of passing the threshold obstacle;

[0016] In response to the instruction to pass through a threshold obstacle, obtaining a direction of the threshold obstacle;

[0017] Obtaining the relative relationship between the robot's moving direction and the orientation of the threshold obstacle;

[0018] The robot is controlled to pass through the threshold obstacle in a threshold obstacle passing manner corresponding to the relative relationship.

[0019] In a fourth aspect, the present application provides a robot comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method described in the above embodiments of the claims when executing the computer program.

[0020] In a fifth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed by a processor, the steps of the methods of the above-mentioned embodiments are implemented.

[0021] In a sixth aspect, the present application provides a computer program product, including a computer program, which implements the steps of the methods of the above embodiments when executed by a processor.

[0022] The threshold obstacle recognition method of the present application recognizes threshold obstacles by fusing the changes in at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, as well as the changes in the pitch angle of the robot body, thereby enriching the information source for the threshold obstacle recognition, avoiding misidentification caused by single-dimensional data, and improving the accuracy of the threshold obstacle recognition.

[0023] The threshold obstacle orientation recognition method of the present application performs clustering based on the collected point cloud data, determines the cluster where the threshold obstacle endpoint is located according to the clustering result, obtains the threshold obstacle skeleton line according to the line closest to the preset position of the fuselage in the cluster where the threshold obstacle endpoint is located, and determines the threshold obstacle orientation according to the threshold obstacle skeleton line. The method uses point cloud data to identify the threshold line, takes into account the relationship between the threshold obstacle skeleton line and the preset position of the robot, and identifies the orientation of the threshold obstacle based on the threshold obstacle skeleton line, which can improve the accuracy of identifying the orientation of the threshold obstacle.

[0024] The robot control method of the present application uses the threshold recognition result and the threshold obstacle orientation recognition result to match the corresponding threshold obstacle passage method according to the relative relationship between the robot's travel direction and the threshold obstacle orientation. The method can provide a matching threshold obstacle passage method for the robot to pass through the threshold obstacle with the threshold obstacle orientation as a guide, thereby improving the success rate of the robot passing through the threshold obstacle. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a structural block diagram of the sensor part of a robot in one embodiment;

[0026] Figure 2 1 is a flow chart of a method for identifying a threshold obstacle in one embodiment;

[0027] Figure 3 is a schematic diagram of a carrier coordinate system in an embodiment;

[0028] Figure 4 A schematic diagram of a flow chart of steps for determining whether a robot threshold has been touched according to an embodiment;

[0029] Figure 5 is a schematic flow chart of a method for identifying the direction of a threshold obstacle in one embodiment;

[0030] Figure 6 is a schematic diagram illustrating laser point cloud clustering in one embodiment;

[0031] Figure 7 is a schematic diagram illustrating the orientation of a threshold-type obstacle in one embodiment;

[0032] Figure 8 is a schematic diagram for explaining the connection of clustered point clouds in one embodiment;

[0033] Fig. 9 A schematic diagram illustrating the nearest connection in an embodiment;

[0034] Fig.10 is a schematic diagram illustrating the orientation of a threshold-type obstacle in one embodiment;

[0035] Fig.11 is a schematic diagram of a flow chart of direction identification of a threshold obstacle in another embodiment;

[0036] Figures 12 to 17 It is a schematic diagram of straight line fitting of clustered point cloud;

[0037] Fig.18 A schematic diagram of a flow chart of a robot control method in one embodiment;

[0038] Fig.19 A schematic flow chart of a robot control method in another embodiment;

[0039] Fig. 20 A schematic diagram of a flow chart of signal control when passing through a threshold obstacle according to an embodiment;

[0040] Fig.21 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0041] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0042] The present application embodiment provides a robot, such as Figure 1 As shown, the sensing part includes:

[0043] Controller, IMU (Inertial Measurement Unit), LiDAR and various sensors. Among them, IMU, LiDAR and various sensors are all connected to the controller signal. The various sensors include but are not limited to visual sensors, infrared sensors, collision sensors, ultrasonic sensors, wall sensors, cliff sensors and anti-fall sensors.

[0044] Among them, IMU, LiDAR and other types of sensors collect information and send it to the controller, which makes decisions based on the collected information. Decisions can include navigation, obstacle avoidance and control.

[0045] Among them, the robots in this application include but are not limited to cleaning robots, food delivery robots and logistics robots.

[0046] The robot may encounter obstacles during actual operation. Different operation modes can be used to safely pass through different obstacles. Threshold obstacles are one type of obstacles. In order to improve the accuracy of passing through threshold obstacles, the present application provides a threshold obstacle recognition method, a threshold obstacle orientation recognition method, and a robot control method.

[0047] When traditional robots identify threshold obstacles, they usually make judgments based on the inclination angle of the IMU. When the inclination angle changes significantly, it can be determined that the robot has touched a threshold obstacle. However, using the inclination angle can easily misidentify objects such as slopes and carpets as threshold obstacles. The threshold obstacle identification method of the present application identifies whether the robot has touched a threshold obstacle by utilizing the changes in at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, as well as the changes in the pitch angle of the robot body, wherein the target axis is the rotation axis of the pitch angle. This method identifies threshold obstacles by fusing the changes in at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, as well as the changes in the pitch angle of the robot body, thereby reducing the false detection rate of threshold obstacles.

[0048] The threshold obstacle orientation recognition method of the present application performs clustering based on the collected point cloud data, determines the skeleton line of the threshold obstacle, and determines the orientation of the threshold obstacle based on the skeleton line of the threshold obstacle. This method can quickly determine the orientation of the threshold obstacle and improve the detection efficiency of the orientation of the threshold obstacle.

[0049] The robot control method of the present application triggers a threshold obstacle passing instruction based on the identification result of the threshold obstacle; in response to the threshold obstacle passing instruction, obtains the relative relationship between the robot's travel direction and the orientation of the threshold obstacle; and controls the robot to pass the threshold obstacle in a threshold obstacle passing manner corresponding to the relative relationship. When the robot passes through the threshold obstacle, by considering the relative relationship between the orientation of the threshold obstacle and the robot's travel direction, a reference is provided for determining the threshold obstacle passing manner, which can improve the success rate of the robot passing the threshold obstacle.

[0050] In one embodiment, Figure 2 As shown, a threshold obstacle recognition method is provided, and the method is applied to Figure 1 The controller in the example is used to illustrate the following steps:

[0051] Step 202, obtaining at least one of a target axis angular velocity, a target axis angular acceleration and a target axis acceleration, and a pitch angle of the robot body during walking, wherein the target axis is a rotation axis of the pitch angle.

[0052] The target axis angular velocity, target axis angular acceleration and target axis acceleration of the robot during walking, as well as the robot body pitch angle, can be detected by the robot's sensors, for example, by the robot's inertial measurement unit.

[0053] The coordinate system of the robot's sensor is Figure 3As shown, there are an X-axis, a Y-axis and a Z-axis. When viewed from the rear of the robot, the Z-axis is usually set to face the top of the robot. In one embodiment, the X-axis can be set to face the front of the robot, and the Y-axis can be set to face the left side of the robot. In this case, the Y-axis is the rotation axis of the pitch angle, and the target axis is the Y-axis.

[0054] In another embodiment, when viewed from the rear of the robot, the X-axis can be set to the right side of the robot, and the Y-axis can be set to the front of the robot. At this time, the X-axis is the rotation axis of the pitch angle, and the target axis is the X-axis. Specifically, IMU (Inertial Measurement Unit) is a device for measuring the three-axis attitude angle and acceleration of an object. Generally, IMU includes a three-axis gyroscope and a three-axis accelerometer, and some 9-axis IMUs also include a three-axis magnetometer. The accelerometer detects the acceleration signal of the object in the independent three axes of the carrier coordinate system, and the gyroscope detects the angular velocity signal of the carrier relative to the navigation coordinate system, measuring the angular velocity and acceleration of the object in three-dimensional space.

[0055] When the robot collides, rotates in place, or other scenarios occur, at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration will change suddenly.

[0056] Among them, the pitch angle refers to the angle of rotation around the target axis in the attitude angle. The pitch angle of the robot body can be determined by the integral term of the target axis angular velocity calculated by the IMU. When the robot walks on a road with a height difference, such as climbing a slope, crossing a threshold, etc., the pitch angle will change significantly.

[0057] Step 204 , identifying whether the robot touches a threshold obstacle based on the change of at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the change of the robot body pitch angle.

[0058] Among them, threshold obstacles are objects that are protruding from the ground and are in the shape of a threshold, which cause obstacles to the robot's walking. Threshold obstacles can include threshold bars, threshold blocks, etc. Common threshold obstacles in life include door sills, connectors of table and chair legs on the ground, connectors of bed legs on the ground, block obstacles protruding from the ground, strip obstacles protruding from the ground, etc. Because threshold obstacles are usually in the shape of threshold bars or threshold blocks, and the height protruding from the ground is relatively small, the robot can pass through such obstacles by accelerating.

[0059] One implementation method is to identify whether the robot has touched a threshold obstacle based on changes in the target axis angular velocity and the robot body pitch angle. If the target axis angular velocity and the robot body pitch angle of the robot change significantly in a short period of time during walking, it can be determined that the robot has touched a threshold obstacle.

[0060] One implementation method is to identify whether the robot has touched a threshold obstacle based on changes in the target axis acceleration and the robot body pitch angle. If the target axis acceleration and the robot body pitch angle of the robot change significantly in a short period of time during walking, it can be determined that the robot has touched a threshold obstacle.

[0061] One implementation method is to identify whether the robot has touched a threshold obstacle based on changes in the target axis angular acceleration and the pitch angle of the robot body. If the target axis angular acceleration and the pitch angle of the robot body change significantly in a short period of time during the robot's walking process, it can be determined that the robot has touched a threshold obstacle.

[0062] One implementation method is to identify whether the robot has touched a threshold obstacle based on changes in the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle. If the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle of the robot change significantly in a short period of time during walking, it can be determined that the robot has touched a threshold obstacle.

[0063] One implementation method is to identify whether the robot has touched a threshold obstacle based on changes in the target axis angular velocity, the target axis acceleration, and the robot body pitch angle. If the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle of the robot change significantly in a short period of time during walking, it can be determined that the robot has touched a threshold obstacle.

[0064] One implementation method is to identify whether the robot touches a threshold obstacle based on changes in the target axis angular velocity, target axis acceleration, target axis angular acceleration, and the robot body pitch angle. If the target axis angular velocity, target axis angular acceleration, target axis angular acceleration, and the robot body pitch angle of the robot change significantly in a short period of time during walking, it can be determined that the robot touches a threshold obstacle.

[0065] Compared with the method of identifying threshold obstacles according to the target axis angular velocity and the target axis angular acceleration, whether the robot touches the threshold obstacle is identified according to the change of at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration during the walking process of the robot, and the change of the pitch angle of the robot body, so as to avoid the situation that the threshold obstacle is mistakenly detected due to the action of sudden change of angular velocity such as collision and rotation in situ. Compared with the method of identifying threshold obstacles according to the pitch angle of the robot body, whether the robot touches the threshold obstacle is identified according to the change of at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration during the walking process of the robot, and the change of the pitch angle of the robot body, so as to avoid the situation that the threshold obstacle is mistakenly detected due to the increase of the pitch angle of climbing. In this embodiment, by fusing the detection results of multiple data such as the target axis angular velocity, the target axis acceleration, the target axis angular acceleration and the pitch angle of the robot body, the robustness of the threshold obstacle recognition detection is higher.

[0066] The method identifies threshold obstacles by fusing the changes in at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, as well as the changes in the pitch angle of the robot body. This enriches the information source for identifying threshold obstacles, can avoid misidentification caused by single-dimensional data, and improves the accuracy of identifying threshold obstacles.

[0067] In another embodiment, whether the robot touches a threshold obstacle is identified based on changes in at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, as well as changes in the pitch angle of the robot body, including: when at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, as well as the pitch angle of the robot body reach corresponding threshold identification thresholds within a preset time, it is determined that the robot touches a threshold obstacle.

[0068] Among them, the threshold recognition threshold is the critical value used to determine whether a threshold obstacle is recognized. It can be understood that for the four parameters of target axis angular velocity, target axis acceleration, target axis angular acceleration, and robot body pitch angle, the threshold recognition threshold is set respectively. That is, the threshold recognition threshold includes the threshold recognition threshold of the target axis angular velocity, the threshold recognition threshold of the target axis acceleration, the threshold recognition threshold of the target axis angular acceleration, and the threshold recognition threshold of the body pitch angle.

[0069] In one embodiment, according to the setting of the sensor, when viewed from the rear of the robot, the X-axis is set to face the front of the robot, and the Y-axis is set to face the left side of the robot. At this time, the Y-axis is the rotation axis of the pitch angle, and the target axis is the Y-axis. When the robot's universal front wheel climbs onto a threshold-like obstacle, the robot body tilts, the target axis angular velocity is negative, the target axis angular acceleration is negative, the target axis acceleration is negative, and the pitch angle is negative.

[0070] Under this setting, in one embodiment, the target axis angular velocity and the robot body pitch angle need to be less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. This is also consistent with the actual application of the robot. In one embodiment, the preset time can be set to one second. When the target axis angular velocity and the robot body pitch angle are both less than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0071] In one embodiment, the target axis acceleration speed and the robot body pitch angle need to be less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. This is also consistent with the actual application of the robot. In one embodiment, the preset time can be set to one second. When the target axis acceleration and the robot body pitch angle are both less than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0072] In one embodiment, the target axis angular acceleration and the robot body pitch angle need to be less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second. When the target axis angular acceleration and the robot body pitch angle are both less than or equal to the corresponding recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0073] In one embodiment, the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle need to be less than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0074] In one embodiment, the target axis angular velocity, the target axis acceleration, and the robot body pitch angle need to be less than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second. When the target axis angular velocity, the target axis acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0075] In one embodiment, the target axis angular velocity, the target axis acceleration, the target axis angular acceleration, and the robot body pitch angle need to be less than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis acceleration, the target axis angular acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0076] In one embodiment, according to the setting of the sensor, when viewed from the rear of the robot, the X-axis can be set to the right side of the robot, and the Y-axis can be set to the front of the robot. At this time, the X-axis is the rotation axis of the pitch angle, and the target axis is the X-axis. When the robot's universal front wheel climbs onto a threshold obstacle, the robot body tilts, the target axis angular velocity is positive, the target axis acceleration is positive, the target axis angular acceleration is positive, and the pitch angle is positive.

[0077] Under this setting, in one embodiment, the robot is judged to have touched a threshold obstacle only when the target axis angular velocity and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0078] In one embodiment, the target axis acceleration and the robot body pitch angle need to be greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second. When the target axis acceleration and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0079] In one embodiment, the target axis angular acceleration and the robot body pitch angle need to be greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second. When the target axis angular acceleration and the robot body pitch angle both reach a recognition threshold greater than or equal to within one second, the robot is determined to have touched a threshold obstacle.

[0080] In one embodiment, the target axis angular velocity, the target axis acceleration, and the robot body pitch angle need to be greater than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0081] In one embodiment, the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle need to be greater than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0082] In one embodiment, the robot is judged to have touched a threshold obstacle only when the target axis angular velocity, target axis acceleration, target axis angular acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold identification threshold at the same time, or nearly at the same time. In one embodiment, the preset time can be set to one second. When the target axis angular velocity, target axis acceleration, target axis angular acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold identification threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0083] In this embodiment, at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle data are combined, and when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration and the robot body pitch angle all reach the corresponding threshold recognition threshold within a preset time, it is determined that the robot touches a threshold obstacle. This method can improve the accuracy of threshold obstacle recognition through a time window algorithm.

[0084] In another embodiment, Figure 4As shown, according to the change of at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the change of the pitch angle of the robot body, identifying whether the robot touches a threshold obstacle includes:

[0085] Step 302, judging whether the target axis angular velocity, at least one of the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold value for identification within a preset time. If yes, executing step 304, if no, continuously judging whether the target axis angular velocity, at least one of the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold value for identification within a preset time.

[0086] Step 304, determine whether the robot is currently touching a ground surface. If not, execute step 306. If yes, continue to determine whether the target axis angular velocity, at least one of the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold recognition threshold within a preset time.

[0087] Among them, ground obstacles refer to objects laid on the ground, and ground obstacles may include carpets, floor mats, etc. Ground laying objects can easily cause obstacles to the robot's walking. In some cases, when the robot passes through ground laying objects, the change characteristics of data such as the target axis angular velocity, target axis acceleration, target axis angular acceleration, and the pitch angle of the robot body are very similar to those when passing through threshold obstacles. If they are not distinguished, the same passing strategy is used for the two types of obstacles, which will affect the robot's passing effect. Exemplarily, for threshold obstacles, the robot's passing strategy adopted is to accelerate through. If the carpet is mistakenly identified as a threshold obstacle, the robot will accelerate and sprint through the carpet. On the one hand, it is not very beautiful. On the other hand, for the sweeping robot, the carpet may not be cleaned properly.

[0088] Therefore, when at least one of the target axis angular velocity, target axis angular acceleration and target axis acceleration, as well as the robot body pitch angle, reaches the corresponding threshold value for identification within a preset time during the robot's walking process, it is necessary to further distinguish whether the obstacle touched is a ground paving. Specifically, the collected data of the robot's auxiliary sensor can be used for judgment.

[0089] Among them, auxiliary sensors include but are not limited to visual sensors, infrared sensors, ultrasonic sensors and laser radars. For example, visual sensors can be used to collect images and identify obstacle types. However, since visual sensors are usually set on the top of the robot, the accuracy of identifying ground laying objects using this method is unstable due to the angle at which the machine sees the obstacle. For another example, the type of obstacle can be distinguished based on ultrasonic sensors, whether it is a threshold obstacle or a ground laying object (such as a carpet). Ultrasonic sensors are usually set near the front universal wheels of the robot and can collect ground information. Because ground laying obstacles and threshold obstacles have different intensity information, the intensity information returned by the ultrasonic sensor and filtered can distinguish whether the obstacle is a threshold obstacle or a ground laying object.

[0090] Step 306: Determine whether the robot touches a threshold obstacle.

[0091] When at least one of the target axis angular velocity, target axis angular acceleration and target axis acceleration of the robot during walking, as well as the pitch angle of the robot body reach the corresponding threshold recognition threshold within a preset time, by excluding the situation where the robot touches ground paving, it is possible to accurately determine that the robot has touched a threshold obstacle, thereby improving the accuracy of threshold recognition.

[0092] In another embodiment, after determining that the robot touches a threshold obstacle, when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold signal closing threshold within a preset time, it is determined that the robot has left the threshold obstacle.

[0093] Among them, the threshold signal closing threshold is a critical value used to further determine whether the robot has left the threshold obstacle after judging that the robot has touched the threshold obstacle. It can be understood that for the three parameters of the target axis angular velocity, the target axis acceleration, the target axis angular acceleration, and the robot body pitch angle, the threshold signal closing threshold is set respectively. That is, the threshold signal closing threshold includes the threshold signal closing threshold of the target axis angular velocity, the threshold signal closing threshold of the target axis angular acceleration, and the threshold signal closing threshold of the body pitch angle. At least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle need to reach the corresponding threshold signal closing threshold at the same time, or nearly at the same time, before it is judged that the robot has left the threshold obstacle.

[0094] In one embodiment, according to the setting of the sensor, when viewed from the rear of the robot, the X-axis is set to face the front of the robot, and the Y-axis is set to face the left side of the robot. At this time, the Y-axis is the rotation axis of the pitch angle, and the target axis is the Y-axis. When the robot's universal front wheel leaves the threshold obstacle, the pitch angle is positive, the target axis angular acceleration is positive, and the target axis acceleration and target axis angular velocity are positive.

[0095] Under this setting, in one embodiment, the target axis angular velocity and the robot body pitch angle need to be greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. This is also consistent with the actual application of the robot. In one embodiment, the preset time can be set to one second. When the target axis angular velocity and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0096] In one embodiment, the target axis acceleration and the robot body pitch angle need to be greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. This is also consistent with the actual application of the robot. In one embodiment, the preset time can be set to one second. When the target axis acceleration and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0097] In one embodiment, the target axis angular acceleration and the robot body pitch angle need to be greater than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular acceleration and the robot body pitch angle are both greater than or equal to the corresponding recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0098] In one embodiment, the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle need to be greater than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0099] In one embodiment, the target axis angular velocity, the target axis acceleration, and the robot body pitch angle need to be greater than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0100] In one embodiment, the target axis angular velocity, target axis angular acceleration, target axis acceleration, and the robot body pitch angle need to be greater than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, target axis angular acceleration, target axis acceleration, and the robot body pitch angle are all greater than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0101] In one embodiment, according to the setting of the sensor, when viewed from the rear of the robot, the X-axis can be set to the right side of the robot, and the Y-axis can be set to the front of the robot. In this case, the X-axis is the rotation axis of the pitch angle, and the target axis is the X-axis. When the robot's universal front wheel leaves a threshold obstacle, the pitch angle is negative, the target axis angular acceleration is negative, the target axis acceleration is negative, and the target axis angular velocity is negative.

[0102] Under this setting, in one embodiment, the robot is judged to have touched a threshold obstacle only when the target axis angular velocity and the robot body pitch angle are both less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity and the robot body pitch angle are both less than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0103] In one embodiment, the target axis acceleration and the robot body pitch angle need to be less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis acceleration and the robot body pitch angle are both less than or equal to the corresponding recognition threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0104] In one embodiment, the target axis angular acceleration and the robot body pitch angle need to be less than or equal to the corresponding recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular acceleration and the robot body pitch angle both reach less than or equal to the recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0105] In one embodiment, the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle need to be less than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second, and when the target axis angular velocity, the target axis angular acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0106] In one embodiment, the target axis angular velocity, the target axis acceleration, and the robot body pitch angle need to be less than or equal to the corresponding threshold recognition threshold at the same time, or nearly at the same time, before the robot is judged to have touched a threshold obstacle. In one embodiment, the preset time can be set to one second. When the target axis angular velocity, the target axis acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold recognition threshold within one second, the robot is determined to have touched a threshold obstacle.

[0107] In one embodiment, the robot is judged to have touched a threshold obstacle only when the target axis angular velocity, target axis angular acceleration, target axis acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold identification threshold at the same time, or nearly at the same time. In one embodiment, the preset time can be set to one second. When the target axis angular velocity, target axis angular acceleration, target axis acceleration, and the robot body pitch angle are all less than or equal to the corresponding threshold identification threshold within one second, it is determined that the robot has touched a threshold obstacle.

[0108] The robot leaving the threshold-type obstacle includes two situations: the robot moves forward through the threshold-type obstacle, and the robot moves backward and leaves the threshold-type obstacle.

[0109] In this embodiment, at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle parameter are integrated. When at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle parameter all reach the corresponding threshold signal closing threshold within a preset time, it is determined that the robot has left the threshold obstacle. This method can improve the accuracy of threshold obstacle recognition through a time window algorithm.

[0110] The above-mentioned threshold obstacle recognition method can accurately identify whether the robot has touched a threshold obstacle. After determining that the robot has touched a threshold obstacle, it is necessary to further solve how to avoid unexpected situations such as the robot getting stuck on the threshold bar or the threshold block when passing through the threshold obstacle, so as to improve the success rate of the robot passing the threshold obstacle. Taking the threshold obstacle as an example, when determining that the robot has touched a threshold obstacle, it is necessary to further solve how to avoid unexpected situations such as the robot getting stuck on the threshold when passing through the threshold, so as to improve the success rate of the robot passing the threshold. To this end, the present application also provides a method for identifying the direction of a threshold obstacle, and this method is applied to Figure 1 Take the controller in as an example to illustrate. Figure 5 As shown, the following steps are included:

[0111] Step 402 : clustering is performed based on the collected point cloud data to obtain a plurality of clustered point clouds.

[0112] Specifically, point cloud data can be collected using sensors configured on the robot, including but not limited to infrared sensors, laser radars, millimeter wave radars, and the like.

[0113] In one embodiment, the robot is equipped with a 360-degree single-line laser radar. The robot can obtain point cloud data collected by the laser radar in real time or when it is determined that the robot touches a threshold obstacle. Based on the collected point cloud data, clustering is performed according to the distance between the point clouds, and points with adjacent distances less than a certain threshold are clustered into one category to obtain multiple clustered point clouds.

[0114] Among them, the belonging of multiple cluster point clouds is related to the environment where the threshold obstacle is located. In actual applications, multiple cluster point clouds can be detected under the influence of the environment around the threshold obstacle.

[0115] In combination with actual applications, it can be found that the obvious appearance features of most threshold obstacles include: a frame is usually set on both sides of the threshold obstacle. In this application scenario, the point cloud clustering result of an embodiment is as follows: Figure 6 As shown, this example obtains multiple clustered point clouds by clustering at the threshold-type obstacles, which are the frame point clouds of the threshold-type obstacles on the left side of the robot and the frame point clouds of the threshold-type obstacles on the right side of the robot.

[0116] It is understandable that in actual applications, various clustered point clouds can be detected due to the influence of the shape of the door body and obstacles near the door body.

[0117] Among them, the threshold obstacle recognition method of the present application can be used to determine whether the robot touches the threshold obstacle.

[0118] Step 404: determine the cluster where at least two endpoints of the threshold obstacle are located in the multiple cluster point clouds.

[0119] The endpoints of the threshold obstacle are relative to the robot. If there is no obstacle blocking the threshold obstacle, the endpoints of the threshold obstacle are the boundary endpoints on both sides of the threshold obstacle. If there is an obstacle blocking the threshold obstacle, at least one of the endpoints of the threshold obstacle is the intersection of the threshold obstacle and other obstacles.

[0120] Specifically, based on the characteristics of the threshold obstacle endpoints, the cluster point cloud is further analyzed to determine the clusters where at least two threshold obstacle endpoints are located. Among them, since when at least one of the target axis angular velocity, target axis angular acceleration and target axis acceleration of the robot during walking, and the robot body pitch angle reach the corresponding threshold recognition threshold within a preset time, it is determined that the robot touches the threshold obstacle, then the distance between the threshold obstacle endpoint and the robot preset position should be closer than other point cloud data, therefore, the cluster where the threshold obstacle endpoint is located can be determined based on the distance between each cluster point cloud and the robot preset position.

[0121] For example, the preset position may be the position where the robot touches a threshold obstacle. In one embodiment, the preset position may be the position of the robot's front universal wheel. That is, when the robot touches a threshold obstacle, the distance between the threshold obstacle endpoint and the position where the robot touches the threshold obstacle should be closer than other point cloud data. Therefore, the cluster where the threshold obstacle endpoint is located can be determined based on the distance between each cluster point cloud and the position where the robot touches the threshold obstacle.

[0122] Specifically, when at least one of the target axis angular velocity, target axis angular acceleration and target axis acceleration of the robot during walking, and the pitch angle of the robot body reach the corresponding threshold recognition threshold within a preset time, it is determined that the robot touches the threshold obstacle, and the corresponding robot operation scenario is that the robot's front wheels climb up the threshold obstacle. At this time, the robot's front wheels are on the threshold obstacle. Then the distance between the endpoint of the threshold obstacle and the robot's front wheel should be closer than other point cloud data. Therefore, the cluster where the endpoint of the threshold obstacle is located can be determined based on the distance between each cluster point cloud and the robot's front wheel. In one embodiment, at least two clusters in each cluster whose point cloud connection is closest to the robot's front wheel can be determined as the cluster where the endpoint of the threshold obstacle is located.

[0123] Taking a threshold obstacle as an example, when at least one of the target axis angular velocity, target axis angular acceleration and target axis acceleration of the robot during walking, and the pitch angle of the robot body reach the corresponding threshold recognition threshold within a preset time, it is determined that the robot has climbed the threshold, and at this time, the front wheel of the robot is on the threshold obstacle. Then the distance between the endpoint of the threshold obstacle and the front wheel of the robot should be closer than other point cloud data. Therefore, the cluster where the endpoint of the threshold obstacle is located can be determined based on the distance between each cluster point cloud and the front wheel of the robot. In one embodiment, at least two clusters in each cluster whose point cloud connection is closest to the front wheel of the robot can be determined as the cluster where the endpoint of the threshold obstacle is located.

[0124] Step 406 , obtaining a skeleton line of the threshold-type obstacle according to a line closest to a preset position of the fuselage among lines of the cluster where at least two endpoints of the threshold-type obstacle are located.

[0125] The skeleton line of a threshold obstacle is a line that represents the outline of the threshold obstacle. Usually, the skeleton line of the threshold obstacle is consistent with the length direction of the threshold obstacle.

[0126] After determining the cluster where the threshold obstacle endpoint is located, based on the connection lines between the point clouds of the cluster where the threshold obstacle endpoint is located, the connection line closest to the preset position of the fuselage is found to obtain the skeleton line of the threshold obstacle.

[0127] Step 408: Determine the orientation of the threshold obstacle according to the skeleton line of the threshold obstacle.

[0128] The orientation of the threshold obstacle is perpendicular to the extension direction of the threshold obstacle, indicating the orientation of the threshold obstacle based on the extension direction. In one embodiment, the orientation of the threshold obstacle is consistent with the width direction of the threshold obstacle. In one implementation, the normal of the skeleton line of the threshold obstacle can be used as the orientation of the threshold obstacle. Figure 7 As shown, the skeleton line of the threshold obstacle is consistent with the length direction of the threshold obstacle, and the width direction perpendicular to the length direction is taken as the direction of the threshold obstacle.

[0129] The above-mentioned threshold obstacle orientation recognition result is clustered based on the collected point cloud data, and the cluster where the threshold obstacle endpoint is located is determined according to the clustering result. The threshold obstacle skeleton line is obtained according to the line closest to the preset position of the fuselage in the cluster where the threshold obstacle endpoint is located, and the threshold obstacle orientation is determined according to the threshold obstacle skeleton line. This method uses point cloud data to identify the threshold line, takes into account the relationship between the threshold obstacle skeleton line and the preset position of the robot, and the method of identifying the orientation of the threshold obstacle based on the threshold obstacle skeleton line can improve the accuracy of the threshold obstacle orientation recognition.

[0130] In another embodiment, when it is determined that the robot touches a threshold obstacle, the collection of point cloud data is triggered, that is, when it is determined that the robot touches a threshold obstacle, clustering is performed based on the collected point cloud data to obtain multiple clustered point clouds.

[0131] The preset position of the fuselage is the position where the robot touches the endpoint of the threshold obstacle. When the robot is identified to have touched the endpoint of the threshold obstacle, the front wheel of the robot is in the state of climbing up the endpoint of the threshold obstacle. At this time, the front wheel of the robot is on the threshold obstacle. Therefore, the front wheel of the robot can be used as the preset position of the fuselage, that is, the line closest to the front wheel of the robot is found among the lines between the point clouds of the cluster where the endpoint of the threshold obstacle is located, and the skeleton line of the threshold obstacle is obtained.

[0132] The above-mentioned threshold obstacle orientation recognition result, when determining that the robot touches the threshold obstacle, clustering is performed based on the collected point cloud data, and the cluster where the threshold obstacle endpoint is located is determined according to the clustering result. The skeleton line of the threshold obstacle is obtained according to the line closest to the preset position of the fuselage in the cluster where the threshold obstacle endpoint is located, and the orientation of the threshold obstacle is determined according to the skeleton line of the threshold obstacle. This method uses laser radar data to identify the threshold line, taking into account the relationship between the door frame line and the position where the robot touches the threshold. The method of identifying the orientation of the threshold obstacle based on the threshold line can improve the accuracy of the orientation recognition of the threshold obstacle.

[0133] In another embodiment, the clusters where at least two endpoints of the threshold-type obstacles are located are determined in the multiple cluster point clouds, including: connecting the points in each cluster point cloud that are closest to the preset position of the fuselage in sequence to obtain the connecting lines between the cluster point clouds; determining the target connecting line that is closest to the preset position of the fuselage among the connecting lines between the cluster point clouds, and taking the two clusters where the endpoints of the target connecting line are located as the clusters where the endpoints of the threshold-type obstacles are located.

[0134] Among them, with the preset position of the fuselage as a reference, the cluster where the endpoint of the threshold obstacle is located can be the cluster where the endpoint of the line between the clusters with the smallest distance difference from the preset position of the fuselage is located. Specifically, when it is detected that the robot touches the threshold obstacle, the cluster where the endpoint of the threshold obstacle is located should be the cluster where the endpoint of the line between the clusters is closest to the position where the robot touches the threshold obstacle. Among them, each point of each cluster can be connected in sequence for search. In order to improve the search efficiency, it is also possible to first find the point in each cluster point cloud that is closest to the preset position of the fuselage, and then, as Figure 8As shown in the figure, the nearest points of all classes are connected to obtain the connection lines between each cluster point cloud, and then the connection line between each cluster point cloud is found that is closest to the preset position of the fuselage, and the cluster to which the endpoint of the connection line is located is used as the cluster where the endpoint of the threshold obstacle is located. Considering that when the robot is detected to touch the threshold obstacle, the robot's front wheel is in the state of climbing up the threshold obstacle, the robot's preset point can be the robot's front wheel.

[0135] In this embodiment, the point in each cluster point cloud that is closest to the preset position of the fuselage is connected in sequence, and the nearest points of all clusters are connected to find the line closest to the machine to find the cluster where the endpoint of the threshold obstacle is located. This method takes into account the positional characteristics of the robot touching the threshold obstacle, and can improve the accuracy of searching the cluster where the endpoint of the threshold obstacle is located.

[0136] In another embodiment, a skeleton line of the threshold obstacle is obtained based on a line that is closest to a preset position of a fuselage among lines of clusters where at least two endpoints of the threshold obstacle are located, including: finding multiple candidate points that are closest to the preset position of the fuselage in clusters where endpoints of each threshold obstacle are located; connecting the candidate points of clusters where endpoints of different threshold obstacles are located, and obtaining the skeleton line of the threshold obstacle based on a line that is closest to the preset position of the fuselage among lines of the candidate points.

[0137] In this embodiment, after determining the cluster where the endpoint of the threshold obstacle is located, multiple candidate points are further determined for each cluster where the endpoint of the threshold obstacle is located. The candidate points may be the first N points closest to the preset position of the fuselage in the cluster where each endpoint of the threshold obstacle is located, such as the first 5 points closest to the preset position of the fuselage in the cluster where each endpoint of the threshold obstacle is located. The candidate points in the clusters where the endpoints of different threshold obstacles are located are connected respectively, and the lines connecting the multiple candidate points in the clusters where the different endpoints of the threshold obstacle are located are screened to select the line closest to the preset position of the fuselage, and use this line as the skeleton line of the threshold obstacle. In one embodiment, the skeleton line of the threshold obstacle is as follows: Fig. 9 shown.

[0138] In this embodiment, based on the cluster where the endpoint of the threshold obstacle is located, it is considered that the line connecting the points of each cluster where the endpoint of the threshold obstacle is located closest to the preset position of the fuselage is not necessarily the line closest to the fuselage. However, by selecting several closest points from two clusters for multiple line screening, a line that is more consistent with the skeleton line of the real threshold obstacle can be selected, thereby improving the accuracy of the skeleton line recognition of the threshold obstacle and reducing the error.

[0139] In another embodiment, the orientation of the threshold-type obstacle is determined according to the skeleton line of the threshold-type obstacle, and the normal line of the skeleton line of the threshold-type obstacle is determined as the orientation of the threshold-type obstacle. Specifically, the normal line of the skeleton line of the threshold-type obstacle is a line perpendicular to the threshold line, and the door frame lines on both sides are usually perpendicular to the threshold line. Therefore, the normal line of the skeleton line of the threshold-type obstacle can be used as the orientation of the threshold-type obstacle.

[0140] like Fig.10 As shown, the normal of the skeleton line of the threshold obstacle is used as the orientation of the threshold obstacle, and the orientation of the threshold obstacle is the reference direction for the machine to pass through the threshold obstacle later.

[0141] In order to improve the accuracy of identifying the direction of the threshold obstacle, the direction of the threshold obstacle is determined according to the skeleton line of the threshold obstacle, such as Fig.11 As shown, including:

[0142] Step 902: Taking the normal line of the skeleton line of the threshold obstacle as the first orientation.

[0143] Specifically, the normal line of the skeleton line of the threshold obstacle is a line perpendicular to the skeleton line of the threshold obstacle, and the normal line of the skeleton line of the threshold obstacle is consistent with the width direction of the threshold obstacle, and can represent the orientation of the threshold obstacle. Therefore, the normal line of the skeleton line of the threshold obstacle can be used as the orientation of the threshold obstacle.

[0144] Step 904, determine whether the clusters where the endpoints of at least two threshold obstacles are located are fitted to obtain the fitted straight lines of the two side frames. If not, execute step 905, and if yes, execute step 906.

[0145] In combination with actual applications, it can be found that the obvious appearance features of most threshold-type obstacles include: frames are usually set on both sides of the threshold-type obstacles, for example, door frames are set on both sides of the door sill, for example, the table and chair legs are on both sides of the connecting parts on the ground, for example, the bed legs are on both sides of the connecting parts on the ground. In this application scenario, the frames on both sides of the threshold-type obstacles are perpendicular to the length direction of the threshold-type obstacles, so the frames on both sides of the threshold-type obstacles can also be used to indicate the direction of the threshold-type obstacles. When the frames on both sides of the threshold-type obstacles are straight lines, the direction of the frames on both sides of the threshold-type obstacles is the direction of the threshold-type obstacles.

[0146] Based on this, in this embodiment, the appearance features of the threshold obstacles are used to perform straight line fitting on the clusters where at least two threshold obstacle endpoints are located. If a fitting straight line of the two side frames can be fitted, the first orientation can be verified based on the directions of the two side frames.

[0147] Specifically, if the cluster where the endpoint of the threshold obstacle is located can be fitted to a straight line, it can be inferred that the cluster where the endpoint of the threshold obstacle is located is the cluster where the two side frames are located, and the fitted straight line is the fitting straight line of the two side frames.

[0148] Specifically, straight line fitting is performed on the cluster point clouds where the endpoints of the threshold obstacle are located, and then it is determined whether the fitted straight lines of the two side frames are obtained. Specifically, the number of points required for the straight line, the length of the straight line, and the distance from the farthest point on the straight line to the straight line can be set as the judgment conditions of the straight line.

[0149] Specifically, the straight line fitting algorithm is as follows Figure 12-17 As shown, the following steps are included:

[0150] Step 1: For the cluster where the endpoint of the threshold obstacle is located, determine a straight line according to the endpoints of the cluster point cloud. Specifically, connect the first and last points in the point cloud to determine a line segment.

[0151] Step 2: Calculate whether the distance from the farthest point to the straight line meets a threshold. Specifically, determine whether the distance from the farthest point between the head and the tail to the straight line is less than a threshold.

[0152] Step 3: If not satisfied, the line is divided into two segments from the farthest point. Specifically, if the farthest point is greater than the threshold, this point is set as a dividing point to divide all points into two types of point sets.

[0153] Step 4: For the split line segments, repeat steps 2 and 3 above until the farthest points in all point sets satisfy the above rules.

[0154] Step 5: Connect the indirectly adjacent straight lines with similar slopes to obtain a fitting straight line.

[0155] If multiple straight lines are extracted, the longest straight line will be selected as the extracted straight line.

[0156] The above fitting method can be used to fit the cluster point cloud where the endpoints of the threshold obstacle are located to obtain the fitting straight lines of the two side frames.

[0157] Step 905: Use the first orientation as the orientation of the threshold obstacle.

[0158] If the cluster where the threshold obstacle endpoints are located cannot be fitted to a straight line, it means that the threshold obstacle does not have two side frames, or the two side frames are not straight lines (it may be a cylinder). If the cluster where the threshold obstacle endpoints are located cannot be fitted to a straight line, since the true shape of the two side frames of the threshold obstacle cannot be determined, the accurate direction information of the two side frames cannot be extracted. In this case, the normal line (first direction) of the skeleton line of the threshold obstacle can be used as the final direction of the threshold obstacle.

[0159] Step 906: Perform a weighted average on the directions of the fitted straight lines of the two side frames to obtain a second orientation.

[0160] Step 908: Determine the final orientation of the threshold obstacle according to the first orientation and the second orientation.

[0161] Specifically, straight lines are extracted from the clusters where the endpoints of the threshold obstacles are located to obtain the directions of two straight lines as the two-side frame fitting lines, and a direction can be obtained by weighted averaging the two-side frame fitting lines, which is used as the second direction.

[0162] There are two ways to calculate the orientation of the threshold obstacle respectively, and the two can be used to correct each other to obtain the final orientation of the threshold obstacle.

[0163] Taking the threshold obstacle as an example, the orientation of the threshold obstacle is consistent with the orientation of the door frame, and the orientation of the door frame can represent the direction of the threshold door frame on both sides. After determining the skeleton line of the threshold obstacle, the normal of the skeleton line of the threshold obstacle can be used as the orientation of the threshold obstacle. However, the orientation of the threshold obstacle determined by this method is affected by the shape of the door frame and the obstacle. In order to improve the accuracy of the orientation recognition of the threshold obstacle, the orientation recognition result of the threshold obstacle determined based on the clustering result is used as the first orientation, and the second threshold obstacle orientation recognition method can be further used to obtain the second orientation, and the first orientation is corrected by the second orientation to obtain an accurate orientation recognition result of the threshold obstacle.

[0164] In this embodiment, by respectively calculating the orientation of the threshold obstacle in two ways, and combining the orientations of the threshold obstacle calculated in the two ways to determine the final orientation of the threshold obstacle, the accuracy of detecting the orientation of the threshold obstacle can be improved.

[0165] In one embodiment, when the difference between the first orientation and the second orientation is less than a threshold, the second orientation is determined as the orientation of the final threshold obstacle. The preset value is a critical value used to identify that the first orientation and the second orientation are close. For example, when the difference between the first orientation and the second orientation is less than 15 degrees, the second orientation is used as the door frame orientation.

[0166] Specifically, since the two side frames are usually straight lines, when the two side frame fitting straight lines can be obtained from the cluster where the threshold obstacle endpoints are located, it means that the two side frames of the threshold obstacle can be extracted based on the point cloud data, and the door frame direction determined based on the two side frame fitting straight lines is more accurate. At this time, the second direction is determined as the final direction of the threshold obstacle. When the two side frame fitting straight lines cannot be obtained from the cluster where the threshold obstacle endpoints are located, the first direction can be used as the final direction of the threshold obstacle. When the difference between the first direction and the second direction is greater than or equal to the threshold, the first direction can be used as the final direction of the threshold obstacle, or clustering can be performed again based on the point cloud data of the laser light to continue calculating the direction of the threshold obstacle. In this embodiment, by identifying the direction of the threshold obstacle, a direction reference can be provided for the subsequent passage through the threshold obstacle.

[0167] In this embodiment, when the robot is walking and identifies that it has touched a threshold obstacle, the robot further identifies the direction of the threshold obstacle and uses the direction of the threshold obstacle to provide direction guidance for passing through the threshold obstacle.

[0168] In order to avoid the robot getting stuck on the threshold, trapped on the threshold or slipping on the threshold when passing through the threshold, the success rate of the robot passing through the threshold is improved. The present application further provides a robot control method, such as Fig.18 As shown, the following steps are included:

[0169] Step 1602: Based on the identification result of the threshold obstacle, trigger the instruction to pass the threshold obstacle.

[0170] Specifically, when it is determined that the robot touches a threshold obstacle, the instruction to pass the threshold obstacle is triggered based on the identification result of the threshold obstacle. In order to avoid frequently triggering the instruction to pass the threshold obstacle, the instruction to pass the threshold obstacle can be frozen after each triggering of the instruction to pass the threshold obstacle. The freezing process of the instruction to pass the threshold obstacle means setting a freezing time after each triggering of the instruction to pass the threshold obstacle, and the instruction to pass the threshold obstacle can be triggered again only after the freezing time is exceeded. The freezing time can be set according to the average time for the robot to pass the threshold obstacle, and the freezing time can be set to be close to the average time for passing the threshold obstacle or slightly longer than the average time for passing the threshold obstacle. For example, if the average time for the robot to pass the threshold obstacle is 2 seconds, the freezing time can be set to 2 seconds, or 3 seconds.

[0171] The recognition result of the threshold obstacle can be obtained by recognizing the image data collected by the image sensor. By recognizing the image data, when it is recognized that the image data includes the threshold obstacle, the recognition result of the threshold obstacle is obtained.

[0172] The recognition result of the threshold obstacle can also be obtained based on the height data collected by the height sensor. The height difference is calculated using the height data of two consecutive times, and the height difference is compared with the preset height difference of the threshold obstacle to obtain the recognition result of the threshold obstacle.

[0173] The recognition result of the threshold-type obstacle can also be detected and obtained by using the threshold-type obstacle recognition method of the present application.

[0174] Step 1604, in response to the instruction of passing through a threshold obstacle, obtain the direction of the threshold obstacle.

[0175] Specifically, when the instruction to pass through a threshold obstacle is triggered, a preset threshold obstacle orientation recognition method is used to obtain the orientation of the threshold obstacle.

[0176] The method for identifying the orientation of the threshold obstacle can be obtained by identifying the image data collected by the image sensor. By identifying the image data, when it is identified that the image data includes the threshold obstacle and the frames on both sides of the threshold obstacle, a morphological method can be used to extract the skeleton lines of the threshold obstacle and the frames on both sides, and the orientation of the threshold obstacle can be obtained based on the skeleton lines of the threshold obstacle and the frames on both sides.

[0177] The method for identifying the orientation of a threshold-type obstacle may also be determined by using the method for identifying the orientation of a threshold-type obstacle of the present application.

[0178] Step 1606, obtaining the relative relationship between the robot's moving direction and the orientation of the threshold obstacle.

[0179] Specifically, the relative relationship between the robot's traveling direction and the direction of the threshold-type obstacle can be determined based on the deviation angle between the traveling direction and the direction of the threshold-type obstacle. The robot's traveling direction is the central axis of the robot body. According to the deviation angle between the traveling direction and the direction of the threshold-type obstacle, the relative relationship between the robot's traveling direction and the direction of the threshold-type obstacle can be divided into: parallel, vertical, small angle intersection and large angle intersection.

[0180] Specifically, when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is 0, it means that the robot's moving direction is parallel to the direction of the threshold-type obstacle. When the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is less than a preset threshold, it means that the robot's moving direction and the direction of the threshold-type obstacle intersect at a small angle. When the angle difference between the robot's moving direction and the direction of the threshold-type obstacle is greater than a preset threshold, it means that the robot's moving direction and the direction of the threshold-type obstacle intersect at a large angle. When the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is 90 degrees, it means that the robot's moving direction and the direction of the threshold-type obstacle are perpendicular.

[0181] Step 1608, controlling the robot to pass through the threshold obstacle in a threshold obstacle passing manner corresponding to the relative relationship.

[0182] Specifically, the relative relationship between the robot's traveling direction and the direction of the threshold-type obstacle determines the robot's success rate in passing the threshold-type obstacle. When the robot's traveling direction is parallel to the direction of the threshold-type obstacle, when the two side wheels of the robot pass through the threshold-type obstacle almost at the same time, the two side wheels will not get stuck in the threshold-type obstacle, and the passing success rate is high. When the deviation angle between the robot's traveling direction and the direction of the threshold-type obstacle is less than the preset threshold, the deviation between the robot's walking direction and the direction of the threshold-type obstacle is small, the probability of the two side wheels of the robot getting stuck in the threshold-type obstacle is small, and the passing success rate is high. When the deviation angle between the robot's traveling direction and the direction of the threshold-type obstacle is greater than the preset threshold, the deviation between the robot's walking direction and the direction of the threshold-type obstacle is large. If the threshold-type obstacle is relatively wide and relatively oblique, the robot's side wheels will get stuck on one side of the threshold-type obstacle, and the passing success rate of the threshold-type obstacle is low.

[0183] Based on this, in this embodiment, different threshold obstacle passing modes are set according to the relative relationship between the robot's traveling direction and the direction of the threshold obstacle, and the robot is controlled to pass through the threshold obstacle in the threshold obstacle passing mode corresponding to the relative relationship. For example, when the robot's traveling direction is parallel to the direction of the threshold obstacle, the robot can be controlled to pass through the threshold obstacle directly. When the robot's traveling direction deviates greatly from the direction of the threshold obstacle, the robot can be controlled to retreat and adjust the traveling direction before passing through the threshold obstacle.

[0184] In this embodiment, the threshold recognition result and the threshold obstacle orientation recognition result are used to match the corresponding threshold obstacle passing method according to the relative relationship between the robot's travel direction and the threshold obstacle orientation. This method can provide a matching threshold obstacle passing method for the robot to pass through the threshold obstacle with the threshold obstacle orientation as a guide, thereby improving the success rate of the robot passing through the threshold obstacle.

[0185] In another embodiment, the relative relationship between the robot's traveling direction and the orientation of the threshold-type obstacle includes: a deviation angle between the robot's traveling direction and the orientation of the threshold-type obstacle is greater than a first threshold.

[0186] The first threshold is a critical value of the deviation angle between the robot's direction of travel and the direction of the threshold-type obstacle when the robot passes through the threshold-type obstacle safely, which is set based on experience. When the deviation angle between the robot's direction of travel and the direction of the threshold-type obstacle is greater than the first threshold, the deviation between the robot's direction of travel and the direction of the threshold-type obstacle is large, and the robot passes through the threshold-type obstacle at an angle, which may easily cause unexpected situations such as the robot's side wheels getting stuck, and the robot's passing rate of passing the threshold-type obstacle is low. In one embodiment, the first threshold is set to 30 degrees based on experience.

[0187] At this time, the corresponding threshold obstacle passing strategy can be: control the robot to retreat, and after adjusting the robot's travel direction according to the direction of the threshold obstacle, increase the motor speed of the robot's driving wheel to the target speed, and control the robot to pass the threshold obstacle at the target speed. That is, when the deviation angle between the robot's travel direction and the direction of the threshold obstacle is greater than the first threshold, first control the robot to retreat, adjust the robot's travel direction, and then increase the motor speed of the robot's driving wheel to the target speed, and control the robot to pass the threshold obstacle at the target speed.

[0188] Specifically, controlling and increasing the motor speeds of the left and right wheels of the robot can enable the right and left wheels to pass through threshold obstacles at a higher speed.

[0189] Furthermore, the robot can pass through the threshold obstacles by sprinting, which specifically involves controlling the motors of the left and right wheels to work at the maximum speed, so that the robot sprints at the maximum speed and acceleration, thereby increasing the success rate of the robot passing through the threshold obstacles.

[0190] In one embodiment, the same target rotation speed may be set for thresholds of all heights. For example, the robot may sprint at the maximum speed and acceleration for threshold obstacles of all heights, thereby increasing the success rate of the robot passing through the threshold obstacles.

[0191] In another embodiment, different target rotation speeds may be set for different threshold obstacles. For example, different target rotation speeds may be set for different types of threshold obstacles, and the target rotation speed may be determined by detecting the type of the threshold obstacle, so that different rotation speeds may be matched according to different types of threshold obstacles, so that the robot may pass through the threshold obstacle at the matched target rotation speed, thereby saving the robot's energy. Different types of threshold obstacles may be threshold obstacles of different materials, such as door sills of different materials, or may be non-functional threshold obstacles, such as door sills, or connectors for table and chair legs on the ground.

[0192] In another embodiment, different target rotation speeds can be set for threshold obstacles of different heights. By detecting the height of the threshold obstacle and determining the target rotation speed, different rotation speeds can be matched according to different threshold obstacle heights, so that the threshold obstacle can be passed at the matched target rotation speed when passing through the threshold obstacle, which can save the robot's energy.

[0193] Wherein, when the deviation angle between the robot's traveling direction and the direction of the threshold obstacle is greater than a first threshold, the purpose of controlling the robot to retreat is to adjust the robot's traveling direction. Wherein, after controlling the robot to retreat, the robot leaves the threshold obstacle and adjusts the robot's traveling direction according to the direction of the threshold obstacle. Wherein, the robot's traveling direction can be adjusted to be parallel to the direction of the threshold obstacle by rotating, or the angle between the two is less than the first threshold. After adjusting the robot's traveling direction, the robot is controlled to perform a second sprint to accelerate through the threshold obstacle.

[0194] In this embodiment, when the deviation angle between the robot's moving direction and the direction of the threshold obstacle is too large, the robot's passing rate of the threshold obstacle can be improved by adopting the threshold obstacle passing method of retreating, rotating to adjust the direction to the threshold obstacle and a second sprint.

[0195] In another embodiment, the relative relationship between the robot's traveling direction and the orientation of the threshold-type obstacle includes: the deviation angle between the robot's traveling direction and the orientation of the threshold-type obstacle is less than or equal to a first threshold. When the deviation angle between the robot's traveling direction and the orientation of the threshold-type obstacle is less than or equal to the first threshold, the deviation between the robot's traveling direction and the orientation of the threshold-type obstacle is small, and at this time, the robot is controlled to accelerate through the threshold-type obstacle in the current traveling direction, for example, the robot is directly controlled to sprint to pass through the threshold-type obstacle.

[0196] Specifically, when the deviation angle between the robot's traveling direction and the direction of the threshold obstacle is less than or equal to the first threshold, the corresponding way to pass the threshold obstacle is: increase the motor speed of the robot's driving wheel to the target speed, and control the robot to pass the threshold obstacle at the target speed. In other words, when the deviation angle between the robot's traveling direction and the direction of the threshold obstacle is less than or equal to the first threshold, there is no need to adjust the robot's traveling direction, and the robot is directly controlled to sprint through the threshold obstacle.

[0197] In this embodiment, by adopting different sprinting methods according to the deviation angle between the robot's traveling direction and the direction of the threshold-type obstacle, the success rate of passing the threshold-type obstacle can be improved.

[0198] In another embodiment, before and during the process of passing through the threshold-type obstacle, it is also possible to predict whether the robot will collide when passing through the threshold-type obstacle. If it is predicted that the robot will collide when passing through the threshold-type obstacle, the robot is controlled to retreat, and the robot's travel direction is adjusted according to the predicted collision location and the direction of the threshold-type obstacle, and the motor speed of the robot's driving wheel is increased to the target speed, and the robot is controlled to pass through the threshold-type obstacle at the target speed.

[0199] Specifically, based on the data collected by multiple sensors, it is possible to predict whether the robot will collide with a threshold-type obstacle when passing through the current direction of travel. If it is predicted that the robot will collide with a threshold-type obstacle when passing through the current direction of travel, then the threshold-type obstacle passing methods such as backing up, adjusting the direction of travel and a second sprint can be adopted to improve the success rate of the robot passing the threshold-type obstacles.

[0200] Among them, the traveling direction is adjusted according to the predicted collision location and the direction of the threshold obstacle, so that the deviation angle between the adjusted traveling direction and the direction of the threshold obstacle is less than or equal to a first threshold, so that no collision will occur when passing through the threshold obstacle according to the adjusted traveling direction, thereby avoiding collision during the secondary sprint and avoiding the robot being stuck in the threshold obstacle during the sprint.

[0201] In another embodiment, when it is detected that the robot slips when passing a threshold-type obstacle, the robot is controlled to retreat a preset distance and then rotate, the motor speed of the robot's driving wheel is increased to a target speed, and the robot is controlled to pass the threshold-type obstacle at the target speed.

[0202] Among them, slipping means that when the driving wheels of the robot are running, they cannot generate enough power and idle. Whether the robot is slipping can be judged based on the theoretical walking distance and the actual walking distance of the robot in a preset time period. The reason for the robot to slip may be that the ground is too smooth (for example, there is water on the ground). When it is detected that the robot slips when passing through a threshold obstacle, the robot is controlled to retreat a preset distance and then rotate to adjust the direction of travel, thereby adjusting the walking path and accelerating to pass the threshold obstacle.

[0203] In this embodiment, by detecting whether the machine slips when passing through a threshold-type obstacle, if slipping is detected, the machine will move backward, adjust the direction, and sprint a second time, thereby improving the success rate of passing the threshold-type obstacle.

[0204] In another embodiment, when it is detected that the robot is trapped when passing through a threshold-like obstacle, the robot is controlled to rotate on the spot, and after detecting that it is free, the motor speed of the robot's driving wheels is increased to a target speed, and the robot is controlled to pass through the threshold-like obstacle at the target speed.

[0205] The robot is trapped when it is in an environment where it cannot move, such as being entangled by objects or entering a narrow area. By detecting whether the robot is trapped when passing through threshold obstacles, the robot will be controlled to rotate on the spot to escape. After escaping, the robot will perform a second sprint to improve the success rate of passing threshold obstacles.

[0206] In another embodiment, when it is determined that the robot has left the threshold obstacle, the threshold obstacle passing end instruction is triggered; if the robot's movement distance from the position where it touched the threshold obstacle to the current position has exceeded the preset distance, the robot is controlled to end the threshold obstacle passing mode and switch to the target operation mode.

[0207] Specifically, when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold signal closing threshold within a preset time, it is determined that the robot has left the threshold obstacle. When it is determined that the robot has left the threshold obstacle, the threshold obstacle passing end instruction is triggered. When the robot's moving distance from the position where it touches the threshold obstacle to the current position exceeds the preset distance, or when the delay time of triggering the threshold obstacle passing end instruction reaches the preset delay time, the robot is controlled to end the threshold obstacle passing mode and switch to the target operation mode.

[0208] In this embodiment, when the threshold obstacle passing end instruction is triggered, the threshold obstacle passing mode is not terminated immediately, but the robot is allowed to move forward a certain distance through distance judgment and delay to ensure that the position of the entire body leaves the threshold obstacle area. After the threshold obstacle passing end instruction is triggered and the delay strategy is used to confirm that the robot has completely left the threshold obstacle area, the threshold obstacle passing mode is terminated and the robot is controlled to switch to the target operation mode.

[0209] The target operation mode depends on the type of robot and the task the robot performs. For example, if the robot is a cleaning robot, the target operation mode can be a map building operation mode or a cleaning mode. For example, if the robot is a logistics robot, the target operation mode can be a delivery mode, a pickup mode, etc.

[0210] Specifically, when the threshold obstacle passing end instruction is triggered, it can be determined whether the position from which the threshold obstacle is initially touched has moved forward more than a preset distance (such as the distance of one fuselage). If so, the threshold obstacle passing mode is terminated and switched to the target operation mode. This ensures that the operation mode is switched only after the threshold obstacle is completely passed in space, thereby preventing the robot from performing other actions such as rotating in place while the rear wheels are still on the threshold obstacle, causing the machine to be trapped.

[0211] Specifically, when the threshold obstacle passing end instruction is triggered, the threshold obstacle passing mode can be delayed to stop, and the robot can be controlled to continue to run the threshold obstacle passing mode within the preset delay time, so that the robot moves forward a distance when it detects leaving the threshold obstacle, ensuring that the position of the entire body is out of the threshold obstacle area. After the preset delay time ends, the threshold obstacle passing mode ends and switches to the target operation mode, which can ensure that the operation mode is switched only after the threshold obstacle is completely passed in time, avoiding other actions such as rotating in place when the rear wheel of the robot is still on the threshold obstacle, causing the machine to be trapped. Among them, the preset delay time can be set according to experience, such as 0.5 seconds.

[0212] In another embodiment, the robot control method further includes: recording the running time of the threshold obstacle passing mode; when the running time exceeds the preset running time, controlling the end of the running of the threshold obstacle passing mode and switching to the target running mode.

[0213] Specifically, when the robot runs in the threshold obstacle passing mode, the running time of the threshold obstacle passing mode is recorded by a timer. When the running time exceeds the preset running time, the robot is controlled to end the running of the threshold obstacle passing mode and switch to the target running mode to end the running of the threshold obstacle passing mode and avoid an infinite loop.

[0214] In another embodiment, based on the recognition result of the threshold obstacle, the instruction of passing the threshold obstacle is triggered, including: when it is recognized that the robot touches the threshold obstacle, if the time difference from the last time the instruction of passing the threshold obstacle is triggered reaches a preset release time, the instruction of passing the threshold obstacle is triggered.

[0215] Specifically, when the robot is identified to have touched a threshold obstacle, if the time difference from the last time the threshold obstacle instruction was triggered reaches the preset release time, the threshold obstacle instruction is triggered. If the time difference from the last time the threshold touch instruction was triggered does not reach the release time, monitoring continues and the threshold obstacle instruction is not immediately triggered.

[0216] In this embodiment, when the instruction to pass the threshold type obstacle is triggered, a freezing timer is used for freezing processing. The significance of the freezing timer is that the instruction to pass the threshold type obstacle will not be triggered frequently. After the last triggering of the threshold type obstacle, a freezing period will be performed. During this period, even if the sensor conditions for passing the threshold type obstacle are met, they will be blocked.

[0217] In another embodiment, a robot control method is provided, such as Fig.19 As shown, including:

[0218] Step 1702: Detect that the robot touches a threshold obstacle.

[0219] Step 1704, determine whether the time difference from the last time the threshold obstacle passing instruction was triggered reaches the preset release time. If so, execute step 1706.

[0220] Step 1706, triggering the instruction to pass through the threshold obstacle.

[0221] Step 1708, the freezer starts timing.

[0222] Step 1710, in response to the instruction of passing through a threshold obstacle, obtain the direction of the threshold obstacle.

[0223] Step 1712, obtaining the relative relationship between the robot's moving direction and the orientation of the threshold obstacle.

[0224] Step 1714, when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is greater than a first threshold, the robot is controlled to move backward, and after adjusting the robot's moving direction according to the direction of the threshold-type obstacle, the motor speed of the robot's driving wheel is increased to the target speed, and the robot is controlled to pass the threshold-type obstacle at the target speed.

[0225] Step 1716, when the deviation angle between the robot's moving direction and the direction of the threshold obstacle is less than or equal to the first threshold, increase the motor speed of the robot's driving wheel to the target speed, and control the robot to pass the threshold obstacle at the target speed.

[0226] Step 1718, when it is determined that the robot has left the threshold, trigger the threshold obstacle passing end instruction.

[0227] Step 1720, when the robot's movement distance from the position where it touches the threshold obstacle to the current position has exceeded the preset distance, or when the delay time of triggering the threshold obstacle passing end instruction reaches the preset delay time, the robot is controlled to end the threshold obstacle passing mode and switch to the target operation mode.

[0228] The robot control method uses the threshold obstacle recognition result and the threshold obstacle orientation recognition result to control the passing of the threshold obstacle, which can avoid blind sprinting when passing the threshold obstacle and improve the success rate of passing the threshold obstacle.

[0229] In addition to the above control strategies, the present application also uses a signal control strategy to ensure the success rate of passing through threshold obstacles and the safety of robot operation. Fig. 20As shown. The signal processing is specifically a set of processing logic that converts the signal of detecting the threshold-type obstacle into an action signal that notifies the driving device to pass through the threshold-type obstacle. Simple signal processing is to turn on the threshold-type obstacle signal, then send an action start signal for the threshold-type obstacle passing mode, and turn off the threshold-type obstacle signal, then send an end signal for the threshold-type obstacle passing mode. In order to enhance the robustness of the algorithm, some mechanisms such as freezing, delay and timeout are added in the embodiments of the present application.

[0230] like Fig. 20 As shown, when the robot is detected to have touched a threshold obstacle, it is determined whether the time difference from the last time the threshold obstacle instruction was triggered reaches the preset release time. If so, the threshold obstacle instruction is triggered. After each triggering of the threshold obstacle instruction, there will be a freezing period, during which even if the sensor conditions for the threshold obstacle are met, they will be shielded and the threshold obstacle instruction will not be triggered. If the freezing is released, the threshold obstacle instruction is triggered. The threshold obstacle instruction will not be triggered frequently through the freezing timer.

[0231] After the threshold obstacle passing mode is started, the running timer is used to record the running time of the threshold obstacle passing mode. If a certain time is exceeded, the threshold obstacle passing mode will be forcibly terminated to avoid an endless loop.

[0232] When it is determined that the robot has left the threshold obstacle, the threshold obstacle passing end command is triggered and the delay timer is started. The purpose of the delay timer is to move forward a little further when the robot detects the threshold obstacle to ensure that the entire body is out of the threshold obstacle area and to avoid other actions such as rotating in place when the rear wheels are still on the threshold obstacle, which may cause the robot to be trapped. When the delay timer times out, the threshold obstacle passing mode is terminated.

[0233] In this embodiment, by adding signal control devices such as freezing, delay and timeout when controlling the robot to pass through threshold obstacles, the success rate of the robot passing through threshold obstacles and the safety of the robot are improved.

[0234] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0235] Based on the same inventive concept, the embodiments of the present application also provide a threshold obstacle recognition device for implementing the threshold obstacle recognition method involved above, a threshold obstacle orientation recognition device for implementing the threshold obstacle orientation recognition method involved above, and a robot control device for implementing the robot control method involved above. The implementation solutions provided by each device to solve the problem are similar to the implementation solutions recorded in the above method, so the specific limitations in the embodiments of each device provided below can refer to the limitations of the method above, and will not be repeated here.

[0236] In one embodiment, a threshold obstacle recognition device is provided, comprising:

[0237] An information acquisition module, used to obtain at least one of a target axis angular velocity, a target axis angular acceleration and a target axis acceleration, and a pitch angle of the robot body during walking;

[0238] The control module is used to identify whether the robot touches a threshold obstacle according to the change of at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the change of the pitch angle of the robot body.

[0239] Specifically, the control module is used to determine that the robot touches a threshold obstacle when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach corresponding threshold recognition thresholds within a preset time.

[0240] In another embodiment, the control module is further used to determine that the robot has touched a threshold obstacle when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the pitch angle of the robot body all reach corresponding threshold recognition thresholds within a preset time, and if it is determined that the robot is currently touching something other than a ground surface.

[0241] In another embodiment, the control module is further used to determine that the robot leaves the threshold obstacle when at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach the corresponding threshold signal closing threshold within a preset time.

[0242] In another embodiment, a device for identifying the direction of a threshold obstacle includes:

[0243] A clustering module is used to cluster the collected point cloud data to obtain multiple clustered point clouds;

[0244] A category search module, used to determine the cluster where at least two endpoints of the threshold obstacle are located in the plurality of cluster point clouds;

[0245] A threshold line search module, used to obtain a skeleton line of the threshold obstacle according to a line closest to a preset position of the fuselage among the lines of the cluster where at least two endpoints of the threshold obstacle are located;

[0246] The door frame orientation analysis module is used to determine the orientation of the threshold obstacle according to the skeleton line of the threshold obstacle.

[0247] In another embodiment, the clustering module is used to perform clustering based on the collected point cloud data to obtain multiple clustered point clouds when it is determined that the robot touches a threshold obstacle; the preset position of the fuselage is the position where the robot touches the threshold obstacle.

[0248] In another embodiment, the category search module is used to connect the points in each cluster point cloud that are closest to the preset position of the fuselage in sequence to obtain the connecting lines between each cluster point cloud; determine the target connecting line that is closest to the preset position of the fuselage among the connecting lines between each cluster point cloud, and use the two clusters where the endpoints of the target connecting line are located as the clusters where the endpoints of the threshold obstacle are located.

[0249] In another embodiment, the threshold line search module is used to find multiple candidate points in the cluster where the endpoints of each threshold obstacle are located that are closest to the preset position of the fuselage; connect the candidate points in the clusters where the endpoints of different threshold obstacles are located, and obtain the skeleton line of the threshold obstacle based on the line closest to the preset position of the fuselage among the lines connecting the candidate points.

[0250] In another embodiment, the door frame orientation analysis module is used to determine the normal line of the skeleton line of the threshold-type obstacle as the orientation of the threshold-type obstacle.

[0251] In another embodiment, a door frame orientation analysis module is used to determine the normal of the skeleton line of the threshold-type obstacle as a first orientation; when two side frame fitting straight lines are obtained from cluster fitting of at least two endpoints of the threshold-type obstacle, a weighted average is performed on the directions of the two side frame fitting straight lines to obtain a second orientation; and a final orientation of the threshold-type obstacle is determined based on the first orientation and the second orientation.

[0252] In another embodiment, the door frame orientation analysis module is used to determine the second orientation as the final orientation of the threshold obstacle when the difference between the first orientation and the second orientation is less than a threshold.

[0253] In another embodiment, a robot control device is provided, comprising:

[0254] A command triggering module, used to trigger a command to pass through a threshold obstacle based on the recognition result of the threshold obstacle;

[0255] A door frame information acquisition module, used to respond to the instruction of passing through the threshold obstacle and acquire the direction of the threshold obstacle;

[0256] A relationship acquisition module, used to acquire the relative relationship between the robot's moving direction and the orientation of the threshold obstacle;

[0257] The control module is used to control the robot to pass through the threshold obstacle in a threshold obstacle passing manner corresponding to the relative relationship.

[0258] In another embodiment, the control module is used to control the robot to retreat when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is greater than a first threshold, and after adjusting the robot's moving direction according to the direction of the threshold-type obstacle, increase the motor speed of the robot's driving wheel to a target speed, and control the robot to pass through the threshold-type obstacle at the target speed.

[0259] In another embodiment, the control module is used to increase the motor speed of the robot's driving wheel to a target speed when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is less than or equal to a first threshold, and control the robot to pass through the threshold-type obstacle at the target speed.

[0260] In another embodiment, the control module is used to control the robot to retreat if it is predicted that the robot will collide when passing through the threshold-type obstacle, and after adjusting the robot's travel direction according to the predicted collision location and the orientation of the threshold-type obstacle, increase the motor speed of the robot's drive wheel to a target speed, and control the robot to pass through the threshold-type obstacle at the target speed.

[0261] In another embodiment, the control module is used to trigger the threshold obstacle passing end instruction when it is determined that the robot has left the threshold obstacle; when the movement distance of the robot from the position where it touched the threshold obstacle to the current position has exceeded a preset distance, or when the delay time of triggering the threshold obstacle passing end instruction reaches a preset delay time, control the robot to end the threshold obstacle passing mode and switch to the target operation mode.

[0262] In another embodiment, the control module is used to record the running time of the threshold obstacle passing mode; when the running time exceeds the preset running time, the robot is controlled to end the running of the threshold obstacle passing mode and switch to the target running mode.

[0263] In another embodiment, the control module is used to control the robot to retreat a preset distance and then rotate when it is detected that the robot slips when passing through a threshold-type obstacle, increase the motor speed of the robot's driving wheel to a target speed, and control the robot to pass through the threshold-type obstacle at the target speed.

[0264] In another embodiment, the control module is used to control the robot to rotate on the spot when it is detected that the robot is trapped when passing through a threshold-type obstacle, and after detecting that the robot is free, increase the motor speed of the robot's driving wheel to a target speed, and control the robot to pass through the threshold-type obstacle at the target speed.

[0265] In another embodiment, the control module is used to trigger the instruction to pass the threshold obstacle when it is recognized that the robot touches a threshold obstacle, if the time difference from the last time the instruction to pass the threshold obstacle was triggered reaches a preset release time.

[0266] The above-mentioned threshold recognition device, the threshold obstacle orientation recognition device and each module in the robot control device can be fully or partially implemented by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the corresponding operations of each of the above modules.

[0267] In one embodiment, a robot is provided, whose internal structure diagram can be shown as follows: Fig.21As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a threshold obstacle recognition method, a threshold obstacle orientation recognition method and a robot control method are implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device housing.

[0268] Those skilled in the art will understand that Fig.21 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0269] In one embodiment, a robot is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the methods of the above embodiments when executing the computer program.

[0270] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the methods of the above embodiments are implemented.

[0271] In one embodiment, a computer program product is provided, including a computer program, which implements the steps of the methods of the above embodiments when executed by a processor.

[0272] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0273] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0274] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, 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. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A threshold obstacle recognition method, characterized in that: The method comprises: Obtaining at least one of a target axis angular velocity, a target axis angular acceleration and a target axis acceleration, and a robot body pitch angle during walking; the target axis is a rotation axis of the pitch angle; Whether the robot touches a threshold obstacle is identified based on changes in at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and changes in the pitch angle of the robot body.

2. The method for identifying threshold obstacles according to claim 1, characterized in that: The identifying whether the robot touches a threshold obstacle according to a change in at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, and a change in the pitch angle of the robot body, comprises: When at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach corresponding threshold recognition thresholds within a preset time, it is determined that the robot touches a threshold obstacle.

3. The method for identifying threshold obstacles according to claim 1, characterized in that: The identifying whether the robot touches a threshold obstacle according to a change in at least one of the target axis angular velocity, the target axis angular acceleration, and the target axis acceleration, and a change in the pitch angle of the robot body, comprises: When at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the pitch angle of the robot body all reach the corresponding threshold recognition threshold within a preset time, if it is determined that the robot is currently touching something other than a ground surface, then it is determined that the robot has touched a threshold obstacle.

4. The method for identifying threshold obstacles according to any one of claims 1 to 3, characterized in that: After determining that the robot touches a threshold obstacle, the method further includes: When at least one of the target axis angular velocity, the target axis angular acceleration and the target axis acceleration, and the robot body pitch angle all reach corresponding threshold signal closing thresholds within a preset time, it is determined that the robot leaves the threshold obstacle.

5. A method for identifying the direction of a threshold obstacle, characterized in that: The method comprises: Clustering is performed based on the collected point cloud data to obtain multiple clustered point clouds; Determine, in the plurality of clustered point clouds, a cluster in which at least two endpoints of a threshold obstacle are located; Obtaining a skeleton line of the threshold obstacle according to a line closest to a preset position of the fuselage among lines of a cluster where at least two endpoints of the threshold obstacle are located; The orientation of the threshold-type obstacle is determined according to the skeleton line of the threshold-type obstacle.

6. The method for identifying the direction of a threshold obstacle according to claim 5, characterized in that: The clustering is performed based on the collected point cloud data to obtain a plurality of clustered point clouds, including: When it is determined that the robot touches a threshold obstacle, clustering is performed based on the collected point cloud data to obtain a plurality of clustered point clouds; the preset position of the fuselage is the position where the robot touches the threshold obstacle.

7. The method for identifying the direction of a threshold obstacle according to claim 5 or 6, characterized in that: The step of determining the clusters where at least two endpoints of the threshold-type obstacles are located in the plurality of clustered point clouds comprises: Connecting the points in each of the clustered point clouds that are closest to the preset position of the fuselage in sequence to obtain connecting lines between the clustered point clouds; A target line closest to the preset position of the fuselage among the lines between the cluster point clouds is determined, and two clusters where the endpoints of the target line are located are used as clusters where the endpoints of the threshold obstacle are located.

8. The method for identifying the direction of a threshold obstacle according to claim 5 or 6, characterized in that: The obtaining of the skeleton line of the threshold obstacle according to the line closest to the preset position of the fuselage among the lines of the cluster where at least two endpoints of the threshold obstacle are located comprises: Finding a plurality of candidate points closest to the preset position of the fuselage in the cluster where the endpoints of each of the threshold obstacles are located; The candidate points of the clusters where the endpoints of different threshold-type obstacles are located are connected respectively, and the skeleton line of the threshold-type obstacle is obtained according to the connecting line of the candidate points that is closest to the preset position of the fuselage.

9. The method for identifying the direction of a threshold obstacle according to any one of claims 5 or 6, characterized in that: The determining the direction of the threshold obstacle according to the skeleton line of the threshold obstacle includes any one of the following methods: The first method is to determine the normal line of the skeleton line of the threshold obstacle as the direction of the threshold obstacle; Second type: Determine the normal of the skeleton line of the threshold obstacle as the first direction; When two side frame fitting straight lines are obtained from cluster fitting of at least two of the threshold obstacle endpoints, weighted average is performed on the directions of the two side frame fitting straight lines to obtain a second orientation; A final orientation of the threshold obstacle is determined according to the first orientation and the second orientation.

10. The method for identifying the direction of a threshold obstacle according to claim 9, characterized in that: The determining a final orientation of the threshold obstacle according to the first orientation and the second orientation includes: When the difference between the first orientation and the second orientation is smaller than a threshold, the second orientation is determined as the final orientation of the threshold obstacle.

11. The method for identifying the direction of a threshold obstacle according to claim 5, characterized in that: The threshold obstacle recognition method according to any one of claims 1 to 4 is used to determine whether the robot touches a threshold obstacle.

12. A robot control method, characterized in that: The method comprises: Based on the recognition result of the threshold obstacle, trigger the instruction of passing the threshold obstacle; In response to the instruction to pass through a threshold obstacle, obtaining a direction of the threshold obstacle; Obtaining the relative relationship between the robot's moving direction and the orientation of the threshold obstacle; The robot is controlled to pass through the threshold obstacle in a threshold obstacle passing manner corresponding to the relative relationship.

13. The robot control method according to claim 12, characterized in that: The relative relationship between the robot's traveling direction and the threshold obstacle's orientation includes: a deviation angle between the robot's traveling direction and the threshold obstacle's orientation is greater than a first threshold; The controlling the robot to pass through the threshold-type obstacle in the threshold-type obstacle passing manner corresponding to the relative relationship includes: when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is greater than a first threshold, controlling the robot to retreat, and after adjusting the robot's moving direction according to the direction of the threshold-type obstacle, increasing the motor speed of the robot's driving wheel to a target speed, and controlling the robot to pass through the threshold-type obstacle at the target speed.

14. The robot control method according to claim 12, characterized in that: The relative relationship between the robot's traveling direction and the orientation of the threshold obstacle includes: a deviation angle between the robot's traveling direction and the orientation of the threshold obstacle is less than or equal to a first threshold; The controlling the robot to pass through the threshold-type obstacle in the threshold-type obstacle passing manner corresponding to the relative relationship includes: when the deviation angle between the robot's moving direction and the direction of the threshold-type obstacle is less than or equal to a first threshold, increasing the motor speed of the robot's driving wheel to a target speed, and controlling the robot to pass through the threshold-type obstacle at the target speed.

15. The robot control method according to any one of claims 12 to 14, characterized in that: The method further comprises: If it is predicted that the robot will collide when passing through the threshold-type obstacle, the robot is controlled to move backward, and after adjusting the direction of travel of the robot according to the predicted collision location and the orientation of the threshold-type obstacle, the motor speed of the robot's drive wheel is increased to the target speed, and the robot is controlled to pass through the threshold-type obstacle at the target speed.

16. The robot control method according to any one of claims 12 to 14, characterized in that: The method further comprises at least one of the following: The first one: When it is determined that the robot leaves the threshold obstacle, triggering a threshold obstacle passing end instruction; When the movement distance of the robot from the position where it touches the threshold obstacle to the current position exceeds a preset distance, or when the delay time of triggering the threshold obstacle passing end instruction reaches a preset delay time, the robot is controlled to end the threshold obstacle passing mode and switch to the target operation mode; Second type: Recording the running time of the threshold obstacle passing mode; When the running time exceeds the preset running time, the robot is controlled to end the operation of the threshold obstacle passing mode and switch to the target operation mode.

17. The robot control method according to any one of claims 12 to 14, characterized in that: The method further comprises at least one of the following: The first method: when it is detected that the robot slips when passing through a threshold obstacle, the robot is controlled to retreat a preset distance and then rotate, the motor speed of the driving wheel of the robot is increased to a target speed, and the robot is controlled to pass through the threshold obstacle at the target speed; The second method: when it is detected that the robot is trapped when passing through a threshold-type obstacle, the robot is controlled to rotate on the spot, and after detecting that it is free, the motor speed of the driving wheel of the robot is increased to a target speed, and the robot is controlled to pass through the threshold-type obstacle at the target speed.

18. The robot control method according to claim 12, characterized in that: The triggering of the instruction to pass through the threshold obstacle based on the recognition result of the threshold obstacle includes: When it is identified that the robot touches a threshold obstacle, if the time difference from the last time the instruction for passing through the threshold obstacle was triggered reaches a preset release time, the instruction for passing through the threshold obstacle is triggered.

19. The robot control method according to claim 12, characterized in that: The threshold obstacle recognition method according to any one of claims 1 to 4 is used to obtain the recognition result of the threshold obstacle.

20. The robot control method according to claim 12, characterized in that: The orientation of the threshold-type obstacle is identified by using the orientation identification method of any one of claims 5 to 11 to obtain the orientation of the threshold-type obstacle.

Citation Information

Cited By

  • Method and device for controlling double-wheel-foot robot to pass through height obstacle based on deep reinforcement learning and motion control model training method

    CN120066054A

  • Dual-wheeled foot robot based on deep reinforcement learning, height obstacle control method and device thereof, and motion control model training method

    CN120066054B