Robot, emergency obstacle avoidance method and device thereof and program product

By predicting robot state information to expand the area and detect obstacles, and determining the movement speed, the problem of response delay and loss of control when the robot faces dynamic obstacles is solved, thus improving work efficiency and safety.

CN121900394APending Publication Date: 2026-04-21UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2025-12-04
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing robots are slow to respond and prone to losing control of their movements when faced with unexpected dynamic obstacles, which affects work efficiency and safety.

Method used

By predicting the robot's state information, the area is expanded to identify danger zones and alarm zones. Based on the obstacle position, the robot's moving speed is detected to perform emergency obstacle avoidance.

Benefits of technology

It reduces computational complexity, improves response speed, lowers the probability of robot motion oscillation and loss of control, and enhances work efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121900394A_ABST
    Figure CN121900394A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robots, in particular to a robot, an emergency obstacle avoidance method and device thereof and a program product. The method comprises the following steps: predicting state information of the robot; performing external expansion based on the state information of the robot to obtain a dangerous area and an alarm area corresponding to the robot; detecting the positions of obstacles in the alarm area and the dangerous area; and determining the moving speed of the robot according to a preset corresponding relation between the position of the obstacle and the moving speed, and carrying out emergency obstacle avoidance based on the moving speed. The method does not need to re-plan and calculate, is beneficial to improving the obstacle avoidance efficiency, reduces the out-of-control probability of the robot, and improves the working efficiency and safety of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and more particularly to a robot and its emergency obstacle avoidance method, device, and program product. Background Technology

[0002] During normal robot operation, especially in unstructured or human-robot hybrid scenarios, robots often encounter sudden dynamic obstacles, including pedestrians or other mobile devices. Existing robot navigation systems widely employ cost map-based path planning methods, such as the dynamic window method. This method generates global or local paths by constructing an environmental map and comprehensively evaluating the path's safety, smoothness, and goal orientation.

[0003] However, when encountering unexpected or suddenly appearing obstacles, the complex online planning algorithm may cause a response delay due to the large amount of computation. More seriously, some optimization-based planners are prone to getting stuck in local optima in emergency situations, resulting in oscillations, stagnation, or even dangerous trajectories that violate dynamic constraints, causing the robot to lose control of its movements and seriously affecting its work efficiency and safety. Summary of the Invention

[0004] In view of this, embodiments of this application provide a robot and its emergency obstacle avoidance method, device and program product to solve the problem that robots in the prior art are prone to response delays or even loss of control when avoiding obstacles, which affects work efficiency and safety.

[0005] A first aspect of this application provides an emergency obstacle avoidance method for a robot, the method comprising:

[0006] Predict the state information of the robot;

[0007] Based on the robot's state information, the danger zone and alarm zone corresponding to the robot are obtained. The urgency of an obstacle located in the alarm zone is lower than the urgency of an obstacle located in the danger zone.

[0008] Detect the location of obstacles in the alarm area and the danger area;

[0009] The robot's movement speed is determined based on a pre-defined correspondence between the position and movement speed of obstacles, and emergency obstacle avoidance is performed based on this movement speed.

[0010] In conjunction with the first aspect, in a first possible implementation of the first aspect, determining the robot's movement speed based on a pre-defined correspondence between the position and movement speed of obstacles includes:

[0011] When obstacles are present in the dangerous area, the robot is brought to emergency braking.

[0012] When an obstacle is detected only in the alarm area, the robot's movement speed is determined based on the correspondence between the alarm area and the movement speed.

[0013] In conjunction with the first possible implementation of the first aspect, in the second possible implementation of the first aspect, when only an obstacle is detected in the alarm area, the robot's movement speed is determined based on the correspondence between the alarm area and the movement speed, including:

[0014] When multiple obstacles are detected only in the alarm area, the positional relationship between the obstacles and the robot is obtained;

[0015] Based on the predetermined correspondence between orientation and movement speed, the movement speed corresponding to obstacles in different orientations within the alarm area is obtained.

[0016] The minimum value among multiple movement speeds is selected as the movement speed of the robot.

[0017] In conjunction with the first aspect, in a third possible implementation of the first aspect, the state information includes the robot's position, the robot's moving speed, and the robot's braking capability;

