Obstacle-Avoiding Robot and Its Control Method, Control Device, and Readable Storage Medium
By receiving environmental map information and detecting obstacle information, determining the target trajectory of the obstacle avoiding robot and generating control instructions, the problem of obstacle avoiding robots in the prior art is solved, and a safer and smoother movement is achieved.
Patent Information
- Application Number
- CN202210957649.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-10
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2042-08-10
AI Technical Summary
Existing obstacle avoidance robots are difficult to predict and avoid obstacles at a longer distance, resulting in insufficient reaction time and increasing the risk of collision.
By receiving environmental map information, obtaining initial trajectory and boundaries, detecting obstacle information, determining target trajectory and generating control instructions, the safe movement of obstacle avoidance robots at longer distances can be achieved.
It improves the obstacle avoidance robot's ability to predict and avoid obstacles, reduces the risk of collision, and makes the moving trajectory smoother and safer.
Smart Images

Figure CN115268457B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of obstacle avoidance robots. Specifically, it relates to an obstacle avoidance robot, its control method, control device, and readable storage medium. Background Art
[0002] Currently, in order to avoid collisions, current obstacle avoidance robots usually add an expansion radius to obstacles, but they cannot enable the obstacle avoidance robot to avoid obstacles from a relatively long distance, and often cause danger due to insufficient reaction time. Summary of the Invention
[0003] This application aims to solve one of the technical problems existing in the prior art or related technologies.
[0004] To this end, a first aspect of this application proposes a control method for an obstacle avoidance robot.
[0005] A second aspect of this application proposes a control device for an obstacle avoidance robot.
[0006] A third aspect of this application proposes a control device for an obstacle avoidance robot.
[0007] A fourth aspect of this application proposes a readable storage medium.
[0008] A fifth aspect of this application proposes an obstacle avoidance robot.
[0009] In view of this, according to a first aspect of this application, a control method for an obstacle avoidance robot is proposed. The control method includes: receiving map information of the environment where the obstacle avoidance robot is located; obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information; detecting obstacle information within the initial boundary, and determining the target trajectory of the obstacle avoidance robot and generating a control instruction according to the initial boundary, the initial trajectory, and the obstacle information; controlling the movement of the obstacle avoidance robot according to the control instruction.
[0010] According to the control method for an obstacle avoidance robot provided by this application, by receiving map information of the environment where the obstacle avoidance robot is located, detecting obstacle information within the initial boundary, determining the target trajectory of the obstacle avoidance robot and generating a control instruction according to the initial boundary, the initial trajectory, and the obstacle information, and controlling the movement of the obstacle avoidance robot according to the control instruction, it is possible to control the obstacle avoidance robot to avoid obstacles at a relatively long distance, thereby reducing the possibility of collision between the obstacle avoidance robot and the obstacle, and reserving a certain amount of time in advance so that the obstacle avoidance robot can react in time in the face of unexpected situations and avoid risks, making the movement trajectory of the obstacle avoidance robot smoother.
[0011] The second aspect of the present application provides a control device for an obstacle avoidance robot. The obstacle avoidance robot includes a housing, a detection component, and a moving component. The control device includes a detection unit and a moving unit. The detection unit is used to control the detection component to detect obstacle information outside the housing; the moving unit is used to control the moving component to control the obstacle avoidance robot to move.
[0012] The third aspect of the present application provides a control device for an obstacle avoidance robot. The control device includes a memory and a processor. The memory stores a program or instructions that can run on the processor. When the program or instructions are executed by the processor, the steps of the control method for the obstacle avoidance robot in any of the above technical solutions are implemented, and thus all the beneficial technical effects of the control method for the obstacle avoidance robot in any of the above technical solutions are achieved.
[0013] The fourth aspect of the present application provides a readable storage medium, on which a program or instructions are stored. When the program or instructions are executed by the processor, the steps of the control method for the obstacle avoidance robot in any of the above technical solutions are implemented, and thus all the beneficial technical effects of the control method for the obstacle avoidance robot in any of the above technical solutions are achieved.
[0014] The fifth aspect of the present application provides an obstacle avoidance robot, which includes the control device for the obstacle avoidance robot in the second aspect; or the control device for the obstacle avoidance robot in the third aspect; or the readable storage medium in the fourth aspect, and thus all the beneficial technical effects of the control method for the obstacle avoidance robot in any of the above technical solutions are achieved.
[0015] The additional aspects and advantages of the present application will become apparent in the following description section, or be learned through the practice of the present application. Description of the Drawings
[0016] The above and / or additional aspects and advantages of the present application will become apparent and be readily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0017] Figure 1 A flowchart showing the control method for an obstacle avoidance robot according to an embodiment of the present application;
[0018] Figure 2 Shows Figure 1 A schematic diagram of the initial trajectory and initial boundary of the obstacle avoidance robot in the shown embodiment;
[0019] Figure 3 Shows Figure 1 A schematic diagram of the target trajectory and target boundary of the obstacle avoidance robot in the shown embodiment;
[0020] Figure 4 A flowchart showing the control method for an obstacle avoidance robot according to an embodiment of the present application;
[0021] Figure 5 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0022] Figure 6 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0023] Figure 7 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0024] Figure 8 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0025] Figure 9 The control diagram shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0026] Figure 10 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0027] Figure 11 The flowchart shows the control method of an obstacle avoidance robot according to an embodiment of the present application;
[0028] Figure 12 The control diagram shows the control method of an obstacle avoidance model according to an embodiment of the present application;
[0029] Figure 13 The block diagram shows the structure of a control device for an obstacle avoidance robot according to an embodiment of the present application.
[0030] Among them, Figures 1 to 13 The corresponding relationship between the reference numerals and the component names in the figure is as follows:
[0031] 100 obstacle avoidance robot, 102 initial trajectory, 104 initial boundary, 106 target trajectory, 108 target boundary, 110 obstacle, 112 theoretical system, 114 actual system, 116 Gaussian process, 118 estimation model, 120 obstacle avoidance model, 200 control device of the obstacle avoidance robot, 202 memory, 204 processor. Detailed implementation manners
[0032] In order to more clearly understand the above objects, features and advantages of the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific implementation manners. It should be noted that, without conflict, the embodiments of the present application and the features in the embodiments may be combined with each other.
[0033] In the following description, many specific details are set forth to provide a thorough understanding of the present application. However, the present application may be implemented in other ways different from those described herein. Therefore, the scope of protection of the present application is not limited by the specific embodiments disclosed below.
[0034] Reference is made below Figures 1 to 13 to describe a control method for an obstacle avoidance robot, a control device 200 for an obstacle avoidance robot, a readable storage medium, and an obstacle avoidance robot according to some embodiments of the present application.
[0035] As Figure 1 shown, an embodiment of the present application provides a control method for an obstacle avoidance robot. The control method includes:
[0036] S102, receiving map information of the environment where the obstacle avoidance robot is located;
[0037] S104, obtaining an initial trajectory of the obstacle avoidance robot and an initial boundary of the initial trajectory according to the map information;
[0038] S106, detecting obstacle information within the initial boundary, and determining a target trajectory of the obstacle avoidance robot and generating a control instruction according to the initial boundary, the initial trajectory, and the obstacle information;
[0039] S108, controlling the movement of the obstacle avoidance robot according to the control instruction.
[0040] As Figure 2 shown, receive map information, determine the feasible roads of the obstacle avoidance robot 100 according to the map information, and obtain the road widths of the feasible roads. According to the feasible roads and the widths of the feasible roads in the map information, determine a collision-free initial trajectory 102. It can be understood that the initial boundary 104 is set on both sides of the initial trajectory 102, thereby determining the feasible range of the obstacle avoidance robot 100.
[0041] Specifically, as Figure 3 shown, confirm the information of the obstacle 110, and determine whether the obstacle 110 affects the movement of the obstacle avoidance robot 100, thereby determining the target trajectory 106 and generating a control instruction, and controlling the movement of the obstacle avoidance robot 100 according to the control instruction. Compared with the related art of directly increasing the inflation radius, the actual feasible range of the obstacle avoidance robot 100 is increased, thereby improving the adaptability of the obstacle avoidance robot 100 to multiple usage scenarios such as household, commercial, and industrial.
[0042] Furthermore, it is possible to predict in advance before a collision occurs, start avoiding risks at a relatively long distance, improve the safety of the movement of the obstacle avoidance robot 100, so that the time of the obstacle avoidance robot 100 matches the control instruction at that time, avoid the phenomenon in the related art that the obstacle avoidance robot has a large delay and fails to respond in time and collides with the obstacle 110, and further make the movement trajectory of the obstacle avoidance robot 100 smoother, ensure the safety and stability of the movement of the obstacle avoidance robot 100 during the entire obstacle avoidance process, improve the use experience of the obstacle avoidance robot 100, and further increase the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0043] As Figure 4 shown, the control method of an embodiment of the present application includes:
[0044] S402, receiving map information of the environment where the obstacle avoidance robot is located;
[0045] S404, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0046] S406, detecting obstacle information within the initial boundary, and determining the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information;
[0047] S408, determining the target boundary according to the target trajectory and the obstacle information;
[0048] S410, obtaining the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0049] S412, determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, and the second coordinate;
[0050] S414, controlling the movement of the obstacle avoidance robot according to the control instruction.
[0051] Specifically, as Figure 3 shown, information of the obstacle 110 is confirmed, and it is determined whether the obstacle 110 affects the movement of the obstacle avoidance robot 100, so as to ensure that there are no obstacles 110 that will hinder the movement of the obstacle avoidance robot 100 within the target trajectory 106 and the target boundary 108, and further determine the collision-free feasible range of the obstacle avoidance robot 100, and plan the movement trajectory of the obstacle avoidance robot 100. By combining the obstacle information, the present application determines the movement trajectory and movement boundary of the obstacle avoidance robot 100, and compared with directly increasing the inflation radius in the related art, it increases the actual feasible range of the obstacle avoidance robot 100, thereby improving the adaptability of the obstacle avoidance robot 100 to multiple usage scenarios such as home use, commercial use, and industrial use.
[0052] It can be understood that the obstacle information includes the space occupied by the obstacle 110 within the initial boundary 104. Thus, based on the space occupied by the obstacle 110, the initial boundary 104, and the initial trajectory 102, the target trajectory 106 and the target boundary 108 can be determined.
[0053] Furthermore, the space occupied by the obstacle 110 can be displayed as a circle, rectangle, triangle, or other shapes within the initial boundary 104. The target boundary 108 is formed based on the shape enclosed by the shape formed by the space occupied by the obstacle 110 and the closer one of the two initial boundaries 104, as well as the shortest distance between the endpoints of the shape formed by the space occupied by the obstacle 110 and the closer initial boundary 104.
[0054] Furthermore, based on the first coordinate and the second coordinate, it is determined whether the movement trajectory of the obstacle avoidance robot 100 will be interfered by the obstacle 110, thereby avoiding phenomena such as collisions between the two. Moreover, it is possible to predict in advance before the collision occurs and start avoiding risks at a relatively long distance, improving the safety of movement. Thus, the moment of the obstacle avoidance robot 100 is matched with the control instruction at that moment, avoiding the phenomenon in the related art where the obstacle avoidance robot has a large delay and fails to respond in a timely manner, resulting in a collision with the obstacle 110. At the same time, the obstacle avoidance robot 100 starts avoiding the obstacle 110 at a relatively long distance, thereby reducing the possibility of encountering the obstacle 110 during the obstacle avoidance process, making the movement trajectory of the obstacle avoidance robot 100 smoother. Furthermore, it is avoided that the obstacle avoidance robot 100 cannot avoid the obstacle 110 at a long distance and collides with the obstacle 110 due to inertia when stopping urgently when encountering the obstacle 110 at a short distance. Thus, the safety and stability of the entire obstacle avoidance process of the obstacle avoidance robot 100 are ensured, improving the user experience of the obstacle avoidance robot 100 and further increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0055] Moreover, the initial trajectory 102 is smoothed using the gradient descent method, enabling the movement trajectory of the obstacle avoidance robot 100 to be smoother. Thus, the obstacle avoidance robot 100 moves along the smooth movement trajectory, and the entire obstacle avoidance process can be more complete and stable, improving the user experience of the obstacle avoidance robot 100.
[0056] As Figure 5 shown, the control method of an embodiment of the present application includes:
[0057] S502, receiving the map information of the environment where the obstacle avoidance robot is located;
[0058] S504, based on the map information, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory;
[0059] S506, Detect the obstacle information within the initial boundary, and determine the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information;
[0060] S508, Determine the target boundary according to the target trajectory and the obstacle information;
[0061] S510, Obtain the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0062] S512, Determine the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, the second coordinate, and the obstacle avoidance model;
[0063] S514, Control the movement of the obstacle avoidance robot according to the control instruction.
[0064] In an embodiment of the present application, according to the target trajectory 106 and the target boundary 108 after risk avoidance, the instantaneously obtained first coordinate, the instantaneously obtained second coordinate, and the pre-established obstacle avoidance model 120, jointly determine the control instruction corresponding to the obstacle avoidance robot 100 at the current moment, so that the obstacle avoidance model 120 can be used to improve the precise control of the obstacle avoidance robot 100, and the control problem of the obstacle avoidance robot 100 is transformed into an optimization problem of the obstacle avoidance model 120, so that it is possible to pre-determine whether the obstacle avoidance of the obstacle avoidance robot 100 can be implemented by optimizing the obstacle avoidance model 120.
[0065] Moreover, by optimizing the control of the obstacle avoidance model 120, it is possible to pre-determine whether the target trajectory 106 is feasible, so as to control the obstacle avoidance of the obstacle avoidance robot 100. On the one hand, it saves efficiency and facilitates the control of the obstacle avoidance robot 100. On the other hand, it can avoid unnecessary movement of the obstacle avoidance robot 100, improve the usage experience of the obstacle avoidance robot 100, and thus increase the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0066] In an embodiment of the present application, the obstacle avoidance model 120 is specifically a mathematical model transformed from the movement process of the obstacle avoidance robot 100. Specifically, the obstacle avoidance model 120 can be expressed by the following two equation expressions:
[0067] x(k + 1) = f normal (x k , u k );
[0068] x(k + 1) = f true (x k , u k );
[0069] Among them, f normal (x k , uk ) represents the modeling state equation of the obstacle avoidance model 120, where x represents the state quantity, and x k represents the state quantity of the obstacle avoidance model 120 at time k, and u k represents the output quantity of the obstacle avoidance model 120 at time k, and f true (x k , u k ) represents the data acquisition state equation of the obstacle avoidance model.
[0070] Specifically, f normal (x k , u k ) represents the theoretical relationship between the state quantity and the output quantity of the obstacle avoidance model 120. This theoretical relationship can be determined based on the historical relationship between the state quantity and the output quantity of the obstacle avoidance model 120 and the relationship between the state quantity and the output quantity of the obstacle avoidance model 120 in the prior art.
[0071] f true (x k , u k ) represents the actual relationship between the state quantity and the output quantity of the obstacle avoidance model 120. This actual relationship can be determined by performing variable analysis based on the actual state quantity and the actual output quantity of the obstacle avoidance model 120.
[0072] Furthermore, in this obstacle avoidance model 120, the state quantity of the obstacle avoidance model 120 can specifically be the coordinates of the obstacle avoidance robot 100, and the output quantity of the obstacle avoidance model 120 can specifically be the speed or angular velocity of the obstacle avoidance robot 100.
[0073] In the state equation of this embodiment, there is a linear correspondence between the state quantity at time k + 1 and the state quantity and input quantity at time k. Thus, the state quantity at time k + 1 can be determined based on the state quantity and input quantity obtained at time k, and then the state quantity can be obtained in advance according to the obstacle avoidance model 120, and further, the obstacle avoidance robot 100 can be controlled.
[0074] Even further, there is a certain error between the modeling state equation of the obstacle avoidance model 120 and the data acquisition state equation of the obstacle avoidance model 120. This error is caused by modeling errors, losses during data acquisition, and model noise. The modeling state equation of the obstacle avoidance model 120 can obtain the data acquisition state equation of the obstacle avoidance model through Gaussian compensation, which can be expressed as:
[0075] x(k + 1) = f normal (x k , u k ) + Δ
[0076] Among them, △~N(u,∑), △ represents the compensation value of the obstacle avoidance model 120, u is the mean of the input quantity pre-collected by the obstacle avoidance model 120, and ∑ is the covariance of the input quantity pre-fitted and trained in the obstacle avoidance model 120.
[0077] In one embodiment of the present application, the obstacle avoidance model 120 is specifically a mathematical model of the movement process transformation of the obstacle avoidance robot 100, and specifically, it can be expressed as:
[0078]
[0079] in, is represented by the cost function equation of the obstacle avoidance model 120, st represents subject to, △ represents the compensation value of the obstacle avoidance model 120, and x t It is represented as the state quantity of the obstacle avoidance model 120 at time t, x start is the state quantity of the obstacle avoidance model 120 at the start time, x t+N It is represented as the state quantity of the obstacle avoidance model 120 at time t+N, x end is the state quantity of the obstacle avoidance model 120 at the end time, h(x t+k ) is represented as the control obstacle constraint function of the obstacle avoidance model 120, which is expressed as:
[0080] h=(x state -x obstacle ) 2 +(y state -y obstacle ) 2 -R 2
[0081] Among them, x state It is represented as the horizontal coordinate of the obstacle avoiding robot 100 within the moving boundary, x obstacle It is represented as the horizontal coordinate of the obstacle 110 within the moving boundary, y state It is represented as the ordinate of the obstacle avoiding robot 100 within the moving boundary, y obstacle It is represented as the ordinate of the obstacle 110 within the moving boundary, and R represents the distance between the obstacle avoiding robot 100 and the obstacle 110 before the obstacle avoiding robot 100 moves.
[0082] Furthermore, x t+k It is represented as the state quantity of the obstacle avoidance model 120 at time t+k, u t+k is represented by the input quantity of the obstacle avoidance model 120 at time t+k, x is represented by the state quantity of the obstacle avoidance model 120, u is represented by the input quantity of the obstacle avoidance model 120, and the control obstacle constraint function can be expressed by the linear differential function h(x t+k ) means that h(x t+k) After differentiation, the differential function Δh(x t+k , u t+k ) is obtained. In the range from 0 to 1, there always exists a constant r such that the control barrier constraint function and the differential function satisfy Δh(x t+k , u t+k ) ≥ -rh(x t+k ). When r approaches 0, it means that the obstacle avoidance robot 100 moves away from the obstacle 110. When r approaches 1, it means that the obstacle avoidance robot 100 approaches the obstacle 110.
[0083] Furthermore, J in t+N represents the total cost function of the obstacle avoidance model 120, and minp(x represents the cost function of the state quantity at time t + N.
[0084] As Figure 6 shown, the control method of an embodiment of the present application includes:
[0085] S602, receiving the map information of the environment where the obstacle avoidance robot is located;
[0086] S604, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0087] S606, detecting the obstacle information within the initial boundary, and determining the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information;
[0088] S608, determining the target boundary according to the target trajectory and the obstacle information;
[0089] S610, obtaining the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0090] S612, determining the distance compensation value according to the third coordinate and the second coordinate of the starting point of the target trajectory;
[0091] S614, determining the first constraint value according to the first coordinate, the second coordinate, and the distance compensation value;
[0092] S616, determining whether the first constraint value satisfies the first control output condition. If so, execute S618. If not, execute S604;
[0093] S618, controlling the movement of the obstacle avoidance robot according to the control instruction.
[0094] In this embodiment, the first constraint value is compensated by the distance compensation value, thereby improving the accuracy of the obstacle avoidance model 120, and further improving the accuracy of controlling the obstacle avoidance robot 100.
[0095] Specifically, the distance compensation value can be expressed as R. R represents the distance that the obstacle avoidance robot 100 maintains from the obstacle 110. It can be understood that R is a fixed value, which is the distance between the obstacle avoidance robot 100 and the obstacle 110 before the obstacle avoidance robot 100 outputs a control instruction. Thus, the obstacle avoidance model 120 is compensated with a fixed value to improve the accuracy of the obstacle avoidance model 120, thereby improving the accuracy of the control of the obstacle avoidance robot 100.
[0096] Furthermore, when the first constraint value satisfies the first output control condition, it is determined that the obstacle avoidance model 120 is feasible. According to the control instruction corresponding to the current moment of the obstacle avoidance model 120 and the obstacle avoidance robot 100, the delay problem of the obstacle avoidance model 120 is solved, avoiding the phenomenon that the obstacle avoidance robot 100 has a large delay in the related art, resulting in untimely response and collision with the obstacle 110. Thus, the obstacle avoidance process of the entire obstacle avoidance robot 100 is smoother, improving the usage experience of the obstacle avoidance robot 100 and increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0097] Even further, the first constraint value is a constant value in the obstacle avoidance model 120 that satisfies an inequality relationship according to the control obstacle constraint function and the differential function of the obtained control obstacle constraint function.
[0098] Based on the first constraint value satisfying the first control output condition, determining the control instruction of the obstacle avoidance robot 100 at the current moment according to the obstacle avoidance model 120 includes: setting an upper threshold and a lower threshold for the first control output condition. Specifically, the upper threshold is set to 1, and the lower threshold is set to 0.
[0099] Specifically, when the first constraint value is within the range of being greater than the lower threshold and less than or equal to the upper threshold, it is determined that the first constraint value satisfies the first control output condition. When the first constraint value is not within the range of being greater than the lower threshold and less than or equal to the upper threshold, it indicates that the obstacle constraint of the obstacle avoidance model 120 on the obstacle avoidance robot 100 is invalid. Thus, the initial trajectory 102 and the initial boundary 104 of the obstacle avoidance robot 100 are re-determined, and the movement trajectory of the obstacle avoidance robot 100 is re-planned.
[0100] As Figure 7 shown, the control method of an embodiment of the present application includes:
[0101] S702, receiving map information of the environment where the obstacle avoidance robot is located;
[0102] S704, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0103] S706. Detect obstacle information within the initial boundary, and determine the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information.
[0104] S708. Obtain the model compensation value of the obstacle avoidance model.
[0105] S710. Determine the obstacle avoidance model according to the model compensation value and the theoretical obstacle avoidance model.
[0106] S712. Determine the target boundary according to the target trajectory and the obstacle information.
[0107] S714. Obtain the first coordinates of the obstacle and the second coordinates of the obstacle avoidance robot.
[0108] S716. Determine the distance compensation value according to the third coordinates of the starting point of the target trajectory and the second coordinates.
[0109] S718. Determine the first constraint value according to the first coordinates, the second coordinates, and the distance compensation value.
[0110] S720. Determine whether the first constraint value satisfies the first control output condition. If so, execute S722; if not, execute S704.
[0111] S722. Control the movement of the obstacle avoidance robot according to the control instruction.
[0112] In this embodiment, the model compensation value is obtained, and the theoretical obstacle avoidance model is compensated according to the model compensation value, so as to increase the matching degree between the obstacle avoidance model 120 and the actual obstacle avoidance model, reduce the influence of factors such as error, loss, and noise of the obstacle avoidance model 120 on the obstacle avoidance model 120, and the influence brought by factors such as uncertainty and complex nonlinearity of the model, improve the accuracy and robustness of the obstacle avoidance model 120, improve the accuracy of the control of the obstacle avoidance robot 100, improve the use experience of the obstacle avoidance robot 100, and increase the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0113] Specifically, the model compensation value is based on the compensation result of the Gaussian process 116. The Gaussian process 116 is a combination of random variables in the obstacle avoidance model 120 within the exponential set, which is determined by the mathematical expectation and the covariance function, and can be expressed as:
[0114] △~N(u,∑);
[0115] Among them, △ can be expressed as the model compensation value, u is the mathematical expectation, specifically representing the mean value of the input quantity collected in advance in the obstacle avoidance model 120, and ∑ is the covariance, specifically representing the covariance of the input quantity pre-fitted and trained in the obstacle avoidance model 120. The theoretical obstacle avoidance model is a mathematical model pre-constructed before the obstacle avoidance robot 100 moves, which can be represented by the equation of the theoretical system 112, specifically:
[0116] x(k + 1) = f normal (x k , u k );
[0117] Among them, k represents the moment when the time is k, k + 1 represents the moment when the time is k + 1, x k represents the state quantity of the obstacle avoidance model 120 at the k-th moment, u k represents the output quantity of the obstacle avoidance model 120 at the moment when the time is k, and f normal represents the theoretical relationship between the state quantity and the output quantity of the obstacle avoidance model 120, and x represents the state quantity of the obstacle avoidance model 120.
[0118] The actual obstacle avoidance model is a data model constructed based on the data collected during the actual movement of the obstacle avoidance robot 100, which can be represented by the equation of the actual system 114:
[0119] x(k + 1) = f true (x k , u k );
[0120] Among them, x k represents the state quantity of the obstacle avoidance model 120 at the k-th moment, u k represents the output quantity of the obstacle avoidance model 120 at the moment when the time is k, and f true represents the actual relationship between the state quantity and the output quantity of the obstacle avoidance model 120, and x represents the state quantity of the obstacle avoidance model 120.
[0121] Specifically, f normal (x k , u k ) represents the theoretical relationship between the state quantity and the output quantity of the obstacle avoidance model 120, and this theoretical relationship can be determined according to the historical relationship between the state quantity and the output quantity of the obstacle avoidance model 120 and the relationship between the state quantity and the output quantity of the obstacle avoidance model 120 in the prior art.
[0122] f true (x k , u k) Represents the actual relationship between the state variables and the output variables of the obstacle avoidance model 120. This actual relationship can be determined through variable analysis based on the actual state variables and actual output variables of the obstacle avoidance model 120.
[0123] Due to factors such as modeling errors, losses, and noises in the obstacle avoidance model 120, there are certain deviations between the actual obstacle avoidance model and the theoretical obstacle avoidance model. Therefore, a Gaussian process 116 is introduced, enabling the actual obstacle avoidance model to be obtained from the theoretical obstacle avoidance model and the Gaussian process 116, thereby compensating for the impacts of model uncertainties, complex non-linear factors, etc. on the obstacle avoidance model 120, and improving the accuracy and robustness of the obstacle avoidance model 120. Specifically, it is expressed as:
[0124] x(k + 1) = f normal (x k , u k ) + Δ
[0125] Among them, k represents the moment at time k, k + 1 represents the moment at time k + 1, x k represents the state variable of the obstacle avoidance model 120 at moment k, u k represents the output variable of the obstacle avoidance model 120 at time k, f normal represents the theoretical relationship between the state variable and the output variable of the obstacle avoidance model 120, △ represents the model compensation value, and x represents the state variable of the obstacle avoidance model 120.
[0126] Furthermore, the model compensation value can be changed periodically. The change period can be set according to the loss of the obstacle avoidance model 120. It can be understood that the algorithms of the obstacle avoidance model 120 in related technologies use linearized models and ignore the uncertainty factors of the model. Therefore, it is very difficult to establish a complex non-linear model. Moreover, during the use of the obstacle avoidance robot 100, many parameters change due to usage losses, such as the tire friction coefficient, etc. Therefore, a Gaussian process 116 is introduced to compensate for the uncertainty of the obstacle avoidance model 120, making the algorithm accuracy and robustness of the obstacle avoidance model 120 higher.
[0127] As Figure 8 shown, the control method of an embodiment of the present application includes:
[0128] S802, receiving the map information of the environment where the obstacle avoidance robot is located;
[0129] S804, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0130] S806, detecting the obstacle information within the initial boundary, and determining the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information;
[0131] S808, Obtain the model compensation value of the obstacle avoidance model;
[0132] S810, Determine the obstacle avoidance model according to the model compensation value and the theoretical obstacle avoidance model;
[0133] S812, Determine the target boundary according to the target trajectory and the obstacle information;
[0134] S814, Obtain the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0135] S816, Determine the distance compensation value according to the third coordinate and the second coordinate of the starting point of the target trajectory;
[0136] S818, Determine the second constraint value according to the first coordinate, the second coordinate and the distance compensation value;
[0137] S820, Process the data of the second constraint value to obtain the third constraint value;
[0138] S822, Determine the first constraint value according to the second constraint value and the third constraint value;
[0139] S824, Determine whether the first constraint value meets the first control output condition. If so, execute S826; if not, execute S804;
[0140] S826, Control the movement of the obstacle avoidance robot according to the control instruction.
[0141] In this embodiment, the second constraint value represents the result obtained by the obstacle avoidance model 120 controlling the obstacle constraint function, and the second constraint value h can be expressed as:
[0142] h = (x state - x obstacle ) 2 + (y state - y obstacle ) 2 - R 2
[0143] Wherein, x state represents the central abscissa of the obstacle avoidance robot 100 at the current moment, x obstacle represents the central abscissa of the obstacle 110 at the current moment, y state represents the central abscissa of the obstacle avoidance robot 100 at the current moment, y obstacle represents the central abscissa of the obstacle 110 at the current moment, and R represents the distance between the obstacle avoidance robot 100 and the obstacle 110 before the obstacle avoidance robot 100 moves.
[0144] Further, the third constraint value is the result of differentiating the control obstacle constraint function of the obstacle avoidance model 120, denoted as △h, and the first constraint value is a constant representing the convergence speed in the obstacle avoidance model 120, which can be denoted as r. In the range from 0 to 1, there always exists a constant within the obstacle avoidance model 120 such that the first constraint value, the second constraint value, and the third constraint value satisfy the following relational expression:
[0145] Δh(x t+k ,u t+k )+rh(x t+k )≥0;
[0146] Through the relational expression of the first constraint value, the second constraint value, and the third constraint value, the inequality constraint of the control obstacle constraint function on the obstacle avoidance model 120 is realized, thereby increasing the feasible set range of the obstacle avoidance robot 100. Among them, h(x t+k ) represents the second constraint value at the (t + k)-th moment, and Δh(x t+k ,u t+k ) is the third constraint value obtained by differentiating the second constraint value at the (t + k)-th moment.
[0147] It can be understood that when the third constraint value approaches 0, it means that the obstacle avoidance robot 100 is far from the obstacle 110, and when the third constraint value approaches 1, it means that the obstacle avoidance robot 100 is close to the obstacle 110.
[0148] Further, through the inequality constraint among the first constraint value, the second constraint value, and the third constraint value, the accuracy of the obstacle avoidance model 120 is improved, and the feasible set range of the obstacle avoidance model 120 is increased. As a result, the obstacle avoidance robot 100 can start avoiding obstacles 110 at a relatively long distance, reducing the possibility of encountering obstacles 110 during the obstacle avoidance process. Furthermore, it can avoid the situation where the obstacle avoidance robot 100 cannot avoid obstacles 110 at a long distance and collides with the obstacle 110 due to inertia when encountering the obstacle 110 at a short distance during an emergency stop, ensuring the safety and stability of the movement of the obstacle avoidance robot 100 throughout the obstacle avoidance process, improving the usage experience of the obstacle avoidance robot 100, and further increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0149] As Figure 9 shown, the control method of an embodiment of the present application includes:
[0150] S902, receiving the map information of the environment where the obstacle avoidance robot is located;
[0151] S904, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0152] S906. Detect obstacle information within the initial boundary, and determine the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information.
[0153] S908. Obtain the model compensation value of the obstacle avoidance model.
[0154] S910. Determine the obstacle avoidance model according to the model compensation value and the theoretical obstacle avoidance model.
[0155] S912. Determine the target boundary according to the target trajectory and the obstacle information.
[0156] S914. Obtain the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot.
[0157] S916. Determine the distance compensation value according to the third coordinate of the starting point of the target trajectory and the second coordinate.
[0158] S918. Determine the second constraint value according to the first coordinate, the second coordinate, and the distance compensation value.
[0159] S920. Perform data processing on the second constraint value to obtain the third constraint value.
[0160] S922. Determine the first constraint value according to the second constraint value and the third constraint value.
[0161] S924. Determine whether the first constraint value satisfies the first control output condition. If so, execute S926; if not, execute S904.
[0162] S926. Determine the control instruction of the obstacle avoidance robot at the current moment.
[0163] S928. Determine whether the control instruction of the obstacle avoidance robot at the current moment satisfies the second control output condition. If so, execute S930; if not, execute S904.
[0164] S930. Take the control instruction of the obstacle avoidance robot at the current moment as the optimized control instruction, and control the movement of the obstacle avoidance robot according to the optimized control instruction.
[0165] In this embodiment, based on the fact that the control instruction of the obstacle avoidance robot 100 at the current moment satisfies the second control output condition, it is determined that the optimization of the control instruction of the obstacle avoidance robot 100 at the current moment is completed, and the control instruction at the current moment is taken as the optimized control instruction.
[0166] Further, controlling the movement of the obstacle avoidance robot 100 according to the optimized control instruction includes: extracting the movement parameters in the control instruction and performing data processing on the movement parameters. Specifically, the movement parameters specifically include the speed of the obstacle avoidance robot 100, the acceleration of the obstacle avoidance robot 100, the displacement of the obstacle avoidance robot 100, the position error of the obstacle avoidance robot 100, the speed of the obstacle 110, the acceleration of the obstacle 110, the displacement of the obstacle 110, the position error of the obstacle 110, etc.
[0167] Further, determine whether there is a relative minimum value of the speed of the obstacle avoidance robot 100, the acceleration of the obstacle avoidance robot 100, the displacement of the obstacle avoidance robot 100, the position error of the obstacle avoidance robot 100, the speed of the obstacle 110, the acceleration of the obstacle 110, the displacement of the obstacle 110, and the position error of the obstacle 110 in the obstacle avoidance model 120. When there is a relative minimum value of the movement parameters in the obstacle avoidance model 120, determine that the movement trajectory of the obstacle avoidance robot 100 is the optimal trajectory at the current moment, so as to output a control instruction to control the obstacle avoidance robot 100 to move according to the movement trajectory, avoid unnecessary movement of the obstacle avoidance robot 100, ensure that the obstacle avoidance robot 100 moves the minimum distance, thereby improving the intelligence level and energy-saving level of the obstacle avoidance robot 100, improving the use experience of the obstacle avoidance robot 100, and increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0168] Specifically, the data processing of the movement parameters can be represented by the cost function relationship in the obstacle avoidance model 120 as:
[0169]
[0170] where p(x t+N ) represents the movement parameters at time t + N, represents the sum of all movement parameters from time t = 0 to time t + N - 1, and J represents the sum of all movement parameters from time t = 0 to time t + N. It can be understood that time t = 0 is the starting moment of the entire movement process, and t + N can represent the ending moment of the entire movement process.
[0171] Further, determine p(x t+NWhether there is a minimum value to determine whether there is a minimum value in the cost function in the obstacle avoidance model 120. When the cost function is minimized, the movement parameter is the optimal value, controlling the obstacle avoidance robot to move with the smallest movement amount, realizing the optimal control of the obstacle avoidance robot 100, avoiding unnecessary movement of the obstacle avoidance robot 100, improving the control efficiency of the obstacle avoidance robot 100, enhancing the intelligence and energy-saving level of the obstacle avoidance robot 100, improving the usage experience of the obstacle avoidance robot 100, and increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0172] It can be understood that the second control output condition is to set a minimum value output instruction in the optimizer. The above functional equation relationship is obtained by the optimizer's solution. When there is a minimum value in the cost function relationship, the optimizer outputs the minimum value of the cost function, determines the movement parameter at the current moment as the minimum movement parameter, determines the control instruction at the current moment as the optimal control instruction, and controls the movement of the obstacle avoidance robot according to the optimal control instruction.
[0173] When there is no minimum value in the cost function relationship, the control instruction at the current moment is not an optimal control instruction, and the obstacle avoidance of the obstacle avoidance robot 100 cannot be completed with the smallest movement parameter, so the movement trajectory of the obstacle avoidance robot 100 is re-planned.
[0174] As Figure 10 shown, a control method provided by an embodiment of the present application includes:
[0175] S1002, receiving map information of the environment where the obstacle avoidance robot is located;
[0176] S1004, according to the map information, obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory;
[0177] S1006, detecting obstacle information within the initial boundary, and determining the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory, and the obstacle information;
[0178] S1008, obtaining the model compensation value of the obstacle avoidance model;
[0179] S1010, determining the obstacle avoidance model according to the model compensation value and the theoretical obstacle avoidance model;
[0180] S1012, determining the target boundary according to the target trajectory and the obstacle information;
[0181] S1014, obtaining the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0182] S1016, determining the distance compensation value according to the third coordinate of the starting point of the target trajectory and the second coordinate;
[0183] S1018. Determine the second constraint value according to the first coordinate, the second coordinate, and the distance compensation value;
[0184] S1020. Perform data processing on the second constraint value to obtain the third constraint value;
[0185] S1022. Determine the first constraint value according to the second constraint value and the third constraint value;
[0186] S1024. Determine whether the first constraint value meets the first control output condition. If so, execute S1026; if not, execute S1004;
[0187] S1026. Determine the control instruction of the obstacle avoidance robot at the current moment;
[0188] S1028. Determine whether the control instruction of the obstacle avoidance robot at the current moment meets the second control output condition. If so, execute S1030; if not, execute S1004;
[0189] S1030. Use the control instruction of the obstacle avoidance robot at the current moment as the optimized control instruction, and control the movement of the obstacle avoidance robot according to the optimized control instruction;
[0190] S1032. Set the moment when the obstacle avoidance robot stops moving according to the optimized control instruction as the first moment, and obtain the fourth coordinate of the obstacle avoidance robot at the first moment.
[0191] In this embodiment, after the obstacle avoidance robot 100 stops, the moment when it stops moving is used as the first moment, and the optimized control instruction is corresponding to the moment, which can solve the delay problem of the obstacle avoidance robot 100, avoid the phenomenon that the obstacle avoidance robot has a large delay and responds untimely and collides with obstacles in the related art, so that the obstacle avoidance safety performance of the obstacle avoidance robot 100 is higher, improve the use experience of the obstacle avoidance robot 100, and increase the adaptability of the obstacle avoidance robot 100 to various use scenarios such as homes, shopping malls, and factories. Specific embodiment:
[0193] As Figure 11 shown, the control method provided by this application includes:
[0194] S1102. Receive the map information of the environment where the obstacle avoidance robot is located;
[0195] S1104. Obtain the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information;
[0196] S1106. Smooth the initial trajectory;
[0197] S1108, Detect obstacle information within the initial boundary, and determine the target trajectory of the obstacle avoidance robot based on the initial boundary, initial trajectory, and obstacle information;
[0198] S1110, Obtain the model compensation value of the obstacle avoidance model;
[0199] S1112, Determine the obstacle avoidance model based on the model compensation value and the theoretical obstacle avoidance model;
[0200] S1114, Determine the target boundary based on the target trajectory and obstacle information;
[0201] S1116, Obtain the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot;
[0202] S1118, Determine the distance compensation value based on the third coordinate and the second coordinate of the starting point of the target trajectory;
[0203] S1120, Determine the second constraint value based on the first coordinate, the second coordinate, and the distance compensation value;
[0204] S1122, Process the data of the second constraint value to obtain the third constraint value;
[0205] S1124, Determine the first constraint value based on the second constraint value and the third constraint value;
[0206] S1126, Preset the output range of the first constraint value;
[0207] S1128, Determine whether the first constraint value is within the output range. If so, execute S1130; if not, execute S1104;
[0208] S1130, Determine that the first constraint value meets the first control output condition, and determine the control instruction of the obstacle avoidance robot at the current moment according to the obstacle avoidance model;
[0209] S1132, Extract the movement parameters in the control instruction and process the data of the movement parameters;
[0210] S1134, Determine whether there is a minimum solution for the processed movement parameters in the obstacle avoidance model. If so, execute S1136; if not, execute S1104;
[0211] S1136, Determine that the control instruction at the current moment meets the second control output condition, use the control instruction of the obstacle avoidance robot at the current moment as the optimized control instruction, and control the movement of the obstacle avoidance robot according to the optimized control instruction;
[0212] S1138, Set the moment when the obstacle avoidance robot stops moving according to the optimized control instruction as the first moment, and obtain the fourth coordinate of the obstacle avoidance robot at the first moment;
[0213] S1140, determine whether the fourth coordinate is the same as the fifth coordinate of the termination point of the target trajectory. If so, stop. If not, execute S1142;
[0214] S1142, obtain the obstacle information at the first moment;
[0215] S1144, determine the final trajectory of the obstacle avoidance robot according to the target boundary, the target trajectory, and the obstacle information at the first moment;
[0216] S1146, determine the final boundary according to the final trajectory and the obstacle information;
[0217] S1148, obtain the sixth coordinate of the obstacle at the first moment and the seventh coordinate of the obstacle avoidance robot at the first moment;
[0218] S1150, determine the optimized control instruction of the obstacle avoidance robot at the first moment according to the final trajectory, the final boundary, the sixth coordinate, and the seventh coordinate, until the obstacle avoidance robot reaches the eighth coordinate of the termination point of the final trajectory according to the optimized control instruction.
[0219] In an embodiment of the present application, the initial trajectory 102 can be obtained by using the A*(A-Star) algorithm, and the A*(A-Star) algorithm can be expressed as:
[0220] F(n) = G(n) + H(n)
[0221] Among them, the A* algorithm sets multiple grid points between the initial position and the target position of the obstacle avoidance robot 100, thereby transforming the problem of the distance between the two points of the initial position and the target position into a transformation problem of multiple points, improving the accuracy of the control during the movement of the obstacle avoidance robot 100 from the initial position to the target position.
[0222] Among them, F(n) represents the cost relationship formula from the initial position to the target position of the obstacle avoidance robot 100, G(n) represents the cost relationship formula from the initial position to the next grid point in the A* algorithm; H(n) represents the cost relationship formula from the next grid point in the A* algorithm to the target position.
[0223] Further, search for the feasible route of the obstacle avoidance robot 100 through the A* algorithm, generate a list of feasible routes, search for the optimal trajectory in the list of feasible routes, and use the optimal trajectory as the initial trajectory 102.
[0224] It can be understood that the control instruction includes the movement parameters of the speed and angular velocity of the obstacle avoidance robot 100.
[0225] In this embodiment, it is determined whether the fourth coordinate is the same as the fifth coordinate, so as to determine whether the obstacle avoidance robot 100 has reached the target position.
[0226] Further, if they are the same, it is determined that the obstacle avoidance robot 100 has reached the target position, so as to determine that the obstacle avoidance robot 100 has completed a complete obstacle avoidance process, control the obstacle avoidance robot 100 to stop, and this obstacle avoidance process is safe and stable, improving the use experience of the obstacle avoidance robot 100 and increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0227] Further, if they are different, the obstacle information is re-acquired; and the final trajectory and the final boundary are determined. Combining the obstacle information, the moving trajectory and the moving boundary of the obstacle avoidance robot 100 can be re-determined, so that the moving trajectory and the moving boundary of the obstacle avoidance robot 100 can be dynamically planned in combination with the time, so as to be able to plan a collision-free moving trajectory of the obstacle avoidance robot 100 over a long distance, avoid the influence of the movement of the obstacle 110 on the obstacle avoidance robot 100, reduce the possibility of encountering the obstacle 110 during the obstacle avoidance process, make the moving trajectory of the obstacle avoidance robot 100 smoother, and avoid the phenomenon that the obstacle avoidance robot 100 in the related art cannot avoid the obstacle 110 over a long distance and collide with the obstacle 110 due to inertia when stopping urgently when encountering the obstacle 110 at close range, improving the use experience of the obstacle avoidance robot 100 and increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0228] Furthermore, the sixth coordinate and the seventh coordinate are acquired; the optimized control instruction is re-determined, and by determining and outputting the optimized control instruction corresponding to the time, the movement of the obstacle avoidance robot is controlled, solving the problem of delay control of the obstacle avoidance robot until the eighth coordinate of the obstacle avoidance robot 100, so as to ensure the safety and stability of the movement of the obstacle avoidance robot 100 during the entire obstacle avoidance process, improve the use experience of the obstacle avoidance robot 100, and further increase the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0229] In this embodiment, the initial trajectory 102 is obtained through the A* algorithm, and the initial trajectory 102 is smoothed to make the movement trajectory of the obstacle avoidance robot 100 smoother. Through the obstacle information, dynamic programming is performed on the initial boundary 104 and the smoothed initial trajectory 102 to determine the target trajectory 106 and the target boundary 108. Combining the time, the movement trajectory of the obstacle avoidance robot 100 is controlled, and the obstacle avoidance model 120 is solved according to the first control output condition and the second control output condition. By determining whether the obstacle avoidance model 120 has a solution, it is judged whether the movement trajectory planned by the obstacle avoidance robot 100 is feasible, so that the obstacle avoidance robot 100 can avoid the obstacle 110 at a long distance. Combining the time to control the obstacle avoidance robot 100 solves the problem of untimely control of the obstacle avoidance robot 100 and avoids the phenomenon that when the obstacle avoidance robot 100 is controlled with a delay and encounters the obstacle 110 at a close distance, the obstacle avoidance robot 100 collides with the obstacle 110 due to inertia when making an emergency stop. At the same time, the feasible set range of the obstacle avoidance model 120 is increased. Through the constraint and optimization of the obstacle avoidance model 120, the accuracy and robustness of the obstacle avoidance model 120 are higher, which is convenient for controlling the obstacle avoidance robot 100, improves the use experience of the obstacle avoidance robot 100, and further increases the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0230] Furthermore, according to the first coordinate and the second coordinate, it is judged whether the movement trajectory of the obstacle avoidance robot 100 will be interfered by the obstacle 110, so as to avoid the occurrence of phenomena such as collision between the two. Furthermore, the risk can be predicted in advance before the collision occurs, and the risk can be avoided at a relatively long distance, so as to avoid the obstacle avoidance robot 100 coming into contact with the obstacle 110 at a close distance and the reaction being untimely, thus avoiding the occurrence of dangerous phenomena such as contact or collision between the two, which affects the safe and stable movement of the obstacle avoidance robot 100, thereby improving the use experience of the obstacle avoidance robot 100 and further increasing the adaptability of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0231] Moreover, since the control instructions of the obstacle avoidance robot 100 are corresponding to time, on the one hand, the latency problem of the obstacle avoidance model 120 is solved, which is convenient for the optimal control of the obstacle avoidance model 120. And due to the addition of constraints and compensation to the obstacle avoidance model 120, while increasing the feasible set range of the obstacle avoidance model 120, the accuracy and robustness of the obstacle avoidance model 120 are also improved, thereby improving the reaction speed of the obstacle avoidance model 120 and enhancing the adaptation degree between the obstacle avoidance model 120 and the obstacle avoidance robot 100. On the other hand, the latency problem of the obstacle avoidance robot 100 is solved. By corresponding time to control instructions, it can be understood that there is a corresponding control instruction for each moment, so that obstacles 110 can be avoided at a relatively far position, and a collision-free and smooth movement trajectory can be dynamically planned, making the entire movement process smoother. Moreover, the accuracy of controlling the obstacle avoidance robot 100 is improved. The obstacle avoidance robot 100 is controlled to avoid obstacles 110 from a relatively far distance, and the obstacle information is detected in real time, enabling pre-control and adjusting and controlling the movement of the obstacle avoidance robot 100 according to the feedback, so that the obstacle avoidance robot 100 can reach the target position safely and without collision, improving the usage experience of the obstacle avoidance robot 100 and further increasing the adaptation degree of the obstacle avoidance robot 100 to various usage scenarios such as homes, shopping malls, and factories.
[0232] Specifically, as Figure 12 shown, there are a practical system 114 and a theoretical system 112 set in advance. The practical system 114 and the theoretical system 112 form an estimation model 118 according to the feedback value of the system. The Gaussian process 116 is in the obstacle avoidance model 120 to compensate the estimation model 118. After the obstacle avoidance model 120 constrains and optimizes the estimation model 118, it optimally controls the practical system 114 and the theoretical system 112.
[0233] An embodiment of the present application provides a control device 200 for an obstacle avoidance robot. The obstacle avoidance robot 100 is composed of a housing, a detection component, and a moving component. The control device is composed of a detection unit and a moving unit. The detection component is controlled by the detection unit to detect obstacles that may hinder the movement of the obstacle avoidance robot 100. The moving component is controlled by the moving unit to enable the obstacle avoidance robot 100 to move.
[0234] In this embodiment, the control device includes a detection unit and a moving unit. The detection unit can control the detection component of the obstacle avoidance robot 100 to detect the obstacle information outside the housing of the obstacle avoidance robot 100. The moving unit can control the moving component of the obstacle avoidance robot 100 to enable the obstacle avoidance robot 100 to move, so that the obstacle avoidance robot 100 can avoid obstacles 110 and move, thereby completing the complete movement process of obstacle avoidance, improving the usage experience of the obstacle avoidance robot 100, and increasing the adaptation degree of the obstacle avoidance robot 100 to multiple usage scenarios such as household, commercial, and industrial uses.
[0235] Specifically, the detection component may include a sensor, and the present application does not limit the type of the sensor. The moving component may include a motor and a tire, and the present application does not specifically limit the type of the motor, the type of the tire, and the way the motor drives the tire.
[0236] As Figure 13 shown, an embodiment of the present application provides a control device 200 for an obstacle avoidance robot. The control device includes a memory 202 and a processor 204. The memory 202 stores programs or instructions, and the processor 204 can execute the stored programs or instructions to implement the steps of the control method in any of the above embodiments.
[0237] An embodiment of the present application provides a readable storage medium storing programs or instructions to implement the steps of the control method in any of the above embodiments.
[0238] An embodiment of the present application provides an obstacle avoidance robot 100, including the control device in the above embodiment; or the control device 200 of the obstacle avoidance robot in the above embodiment; or the readable storage medium in the above embodiment.
[0239] In an embodiment of the present application, the obstacle avoidance robot 100 includes a display device, which can display the movement parameters, movement trajectory, movement boundary, and obstacle information in the control instructions at each moment during the obstacle avoidance movement of the obstacle avoidance robot 100.
[0240] In this embodiment, the obstacle avoidance robot 100 further includes a display device, which displays the movement parameters, movement trajectory, movement boundary, and obstacle information in the control instructions during the movement of the obstacle avoidance robot 100, increasing the user's understanding of the obstacle avoidance process of the obstacle avoidance robot 100, thereby improving the user experience.
[0241] An embodiment of the present application provides an obstacle avoidance robot 100, which includes a receiving device, a map conversion device, a detection and processing device, and a moving device. The receiving device is used to receive the map information of the environment where the obstacle avoidance robot 100 is located; the map conversion device is used to obtain the initial trajectory 102 of the obstacle avoidance robot 100 and the initial boundary 104 of the initial trajectory 102 according to the map information; the detection and processing device is used to detect the obstacle information within the initial boundary 104, and determine the target trajectory 106 of the obstacle avoidance robot 100 according to the initial boundary 104, the initial trajectory 102, and the obstacle information, and generate a control instruction; the moving device is used to control the movement of the obstacle avoidance robot 100 according to the control instruction.
[0242] In this embodiment, the receiving device may have a GPS (Global Positioning System) to receive the map information of the environment where the obstacle avoidance robot 100 is located at the current moment according to the positioning.
[0243] The map conversion device can convert the map information of the receiving device into a movement trajectory and a movement boundary. The detection and processing device can detect obstacle information and determine whether the obstacle information will affect the movement trajectory and the movement boundary, and then plan the movement trajectory and generate a control instruction. The mobile device controls the movement according to the control instruction until it moves to the end point. The receiving device, the map conversion device, the detection and processing device, and the mobile device interact with each other to jointly implement the control method of any of the above embodiments, and thus have all the beneficial technical effects of the control method of the obstacle avoidance robot 100 in any of the above embodiments.
[0244] An embodiment of the present application provides a computer program product, including a computer program / instruction, which when executed by a processor implements the steps of the control method of any of the above embodiments. Thus, it has all the beneficial technical effects of the control method of the obstacle avoidance robot 100 in any of the above embodiments. The terms "first" and "second" in the description and claims of the present application may explicitly or implicitly include one or more of such features. In the written description of the present application, unless otherwise stated, the meaning of "a plurality" is two or more. In addition, "and / or" in the description and claims means at least one of the connected objects, and the character " / " generally means an "or" relationship between the associated objects before and after.
[0245] In the written description of the present application, it can be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the technical solution of the present application and simplifying the description of the technical solution of the present application, rather than indicating or implying that the structures, devices, and elements referred to must have a specific orientation, be constructed and operated in a specific orientation, so these descriptions should not be construed as limiting the present application.
[0246] In the written description of the present application, it can be understood that, except for clear regulations and limitations, the terms "installation", "connection", and "coupling" should be understood in a broad sense. For example, it can be fixedly connected, detachably connected, or integrally connected; it can be a mechanical structure connection or an electrical connection; it can be directly connected between the two, or indirectly connected through an intermediate medium, and it can be the internal communication of two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to specific circumstances.
[0247] In the claims, the specification and the drawings of the present application, the term "a plurality of" means two or more, unless otherwise expressly defined. The orientation or positional relationship indicated by terms such as "upper", "lower", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present application and making the description process simpler, rather than indicating or implying that the device or element referred to must have the specific orientation, be constructed and operate in the specific orientation. Therefore, these descriptions should not be construed as limiting the present application; terms such as "connected", "installed", "fixed", etc. should all be understood in a broad sense. For example, "connected" can be a fixed connection between multiple objects, a detachable connection between multiple objects, or an integral connection; it can be a direct connection between multiple objects, or an indirect connection between multiple objects through an intermediate medium. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to the specific circumstances of the above data.
[0248] In the claims, the specification and the drawings of the present application, the description of terms such as "an embodiment", "some embodiments", "specific embodiments", etc. means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the claims, the specification and the drawings of the present application, the schematic expressions of the above terms do not necessarily refer to the same embodiment or instance. Moreover, the specific features, structures, materials or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.
[0249] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A control method for an obstacle avoidance robot, characterized in that, the control method includes: receiving map information of the environment where the obstacle avoidance robot is located; acquiring an initial trajectory of the obstacle avoidance robot and an initial boundary of the initial trajectory according to the map information; detecting obstacle information within the initial boundary, and determining a target trajectory of the obstacle avoidance robot and generating a control instruction according to the initial boundary, the initial trajectory and the obstacle information; controlling the movement of the obstacle avoidance robot according to the control instruction; detecting obstacle information within the initial boundary, and determining a target trajectory of the obstacle avoidance robot and generating a control instruction according to the initial boundary, the initial trajectory and the obstacle information includes: determining a target boundary according to the target trajectory and the obstacle information; acquiring a first coordinate of the obstacle and a second coordinate of the obstacle avoidance robot; determining a control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate and the second coordinate; determining a control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate and the second coordinate includes: determining a control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, the second coordinate and an obstacle avoidance model; the control method further includes: acquiring a model compensation value of the obstacle avoidance model; determining the obstacle avoidance model according to the model compensation value and a theoretical obstacle avoidance model.
2. The control method for an obstacle avoidance robot according to claim 1, characterized in that, determining a control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, the second coordinate and an obstacle avoidance model includes: determining a distance compensation value according to a third coordinate of a starting point of the target trajectory and the second coordinate; determining a first constraint value according to the first coordinate, the second coordinate and the distance compensation value; based on the first constraint value satisfying a first control output condition, determining a control instruction of the obstacle avoidance robot at the current moment according to the obstacle avoidance model.
3. The control method for an obstacle avoidance robot according to claim 2, characterized in that, based on the first constraint value satisfying a first control output condition, determining a control instruction of the obstacle avoidance robot at the current moment according to the obstacle avoidance model includes: presetting an output range of the first constraint value; based on the first constraint value being within the output range, determining that the first constraint value satisfies the first control output condition, and determining a control instruction of the obstacle avoidance robot at the current moment according to the obstacle avoidance model.
4. The control method for an obstacle avoidance robot according to claim 2, characterized in that, determining a first constraint value according to the first coordinate, the second coordinate and the distance compensation value includes: determining a second constraint value according to the first coordinate, the second coordinate and the distance compensation value; performing data processing on the second constraint value to obtain a third constraint value; determining the first constraint value according to the second constraint value and the third constraint value.
5. The control method of the obstacle avoidance robot according to claim 2, wherein, determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, the second coordinate and the obstacle avoidance model further includes: Based on the fact that the first constraint value does not satisfy the first control output condition, the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory are obtained again according to the map information.
6. The control method of the obstacle avoidance robot according to claim 5, wherein, after determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate and the second coordinate, the control method further includes: Based on the fact that the control instruction of the obstacle avoidance robot at the current moment satisfies the second control output condition, the control instruction of the obstacle avoidance robot at the current moment is used as the optimized control instruction, and the obstacle avoidance robot is controlled to move according to the optimized control instruction.
7. The control method of the obstacle avoidance robot according to claim 6, wherein, Based on the fact that the control instruction of the obstacle avoidance robot at the current moment satisfies the second control output condition, using the control instruction of the obstacle avoidance robot at the current moment as the optimized control instruction, and controlling the obstacle avoidance robot to move according to the optimized control instruction includes: extracting the movement parameters in the control instruction and performing data processing on the movement parameters; Based on the fact that there is a minimum solution for the movement parameters after data processing in the obstacle avoidance model, it is determined that the control instruction at the current moment satisfies the second control output condition, the control instruction of the obstacle avoidance robot at the current moment is used as the optimized control instruction, and the obstacle avoidance robot is controlled to move according to the optimized control instruction.
8. The control method of the obstacle avoidance robot according to claim 6, wherein, after setting the control instruction of the obstacle avoidance robot at the current moment as the optimized control instruction based on the fact that the control instruction of the obstacle avoidance robot satisfies the second control output condition, and controlling the obstacle avoidance robot to move according to the optimized control instruction, the control method further includes: setting the moment when the obstacle avoidance robot stops moving according to the optimized control instruction as the first moment, and obtaining the fourth coordinate of the obstacle avoidance robot at the first moment.
9. The control method of the obstacle avoidance robot according to claim 8, wherein, after setting the moment when the obstacle avoidance robot stops moving according to the optimized control instruction as the first moment and obtaining the fourth coordinate of the obstacle avoidance robot at the first moment, the control method further includes: determining whether the fourth coordinate is the same as the fifth coordinate of the termination point of the target trajectory; when the fourth coordinate is the same as the fifth coordinate, controlling the obstacle avoidance robot to stop moving; when the fourth coordinate is different from the fifth coordinate, obtaining the obstacle information at the first moment; determining the final trajectory of the obstacle avoidance robot according to the target boundary, the target trajectory and the obstacle information at the first moment; Determine the final boundary according to the final trajectory and the obstacle information; obtain the sixth coordinate of the obstacle at the first moment and the seventh coordinate of the obstacle avoidance robot at the first moment; Determine the optimized control instruction of the obstacle avoidance robot at the first moment according to the final trajectory, the final boundary, the sixth coordinate and the seventh coordinate, until the obstacle avoidance robot reaches the eighth coordinate of the termination point of the final trajectory according to the optimized control instruction.
10. The control method of an obstacle avoidance robot according to any one of claims 1 to 9, characterized in that obtaining the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory according to the map information includes; establish a two-dimensional coordinate grid according to the map information and the initial boundary.
11. A control device for an obstacle avoidance robot, characterized in that the obstacle avoidance robot includes a housing, a detection component and a moving component, and the control device includes: a detection unit for controlling the detection component to detect obstacle information outside the housing; a moving unit for controlling the moving component to control the movement of the obstacle avoidance robot; wherein, the control device receives the map information of the environment where the obstacle avoidance robot is located; according to the map information, obtains the initial trajectory of the obstacle avoidance robot and the initial boundary of the initial trajectory; detects the obstacle information within the initial boundary, and determines the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory and the obstacle information, and generates a control instruction; controls the movement of the obstacle avoidance robot according to the control instruction; detect the obstacle information within the initial boundary, and determine the target trajectory of the obstacle avoidance robot according to the initial boundary, the initial trajectory and the obstacle information, and generate a control instruction, including: determining the target boundary according to the target trajectory and the obstacle information; obtaining the first coordinate of the obstacle and the second coordinate of the obstacle avoidance robot; determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate and the second coordinate; determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate and the second coordinate includes: determining the control instruction of the obstacle avoidance robot at the current moment according to the target trajectory, the target boundary, the first coordinate, the second coordinate and the obstacle avoidance model; the control device is further configured to obtain the model compensation value of the obstacle avoidance model; determine the obstacle avoidance model according to the model compensation value and the theoretical obstacle avoidance model.
12. A control device for an obstacle avoidance robot, characterized in that the control device includes: a memory and a processor, the memory stores a program or instruction that can be run on the processor, and when the program or the instruction is executed by the processor, the steps of the control method of the obstacle avoidance robot according to any one of claims 1 to 10 are implemented.
13. A readable storage medium, on which a program or instruction is stored, characterized in that When the program or the instructions are executed by a processor, the steps of the control method of the obstacle avoidance robot as described in any one of claims 1 to 10 are implemented.
14. An obstacle avoidance robot, characterized in that it includes: the control device of the obstacle avoidance robot as described in claim 11; or the control device of the obstacle avoidance robot as described in claim 12; or the readable storage medium as described in claim 13.
Citation Information
Patent Citations
Indoor intelligent mobile robot and control method
CN108762255A
Robot line patrol priority navigation method, device and equipment
CN111813117A
Path planning method and device, vehicle and readable storage medium
CN113448335A