Obstacle avoidance method and system for self-moving robot and self-moving robot
By obtaining detection data of obstacles in a commercial environment and controlling the obstacle avoidance behavior of the mobile robot based on the status and relative motion relationship of the obstacles, the problem of interference and safety risks of the cleaning robot when avoiding obstacles in a commercial environment is solved, and the safety and user experience are improved.
Patent Information
- Application Number
- CN202311147169.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-06
- Publication Date
- 2025-03-11
AI Technical Summary
In commercial environments, cleaning robots may interfere with pedestrians' walking paths when avoiding obstacles, affecting their experience. Due to the complex and changeable environment, the safety risk of cleaning robots collisions is high.
By obtaining detection data of obstacles in the environment, the status of the target obstacle is judged. If the obstacle is still, the self-mobile robot performs a circumvention when it reaches the preset distance. If the obstacle moves, the robot moves according to the relative motion relationship to avoid the obstacle.
It is achieved that while not collide with obstacles, it does not hinder the movement of moving obstacles such as pedestrians, avoids disturbing pedestrians in the environment, ensures the safety of the self-mobile robot and improves the user experience.
Smart Images

Figure CN119596918A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of self-moving robots, and in particular to an obstacle avoidance method and system for a self-moving robot and a self-moving robot. Background Art
[0002] At present, the application of self-propelled robots is very extensive. Among them, cleaning robots are mainly engaged in cleaning tasks. Different cleaning environments are very different for cleaning robots, such as home environment and commercial environment. The home environment is relatively simple, and the cleaning robot is small in size and slow in speed, so there is basically no big safety risk in collision.
[0003] However, the commercial environment is different. Due to the characteristics of the commercial environment, commercial cleaning robots are large in size and heavy in weight. In addition, they clean quickly. The commercial environment is complex, with high uncertainty factors and high uncertainty in pedestrian movement trajectories. Therefore, in a commercial environment, the safety risk of collisions with cleaning robots is relatively high. For example, a large-scale shopping mall has extremely complex and changeable environments with pedestrians, toy cars, glass walls, gates, slopes, billboards, escalators, elevators, narrow passages, etc.
[0004] The current obstacle avoidance of cleaning robots is mostly to ensure that they do not collide with obstacles. However, if the obstacle is a pedestrian, the cleaning robot may interfere with the pedestrian's walking path when avoiding the obstacle, affecting the experience. Summary of the invention
[0005] In view of the above problems, the present application provides an obstacle avoidance method and system for a self-moving robot and a self-moving robot to solve the above technical problems.
[0006] In a first aspect, the present application provides an obstacle avoidance method for a self-moving robot, the obstacle avoidance method for a self-moving robot comprising:
[0007] When the self-moving robot moves based on the initial path, obstacle detection data obtained by detecting obstacles in the environment is obtained;
[0008] The state of the target obstacle is determined according to the obstacle detection data. If the target obstacle is stationary, when the self-moving robot moves to a distance from the target obstacle reaching a first preset distance, the self-moving robot is controlled to perform a detour operation.
[0009] If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
[0010] In a possible implementation of the present application, when the self-moving robot moves to a distance from the target obstacle that reaches a first preset distance, controlling the self-moving robot to perform a detour operation includes:
[0011] Controlling the self-moving robot to move based on the initial path, and when the distance between the self-moving robot and the target obstacle reaches a first preset distance, determining whether the current environment satisfies the condition for the self-moving robot to perform a detour to a preset priority side;
[0012] If the conditions are met, the self-mobile robot is controlled to move toward the priority side of the target obstacle to bypass the target obstacle;
[0013] If not, determining whether the current environment satisfies the condition for the self-mobile robot to execute detour to a preset secondary side; the secondary side is the side opposite to the priority side;
[0014] If satisfied, the self-mobile robot is controlled to move toward the secondary side of the target obstacle to bypass the target obstacle;
[0015] Otherwise, the self-mobile robot is controlled to switch the initial path to an alternative path, and moves based on the alternative path to avoid the target obstacle.
[0016] In a possible implementation of the present application, controlling the movement of the self-moving robot according to the relative motion relationship between the target obstacle and the self-moving robot includes:
[0017] Obtain the predicted motion trajectory for the target obstacle;
[0018] Determine the relative motion relationship between the target obstacle and the self-propelled robot according to the predicted motion trajectory and the initial path;
[0019] The movement of the self-propelled robot is controlled according to the relative motion relationship.
[0020] In a possible implementation of the present application, controlling the movement of the self-moving robot according to the relative motion relationship includes:
[0021] If the target obstacle and the self-moving robot move toward each other, when the distance between the self-moving robot and the target obstacle reaches a second preset distance, the self-moving robot is controlled to reduce the walking speed and issue a warning;
[0022] If, when the distance between the self-moving robot and the target obstacle reaches a third preset distance, it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on a preset walking speed; wherein the third preset distance is less than the second preset distance;
[0023] If, when the distance between the self-moving robot and the target obstacle reaches a third preset distance, it is detected that the predicted motion trajectory of the target obstacle overlaps with the initial path, the self-moving robot is controlled to move according to the current environment of the self-moving robot.
[0024] In a possible implementation of the present application, controlling the movement of the self-moving robot according to the current environment of the self-moving robot includes:
[0025] If the forward moving area in the current environment is greater than or equal to a preset first forward area threshold, the self-moving robot is controlled to stop moving, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on a preset walking speed;
[0026] If the forward moving area is less than the first forward area threshold and greater than the preset second forward area threshold, the self-moving robot is controlled to move in a direction away from the target obstacle to avoid the target obstacle, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed; wherein the second forward area threshold is less than the first forward area threshold;
[0027] If the forward moving area is less than the second forward area threshold, and the backward moving area is greater than or equal to the first backward area threshold, the self-moving robot is controlled to perform a turn-back operation and move away from the predicted motion trajectory of the target obstacle. When it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed;
[0028] If the forward moving area is smaller than the second forward area threshold, and the backward moving area is smaller than the first backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
[0029] In a possible implementation of the present application, the self-moving robot is controlled to perform a turning back operation and to move away from the predicted motion trajectory of the target obstacle. Thereafter, the method further includes:
[0030] Obtaining the turning back time of the self-moving robot. If the turning back time reaches a preset waiting time threshold, and the target obstacle is detected to be on the initial path, a detour path is planned based on the current environment of the self-moving robot, and the self-moving robot is controlled to move based on the detour path to avoid the target obstacle.
[0031] If the turning back time reaches the preset waiting time threshold, and the target obstacle is detected to be far away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed.
[0032] In a possible implementation of the present application, controlling the movement of the self-moving robot according to the relative motion relationship includes:
[0033] If the target obstacle and the self-moving robot move in the same direction, and the target obstacle is located in the forward direction of the self-moving robot, then during the movement of the target obstacle, the self-moving robot is controlled to reduce the walking speed, follow the target obstacle based on the initial path, and the distance between the self-moving robot and the target obstacle is controlled to be greater than or equal to a fourth preset distance;
[0034] The following time of the self-moving robot is counted. If the following time is greater than a preset following time threshold, it is determined whether to control the self-moving robot to perform a detour operation according to the current environment of the self-moving robot; if the self-moving robot is not controlled to perform a detour operation, the self-moving robot is controlled to maintain following movement;
[0035] If the target obstacle stops moving, the self-moving robot is controlled to move according to the current environment of the self-moving robot.
[0036] In a possible implementation of the present application, if the target obstacle stops moving, the self-moving robot is controlled to move according to the current environment of the self-moving robot, including:
[0037] If the forward moving area in the current environment is greater than or equal to the preset third forward area threshold, when the distance between the self-moving robot and the target obstacle reaches a fifth preset distance, the self-moving robot is controlled to perform a detour operation;
[0038] If the forward moving area is less than the third forward area threshold, and the backward moving area is greater than or equal to the second backward area threshold, the self-moving robot is controlled to perform a turn-back operation and move away from the predicted motion trajectory of the target obstacle. When it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed;
[0039] If the forward moving area is smaller than the third forward area threshold, and the backward moving area is smaller than the second backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
[0040] In a possible implementation of the present application, controlling the movement of the self-moving robot according to the relative motion relationship includes:
[0041] If the predicted motion trajectory of the target obstacle overlaps with the initial path, when the distance between the self-moving robot and the overlapping area is less than or equal to a sixth preset distance, the self-moving robot is controlled to reduce the walking speed and issue a warning;
[0042] If it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on the preset walking speed;
[0043] If it is detected that the target obstacle is located on the initial path, the self-moving robot is controlled to perform a detour operation according to the current state of the target obstacle, or a detour path is planned based on the current environment of the self-moving robot, and the self-moving robot is controlled to move based on the detour path to avoid the target obstacle.
[0044] In a second aspect, the present application also provides an obstacle avoidance system for a self-moving robot, the obstacle avoidance system for a self-moving robot comprising a control end and a self-moving robot communicatively connected to the control end;
[0045] The control end is used to control the movement of the self-moving robot and implement the obstacle avoidance method for the self-moving robot in the first aspect or any possible implementation method of the first aspect.
[0046] In a third aspect, the present application also provides a self-moving robot, which includes a memory and a processor, the memory being used to store a computer program, and the computer program, when executed by the processor, is used to implement the obstacle avoidance method for the self-moving robot in the first aspect or any possible implementation method of the first aspect.
[0047] From the above content, it can be concluded that the present application has the following beneficial effects:
[0048] In the present application, the state of the target obstacle is judged according to the obstacle detection data obtained when the self-mobile robot moves. If the target obstacle is in a stationary state, the self-mobile robot can be controlled to directly perform a detour operation to avoid the target obstacle; if the self-mobile robot is in a moving state, the movement of the self-mobile robot is controlled according to the relative motion relationship between the target obstacle and the self-mobile robot, so as to avoid the self-mobile robot from hindering the movement of the target obstacle when avoiding the obstacle. The method of the present application can ensure that the self-mobile robot does not hinder the movement of moving obstacles such as pedestrians while not colliding with the target obstacle, thereby avoiding the self-mobile robot from disturbing pedestrians in the environment, ensuring the safety of the self-mobile robot and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the technical solution in the present application, the drawings required for use in the description of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without paying any creative work.
[0050] Figure 1 is a flow chart of an obstacle avoidance method for a self-moving robot provided in an embodiment of the present application;
[0051] Figure 2is a schematic diagram of a route for a target obstacle and a self-moving robot to move toward each other provided in an embodiment of the present application;
[0052] Figure 3 It is a schematic diagram of a route in which a target obstacle and a self-moving robot move in the same direction provided in an embodiment of the present application;
[0053] Figure 4 is a schematic diagram of a route for a self-moving robot to circumvent a target obstacle provided in an embodiment of the present application;
[0054] Figure 5 is another route schematic diagram of a target obstacle and a self-moving robot moving in the same direction provided in an embodiment of the present application;
[0055] Figure 6 is a schematic diagram of a route where a target obstacle collides with a predicted trajectory of a self-moving robot provided in an embodiment of the present application;
[0056] Figure 7 is a schematic diagram of a module of an obstacle avoidance system for a self-moving robot provided in an embodiment of the present application;
[0057] Figure 8 It is a module schematic diagram of the self-moving robot provided in the embodiment of the present application. DETAILED DESCRIPTION
[0058] The following will be combined with the drawings in this application to clearly and completely describe the technical solutions in this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0059] In the description of the present application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, which are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present application. In addition, the terms "first" and "second" are used only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0060] In this application, the word "exemplary" is used to mean "used as an example, illustration, or description." Any embodiment described in this application as "exemplary" is not necessarily to be construed as being preferred or advantageous over other embodiments. The following description is given to enable any technician in the field to implement and use the present application. In the following description, details are listed for the purpose of explanation. It should be understood that a person of ordinary skill in the art can recognize that the present application can be implemented without using these specific details. In other instances, well-known structures and processes will not be elaborated in detail to avoid obscuring the description of the present application with unnecessary details. Therefore, the present application is not intended to be limited to the embodiments shown, but is consistent with the widest scope consistent with the principles and features disclosed in the present application.
[0061] The present application provides an obstacle avoidance method and system for a self-moving robot, and a self-moving robot, which are described in detail below.
[0062] First, the present application provides an obstacle avoidance method for a self-mobile robot, and the executor of the method can be an obstacle avoidance device for the self-mobile robot, or a self-mobile robot, server equipment, physical host or user equipment (UE) and other different types of equipment integrated with the obstacle avoidance device, wherein the obstacle avoidance device for the self-mobile robot can be implemented in hardware or software, and the UE can specifically be a terminal device such as a smart phone, tablet computer, laptop computer, PDA or desktop computer.
[0063] The obstacle avoidance method for a self-moving robot can be applied to self-moving robots such as cleaning robots, navigation robots, and security robots, especially the above-mentioned self-moving robots in commercial environments. The method can be used to avoid the movement of the moving obstacle when the self-moving robot identifies the obstacle and performs obstacle avoidance, thereby improving safety and user experience.
[0064] The self-propelled robot of the embodiment of the present application can be equipped with multiple types of detection devices such as laser radar, image sensor, color RGB sensor, time of flight (TOF) sensor, etc., through which obstacles in the environment are detected, so as to obtain corresponding obstacle detection data. The above-mentioned detection device can be connected to the main control unit of the self-propelled robot for data exchange. The main control unit can be any existing type of control unit such as microcontroller unit (MCU), single chip microcomputer, etc., for controlling the movement of the detection device and the self-propelled robot and performing corresponding work tasks. It can be understood that the main control unit can also execute the obstacle avoidance method for the self-propelled robot of the present application, so as to avoid obstacles while not hindering the movement of obstacles in motion.
[0065] like Figure 1 As shown, Figure 1 It is a flowchart of an obstacle avoidance method for a self-moving robot provided in an embodiment of the present application. It should be noted that although a logical sequence is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than that here.
[0066] In the embodiment of the present application, the obstacle avoidance method for the self-moving robot can be used to avoid obstacles without hindering the movement of the moving obstacles, so as to ensure the safety of the self-moving robot and improve the user experience. The obstacle avoidance method for the self-moving robot can include the following multiple steps.
[0067] Step S101: When the self-moving robot moves based on the initial path, obstacle detection data obtained by detecting obstacles in the environment is obtained.
[0068] Before the self-moving robot starts working, a walking path can be planned according to its working purpose, so that the self-moving robot can move based on the walking path when working. In the embodiment of the present application, the initial path can be the walking path.
[0069] It can be understood that the various sensors carried by the self-mobile robot can detect obstacles around the environment in which the self-mobile robot is located. Therefore, when the self-mobile robot moves based on the planned initial path, it can obtain obstacle detection data obtained by various sensors detecting obstacles in the environment. The obstacle detection data can be acquired by the main control unit of the self-mobile robot in the form of image signals, light signals or even sound signals. The specific data can be determined according to the actual application scenario and is not limited here.
[0070] In some specific implementations, the sensor can upload the sampled obstacle detection data to the main control unit of the self-moving robot based on a preset upload frequency, that is, the main control unit can obtain relevant information about obstacles in the environment of the self-moving robot based on the upload frequency, such as the distance between the obstacle and the self-moving robot, the shape and size of the obstacle, the type of the obstacle, etc.
[0071] In some other specific implementations, the main control unit may also establish a communication link with various sensors carried on the self-moving robot based on a preset access frequency to obtain relevant information about the obstacle from the sensors.
[0072] Step S102: determine the state of the target obstacle according to the obstacle detection data; if the target obstacle is stationary, control the self-moving robot to perform a detour operation when the distance between the self-moving robot and the target obstacle reaches a first preset distance.
[0073] For self-propelled robots in commercial environments, since there are various moving or fixed obstacles in their operating environment, in order to prevent the self-propelled robots from interfering with the moving obstacles when avoiding obstacles, after obtaining the obstacle detection data in step S101, the main control unit can judge the status of the target obstacle based on the obtained obstacle detection data.
[0074] In an embodiment of the present application, the obstacle detection data can be analyzed based on any existing dynamic obstacle detection method to identify dynamic obstacles in the environment, including but not limited to TOF point cloud-based recognition methods, artificial intelligence (AI)-based recognition methods, etc.
[0075] The recognition methods based on TOF point cloud can mainly include:
[0076] ① Point cloud preprocessing: denoising, filtering and downsampling the TOF point cloud data output by the TOF sensor;
[0077] ② Ground segmentation: Since the ground is a relatively flat area, the plane segmentation algorithm can be used to extract the ground from the TOF point cloud data;
[0078] ③ Clustering and segmentation: clustering and segmenting the TOF point cloud data without the ground to separate objects of different categories;
[0079] ④ Feature extraction: Extracting features from the segmented point cloud clusters helps distinguish between dynamic obstacles and static obstacles;
[0080] ⑤ Dynamic obstacle recognition: Based on the features extracted, the existing classification algorithm is applied to classify dynamic obstacles and static obstacles.
[0081] For large-scale shopping malls, most of the moving obstacles are pedestrians. Therefore, in some embodiments, the target obstacle can be set as a pedestrian. For pedestrians, an AI-based human figure recognition method can also be used. This method uses a deep neural network to perform human figure recognition by learning a large amount of labeled data. It mainly includes:
[0082] ① Data preparation: Collect and annotate a large amount of image or video data containing human figures;
[0083] ②Network construction: design a deep neural network;
[0084] ③ Network training: Use the labeled data to train the constructed deep neural network. During the training process, the network will learn the characteristics and patterns of the human figure;
[0085] ④Human figure detection: Preprocess the input obstacle detection data such as images or video frames and input them into the trained deep neural network. The network output is the bounding box or key point coordinates of the human figure;
[0086] ⑤Human figure positioning: Based on the output results of the deep neural network, the human figure in the image is located to identify pedestrians.
[0087] After the state of the target obstacle is determined by the above method, for a stationary target obstacle, since there is no need to consider the interference with the movement of the obstacle, the obstacle can be avoided according to a pre-set obstacle avoidance strategy.
[0088] For example, when the self-moving robot continues to move based on the initial path, when it is detected that the distance between the self-moving robot and the stationary target obstacle reaches a first preset distance, the self-moving robot can be controlled to bypass the target obstacle to avoid a collision between the robot and the target obstacle.
[0089] Step S103: If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
[0090] In the embodiment of the present application, with respect to a moving target obstacle, since it is necessary to minimize interference with the movement of the obstacle when avoiding the obstacle, the relative motion relationship between the target obstacle and the self-moving robot can be first determined, and the self-moving robot can be controlled to avoid the obstacle based on the relative motion relationship, so as to improve the safety of the self-moving robot and the user experience.
[0091] In an embodiment of the present application, the state of the target obstacle is judged according to the obstacle detection data obtained when the self-mobile robot moves. If the target obstacle is in a stationary state, the self-mobile robot can be controlled to directly perform a detour operation to avoid the target obstacle; if the self-mobile robot is in a moving state, the movement of the self-mobile robot is controlled according to the relative motion relationship between the target obstacle and the self-mobile robot, so as to avoid the self-mobile robot from hindering the movement of the target obstacle when avoiding the obstacle. The method of the embodiment of the present application can ensure that the self-mobile robot does not hinder the movement of moving obstacles such as pedestrians while not colliding with the target obstacle, thereby avoiding the self-mobile robot from disturbing pedestrians in the environment, ensuring the safety of the self-mobile robot, and improving the user experience.
[0092] Next, continue to Figure 1 Each step shown and a specific implementation method that may be used in practical applications are described in detail.
[0093] In some embodiments of the present application, when the distance between the self-moving robot and the target obstacle reaches a first preset distance, controlling the self-moving robot to perform a detour operation may further include:
[0094] Controlling the self-moving robot to move based on the initial path, and when the distance between the self-moving robot and the target obstacle reaches a first preset distance, determining whether the current environment satisfies the condition for the self-moving robot to perform a detour to a preset priority side;
[0095] If the conditions are met, the self-mobile robot is controlled to move toward the priority side of the target obstacle to bypass the target obstacle;
[0096] If not, determining whether the current environment satisfies the condition for the self-mobile robot to execute detour to a preset secondary side; the secondary side is the side opposite to the priority side;
[0097] If satisfied, the self-mobile robot is controlled to move toward the secondary side of the target obstacle to bypass the target obstacle;
[0098] Otherwise, the self-mobile robot is controlled to switch the initial path to an alternative path, and moves based on the alternative path to avoid the target obstacle.
[0099] For a stationary target obstacle, after detecting the target obstacle, the self-moving robot can continue to move based on the initial path. When the distance between it and the target obstacle reaches a first preset distance, it can prepare to bypass it. First, it can judge the current environment to determine whether the current environment meets the conditions for the self-moving robot to bypass to the priority side.
[0100] In this embodiment, the first preset distance can be 30cm, 50cm, etc., which can be determined according to the actual application scenario. The priority side can be set to the left side. It can be understood that in other examples, the priority side can also be set to the right side. The setting of the priority side can be set according to the road traffic habits of local residents and the conventional behavioral norms. For example, if the residents of a certain place are accustomed to driving on the right, in order not to interfere with the movement of pedestrians, the priority side can be set to the left side, that is, first determine whether the current environment satisfies the self-moving robot to bypass the left side of the target obstacle.
[0101] If there is no obstacle blocking the left side of the target obstacle, it can be determined that the current environment meets the conditions for the self-moving robot to bypass the left side of the target obstacle. Therefore, the self-moving robot can be controlled to move to the left side of the target obstacle to bypass the target obstacle.
[0102] On the contrary, if there is an obstacle blocking the left side of the target obstacle or the space is too narrow to pass through, it can be determined that the current environment does not meet the conditions for the self-mobile robot to bypass the left side of the target obstacle. At this time, it can be judged whether the current environment meets the conditions for the self-mobile robot to bypass the preset secondary side. It can be understood that the secondary side here is the side opposite to the priority side. If the priority side is the left side, the secondary side is the right side.
[0103] If it is detected that there is no obstacle blocking the right side of the target obstacle, it can be determined that the current environment meets the conditions for the self-moving robot to bypass the right side of the target obstacle. Therefore, the self-moving robot can be controlled to move to the right side of the target obstacle to bypass the target obstacle. It can be understood that after the self-moving robot bypasses the obstacle, it can be controlled to return to the initial path and continue to move to complete its original work task.
[0104] If there is also an obstacle blocking the right side of the target obstacle or the space is too narrow to pass, it can be determined that the current environment does not meet the conditions for the self-moving robot to bypass the right side of the target obstacle. At this time, if the self-moving robot is in cleaning mode, the initial path can be switched to an alternative path, and the self-moving robot can be controlled to continue cleaning other areas based on the alternative path, and then return to the initial path for cleaning; if the self-moving robot is in navigation mode, the self-moving robot can be controlled to issue a prompt, stop moving, or re-plan the navigation path based on the current environment and destination, and the self-moving robot can be controlled to move based on the re-planned navigation path to complete the navigation task.
[0105] In some embodiments of the present application, controlling the movement of the self-moving robot according to the relative motion relationship between the target obstacle and the self-moving robot may further include:
[0106] Obtain a predicted motion trajectory for a target obstacle; determine a relative motion relationship between the target obstacle and the self-propelled robot based on the predicted motion trajectory and an initial path; and control the movement of the self-propelled robot based on the relative motion relationship.
[0107] After detecting a moving target obstacle, a predicted motion trajectory for the target obstacle can be obtained, and the relative motion relationship between the target obstacle and the self-propelled robot can be determined based on the predicted motion trajectory and the initial path of the self-propelled robot.
[0108] In an embodiment of the present application, any existing dynamic obstacle trajectory prediction method can be used to predict the motion trajectory of a moving target obstacle. For example, after determining the position data of the target obstacle, the position data can be preprocessed, such as preprocessing the collected pedestrian position data, including denoising, interpolation, smoothing, coordinate transformation, etc., to improve data quality. At the same time, the information corresponding to the past obstacles can be cleared on the map to avoid the machine's mistaken avoidance of past dynamic obstacles; then feature extraction is performed, that is, features are extracted from the preprocessed pedestrian position data, including speed, acceleration, direction, etc.; finally, a trajectory is predicted, that is, based on the features extracted above and the preset pedestrian dynamics model, a motion trajectory of a target obstacle such as a pedestrian is predicted, thereby obtaining a predicted motion trajectory.
[0109] The relative motion relationship between the target obstacle and the self-propelled robot can be determined based on the predicted motion trajectory, so that the self-propelled robot can be controlled to avoid the obstacle without interfering with the motion of the target obstacle based on the relative motion relationship.
[0110] In some other embodiments of the present application, controlling the movement of the self-moving robot according to the relative motion relationship may further include:
[0111] If the target obstacle and the self-moving robot move toward each other, when the distance between the self-moving robot and the target obstacle reaches a second preset distance, the self-moving robot is controlled to reduce the walking speed and issue a warning;
[0112] If, when the distance between the self-moving robot and the target obstacle reaches a third preset distance, it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on a preset walking speed; wherein the third preset distance is less than the second preset distance;
[0113] If, when the distance between the self-moving robot and the target obstacle reaches a third preset distance, it is detected that the predicted motion trajectory of the target obstacle overlaps with the initial path, the self-moving robot is controlled to move according to the current environment of the self-moving robot.
[0114] like Figure 2As shown, it is a schematic diagram of a route for the target obstacle and the self-moving robot to move toward each other. After detecting the target obstacle, the self-moving robot can be controlled to continue walking based on the initial path. When the distance between the self-moving robot and the target obstacle is detected to reach the second preset distance, the self-moving robot can be controlled to reduce the walking speed and issue a warning at the same time, such as broadcasting a prompt voice, emitting visible light, etc., to prompt the target obstacle to notice the self-moving robot. In the embodiment of the present application, the second preset distance can be set to 2m, 1.5m, etc., which can be determined according to the walking speed of the self-moving robot, the moving speed of the target obstacle, the actual application scenario, etc.
[0115] When the self-moving robot reduces its walking speed and continues to walk, if it is detected that the distance between the self-moving robot and the target obstacle reaches the third preset distance, it can be understood that since the self-moving robot and the target obstacle move toward each other, the third preset distance is smaller than the second preset distance, such as 1m, 80cm, etc. If the target obstacle is detected to be far away from the initial path of the self-moving robot when the distance is the third preset distance, that is, it will not collide with the self-moving robot, then the self-moving robot can be controlled to continue to move based on the preset walking speed. It can be understood that the preset walking speed here can be the original walking speed of the self-moving robot, or it can be a walking speed set adaptively according to the current environment, which can be determined according to the actual application scenario.
[0116] On the contrary, if it is detected that the distance between the self-moving robot and the target obstacle reaches the third preset distance, the target obstacle is still in the forward direction of the self-moving robot, and its predicted motion trajectory has an overlapping area with the initial path of the self-moving robot, that is, the two will intersect. At this time, the movement of the self-moving robot can be controlled according to the current environment of the self-moving robot.
[0117] Specifically, if the forward moving area in the current environment is greater than or equal to a preset first forward area threshold, the self-moving robot is controlled to stop moving, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on a preset walking speed;
[0118] If the forward moving area is less than the first forward area threshold and greater than the preset second forward area threshold, the self-moving robot is controlled to move in a direction away from the target obstacle to avoid the target obstacle, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed; wherein the second forward area threshold is less than the first forward area threshold;
[0119] If the forward moving area is less than the second forward area threshold, and the backward moving area is greater than or equal to the first backward area threshold, the self-moving robot is controlled to perform a turn-back operation and move away from the predicted motion trajectory of the target obstacle. When it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed;
[0120] If the forward moving area is smaller than the second forward area threshold, and the backward moving area is smaller than the first backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
[0121] When the distance between the self-moving robot and the target obstacle reaches the third preset distance, if the forward moving area in the current environment is greater than or equal to the first forward area threshold, it can be considered that the forward moving space of the self-moving robot is sufficient. At this time, the self-moving robot can be controlled to stop moving, and a prompt voice can be broadcast to let the target obstacle go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot is controlled to continue moving based on the preset walking speed, such as restoring the original walking speed.
[0122] If the forward moving area in the current environment is smaller than the first forward area threshold and larger than the second forward area threshold, it can be considered that the forward moving space of the self-moving robot is relatively narrow. At this time, the self-moving robot can be controlled to move to the side to avoid the target obstacle, that is, to move in the direction away from the target obstacle to avoid the target obstacle, and broadcast a prompt voice to let the target obstacle go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot is controlled to return to its initial path and continue to move based on the preset walking speed, such as restoring the original walking speed.
[0123] If the forward moving area in the current environment is less than the second forward area threshold, and the backward moving area is greater than or equal to the first backward area threshold, it can be considered that the forward moving space of the self-moving robot is insufficient, but there is space to turn around. At this time, the self-moving robot can be controlled to perform a turning back operation, and stay away from the predicted motion trajectory of the target obstacle. During the process of the self-moving robot turning back, a voice prompt can be broadcast synchronously to guide the target obstacle to avoid it. At this time, the self-moving robot can be controlled to turn back and move to an open area, allowing the target obstacle to go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot is controlled to return to its initial path and continue to move based on a preset walking speed, such as restoring the original walking speed.
[0124] If the forward moving area in the current environment is smaller than the second forward area threshold, and the backward moving area is smaller than the first backward area threshold, it can be considered that the self-moving robot has insufficient forward moving space and no room to turn back. At this time, the self-moving robot can be controlled to stop moving, and a voice prompt can be broadcast to guide the target obstacle to avoid it and let the target obstacle go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot can be controlled to continue moving based on the preset walking speed, such as restoring the original walking speed.
[0125] In the embodiment of the present application, the first forward area threshold, the second forward area threshold and the first backward area threshold can all be determined according to the actual application scenario and are not limited here.
[0126] In some embodiments of the present application, the self-moving robot is controlled to perform a turning back operation and to move away from the predicted motion trajectory of the target obstacle. After that, the method may further include:
[0127] Obtaining the turning back time of the self-moving robot. If the turning back time reaches a preset waiting time threshold, and the target obstacle is detected to be on the initial path, a detour path is planned based on the current environment of the self-moving robot, and the self-moving robot is controlled to move based on the detour path to avoid the target obstacle.
[0128] If the turning back time reaches the preset waiting time threshold, and the target obstacle is detected to be far away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed.
[0129] In an embodiment of the present application, when the self-moving robot turns around, the length of time it waits to turn around can be counted. If the turning back time reaches a preset waiting time threshold, such as 1 minute, 90 seconds, etc., the target obstacle can be detected. If it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot can be controlled to return to its initial path and continue moving based on a preset walking speed, such as restoring the original walking speed.
[0130] If it is detected that the target obstacle has not left, that is, it is still located on the initial path, a detour path can be planned based on the current environment of the self-moving robot, and the self-moving robot can be controlled to move based on the detour path to avoid the target obstacle.
[0131] In some other embodiments of the present application, controlling the movement of the self-moving robot according to the relative motion relationship includes:
[0132] If the target obstacle and the self-moving robot move in the same direction, and the target obstacle is located in the forward direction of the self-moving robot, then during the movement of the target obstacle, the self-moving robot is controlled to reduce the walking speed, follow the target obstacle based on the initial path, and the distance between the self-moving robot and the target obstacle is controlled to be greater than or equal to a fourth preset distance;
[0133] The following time of the self-moving robot is counted. If the following time is greater than a preset following time threshold, it is determined whether to control the self-moving robot to perform a detour operation according to the current environment of the self-moving robot; if the self-moving robot is not controlled to perform a detour operation, the self-moving robot is controlled to maintain following movement;
[0134] If the target obstacle stops moving, the self-moving robot is controlled to move according to the current environment of the self-moving robot.
[0135] like Figure 3 As shown, it is a schematic diagram of a route in which the target obstacle and the self-moving robot move in the same direction. In this scenario, the target obstacle is located in the forward direction of the self-moving robot. If the target obstacle is moving, the self-moving robot can be controlled to reduce the walking speed and follow the target obstacle along the initial path. It can be understood that the speed of following movement can be determined according to the moving speed of the target obstacle, and in the process of following movement of the self-moving robot, the distance between the self-moving robot and the target obstacle can be controlled to always be greater than or equal to a fourth preset distance, such as 60cm, 1m, etc.
[0136] In the embodiment of the present application, the length of time that the self-moving robot follows the target obstacle can be counted. If the following time is longer than a preset following time threshold, such as 1 minute, 45 seconds, etc., in order to avoid affecting the normal operation of the self-moving robot, it can be determined whether the self-moving robot can bypass the target obstacle based on the current environment of the self-moving robot. If the current environment meets the conditions for the self-moving robot to perform the bypass operation, the self-moving robot can be controlled to bypass, such as Figure 4 As shown, the self-mobile robot is bypassing the left side of the target obstacle. It can be understood that if there are other obstacles on the left side of the target obstacle or there is not enough space for the self-mobile robot to bypass, the self-mobile robot can be controlled to bypass the right side of the target obstacle. If the right side also does not meet the bypassing conditions, the self-mobile robot is controlled to maintain following movement.
[0137] If the target obstacle stops moving, the self-moving robot can be controlled to move according to the current environment of the self-moving robot. Specifically, if the forward moving area in the current environment is greater than or equal to a preset third forward area threshold, when the distance between the self-moving robot and the target obstacle reaches a fifth preset distance, the self-moving robot is controlled to perform a detour operation.
[0138] If the forward moving area is less than the third forward area threshold, and the backward moving area is greater than or equal to the second backward area threshold, the self-moving robot is controlled to perform a turn-back operation and move away from the predicted motion trajectory of the target obstacle. When it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed;
[0139] If the forward moving area of the self-moving robot is smaller than the third forward area threshold, and the backward moving area is smaller than the second backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
[0140] If the forward moving area in the current environment is greater than or equal to the third forward area threshold, it can be considered that the self-moving robot has sufficient forward moving space. When the distance between the self-moving robot and the target obstacle reaches the fifth preset distance, such as 50 cm, the self-moving robot can be controlled to bypass and the bypass voice prompt can be broadcast at the same time.
[0141] First, the current environment can be judged to determine whether the current environment meets the conditions for the self-moving robot to bypass to the left. If there is no obstacle blocking the left side of the target obstacle, it can be determined that the current environment meets the conditions for the self-moving robot to bypass to the left side of the target obstacle. Therefore, the self-moving robot can be controlled to move to the left side of the target obstacle to bypass the target obstacle.
[0142] On the contrary, if there is an obstacle blocking the left side of the target obstacle or the space is too narrow to pass through, it can be determined that the current environment does not meet the conditions for the self-moving robot to bypass the left side of the target obstacle. At this time, it can be judged whether the current environment meets the conditions for the self-moving robot to bypass to the right.
[0143] If it is detected that there is no obstacle blocking the right side of the target obstacle, it can be determined that the current environment meets the conditions for the self-moving robot to bypass the right side of the target obstacle. Therefore, the self-moving robot can be controlled to move to the right side of the target obstacle to bypass the target obstacle. It can be understood that after the self-moving robot bypasses the target obstacle, it can be controlled to return to the initial path and continue to move to complete its original work task.
[0144] However, if there is also an obstacle blocking the right side of the target obstacle or the space is too narrow to pass, it can be determined that the current environment does not meet the conditions for the self-moving robot to bypass the right side of the target obstacle. At this time, if the self-moving robot is in cleaning mode, the initial path can be switched to an alternative path, and the self-moving robot can be controlled to continue cleaning other areas based on the alternative path, and then return to the initial path for cleaning; if the self-moving robot is in navigation mode, the self-moving robot can be controlled to issue a prompt, stop moving, or re-plan the navigation path based on the current environment and destination, and the self-moving robot can be controlled to move based on the re-planned navigation path to complete the navigation task.
[0145] If the forward moving area in the current environment is less than the third forward area threshold, and the backward moving area is greater than or equal to the second backward area threshold, it can be considered that the forward moving space of the self-moving robot is insufficient, but there is space to turn around. At this time, the self-moving robot can be controlled to perform a turning back operation, and stay away from the predicted motion trajectory of the target obstacle. During the process of the self-moving robot turning back, a voice prompt can be broadcast synchronously to guide the target obstacle to avoid it. At this time, the self-moving robot can be controlled to turn back and move to an open area, allowing the target obstacle to go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot is controlled to return to its initial path and continue to move based on a preset walking speed, such as restoring the original walking speed.
[0146] If the forward moving area in the current environment is smaller than the third forward area threshold, and the backward moving area is smaller than the second backward area threshold, it can be considered that the self-moving robot has insufficient forward moving space and no room to turn back. At this time, the self-moving robot can be controlled to stop moving, and a voice prompt can be broadcast to guide the target obstacle to avoid it and let the target obstacle go first. When it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot can be controlled to continue moving based on the preset walking speed, such as restoring the original walking speed.
[0147] In the embodiment of the present application, the third forward area threshold and the second backward area threshold can be determined according to the actual application scenario and are not limited here.
[0148] It can be understood that when the self-moving robot turns around, the length of time it waits can also be counted. If the turning back time reaches a preset waiting time threshold, such as 1 minute, 90 seconds, etc., the target obstacle can be detected. If it is detected that the target obstacle has left, that is, away from the initial path of the self-moving robot, the self-moving robot can be controlled to return to its initial path and continue to move based on a preset walking speed, such as restoring the original walking speed.
[0149] If it is detected that the target obstacle has not left, that is, it is still located on the initial path, a detour path can be planned based on the current environment of the self-moving robot, and the self-moving robot can be controlled to move based on the detour path to avoid the target obstacle.
[0150] like Figure 5 As shown, in some examples, if the self-moving robot moves in the same direction as the target obstacle and is located in front of the target obstacle, the self-moving robot can be controlled to move normally based on the initial path without avoiding the target obstacle behind it.
[0151] In some embodiments of the present application, controlling the movement of the self-moving robot according to the relative motion relationship may further include:
[0152] If the predicted motion trajectory of the target obstacle overlaps with the initial path, when the distance between the self-moving robot and the overlapping area is less than or equal to a sixth preset distance, the self-moving robot is controlled to reduce the walking speed and issue a warning;
[0153] If it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on the preset walking speed;
[0154] If it is detected that the target obstacle is located on the initial path, the self-moving robot is controlled to perform a detour operation according to the current state of the target obstacle, or a detour path is planned based on the current environment of the self-moving robot, and the self-moving robot is controlled to move based on the detour path to avoid the target obstacle.
[0155] like Figure 6 As shown, if the predicted motion trajectory of the target obstacle overlaps with the initial path of the self-moving robot, the target obstacle may collide with the self-moving robot. When the self-moving robot moves based on the initial path and the distance from the predicted collision position, i.e., the overlapping area, is less than or equal to a sixth preset distance, such as 45 cm or 60 cm, the self-moving robot can be controlled to reduce its walking speed to avoid colliding with the target obstacle while maintaining the original speed, and a voice prompt can be broadcast to guide the target obstacle to avoid it and let it go first. When it is detected that the target obstacle has left, i.e., away from the initial path of the self-moving robot, the self-moving robot is controlled to continue moving based on the preset walking speed, such as restoring the original walking speed.
[0156] If it is detected that the target obstacle has not left, that is, it is still on the initial path, then you can refer to the records of any of the above embodiments to control the self-mobile robot to perform a detour operation according to the current state of the target obstacle, or plan a detour path based on the current environment of the self-mobile robot, and control the self-mobile robot to move based on the detour path to avoid the target obstacle.
[0157] In order to better implement the obstacle avoidance method for a self-moving robot of the present application, the present application further provides an obstacle avoidance system 700 for a self-moving robot, and the obstacle avoidance system 700 for a self-moving robot may include a control terminal 701 and a self-moving robot 702 communicatively connected to the control terminal 701;
[0158] The control terminal 701 can be used to control the self-moving robot 702 to work and realize Figure 1 Corresponding to the obstacle avoidance method for a self-moving robot in any embodiment.
[0159] The control terminal 701 can control the self-moving robot 702 to implement the present application as follows Figure 1 Corresponding to the steps of the obstacle avoidance method for a self-moving robot in any embodiment, therefore, the present application can be implemented as follows Figure 1 The beneficial effects that can be achieved by the obstacle avoidance method for a self-moving robot in any embodiment are detailed in the previous description and will not be repeated here.
[0160] In order to better implement the obstacle avoidance method for a self-moving robot of the present application, the present application also provides a self-moving robot, which may include a processor 801 and a memory 802, wherein the memory 802 may be used to store a computer program, and when the computer program is executed by the processor 801, it may be used to implement the following functions:
[0161] When the self-moving robot moves based on the initial path, obstacle detection data obtained by detecting obstacles in the environment is obtained;
[0162] The state of the target obstacle is determined according to the obstacle detection data. If the target obstacle is stationary, when the self-moving robot moves to a distance from the target obstacle reaching a first preset distance, the self-moving robot is controlled to perform a detour operation.
[0163] If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
[0164] like Figure 8 As shown, it shows a structural schematic diagram of the self-moving robot involved in the present application, specifically:
[0165] The self-propelled robot may include one or more processing core processors 801, one or more computer-readable storage media memories 802, a power supply 803, an input unit 804 and other components. Those skilled in the art will appreciate that Figure 8The structure shown in the figure does not constitute a limitation on the self-propelled robot, and the self-propelled robot may also include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0166] The processor 801 is the control center of the self-moving robot. It uses various interfaces and lines to connect various parts of the entire self-moving robot. By running or executing the software program and / or unit module stored in the memory 802, and calling the data stored in the memory 802, the processor 801 performs various functions of the self-moving robot and processes data, thereby monitoring the self-moving robot as a whole. Optionally, the processor 801 may include one or more processing cores; the processor 801 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Preferably, the processor 801 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc., and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 801.
[0167] The memory 802 can be used to store software programs and modules. The processor 801 executes various functional applications and data processing by running the software programs and modules stored in the memory 802. The memory 802 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function, etc.; the data storage area may store data created according to the use of the self-mobile robot, etc. In addition, the memory 802 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 802 may also include a memory controller to provide the processor 801 with access to the memory 802.
[0168] The self-propelled robot may also include a power supply 803 for supplying power to various components. Preferably, the power supply 803 may be logically connected to the processor 801 through a power management system, so as to manage charging, discharging, and power consumption through the power management system. The power supply 803 may also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators.
[0169] The self-propelled robot may further include an input unit 804 and an output unit 805. The input unit 804 may be used to receive input digital or character information, and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
[0170] Although not shown, the self-moving robot may also include a display unit, etc., which will not be described in detail here. Specifically in the present application, the processor 801 in the self-moving robot will load the executable files corresponding to the processes of one or more application programs into the memory 802 according to the following instructions, and the processor 801 will run the application programs stored in the memory 802, thereby realizing various functions, as follows:
[0171] When the self-moving robot moves based on the initial path, obstacle detection data obtained by detecting obstacles in the environment is obtained;
[0172] The state of the target obstacle is determined according to the obstacle detection data. If the target obstacle is stationary, when the self-moving robot moves to a distance from the target obstacle reaching a first preset distance, the self-moving robot is controlled to perform a detour operation.
[0173] If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
[0174] A person skilled in the art will appreciate that all or part of the steps in the various methods described above may be accomplished by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by the processor 801.
[0175] To this end, the present application provides a computer-readable storage medium, which may include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc. Computer instructions are stored thereon, and the computer instructions are loaded by the processor 801 to execute any step in the obstacle avoidance method for a self-moving robot provided in the present application. For example, when the computer instructions are executed by the processor 801, the following functions are realized:
[0176] When the self-moving robot moves based on the initial path, obstacle detection data obtained by detecting obstacles in the environment is obtained;
[0177] The state of the target obstacle is determined according to the obstacle detection data. If the target obstacle is stationary, when the self-moving robot moves to a distance from the target obstacle reaching a first preset distance, the self-moving robot is controlled to perform a detour operation.
[0178] If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
[0179] The computer instructions stored in the computer readable storage medium can execute the present application as follows: Figure 1 Corresponding to the steps in the obstacle avoidance method for a self-moving robot in any embodiment, therefore, the present application can be implemented as follows Figure 1 The beneficial effects that can be achieved by the obstacle avoidance method for a self-moving robot in any embodiment are detailed in the previous description and will not be repeated here.
[0180] The technical solution of the present application is described below in conjunction with specific application scenarios to facilitate understanding.
[0181] Application scenario 1
[0182] The self-moving robot is performing a cleaning task in a shopping mall and detects a fixed obstacle 3m ahead. When the self-moving robot moves to a distance of 30cm from the fixed obstacle based on the initial cleaning path, it first detects whether the left side of the fixed obstacle can be bypassed. If so, the self-moving robot is controlled to bypass to the left side of the fixed obstacle, and after bypassing, it returns to the initial cleaning path to continue cleaning. If the left side cannot be bypassed, it detects whether the right side of the fixed obstacle can be bypassed. If so, the self-moving robot is controlled to bypass to the right side of the fixed obstacle, and after bypassing, it returns to the initial cleaning path to continue cleaning. If the right side cannot be bypassed either, other cleaning paths are tried to complete the cleaning task.
[0183] Application scenario 2
[0184] The self-moving robot is performing a navigation task in a shopping mall and detects a pedestrian 2m ahead. At this time, the self-moving robot can be controlled to slow down and give a prompt voice. When the self-moving robot continues to move to 1m away from the pedestrian, if the pedestrian is still on the moving trajectory of the self-moving robot, then if there is enough forward moving space, the self-moving robot is controlled to stop moving and give a prompt voice to let the pedestrian go first. After detecting that the pedestrian has left, the robot resumes its original speed and continues to perform the navigation task.
[0185] If the forward moving space is narrow, the self-moving robot can be controlled to pull over to avoid the pedestrian and broadcast a prompt voice to let the pedestrian go first. After detecting that the pedestrian has left, the robot can resume the original trajectory and speed to continue the navigation task.
[0186] If there is insufficient space for forward movement but there is space to turn around, the self-moving robot can be controlled to turn around. During the turning around process, a voice prompt can be broadcast to guide pedestrians to avoid it. After turning around and moving to an open position, a voice prompt is given to let pedestrians go first. After waiting for 1 minute, if it is detected that the pedestrian has left, the original trajectory and original speed are restored to continue the navigation task. If it is detected that the pedestrian has not left, the navigation path can be re-planned, and the navigation task can be continued based on the re-planned navigation path.
[0187] If there is insufficient space for forward movement and no room to turn around, the self-moving robot can be controlled to stay where it is, broadcast a voice prompt, and guide pedestrians to avoid and detour.
[0188] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the detailed description of other embodiments above, and will not be repeated here.
[0189] In specific implementation, the above units or structures can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same or several entities. The specific implementation of the above units or structures can refer to the previous embodiments and will not be repeated here.
[0190] The above is a detailed introduction to the obstacle avoidance method, system and self-moving robot for a self-moving robot provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The above description is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, based on the ideas of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. An obstacle avoidance method for a self-propelled robot, characterized in that: The method comprises: When the self-moving robot moves based on the initial path, obtaining obstacle detection data obtained by detecting obstacles in the environment; Determining the state of the target obstacle according to the obstacle detection data, and if the target obstacle is stationary, controlling the self-moving robot to perform a detour operation when the distance between the self-moving robot and the target obstacle reaches a first preset distance; If the target obstacle is in a moving state, the self-moving robot is controlled to move according to the relative motion relationship between the target obstacle and the self-moving robot to avoid the target obstacle.
2. The method according to claim 1, characterized in that When the self-moving robot moves to a distance from the target obstacle that reaches a first preset distance, controlling the self-moving robot to perform a detour operation includes: Controlling the self-moving robot to move based on the initial path, and when the distance between the self-moving robot and the target obstacle reaches the first preset distance, determining whether the current environment satisfies the condition for the self-moving robot to perform a detour to a preset priority side; If the conditions are met, controlling the self-moving robot to move toward the priority side of the target obstacle to bypass the target obstacle; If not, determining whether the current environment satisfies a condition for the self-moving robot to perform a detour to a preset secondary side; the secondary side is a side opposite to the priority side; If satisfied, controlling the self-moving robot to move toward the secondary side of the target obstacle to bypass the target obstacle; Otherwise, the self-moving robot is controlled to switch the initial path to an alternative path, and moves based on the alternative path to avoid the target obstacle.
3. The method according to claim 1, characterized in that The step of controlling the self-moving robot to move according to the relative motion relationship between the target obstacle and the self-moving robot comprises: Obtaining a predicted motion trajectory for the target obstacle; Determining the relative motion relationship between the target obstacle and the self-propelled robot according to the predicted motion trajectory and the initial path; The movement of the self-moving robot is controlled according to the relative motion relationship.
4. The method according to claim 3, characterized in that The controlling the self-moving robot to move according to the relative motion relationship comprises: If the target obstacle and the self-moving robot move toward each other, when the distance between the self-moving robot and the target obstacle reaches a second preset distance, the self-moving robot is controlled to reduce the walking speed and issue a warning; If it is detected that the target obstacle has moved away from the initial path when the distance between the self-moving robot and the target obstacle reaches a third preset distance, the self-moving robot is controlled to continue moving based on a preset walking speed; wherein the third preset distance is less than the second preset distance; If, when the distance between the self-moving robot and the target obstacle reaches the third preset distance, it is detected that the predicted motion trajectory of the target obstacle overlaps with the initial path, the movement of the self-moving robot is controlled according to the current environment of the self-moving robot.
5. The method according to claim 4, characterized in that The controlling the movement of the self-moving robot according to the current environment of the self-moving robot comprises: If the forward moving area in the current environment is greater than or equal to a preset first forward area threshold, the self-moving robot is controlled to stop moving, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to continue moving based on the preset walking speed; If the forward moving area is less than the first forward area threshold and greater than a preset second forward area threshold, the self-moving robot is controlled to move in a direction away from the target obstacle to avoid the target obstacle, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed; wherein the second forward area threshold is less than the first forward area threshold; If the forward moving area is less than the second forward area threshold, and the backward moving area is greater than or equal to the first backward area threshold, the self-moving robot is controlled to perform a turn-around operation and move away from the predicted motion trajectory of the target obstacle, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed; If the forward moving area is smaller than the second forward area threshold, and the backward moving area is smaller than the first backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
6. The method according to claim 5, characterized in that After the self-propelled robot is controlled to perform a turning back operation and to move away from the predicted motion trajectory of the target obstacle, the method further comprises: Acquiring the turning back time of the self-moving robot, and if the turning back time reaches a preset waiting time threshold, detecting that the target obstacle is located on the initial path, planning a detour path based on the current environment of the self-moving robot, and controlling the self-moving robot to move based on the detour path to avoid the target obstacle; If the turning back time reaches the preset waiting time threshold, and it is detected that the target obstacle is away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on the preset walking speed.
7. The method according to claim 3, characterized in that The controlling the self-moving robot to move according to the relative motion relationship comprises: If the target obstacle and the self-moving robot move in the same direction and the target obstacle is located in the forward direction of the self-moving robot, then during the movement of the target obstacle, the self-moving robot is controlled to reduce the walking speed, follow the target obstacle based on the initial path, and the distance between the self-moving robot and the target obstacle is controlled to be greater than or equal to a fourth preset distance; Counting the following time of the self-moving robot, and if the following time is greater than a preset following time threshold, judging whether to control the self-moving robot to perform the detour operation according to the current environment of the self-moving robot; if the self-moving robot is not controlled to perform the detour operation, controlling the self-moving robot to maintain the following movement; If the target obstacle stops moving, the self-moving robot is controlled to move according to the current environment of the self-moving robot.
8. The method according to claim 7, characterized in that If the target obstacle stops moving, controlling the self-moving robot to move according to the current environment of the self-moving robot comprises: If the forward moving area in the current environment is greater than or equal to a preset third forward area threshold, when the distance between the self-moving robot and the target obstacle reaches a fifth preset distance, controlling the self-moving robot to perform the detour operation; If the forward moving area is less than the third forward area threshold, and the backward moving area is greater than or equal to the second backward area threshold, the self-moving robot is controlled to perform a turn-around operation and move away from the predicted motion trajectory of the target obstacle, and when it is detected that the target obstacle has moved away from the initial path, the self-moving robot is controlled to return to the initial path and continue to move based on a preset walking speed; If the forward moving area is smaller than the third forward area threshold, and the backward moving area is smaller than the second backward area threshold, the self-moving robot is controlled to stop moving, and a warning is issued to guide the target obstacle to bypass.
9. The method according to claim 3, characterized in that: The controlling the self-moving robot to move according to the relative motion relationship comprises: If the predicted motion trajectory of the target obstacle overlaps with the initial path, when the distance between the self-propelled robot and the overlapping area is less than or equal to a sixth preset distance, the self-propelled robot is controlled to reduce the walking speed and issue a warning; If it is detected that the target obstacle has moved away from the initial path, controlling the self-propelled robot to continue moving based on a preset walking speed; If it is detected that the target obstacle is located on the initial path, the self-moving robot is controlled to perform the detour operation according to the current state of the target obstacle, or a detour path is planned based on the current environment of the self-moving robot, and the self-moving robot is controlled to move based on the detour path to avoid the target obstacle.
10. An obstacle avoidance system for a self-propelled robot, characterized in that: It includes a control terminal and a self-moving robot in communication connection with the control terminal; The control end is used to control the movement of the self-moving robot and implement the obstacle avoidance method for the self-moving robot described in any one of claims 1-9.
11. A self-propelled robot, characterized in that: It comprises a memory and a processor, wherein the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the obstacle avoidance method for a self-moving robot as described in any one of claims 1-9.