[0018] Based on the robot's state information, the corresponding danger zone and alarm zone are obtained, including:

[0019] Based on the robot's position and the predetermined robot outline, a reference point for outward expansion is determined.

[0020] Based on the robot's moving speed and braking capability, the extent to which the alarm zone and the danger zone expand outward is determined.

[0021] In conjunction with the third possible implementation of the first aspect, in the fourth possible implementation of the first aspect, the robot's state information includes the robot's orientation;

[0022] After determining the extent of the expansion of the alarm zone and the danger zone based on the robot's moving speed and braking capability, the method further includes:

[0023] Based on the robot's orientation, determine the robot's side direction, front direction, and rear direction;

[0024] Based on the predetermined correspondence between directions and correction coefficients, the correction coefficients for the side direction, the front direction, and the rear direction are determined, and the expansion amplitude is corrected according to the determined correction coefficients.

[0025] In conjunction with the third possible implementation of the first aspect, in the fifth possible implementation of the first aspect, the expansion range of the alarm zone and the danger zone is determined based on the robot's moving speed and braking capability, including:

[0026] The faster the robot moves, the greater the extent to which the alarm area and the danger zone expand outward;

[0027] The stronger the robot's braking ability, the greater the extent to which the alarm area and the danger zone expand outward.

[0028] In conjunction with the first aspect, in the sixth possible implementation of the first aspect, the state information includes position and orientation;

[0029] Predicting the robot's state information includes:

[0030] Obtain the robot's first position, first orientation, linear velocity, and angular velocity at the current first moment;

[0031] Based on the first position, the first orientation, and the linear velocity, predict the robot's second position at a second moment, where the second moment is a moment after the first moment.

[0032] Based on the first orientation and the angular velocity, the robot's second orientation at the second moment is predicted.

[0033] A second aspect of this application provides an emergency obstacle avoidance device for a robot, the device comprising:

[0034] A state information prediction unit is used to predict the state information of the robot.

[0035] An expansion unit is used to expand based on the robot's state information to obtain the robot's corresponding danger zone and alarm zone, wherein the urgency of an obstacle located in the alarm zone is lower than the urgency of an obstacle located in the danger zone;

[0036] The detection unit is used to detect the position of obstacles in the alarm area and the danger area;

[0037] The obstacle avoidance unit is used to determine the robot's movement speed based on a pre-set correspondence between the position and movement speed of obstacles, and to perform emergency obstacle avoidance based on the movement speed.

[0038] A third aspect of this application provides a robot including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the robot performs the method as described in any of the first aspects.

[0039] A fourth aspect of this application provides a computer program product that, when run on a computer, causes the computer to execute the methods described in the first aspect or its various implementations.

[0040] A fifth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method as described in any of the first aspects.

[0041] A sixth aspect of this application provides a chip for implementing the methods in the various implementations of the first aspect described above. Specifically, the chip includes a processor for calling and running a computer program from a memory, causing a device equipped with the chip to perform the methods as described in the first aspect or its various implementations.

[0042] The beneficial effects of this application embodiment compared with the prior art are as follows: During the robot's movement, this application embodiment predicts the robot's state information and expands the area based on the state information to obtain the danger zone and alarm zone corresponding to the robot's state information. It also detects obstacles in the predicted danger zone and alarm zone, determines the robot's moving speed based on the position of the detected obstacles, and performs emergency obstacle avoidance based on the change in moving speed. This method does not require re-planning and calculation, which helps to improve obstacle avoidance efficiency, reduce the probability of robot loss of control, and improve robot working efficiency and safety. Attached Figure Description

[0043] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1 This is a schematic diagram illustrating the implementation process of an emergency obstacle avoidance method for a robot provided in an embodiment of this application;

[0045] Figure 2 This is a schematic diagram illustrating the implementation process of a method for determining robot state information provided in an embodiment of this application;

[0046] Figure 3This is a schematic diagram illustrating the dynamic changes in the state information of a robot provided in an embodiment of this application;

[0047] Figure 4 This is a schematic diagram of the amplitude comparison of an extended region provided in an embodiment of this application;

[0048] Figure 5 This is a schematic diagram illustrating how an extended region dynamically changes with speed, as provided in an embodiment of this application.

[0049] Figure 6 This is a schematic diagram of an extended region of a correction robot provided in an embodiment of this application;

[0050] Figure 7 This is a schematic diagram of an emergency obstacle avoidance device for a robot provided in an embodiment of this application;

[0051] Figure 8 This is a schematic diagram of a robot provided in an embodiment of this application. Detailed Implementation

[0052] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0053] To illustrate the technical solution described in this application, specific embodiments are provided below.

[0054] During robot operation, especially in unstructured environments or human-robot collaborative scenarios, robots often encounter sudden dynamic obstacles, such as pedestrians or other mobile devices. Currently, robot navigation systems widely employ cost map-based path planning methods, such as the Dynamic Window Approach (DWA). The DWA generates global or local motion trajectories by constructing an environmental map and comprehensively evaluating the path's safety, smoothness, and target orientation.

[0055] However, this traditional method, which focuses on geometric path obstacle avoidance, may cause system response delays when faced with unexpected obstacles due to the computationally complex nature of online planning algorithms. More seriously, some optimization-based planners are prone to getting stuck in local optima in emergency situations, causing robot motion oscillations, stagnation, or even the generation of dangerous trajectories that do not conform to dynamic constraints, resulting in loss of motion control and seriously affecting its work efficiency and safety.

[0056] To address the aforementioned issues, this application proposes an emergency obstacle avoidance method for robots. This method predicts the robot's state information, including its position, orientation, and speed. Based on this information, it expands the area to obtain the danger zone and alarm zone corresponding to the predicted robot state information. Obstacle detection is then performed within these expanded danger and alarm zones. The robot's movement speed is determined based on the detected obstacle's position, and obstacle avoidance is achieved by controlling the movement speed. Compared to cost map-based path planning methods, this method effectively reduces computational complexity, improves response speed, and avoids getting trapped in local optima. It also effectively reduces the probability of robot motion oscillations, stagnation, and loss of control, thereby improving robot efficiency and safety.

[0057] Figure 1 A schematic diagram illustrating the implementation process of an emergency obstacle avoidance method for a robot provided in this application embodiment is described in detail below:

[0058] In S101, the state information of the robot is predicted.

[0059] The robot state information in this embodiment may include the robot's position, orientation, and movement speed. The robot's movement speed may include its linear velocity and angular velocity. The robot's linear velocity and angular velocity can be calculated by the robot's task planning layer based on the target position, or determined by the underlying motion controller based on sensor feedback.

[0060] The robot's position can be the location of its center point. This position can be determined using the robot's positioning system, including methods such as base station positioning and environmental feature positioning.

[0061] The robot's orientation refers to the direction in which it faces. In some implementations, the robot's orientation can also be the direction of its movement; that is, the direction of the robot's speed is its orientation. When the robot does not have a clearly defined front or back, its orientation can be determined based on its direction of movement. For example, from the same position, if the robot moves in a first direction, that first direction is its orientation; if the robot moves in a second direction opposite to the first direction, then that second direction is its orientation.

[0062] When predicting the state information of a robot, the state information of the robot at a specific future moment, such as the second future moment, can be predicted based on the state information of the robot at the current first moment. The second moment can be the moment after the first moment, or it can be any moment after the first moment.

[0063] Alternatively, the robot's state information can be predicted for a specific future time period based on the current state information at the first moment. When predicting the robot's state information for a specific future time period, the state information at multiple moments within that specific time period can be predicted first, and then the state information for that specific time period can be determined through interpolation or fitting.

[0064] In possible implementations, when predicting the robot's state information, the robot's position and orientation at a second moment can be predicted. The prediction process can be as follows: Figure 2 As shown, it includes:

[0065] In S201, the robot's first position, first orientation, linear velocity, and angular velocity at the current first moment are obtained.

[0066] The embodiments of this application can predict the robot's state information at a second moment based on the current state information at the first moment.

[0067] Not limited to this, when the velocity and linear velocity are variable parameters, embodiments of this application can also obtain the change information of linear velocity and angular velocity in the state information based on the state information over a period of time prior to the current moment, and predict the change information of angular velocity and linear velocity between the first moment and the second moment based on the change information of angular velocity and linear velocity. Based on the change information of angular velocity and linear velocity, the position and orientation of the robot at the second moment can be predicted more accurately.

[0068] In S202, the robot's second position at a second moment is predicted based on the first position, the first orientation, and the linear velocity.

[0069] The second moment is the moment after the first moment. The second moment can be the next moment after the first moment or any moment after the first moment.

[0070] When the robot's linear velocity and angular velocity are constant, the change in displacement that occurs between the first and second moments can be calculated based on the linear velocity and angular velocity, thereby obtaining the robot's position at the second moment.

[0071] For example, the robot's position at the first moment is (x k y k ), and its position at the second time step is (x k+1 y k+1 If the second position of the robot at the second moment is determined, then the formula for calculating the second position of the robot at the second moment can be expressed as:

[0072]

[0073] Where t represents the duration between the first and second moments. Indicates the orientation at the first moment. This represents the linear velocity at the first instant.

[0074] like Figure 3 As shown, at the first moment, the robot's first position is (x k y k The robot's second position at the second moment is calculated based on prediction. k+1 y k+1 ).

[0075] In S203, the robot's second orientation at a second moment is predicted based on the first orientation and the angular velocity.

[0076] Orientation based on the first moment Combining the time t between the first and second moments, according to the angular velocity a z The change in the robot's orientation angle can determine the robot's second orientation at the second moment.

[0077] Determine the robot's second orientation at the second moment. The calculation formula can be expressed as:

[0078] θ k+1 =θ k +dl*a z

[0079] Based on the determined second orientation and second position, combined with constant velocity parameters, including linear velocity and angular velocity, the robot's state information at the second moment can be determined. For example... Figure 3 As shown, the robot's orientation is adjusted according to its angular velocity. The robot's orientation changes from its initial orientation at the first moment. Adjusted to the second orientation As a form of representation, such as Figure 3 As shown, the first orientation Second orientation Both are represented as the angle with the vertical direction.

[0080] In S102, the robot's state information is expanded to obtain the corresponding danger zone and alarm zone.

[0081] The urgency of an obstacle located in the alarm zone is lower than that of an obstacle located in the danger zone. In other words, a ray is drawn outwards from the robot's center point, prioritizing the danger zone, then the alarm zone, and finally the normal zone. Different speed control strategies are employed when obstacles are detected in the danger zone, alarm zone, and normal zone, enabling the robot to efficiently meet obstacle avoidance requirements.

[0082] In this embodiment of the application, when expanding outward based on the robot's state information, the expansion can be carried out according to a fixed range based on the robot's predicted position and orientation to obtain the robot's corresponding danger zone and alarm zone.

[0083] For example, when the robot's shape is rectangular, the extended danger zone and alarm zone can also be rectangular, and the expansion range in the robot's forward direction is greater than the expansion range in its lateral direction. The position of the robot's outline can be determined based on the robot's position. The danger zone is obtained by expanding outwards by a predetermined first distance from the robot's outline. The corresponding alarm zone is obtained by further expanding outwards by a predetermined second distance from the boundary of the danger zone. The area outside the alarm zone is the normal zone.

[0084] To further adapt to the requirements of different working conditions and improve the safety and reliability of robot operation, this embodiment of the application can, during expansion, determine the reference point for expansion, i.e., the position of the robot's outline, based on the robot's position and a pre-set robot contour. After determining the reference point, the required expansion range of the robot's danger zone and alarm zone can be determined by combining the robot's state information, including the robot's moving speed and braking capability.

[0085] Generally, the stronger the robot's braking capability—that is, the shorter the time it takes to brake under the same movement state—the smaller the distance the robot needs to extend outward, and the smaller the defined danger zone. Conversely, the weaker the braking capability, the larger the danger zone that needs to be extended outward, and the greater the distance that needs to be extended.

[0086] Correspondingly, in the predicted state information, the faster the robot moves, the longer the distance it needs to decelerate to a standstill or the predetermined speed, and the greater the required outward extension distance. Conversely, the slower the robot moves, the shorter the distance it needs to decelerate to a standstill or the predetermined speed, and the smaller the required outward extension distance.

[0087] like Figure 4 The diagram shown is a schematic representation of a robot extension region provided in an embodiment of this application. Figure 4 As shown in Figure A, the predicted velocity V of robot A at time m is... AmThe velocity V of robot A is relatively large, and its braking ability is weak, while that of robot B shown in Figure B at the predicted time m is relatively large. Bm The velocity V relative to time m Am The smaller size of robot A and the stronger braking ability of robot B mean that the range of the danger zone and alarm zone expanded by robot A is larger than that expanded by robot B. The danger zone and alarm zone are indicated by dashed lines in the figure.

[0088] Understandably, even with the same robot, the range of its danger zone and alarm zone will dynamically change with the robot's speed, thus better adapting to the obstacle avoidance requirements of the robot under different working conditions. For example... Figure 5 As shown, by collecting the robot's speed at multiple moments prior to the current moment, the robot's speed variation can be preset. For the same robot A, the predicted speed V at the m-th moment... m The velocity V at time m+1 is greater than m+1 Then, from time m to time m+1, the range of the danger zone and alarm zone of robot A will decrease accordingly.

[0089] Furthermore, obstacles in different locations have varying degrees of impact on the robot. When determining hazardous and alarm zones based on the robot's state information, different correction coefficients can be used. Figure 4 and Figure 5 The dangerous and alarm areas are corrected to allow for different expansion ranges in different directions. The robot's side, front, and rear directions can be determined based on its orientation. Based on a pre-defined correspondence between directions and correction coefficients, correction coefficients for these directions are obtained. The expansion range is then corrected based on these coefficients, resulting in areas with different expansion ranges in different directions.

[0090] Among them, the correction factor for the robot's front direction can be greater than the correction factor for the robot's rear direction, and the correction factor for the robot's rear direction can be greater than the correction factor for the robot's side direction.

[0091] for example Figure 6In the extended schematic diagram shown, when determining the danger zone, the expansion amplitude is adjusted based on the correction coefficients determined by the influence of obstacles on the robot in various directions. The expansion amplitude is then determined as follows: the front direction is the first distance expansion amplitude, the rear direction is the second distance expansion amplitude, and the side direction is the third distance expansion amplitude. The first distance is greater than the second distance, and the second distance is greater than the third distance. Correspondingly, when correcting the alarm zone using the correction coefficients, the expansion amplitude in the front direction can be greater than the expansion amplitude in the rear direction, and the expansion amplitude in the rear direction can be greater than the expansion amplitude in the side direction. The side direction expansion amplitude includes the expansion amplitudes in the left and right directions; these can be the same, or the expansion amplitude on the side with the angular velocity direction can be set to be greater than the expansion amplitude on the other side.

[0092] In S103, the positions of obstacles in the alarm area and the danger area are detected.

[0093] After dynamically determining the robot's danger zone and alarm zone based on the robot's status information, it is possible to detect whether there are obstacles within the danger zone and alarm zone.

[0094] The system can detect whether there are obstacles around the robot. If obstacles are present, it determines the distance between the obstacle and the robot, as well as their orientation. Based on the orientation of the obstacle and the robot, it determines the expansion range of the danger zone and the alarm zone in that direction. If the expansion range of the danger zone in that direction is a first range and the expansion range of the alarm zone is a second range, the detected distance between the obstacle and the robot is first compared with the first range. If the distance is less than the first range, the obstacle is in the danger zone. If the distance is greater than the first range, it is compared with the second range. If the distance is less than the second range, the obstacle is in the alarm zone. Otherwise, the obstacle is in the normal zone.

[0095] In S104, the robot's movement speed is determined based on a pre-defined correspondence between the position and movement speed of obstacles, and emergency obstacle avoidance is performed based on the movement speed.

[0096] In one possible implementation, if an obstacle is detected in a hazardous area, the robot can be controlled to decelerate urgently, such as by performing an emergency brake. If an obstacle is detected in an alarm zone but not in a hazardous area, the robot's speed can be determined based on the correlation between alarm zones and movement speeds.

[0097] Since obstacles in different directions have different effects on the robot, in order to control the robot's movement more flexibly, the positional relationship between the obstacle and the robot can be obtained, and the corresponding movement speed can be determined based on the positional relationship.

[0098] The positional relationship between obstacles and the robot can include the obstacle being located to the side of the robot, in front of the robot (in the direction of robot movement), and behind the robot (in the opposite direction of robot movement). The corresponding movement speed differs depending on the obstacle's location within the alarm zone. For example, the movement speed is a first speed when the obstacle is in front of the robot, a second speed when it is behind the robot, and a third speed when it is to the side of the robot. The first speed can be less than the second speed, and the second speed can be less than the third speed.

[0099] It is understood that this moving speed is the upper limit of the robot's movement speed within the alarm area. If the robot's current speed is greater than this moving speed, the robot's moving speed will be reduced to the stated moving speed. If the robot's current speed is less than or equal to this moving speed, it can continue to move at the current speed.

[0100] In one possible implementation, when an obstacle is located in the same direction as the alarm zone, the closer the obstacle is to the center of the robot, the smaller the movement speed determined based on the obstacle.

[0101] In this embodiment, multiple obstacles may be detected simultaneously in the alarm area. In this case, the positional relationship between each obstacle and the robot can be obtained separately. Based on a predetermined correspondence between positional relationships and movement speeds, the movement speeds corresponding to obstacles in different positions within the alarm area can be obtained. Among the determined movement speeds, the minimum value is selected as the robot's movement speed.

[0102] For example, obstacles detected in front of the robot correspond to the first velocity, and obstacles detected to the side of the robot correspond to the third velocity. Since the first velocity is less than the third velocity, the third velocity is used as the robot's moving speed.

[0103] In one possible implementation, multiple obstacles may exist in the same location within the alarm area. The required robot speed can be calculated based on the distance between each obstacle and the robot. The closer the obstacle is to the robot, the lower the required speed; the minimum speed is selected as the robot's speed. Alternatively, the obstacle with the shortest distance can be chosen to determine the robot's speed.

[0104] This application embodiment predicts the robot's state information and expands the area based on the state information to obtain the danger zone and alarm zone corresponding to the robot's state information. It also detects obstacles in the predicted danger zone and alarm zone, determines the robot's moving speed based on the position of the detected obstacles, and performs emergency obstacle avoidance based on the change in moving speed. This eliminates the need for recalculation and planning, which helps improve obstacle avoidance efficiency, reduce the probability of robot loss of control, and improve robot working efficiency and safety.

[0105] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0106] Figure 7 This is a schematic diagram of an emergency obstacle avoidance device for a robot provided in an embodiment of this application. The device includes:

[0107] The state information prediction unit 701 is used to predict the state information of the robot.

[0108] The expansion unit 702 is used to expand based on the robot's state information to obtain the danger zone and alarm zone corresponding to the robot, wherein the urgency of an obstacle located in the alarm zone is lower than the urgency of an obstacle located in the danger zone.

[0109] The detection unit 703 is used to detect the position of obstacles in the alarm area and the danger area.

[0110] The obstacle avoidance unit 704 is used to determine the robot's movement speed based on a pre-set correspondence between the position and movement speed of obstacles, and to perform emergency obstacle avoidance based on the movement speed.

[0111] Figure 7 The robot's emergency obstacle avoidance device shown is, with Figure 1 The emergency obstacle avoidance method of the robot shown corresponds to this.

[0112] Figure 8 This is a schematic diagram of a robot provided in an embodiment of this application. Figure 8 As shown, the robot 8 in this embodiment includes a processor 80, a memory 81, and a computer program 82 stored in the memory 81 and executable on the processor 80, such as an emergency obstacle avoidance program for the robot. When the processor 80 executes the computer program 82, it implements the steps in the above-described embodiments of the emergency obstacle avoidance methods for robots. Alternatively, when the processor 80 executes the computer program 82, it implements the functions of each module / unit in the above-described device embodiments.

[0113] For example, the computer program 82 may be divided into one or more modules / units, which are stored in the memory 81 and executed by the processor 80 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 82 in the robot 8.

[0114] The robot may include, but is not limited to, a processor 80 and a memory 81. Those skilled in the art will understand that... Figure 8 This is merely an example of robot 8 and does not constitute a limitation on robot 8. It may include more or fewer parts than shown, or combine certain parts, or different parts. For example, the robot may also include input / output devices, network access devices, buses, etc.

[0115] The processor 80 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0116] The memory 81 can be an internal storage unit of the robot 8, such as a hard drive or memory. The memory 81 can also be an external storage device of the robot 8, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 81 can include both internal and external storage units of the robot 8. The memory 81 is used to store the computer program and other programs and data required by the robot. The memory 81 can also be used to temporarily store data that has been output or will be output.

[0117] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0118] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0119] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0120] In the embodiments provided in this application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0121] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0122] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0123] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by hardware related to computer program instructions. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.

[0124] In addition, this application also provides a computer program product that, when run on a computer, causes the computer to execute the methods in the above-described implementations.

[0125] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. An emergency obstacle avoidance method for a robot, characterized in that, The method includes: Predict the state information of the robot; Based on the robot's state information, the danger zone and alarm zone corresponding to the robot are obtained. The urgency of an obstacle located in the alarm zone is lower than the urgency of an obstacle located in the danger zone. Detect the location of obstacles in the alarm area and the danger area; The robot's movement speed is determined based on a pre-defined correspondence between the position and movement speed of obstacles, and emergency obstacle avoidance is performed based on this movement speed.

2. The method according to claim 1, characterized in that, The robot's movement speed is determined based on a pre-defined correspondence between obstacle positions and movement speeds, including: When obstacles are present in the dangerous area, the robot is brought to emergency braking. When an obstacle is detected only in the alarm area, the robot's movement speed is determined based on the correspondence between the alarm area and the movement speed.

3. The method according to claim 2, characterized in that, When only an obstacle is detected in the alarm area, the robot's movement speed is determined based on the correspondence between the alarm area and the movement speed, including: When multiple obstacles are detected only in the alarm area, the positional relationship between the obstacles and the robot is obtained; Based on the predetermined correspondence between orientation and movement speed, the movement speed corresponding to obstacles in different orientations within the alarm area is obtained. The minimum value among multiple movement speeds is selected as the movement speed of the robot.

4. The method according to claim 1, characterized in that, The status information includes the robot's position, the robot's moving speed, and the robot's braking capability; Based on the robot's state information, the corresponding danger zone and alarm zone are obtained, including: Based on the robot's position and the predetermined robot outline, a reference point for outward expansion is determined. Based on the robot's moving speed and braking capability, the extent to which the alarm zone and the danger zone expand outward is determined.

5. The method according to claim 4, characterized in that, The robot's state information includes the robot's orientation; After determining the extent of the expansion of the alarm zone and the danger zone based on the robot's moving speed and braking capability, the method further includes: Based on the robot's orientation, determine the robot's side direction, front direction, and rear direction; Based on the predetermined correspondence between directions and correction coefficients, the correction coefficients for the side direction, the front direction, and the rear direction are determined, and the expansion amplitude is corrected according to the determined correction coefficients.

6. The method according to claim 4, characterized in that, Based on the robot's moving speed and braking capability, the extent to which the alarm zone and the danger zone expand outward is determined, including: The faster the robot moves, the greater the extent to which the alarm area and the danger zone expand outward; The stronger the robot's braking ability, the greater the extent to which the alarm area and the danger zone expand outward.

7. The method according to claim 1, characterized in that, The status information includes position and orientation; Predicting the robot's state information includes: Obtain the robot's first position, first orientation, linear velocity, and angular velocity at the current first moment; Based on the first position, the first orientation, and the linear velocity, predict the robot's second position at a second moment, where the second moment is a moment after the first moment. Based on the first orientation and the angular velocity, the robot's second orientation at the second moment is predicted.

8. An emergency obstacle avoidance device for a robot, characterized in that, The device includes: A state information prediction unit is used to predict the state information of the robot. An expansion unit is used to expand based on the robot's state information to obtain the robot's corresponding danger zone and alarm zone, wherein the urgency of an obstacle located in the alarm zone is lower than the urgency of an obstacle located in the danger zone; The detection unit is used to detect the position of obstacles in the alarm area and the danger area; The obstacle avoidance unit is used to determine the robot's movement speed based on a pre-set correspondence between the position and movement speed of obstacles, and to perform emergency obstacle avoidance based on the movement speed.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it causes the robot to perform the method as described in any one of claims 1-7.

10. A computer program product comprising computer program instructions, characterized in that, When the computer program is run, the method as described in any one of claims 1-7 is performed.