Robot navigation obstacle avoidance method and robot
By using obstacle detection and avoidance strategies based on the remaining distance of the global path, the problem of insufficient safety and flexibility in robot navigation is solved, and precise navigation control in complex environments is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-30
- Publication Date
- 2026-03-31
AI Technical Summary
Existing robot navigation and obstacle avoidance solutions are insufficient in terms of safety and flexibility. In particular, they are susceptible to misjudgment or dynamic obstacles when approaching the destination, which can lead to navigation failure or endless detours.
By detecting obstacles in the target area based on the remaining distance of the global path, the robot actively perceives the obstacle situation in the destination area and generates corresponding obstacle avoidance strategies based on obstacle attribute information, including detour, deceleration and following, or local replanning, to ensure accurate navigation of the robot in complex environments.
It improves the navigation accuracy and robustness of robots in complex and dynamic environments, avoids misjudgments and navigation failures caused by traditional single distance detection, and enhances navigation efficiency and safety in the destination area.
Smart Images

Figure CN121764104A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a robot navigation and obstacle avoidance method and a robot. Background Technology
[0002] With the advancement of robotics technology, robots are showing great potential for application in scenarios such as home services, office reception, and medical assistance.
[0003] Currently, robot navigation control mostly employs a single strategy architecture. Mainstream solutions fall into two categories: one is based on global path planning, which plans a complete static path from the starting point to the destination for the robot; the other relies primarily on real-time local obstacle avoidance algorithms, using sensor feedback to respond to dynamic changes in the environment. However, both methods have significant limitations in practical applications. For example, global planning struggles to effectively respond to sudden dynamic obstacles in the environment, easily causing navigation task interruptions; while local obstacle avoidance, lacking global path guidance, can easily lead to the robot getting stuck in local oscillations in complex environments.
[0004] Therefore, existing solutions still have significant shortcomings in terms of safety and flexibility in robot navigation and obstacle avoidance. Summary of the Invention
[0005] This application provides a robot navigation and obstacle avoidance method and a robot, which improve the safety and flexibility of the robot during navigation.
[0006] In a first aspect, embodiments of this application provide a robot navigation and obstacle avoidance method, applied to a robot, the method comprising:
[0007] In response to navigation commands, determine the remaining global path distance between the robot's current pose and the global endpoint pose;
[0008] If the remaining distance of the global path is less than the second preset distance threshold, then obstacle detection is performed on the target area where the global endpoint is located, and the obstacle detection result of the target area is obtained;
[0009] If the obstacle detection result of the target area indicates that there are no obstacles in the target area, the robot is controlled to continue walking on the current navigation path until the robot reaches the global endpoint pose; where obstacles are those that prevent the robot from reaching the global endpoint.
[0010] If the obstacle detection results for the target area indicate the presence of an obstacle within the target area, then the attribute information of the obstacle is obtained;
[0011] Based on the attribute information, a corresponding obstacle avoidance strategy is generated, and the robot is controlled to execute the obstacle avoidance strategy in order to reach the global endpoint pose.
[0012] In one possible implementation, obstacle detection is performed on the target area where the global endpoint is located, and the obstacle detection results for the target area are obtained, including:
[0013] Using the global endpoint pose as the region center and a preset first distance length as the radius, the target region where the global endpoint pose is located is determined; wherein, the preset distance is determined based on the robot's robot radius and a preset safety distance;
[0014] Obtain a preset number of sampling points in the target area;
[0015] Obstacle detection is performed at each sampling point to determine the obstacle detection results for the target area. The obstacle detection results include whether there are obstacles in the target area and the obstacle attribute information when obstacles exist.
[0016] In one possible implementation, acquiring a preset number of sampling points in the target area includes:
[0017] Obtain the radius of the target region;
[0018] Determine the radius distribution ratio of the multi-layered concentric circles based on the region radius;
[0019] Based on the radius distribution ratio, determine the multiple concentric circles of the target area;
[0020] For any concentric circle layer, sampling points are set at preset second distance intervals;
[0021] Based on the sampling points set on the concentric circles of each layer, the sampling points in the target area are obtained.
[0022] In one possible implementation, obstacle detection is performed at each sampling point to determine the obstacle detection results for the target area, including:
[0023] Obtain a regional obstacle heatmap of the target area; wherein, the regional obstacle heatmap is generated based on a local cost map and is used to characterize the probability of obstacle distribution at each location within the target area;
[0024] For any sampling point, query the occupancy status of the sampling point's location in the regional obstacle heatmap; where the occupancy status represents the degree to which the sampling point is occupied by obstacles;
[0025] Based on the occupancy status of each sampling point, the obstacle detection results for the target area are determined.
[0026] In one possible implementation, the obstacle detection result of the target area is determined based on the occupancy status of each sampling point, including:
[0027] If at least one sampling point is in an occupied state, then it is determined that there is an obstacle in the target area;
[0028] If all sampling points are in a free state, then it is determined that there are no obstacles in the target area.
[0029] In one possible implementation, if the obstacle detection result for the target area indicates the presence of an obstacle within the target area, the method further includes:
[0030] Obtain the historical number of obstacle detections performed;
[0031] If the number of historical detections is greater than or equal to the preset threshold, the robot will stop walking and a navigation failure message will be generated and output.
[0032] If the number of historical detections is less than the preset threshold, the cumulative number of detections is incremented by one, and the attribute information of the obstacle is obtained.
[0033] In one possible implementation, the attribute information includes the relative distance between the obstacle and the robot;
[0034] Generate corresponding obstacle avoidance strategies based on attribute information, and control the robot to execute the obstacle avoidance strategies, including:
[0035] If the relative distance is greater than the preset relative distance threshold, then generate and control the robot to execute the first obstacle avoidance strategy that includes both voice prompts and preset detour paths;
[0036] If the relative distance is less than or equal to a preset relative distance threshold, then generate and control the robot to execute a second obstacle avoidance strategy;
[0037] The second obstacle avoidance strategy includes issuing a voice prompt and waiting for a preset time, while re-extracting the obstacle's attribute information during the waiting period; if the attribute information changes, the obstacle avoidance strategy is regenerated; if it does not change, the robot is controlled to stop walking, and a navigation failure prompt message is generated and output.
[0038] In one possible implementation, after controlling the robot to execute an obstacle avoidance strategy, the method further includes:
[0039] Return to the previous step to determine the remaining distance of the global path and subsequent steps, until the robot reaches the global endpoint pose.
[0040] In one possible implementation, in response to navigation commands, determining the remaining global path distance between the robot and the global endpoint pose includes:
[0041] In response to navigation commands, global path planning is performed based on the global starting point pose and global ending point pose indicated by the navigation commands to generate a navigation path;
[0042] Control the robot to walk along the navigation path, and update the remaining distance of the global path based on the robot's real-time position and the global endpoint pose.
[0043] Secondly, embodiments of this application provide a robot navigation and obstacle avoidance device, comprising:
[0044] The global path remaining distance determination module is used to determine the global path remaining distance between the robot's current pose and the global endpoint pose in response to navigation commands.
[0045] The obstacle detection result acquisition module is used to perform obstacle detection on the target area where the global endpoint is located if the remaining distance of the global path is less than a second preset distance threshold, and obtain the obstacle detection result of the target area.
[0046] The first walking module is used to control the robot to continue walking on the current navigation path if the obstacle detection result of the target area indicates that there are no obstacles in the target area, until the robot reaches the global endpoint pose; where obstacles are obstacles that prevent the robot from reaching the global endpoint.
[0047] The attribute information acquisition module is used to acquire the attribute information of obstacles if the obstacle detection result of the target area indicates that there are obstacles in the target area.
[0048] The second walking module is used to generate corresponding obstacle avoidance strategies based on attribute information and control the robot to execute the obstacle avoidance strategies in order to reach the global endpoint pose.
[0049] Thirdly, embodiments of this application provide a robot, including: a memory and a processor;
[0050] The memory stores instructions that the computer executes;
[0051] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.
[0052] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.
[0053] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.
[0054] The robot navigation obstacle avoidance method and robot provided in this application, through target area obstacle detection based on the remaining distance of the global path, enable the robot to actively perceive and assess the obstacle situation in the destination area as it approaches the destination. When an obstacle is detected, a corresponding obstacle avoidance strategy is generated and executed based on its attribute information, thereby achieving accurate and flexible navigation control in the destination area. This effectively avoids problems such as misjudgment, repeated detours, or navigation failures that may be caused by traditional single distance detection, and improves the accuracy, efficiency, and overall robustness of robot terminal navigation in complex dynamic environments. Attached Figure Description
[0055] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0056] Figure 1 This is a structural diagram of the robot provided in this application;
[0057] Figure 2 An application scenario diagram of the robot navigation and obstacle avoidance method provided in this application;
[0058] Figure 3 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 1 ;
[0059] Figure 4 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 2
[0060] Figure 5 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 3
[0061] Figure 6 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 4 ;
[0062] Figure 7 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 5 ;
[0063] Figure 8 This is a structural schematic diagram of the robot navigation and obstacle avoidance device provided in this application.
[0064] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0065] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0066] The collection, storage, use, processing, transmission, provision, and disclosure of task data or user data and other information involved in the technical solution of this application all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0067] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. The collection, use and processing of the relevant data shall comply with relevant laws, regulations and standards, and corresponding operation entry points shall be provided for users to choose to authorize or refuse.
[0068] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.
[0069] As described in the background section, existing solutions for robot navigation and control still have significant shortcomings in terms of safety and flexibility.
[0070] For example, existing technologies only use a single distance threshold to detect obstacles when approaching the target point, without combining obstacle detection with a safe zone. This makes the robot susceptible to false detections or instantaneous dynamic interference as it approaches the destination, causing it to get stuck in an endless local obstacle avoidance loop.
[0071] Therefore, this application provides a robot navigation obstacle avoidance method to address the problems of insufficient safety and lack of flexibility caused by the single strategy in the prior art. Specifically, by detecting obstacles in the target area based on the remaining distance of the global path, the robot can actively perceive and assess the obstacle situation in the destination area as it approaches the destination. When an obstacle is detected, a corresponding obstacle avoidance strategy is generated and executed based on its attribute information, thereby achieving accurate and flexible navigation control in the destination area. This effectively avoids problems such as misjudgment, repeated detours, or navigation failures that may be caused by traditional single distance detection, and improves the accuracy, efficiency, and overall robustness of robot terminal navigation in complex dynamic environments.
[0072] The robot navigation and obstacle avoidance method provided in this application is applicable to various application scenarios that require robots to achieve autonomous, safe, and precise navigation in complex and dynamic environments.
[0073] For example, in home service scenarios, this method can be applied to home companion or assistant robots, enabling them to autonomously navigate to a designated room or location indoors, flexibly avoid obstacles such as people, pets, and furniture during the movement, and finally arrive at the target point in a stable manner to perform tasks.
[0074] In addition, the above methods can also be applied to scenarios such as commercial tours, venue inspections, and emergency response, helping robots to reliably move and dock in crowded or changing environments.
[0075] In summary, any situation where a robot needs to move towards a target in a preset environment while ensuring process safety, smooth motion, and precise control of the endpoint falls under the application scenarios of the robot navigation and obstacle avoidance technology solution in this application.
[0076] Figure 1 This is a structural diagram of the robot provided in this application. Figure 1 As shown, the robot 100 is equipped with a control system 101 and a body 102.
[0077] The robot's body 102 is its mechanical form, and its structure includes a walking mechanism, multiple joint drive units, attitude sensors (such as inertial measurement units (IMUs)), environmental perception sensors (such as lidar and vision cameras), and a power system. The body 102 is responsible for performing motion actions in physical space and collecting the robot's own state and environmental information in real time.
[0078] The control system 101 is integrated inside the body 102 or connected to the body via wired / wireless means. It serves as the processing module of the robot 100 and is used to execute the robot navigation and obstacle avoidance method of any embodiment of this application.
[0079] Specifically, the control system 101 may include modules or units such as a processor, a memory, and a communication module. The memory stores executable instructions, and the processor reads and executes these instructions to perform navigation actions including but not limited to: receiving and parsing navigation tasks, dividing navigation stages, generating control strategies for each stage, performing starting orientation adjustments and obstacle avoidance, switching stages based on the remaining path distance, and controlling the aircraft 102 to complete the entire navigation process, including starting, moving midway, and stopping.
[0080] Through the coordinated operation of the control system 101 and the fuselage 102, autonomous navigation tasks in complex environments can be completed reliably and flexibly.
[0081] Optionally, the robot 100 can be an intelligent robot with autonomous mobility, such as a bipedal robot, a quadrupedal robot dog, a wheeled robot, a tracked robot, or a wheel-tracked hybrid robot.
[0082] The following is combined with Figure 2 The application scenarios applicable to the embodiments of this application are described below. Figure 2 This is an application scenario diagram of the robot navigation and obstacle avoidance method provided in this application.
[0083] See Figure 2 Taking a commercial service scenario as an example, this scenario mainly involves a task system and a robot. The robot is equipped with a control system for communicating and interacting with the task system. It should be understood that the task system receives user service requests and generates navigation instructions; the robot then moves autonomously in complex environments based on these instructions, completing precise navigation from the starting point to the target point.
[0084] Based on this, the robot navigation and obstacle avoidance method provided in this application mainly includes the following steps:
[0085] 1. The task system generates navigation instructions and sends them to the robot's control system;
[0086] 2. The robot's control system responds to the received navigation commands and determines the remaining global path distance between the robot's current pose and the global endpoint pose;
[0087] 3. If the remaining distance of the global path is less than the preset distance threshold, then perform obstacle detection on the target area where the global endpoint is located, and obtain the obstacle detection results of the target area;
[0088] 4. If the obstacle detection results for the target area indicate the presence of obstacles within the target area, then obtain the attribute information of the obstacles;
[0089] 5. Generate corresponding obstacle avoidance strategies based on attribute information, and control the robot to execute the obstacle avoidance strategies to reach the global endpoint pose.
[0090] The above steps, through obstacle detection and attribute analysis in the target area, enable the robot to dynamically identify obstacles and execute different obstacle avoidance strategies as it approaches the destination. This effectively avoids misjudgment or infinite detours caused by single distance detection, and improves the accuracy and reliability of navigation.
[0091] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0092] Figure 3 Flowchart of the robot navigation and obstacle avoidance method provided in this application Figure 1 This method can be executed by the robot's control system, which can be a server or an electronic device; the following explanation uses an electronic device as an example. The method in this embodiment can be implemented through software, hardware, or a combination of both. Figure 3 As shown, the method includes:
[0093] S301. In response to navigation commands, determine the remaining global path distance between the robot's current pose and the global endpoint pose.
[0094] In this embodiment, the robot establishes a communication connection with the task system or the corresponding user terminal in advance to receive and execute the assigned tasks. The task can be an independent navigation task or a complex task that includes navigation, such as item delivery, environmental inspection, or human-robot collaboration.
[0095] This can be achieved in a variety of ways during the task issuance and instruction generation process.
[0096] In one alternative approach, the task system or user terminal can directly issue tasks to the robot's control system. The control system parses the received task, identifies the navigation requirements, and generates corresponding navigation instructions. Subsequently, the control system responds to the navigation instructions, initiates the navigation control process, and drives the robot to perform walking actions.
[0097] In another alternative approach, the task system or user terminal parses and processes the task locally, breaking it down into a series of sequentially executed sub-instructions. For example, preparation instructions and environment confirmation instructions can be generated first, and navigation instructions can be issued after the robot completes the preliminary instructions. At this point, the robot's control system receives and responds to the navigation instructions, executing the corresponding navigation operations.
[0098] Through the above-described communication and instruction processing methods, this embodiment can achieve collaborative control of flexible task distribution and hierarchical instruction execution. It supports both end-to-end autonomous task processing and distributed task execution modes in cloud or terminal collaboration, enhancing the robot's flexibility and scalability in different application scenarios.
[0099] It should also be noted that, in order to adapt to the motion characteristics and control requirements of the robot at different stages of the navigation process, this application adopts a segmented control strategy, dividing the complete navigation process into three logically coherent control stages: the start-up control stage, the mid-course control stage, and the termination control stage.
[0100] In the initial control phase, the robot mainly transitions from a stationary state to stable walking and solves problems such as initial deceleration control, initial direction calibration, and environmental safety confirmation. In the mid-course control phase, the robot continues to walk along the planned path and achieves dynamic path tracking, real-time obstacle avoidance, and motion stability maintenance. In the termination control phase, the robot gradually decelerates and precisely stops at the target position, achieving convergence of the endpoint posture error and accurate alignment with the preset posture.
[0101] In this way, by dividing the process into stages, different control algorithms and decision-making logics can be adapted to address the control difficulties and motion targets at each stage, thereby improving the accuracy, safety, and flexibility of motion at each stage while ensuring the overall continuity of the navigation process.
[0102] Under the segmented control framework described above, the robot enters the start-up control phase when its control system responds to received or autonomously generated navigation commands. During this phase, the control system can invoke the corresponding control strategy to drive the robot to execute and complete navigation start-up preparation operations.
[0103] In this application, the navigation start preparation operations indicated in the start control strategy may include, but are not limited to, start orientation adjustment and start obstacle avoidance.
[0104] By performing start-up preparation operations during the start-up control phase, directional accuracy and environmental adaptability are achieved during the start-up control phase, providing a reliable guarantee for the safe and smooth start of the robot in complex environments.
[0105] After completing the navigation start-up preparation operations, i.e., successfully performing start-up orientation adjustment and start-up obstacle avoidance, the current navigation control process is determined to have ended the start-up control phase. To determine the next control phase to enter, the control system immediately obtains the global remaining path distance between the robot's current pose and the global endpoint pose, compares this distance value with a preset first distance threshold, and dynamically switches the control phase based on the comparison result.
[0106] If the remaining global path distance is greater than or equal to the first preset distance threshold, it indicates that the robot is still far from the destination and needs to continue to perform path tracking and dynamic adjustment. At this time, the control system switches to the mid-way control stage, that is, it starts control strategies such as path tracking, real-time obstacle avoidance and motion stability maintenance.
[0107] If the remaining global path distance is less than the first preset distance threshold, it indicates that the robot is close to the destination and needs to prepare for deceleration and precise docking in advance. At this time, the control system directly enters the termination control stage, that is, it starts termination control strategies such as deceleration control, destination alignment and attitude convergence.
[0108] The above-mentioned stage switching based on the remaining path distance enables a smooth and timely transition between different control stages in the navigation process. This avoids the control discontinuity problem caused by stage switching being too early or too late, and also ensures that the control strategies of each stage can take effect within their most applicable path range, thereby improving the overall flexibility, consistency and safety of the navigation process.
[0109] It should also be noted that the first distance threshold defined in this embodiment, and other possible distance thresholds (such as the second distance threshold used to trigger sub-processes within the termination phase), can be set independently according to actual control requirements. All thresholds can be set to the same value to achieve a unified distance judgment benchmark; alternatively, they can be set to different values according to the specific characteristics of each control phase or sub-task to more precisely adapt to the control sensitivity and response characteristics of different phases. In this way, by flexibly setting thresholds, the configurability and adaptability of the control system are enhanced, enabling the robot to flexibly cope with different navigation scenarios and performance requirements.
[0110] S302. If the remaining distance of the global path is less than the second preset distance threshold, then perform obstacle detection on the target area where the global endpoint is located, and obtain the obstacle detection result of the target area.
[0111] In this embodiment, to avoid prematurely initiating obstacle detection in the target area when the robot is far from the global endpoint pose, thus preventing unnecessary redundant calculations and resource waste, the control system pre-sets a second distance threshold. This second distance threshold can be dynamically set according to the global navigation path and is greater than the first distance threshold, ensuring that obstacle detection is initiated when the robot travels to a distance less than the second preset distance from the global endpoint pose. Simultaneously, to address dynamic obstacles that may appear during detection, after initiating obstacle detection in the target area, the control system can periodically acquire data on obstacle detection in the target area at preset time intervals to ensure the real-time performance and accuracy of the endpoint reachability determination.
[0112] Before obstacle detection, a target region can be generated based on the global endpoint pose. For example, a circular region with the global endpoint pose as its center and a radius of a preset length can be designated as the target region. Then, obstacle detection is performed on this target region. Optionally, the detection can be completed using a vision sensor, LiDAR, or ultrasonic sensor mounted on the robot, and the obstacle detection results for the target region can be obtained.
[0113] S303. If the obstacle detection result of the target area indicates that there are no obstacles in the target area, then control the robot to continue walking on the current navigation path until the robot reaches the global endpoint pose.
[0114] In this embodiment, if the obstacle detection result of the target area indicates that there are no obstacles, the control system can control the robot to continue walking on the current navigation path until the robot reaches the global endpoint pose.
[0115] Specifically, if the robot has not yet entered the termination control phase during the current obstacle detection, it can be controlled to continue executing the local path planning and global path remaining distance update steps; if the robot has already entered the termination control phase during the current obstacle detection, it can be controlled to execute the navigation termination preparation operation.
[0116] S304. If the obstacle detection result of the target area indicates that there is an obstacle in the target area, then obtain the attribute information of the obstacle.
[0117] In this embodiment, when the obstacle detection result of the target area indicates the presence of an obstacle, the attribute information of the detected obstacle can be obtained. This attribute information may include, but is not limited to, at least one of the following: obstacle type (e.g., static obstacle, dynamic obstacle), size, outline, position, motion state (e.g., motion speed, motion direction), material hardness, relative distance to the global endpoint pose, and orientation relationship.
[0118] After acquiring the attribute information, the control system uses it as a key input to generate obstacle avoidance strategies, thereby enabling differentiated responses and precise navigation control for obstacles with different attribute characteristics.
[0119] Optionally, to further improve the reliability of obstacle avoidance decisions, the control system can also integrate historical navigation data or prior environmental information to predict the potential movement trends or behavioral intentions of obstacles, thereby enhancing environmental understanding during the strategy generation process and thus improving the reliability of the strategy generation results.
[0120] S305. Generate the corresponding obstacle avoidance strategy based on the attribute information, and control the robot to execute the obstacle avoidance strategy to reach the global endpoint pose.
[0121] In this embodiment, upon acquiring the attribute information of an obstacle, the control system can assess its threat level and spatial impact range on robot navigation based on the obstacle's type, size, location, and motion state indicated in the attribute information. Based on this, and considering the robot's current motion performance constraints and environmental structural conditions, one or more local paths are planned to safely avoid or traverse the obstacle area and ultimately guide the robot to its global endpoint pose.
[0122] Optionally, if the obstacle is identified as a dynamic object, the control system will also predict its trajectory and introduce a time dimension into the path planning to achieve dynamic obstacle avoidance with temporal coordination capabilities.
[0123] Obstacle avoidance strategies include, but are not limited to, at least one of the following: detour strategy, deceleration and following strategy, temporary waiting strategy, and local replanning strategy. For example, for stationary small obstacles, a small detour strategy can be adopted; for continuously moving obstacles, a deceleration and following or opportunistic crossing strategy can be implemented; if a large obstacle that cannot be detoured is encountered, local path replanning is initiated to find an alternative destination arrival plan within the target area.
[0124] After generating the obstacle avoidance strategy, the control system can also convert the strategy into the robot's corresponding joint motion commands and gait parameters, thereby driving the robot to perform the corresponding obstacle avoidance actions.
[0125] Optionally, during obstacle avoidance, the control system continuously monitors the obstacle status and the robot's real-time pose, and dynamically adjusts and optimizes the current strategy based on feedback information until the robot smoothly and safely reaches the global endpoint pose.
[0126] It should also be noted that if, for a detected obstacle, after executing the obstacle avoidance strategy multiple times based on its attribute information, effective obstacle avoidance is still not achieved, the control system can synchronously output navigation failure prompt information through the robot's local output device, such as issuing a voice broadcast: "Navigation failed, requesting remote assistance," or displaying the current status code and a brief explanation on the screen.
[0127] The robot navigation obstacle avoidance method provided in this application, through target area obstacle detection based on the remaining distance of the global path, enables the robot to actively perceive and assess the obstacle situation in the destination area as it approaches the destination. When an obstacle is detected, a corresponding obstacle avoidance strategy is generated and executed based on its attribute information, thereby achieving accurate and flexible navigation control in the destination area. This effectively avoids problems such as misjudgment, repeated detours, or navigation failures that may be caused by traditional single distance detection, and improves the accuracy, efficiency, and overall robustness of robot terminal navigation in complex dynamic environments.
[0128] See Figure 4 Next, the detailed execution process of the robot navigation and obstacle avoidance technology solution will be further explained. It should be noted that the following description is merely an exemplary implementation of the technical solution in this application and does not constitute a limitation on the technical solution of this application.
[0129] In this embodiment, when the robot's control system receives a navigation command, it immediately responds to the command and controls the robot to enter the start-up control phase of the navigation control process. In this phase, start-up preparation operations are performed, thereby initiating the complete autonomous navigation task.
[0130] In this embodiment, the navigation start-up preparation operation may include starting orientation adjustment and starting obstacle avoidance. Based on this, an optional implementation of controlling the robot to perform the navigation start-up preparation operation may include: performing global path planning based on the global endpoint pose and global starting point pose indicated by the navigation command to generate a global navigation path; determining a pre-aiming point based on the global navigation path and determining the expected orientation of the robot when it arrives at the pre-aiming point; adjusting the starting direction based on the expected orientation and the robot's initial body orientation; detecting obstacles on the robot's starting path and controlling the robot to execute a corresponding starting obstacle avoidance strategy based on the detection results to complete starting obstacle avoidance.
[0131] Specifically, when responding to navigation commands, the control system parses the commands to obtain the indicated global endpoint pose. During this process, it also acquires the robot's global starting pose (i.e., the current pose) and global environmental perception information containing both the global starting and endpoint poses. Based on this global environmental perception information, the global starting and endpoint poses, the control system invokes a preset path planning algorithm to perform global path planning, thereby generating a global navigation path.
[0132] If the control system fails to generate a global navigation path due to incomplete map information, unreachable start or end points, or other reasons, multiple replanning attempts can be made. Replanning includes, but is not limited to, adjusting planning parameters, trying different algorithms, or fine-tuning the start / end point poses within a limited range.
[0133] If the control system replans the route an unsuccessfully after a preset threshold number of attempts, it determines that the current navigation command has failed and generates a corresponding navigation failure message. This failure message may include reasons such as the target point being unreachable or path planning timeout, and will be sent to the task scheduling system or user terminal via various methods, including voice, light, or a host computer interface, indicating an obstructed starting path, for task adjustment or manual intervention.
[0134] If the control system successfully generates a global navigation path, the aiming point corresponding to the robot's start can be determined based on this global navigation path. Here, the aiming point can be understood as a position on the global path at a certain distance from the starting point, used to characterize the initial direction of travel that the robot should follow after starting.
[0135] After obtaining the determined aiming point, the control system also obtains the robot's current initial orientation. For example, this initial orientation can be measured by an attitude sensor such as an IMU. Then, based on the robot's initial orientation, the expected orientation when it reaches the aiming point is calculated.
[0136] Based on this, the control system calculates the angular deviation between the robot's initial orientation and the expected orientation, and generates and executes a body rotation control command according to the angular deviation. This command then coordinates the movement of some of the robot's joints, smoothly adjusting the robot from its initial orientation to the expected orientation, thus completing the starting orientation adjustment. This ensures that the robot's starting direction is consistent with the initial path direction of the global navigation path, avoiding the risk of instability caused by the accumulation of path tracking errors due to orientation deviation or by turning immediately after starting.
[0137] After adjusting the starting orientation, obstacle detection can be performed on the starting path segment from the global starting pose to the pre-aiming point. Specifically, static or dynamic obstacles within the path range can be scanned in real time using perception modules such as LiDAR and visual sensors.
[0138] If the control system does not detect an obstacle within the starting detection range, the robot will end the starting control phase and start walking normally along the starting path.
[0139] If the control system detects an obstacle within the starting detection range, it executes the corresponding starting obstacle avoidance strategy based on the obstacle's attribute information.
[0140] Specifically, the robot can be controlled to execute corresponding starting obstacle avoidance strategies based on the location, size, and motion state of the obstacle. For example, the starting path can be locally adjusted to bypass the obstacle, or the robot can pause starting and wait for the obstacle to leave before re-detecting it.
[0141] In the above process, by adjusting the starting orientation based on the pre-aiming point of the global path, it is ensured that the robot is precisely aligned with the global path direction at the beginning of the navigation, which effectively avoids frequent path corrections and energy loss caused by directional deviation after starting. At the same time, by actively detecting obstacles on the starting path segment and executing the corresponding obstacle avoidance strategy, the robot can achieve safe obstacle avoidance at the starting stage, avoid collisions at the moment of starting, and improve the robot's response capability and safety to sudden obstacles at the starting stage.
[0142] In the implementation of the above scheme, an optional implementation method for adjusting the starting direction based on the expected orientation and the robot's initial body orientation may include: calculating the angle difference between the expected orientation and the initial body orientation; determining that the starting direction adjustment is completed when the angle difference is less than a preset angle threshold; controlling the robot to perform a turning action based on the angle difference when the angle difference is greater than or equal to the preset angle threshold, and stopping the turning when the angle difference is less than the preset angle threshold, thereby completing the starting direction adjustment.
[0143] After the control system obtains the expected orientation of the aiming point and the initial orientation of the robot, it calculates the angular difference between the two.
[0144] In this embodiment, the angle difference can be obtained by subtracting the current fuselage yaw angle measured by an attitude sensor (e.g., an inertial measurement unit, IMU) from the yaw angle of the expected orientation. In actual implementation, other equivalent methods can also be used to obtain the angle difference, such as calculating the relative angle based on visual feature matching, or inferring the fuselage orientation through joint encoder information. Any technical means that can accurately reflect the angle deviation between two orientations are within the scope of this application and are not limited thereto.
[0145] Based on this, the control system compares the calculated angle difference with the preset angle threshold.
[0146] If the angle difference is less than the preset threshold, it indicates that the robot's current orientation is basically aligned with the expected direction. At this point, the control system determines that the starting direction adjustment is complete, and there is no need to perform a steering action; it can directly enter the subsequent navigation control process.
[0147] If the angle difference is greater than or equal to the preset threshold, the control system can generate corresponding steering control commands based on the magnitude and direction of the angle difference (e.g., clockwise or counterclockwise). Then, the robot coordinates the movement of some joints to perform in-situ turning or small-radius arc turning, gradually bringing the robot's orientation closer to the expected orientation.
[0148] Optionally, during the steering process, the control system can also continuously calculate the updated angle difference in real time. Once the angle difference is detected to be less than a preset angle threshold, steering control is immediately stopped, and the starting direction adjustment is confirmed to be complete.
[0149] By implementing the above methods for orientation adjustment, the accuracy of orientation adjustment is ensured, while avoiding control instability and time delay caused by over-adjustment or oscillation, thereby achieving fast and accurate starting orientation alignment.
[0150] After the above directional adjustment is completed, obstacle detection can be performed on the robot's starting path, and the robot can be controlled to execute the corresponding starting obstacle avoidance strategy based on the detection results to complete the starting obstacle avoidance.
[0151] Optionally, one possible implementation of obstacle detection for starting can include: determining the detection area corresponding to the starting path; calling a preset obstacle detection algorithm to scan the detection area and obtain obstacle detection results; when the obstacle detection results indicate the presence of an obstacle, extracting the obstacle's attribute information; generating a corresponding obstacle avoidance strategy based on the attribute information, and controlling the robot to execute the obstacle avoidance strategy.
[0152] Specifically, when the control system detects obstacles on the starting path segment, it can determine the corresponding detection area based on the starting path segment. Optionally, this detection area can be set as a strip-shaped area with a certain width centered on the starting path, or a fan-shaped / rectangular area dynamically determined according to the effective range of the sensor, to ensure coverage of the spatial range that may be affected by the robot's starting movement.
[0153] Once the detection area is determined, the control system can invoke a preset obstacle detection algorithm to scan and analyze the detection area in real time to obtain obstacle detection results. For example, the obstacle detection algorithm may include, but is not limited to, clustering analysis algorithms based on LiDAR point clouds, target detection algorithms based on visual sensors, or obstacle recognition algorithms based on multi-sensor fusion.
[0154] When the obstacle detection algorithm outputs a detection result indicating that there are no obstacles, it means that there are no obstacles on the starting path segment. In other words, there is no need to execute the starting obstacle avoidance strategy, and the starting obstacle avoidance strategy can be determined to be completed. The robot can be directly controlled to start walking.
[0155] When the obstacle detection algorithm outputs a detection result indicating the presence of an obstacle in the area, it indicates the presence of an obstacle in the starting path segment. The obstacle detection algorithm can simultaneously output the obstacle's attribute information. To ensure the safety of the robot's movement, the control system can generate a corresponding starting obstacle avoidance strategy based on the obstacle's attribute information.
[0156] In this embodiment, the attribute information of the obstacle may include, but is not limited to: the obstacle's position coordinates relative to the robot, size, outline shape, motion state (stationary or moving), and motion speed and direction.
[0157] The obstacle avoidance strategies generated based on obstacle attribute information include, but are not limited to: for stationary small obstacles, controlling the robot to slightly adjust the starting direction to bypass them; for dynamic obstacles that are expected to be left quickly, controlling the robot to slow down the start and wait for them to pass; for large fixed obstacles that completely block the path, triggering a replanning process to adjust the aiming point or starting path segment.
[0158] Based on the generated obstacle avoidance strategy, the control system can drive the robot to perform corresponding actions, thereby effectively avoiding obstacles during the start-up control phase and improving the safety and reliability of the start-up process.
[0159] In the above scheme, by defining the detection area and calling the obstacle detection algorithm, the robot can accurately identify and analyze the attributes of obstacles within the starting path range. This enables the generation and execution of differentiated obstacle avoidance strategies based on the different types and states of obstacles, thereby improving the robot's adaptability and decision-making intelligence in the complex environment during the starting phase. It effectively avoids the risk of collisions at the start and ensures the safety and continuity of the navigation starting control phase.
[0160] In the implementation of the above method, an optional implementation method for determining the detection area corresponding to the starting path may include: obtaining a preset starting distance threshold; when the remaining distance of the global path is greater than or equal to the starting distance threshold, determining the detection area based on the global starting point pose and the starting distance threshold; when the remaining distance of the global path is less than the starting distance threshold, determining the detection area based on the global starting point pose and the global ending point pose.
[0161] See Figure 5 Specifically, the control system acquires a preset starting distance threshold and compares the remaining global path distance with this starting distance threshold. It should be understood that the starting distance threshold can be flexibly set according to the robot's gait characteristics, sensor effective range, and safety redundancy requirements.
[0162] If the remaining distance of the global path is greater than or equal to the starting distance threshold, it means that the entire path is long. Then, based on the global starting point pose, the path segment corresponding to the starting distance threshold is extended along the global path direction, and a rectangular or fan-shaped detection area is defined with the path segment as the center and combined with the preset horizontal width.
[0163] If the remaining distance of the global path is less than the starting distance threshold, it means that the entire path length is too short to reach the starting distance threshold. In this case, the detection area covering the entire path segment can be directly defined based on the connection path between the global starting pose and the global ending pose to ensure obstacle detection for the robot's entire walking range from the starting point to the ending point.
[0164] In this way, the robot can adaptively determine the detection area based on the path length; that is, in long path scenarios, it focuses on the key starting segment to improve detection efficiency, while in short path scenarios, it covers the entire path to ensure safety throughout the process, thereby optimizing the allocation of computing resources while ensuring the effectiveness of obstacle avoidance at the start.
[0165] After determining the detection area for starting obstacle detection, the control system performs obstacle detection in that area to identify whether there are any obstacles in the area that may affect the robot's starting.
[0166] Optionally, if the control system detects the presence of an obstacle, it simultaneously acquires the attribute information of the detected obstacle. In this embodiment, the attribute information may include the relative angle and relative distance between the obstacle and the robot.
[0167] Based on this, an optional implementation of generating a corresponding starting obstacle avoidance strategy according to attribute information and controlling the robot to execute the starting obstacle avoidance strategy may include: if the relative angle is greater than or equal to a relative angle threshold, then generating and executing a first obstacle avoidance strategy including a preset detour path; if the relative angle is less than or equal to the relative angle threshold and the relative distance is less than a first relative distance threshold, then generating and executing a second obstacle avoidance strategy; the second obstacle avoidance strategy includes issuing a voice prompt and waiting for a preset time, while re-extracting the obstacle's attribute information during the waiting period; if the attribute information changes, then regenerating the starting obstacle avoidance strategy; if it does not change, then generating a navigation failure prompt; if the relative angle is less than or equal to the relative angle threshold, the relative distance is greater than the first relative distance threshold, and simultaneously less than or equal to the second relative distance threshold, then generating and executing a third obstacle avoidance strategy that simultaneously includes a voice prompt and a preset detour path; wherein, the second relative distance threshold is greater than the first relative distance threshold; if the relative angle is greater than the relative angle threshold, the relative distance is greater than the first relative distance threshold, and simultaneously greater than the second relative distance threshold, then generating and executing the first obstacle avoidance strategy.
[0168] See also Figure 5 Specifically, when the control system obtains the pose of an obstacle through environmental perception sensors, it can combine the pose of the obstacle with the current pose of the robot to perform coordinate transformation and geometric calculations to obtain the attribute information of the obstacle, namely the relative angle and relative distance between it and the robot.
[0169] The relative distance can be obtained by calculating the Euclidean distance between the obstacle's position and the robot's current position. The relative angle can be calculated by establishing a local coordinate system with the robot's current pose as the origin and the robot's orientation as facing forward. The position coordinates of the obstacle can be transformed into this local coordinate system, and then the horizontal deflection angle (i.e., azimuth angle) of the obstacle relative to the robot's front can be calculated using geometric relationships such as the arctangent function.
[0170] During this process, the control system can also simultaneously acquire preset relative angle thresholds and relative distance thresholds (including a first relative distance threshold and a second relative distance threshold, etc.). It should be understood that these thresholds can be preset or dynamically adjusted according to the robot's physical dimensions, motion performance, safety requirements, and typical scenarios.
[0171] Furthermore, the calculated relative angle of the obstacle is compared with a preset relative angle threshold, and the relative distance is compared with the corresponding relative distance threshold.
[0172] Through the above comparison, the control system can classify the spatial relationships of obstacles, thereby providing a clear basis for subsequent selection and execution of the corresponding starting obstacle avoidance strategy.
[0173] Specifically, if the relative angle is greater than or equal to a preset relative angle threshold, it indicates that the obstacle is mainly located on the side of the robot, and the risk of direct obstruction of the starting path is low. At this time, the control system can generate and execute a first obstacle avoidance strategy that includes a preset detour path.
[0174] In this embodiment, the first obstacle avoidance strategy specifically includes controlling the robot to start along a pre-calculated smooth local path that bypasses the side of the obstacle, so as to maintain starting efficiency while ensuring safety.
[0175] If the relative angle is less than or equal to the relative angle threshold, meaning the obstacle is located directly in front of or to the side of the robot, and the relative distance is less than the first relative distance threshold, it indicates that the obstacle is very close and directly facing the starting direction. Directly bypassing it may be too risky or there may not be enough space. In this case, the control system can generate and execute a second obstacle avoidance strategy.
[0176] In this embodiment, the second obstacle avoidance strategy specifically includes controlling the robot to issue a voice prompt (such as "Passing through, please give way") and wait for a preset time. During the waiting period, the control system continuously re-detects and extracts the attribute information of the obstacle.
[0177] If a change in attribute information is detected, such as an obstacle moving away or an increased distance, it indicates that the obstacle is dynamic and is moving. At this time, the control system can re-compare thresholds and determine strategies based on the updated attribute information, generate and execute the corresponding start-up obstacle avoidance strategy; for example, if the obstacle has moved out of the detection area, normal start-up is resumed; if the obstacle has moved to another position, strategies such as detouring or continuing to wait are executed according to the new relative angle and distance.
[0178] If the attribute information detected by the control system remains unchanged after the preset waiting time, it indicates that the current obstacle is a static obstacle and continues to block the starting path. Based on this determination, the control system can generate and output a navigation failure message to await external manual intervention (such as a remote operator removing the obstacle or issuing a confirmation command). At this time, the starting process can also be paused and enter a waiting state.
[0179] If the relative angle is less than or equal to the relative angle threshold, and the relative distance is greater than the first relative distance threshold but less than or equal to the second relative distance threshold, it indicates that the obstacle is directly in front but there is still a buffer space. At this time, the control system generates and executes a third obstacle avoidance strategy that includes both voice prompts and a preset detour path.
[0180] In this embodiment, the third obstacle avoidance strategy may specifically include issuing a warning sound while performing a relatively cautious obstacle avoidance action (such as a small lateral movement combined with directional adjustment), that is, actively avoiding obstacles while alerting the environment.
[0181] If the relative angle is greater than the relative angle threshold, and the relative distance is greater than both the first and second relative distance thresholds, it indicates that the obstacle is located to the side and is relatively far away, having almost no direct impact on the start. In this case, the control system can reuse the first obstacle avoidance strategy, that is, start according to the preset detour path, or directly ignore the obstacle and start normally according to the strategy configuration.
[0182] In the above embodiments, by setting dual thresholds for relative angle and relative distance and a hierarchical decision-making method, the control system can intelligently match and execute differentiated obstacle avoidance strategies based on the precise position and distance of the obstacle relative to the robot. This achieves a balance between safety and efficiency for the robot in complex starting scenarios, avoiding starting delays or redundant actions caused by overreaction, and ensuring careful handling and human-machine interaction in high-risk situations such as close-range direct confrontation with obstacles. This enhances the robot's starting robustness and autonomous decision-making ability in unknown or dynamic environments.
[0183] After completing the start-up obstacle avoidance based on the above implementation method, that is, completing the navigation start-up preparation operation and ending the start-up control phase, the control system judges the remaining distance of the current global path and enters the mid-course control phase.
[0184] During this phase, the control system can periodically perform local path planning at least once to cope with new obstacles or environmental changes that occur during the journey. After each planning, the robot moves based on the generated local path and updates the remaining distance of the global path until the updated remaining distance of the global path is less than a preset first distance threshold. At this point, the control system determines that the robot has approached its destination, exits the intermediate control phase, and enters the termination control phase to complete the navigation task.
[0185] Optionally, in one possible implementation of the control system executing the above control strategy, the system may include: determining the local starting pose and local ending pose of the current local path planning based on the robot's current pose and the global navigation path; calling the path planning model to perform local path planning based on the local starting pose and local ending pose, and obtaining the local path planning result; if the local navigation path is successfully generated, controlling the robot to walk along the local navigation path and updating the remaining distance of the global path.
[0186] Taking any local path planning in the mid-course control phase as an example, the robot's current pose and the previously planned global navigation path are obtained, thereby determining the local starting pose and local ending pose of this local planning. The local starting pose is typically the robot's current pose, while the local ending pose can be selected from a path point on the global path located a certain distance ahead of the robot and the robot's pose at that path point; optionally, the distance can be dynamically adjusted based on environmental complexity and sensor range.
[0187] Based on this, the control system invokes a preset path planning model according to the local starting point pose and the local ending point pose. This model includes a pre-generated path planning algorithm and environmental perception information obtained in real time.
[0188] Specifically, the local starting point pose and local ending point pose are input into the path planning model. Within this model, a pre-defined path planning algorithm is invoked, and a local navigation path is generated by combining real-time environmental perception information.
[0189] When the control system determines that the robot has reached or passed the current local endpoint position through positioning feedback, it updates the remaining distance of the global path.
[0190] Optionally, the aforementioned distance update can be achieved by recalculating the path length from the robot's new current pose to the global endpoint pose. This process is repeated until the conditions for exiting the intermediate control phase are met, at which point the intermediate control phase is exited.
[0191] In the above scheme, by decomposing the global path into continuous local path segments for real-time planning and tracking, the robot can move flexibly and smoothly along the global guidance in a dynamic environment. At the same time, by periodically updating the remaining distance, the navigation process can be accurately monitored, which improves the robot's flexibility, safety and overall task completion efficiency for long-distance walking.
[0192] In the implementation of the above scheme, when calling the path planning model for local path planning, an optional implementation method may include: if the local path planning result indicates that a local navigation path has not been successfully generated, the cumulative planning count is incremented by one; if the cumulative planning count does not exceed the first threshold, the first local path replanning is executed repeatedly until a local navigation path is successfully generated, or the cumulative planning count exceeds the first threshold; if the cumulative planning count exceeds the first threshold, the second local path replanning is executed to successfully generate a local navigation path, or a navigation failure message is output when a local navigation path is not successfully generated.
[0193] See Figure 6 Specifically, when the control system performs local path planning in accordance with the method described above, there may be single planning failures due to factors such as failure to acquire environmental perception information, complex environment, sensor noise interference, and algorithm processing failure.
[0194] It should be understood that, considering the limited computing resources and the real-time requirements of navigation, in order to avoid system lag or response delay caused by single-point planning getting stuck in an infinite loop, this embodiment pre-sets a cumulative planning count parameter as a constraint condition for replanning attempts.
[0195] Based on this, when a local path planning attempt fails, the cumulative planning count for that attempt can be incremented. If the cumulative planning count for the current local path planning task does not exceed a preset first threshold, the control system can initiate a first local path replanning process. During this replanning process, multiple attempts can be made based on the current environmental state and the robot's pose. Simultaneously, the control system continues to increment the cumulative planning count during each replanning attempt.
[0196] In the above implementation process, an optional implementation method for attempting to generate a local navigation path based on the first local path replanning process may include: repeatedly executing the following steps until a local navigation path is successfully generated or the cumulative number of planning times exceeds the first threshold: reducing the robot's current walking speed with a preset deceleration, and replanning the local path based on the reduced walking speed.
[0197] See also Figure 6 Specifically, let's take the first local path replanning as an example. Before performing the current local path planning, the control system obtains the robot's real-time walking speed and calls a preset deceleration value. Based on this value, the robot is smoothly decelerated. Subsequently, the control system re-executes the local path planning according to the decelerated walking speed.
[0198] For example, taking a bipedal robot as an example, during the process of the robot performing decelerated walking, its torso posture can be controlled to maintain an upright state in order to maintain motion stability and energy efficiency.
[0199] It should be noted that during the first local path replanning process via deceleration, when the robot decelerates to the local endpoint of the previous local plan (which is also the local starting point of the current local plan), the control system can maintain a low-speed walking state instead of stopping completely. This method avoids the static friction, center of gravity readjustment, and starting gait execution processes that the robot needs to overcome when restarting after a complete stop. These processes are not only energy-intensive but may also introduce instability risks due to changes in ground adhesion conditions or control errors, and their overall risk is generally higher than that of continuous low-speed walking.
[0200] Therefore, this implementation adopts a deceleration strategy instead of a stop-and-go approach, replacing the traditional stop-and-start method. This allows the robot to reduce or even avoid complete stops when reaching the starting pose of the current local path planning. When dealing with local planning failures, this method can both relax planning constraints and increase the success rate of replanning by reducing speed, and maximize the maintenance of the robot's motion continuity and dynamic balance, thereby improving the smoothness, energy efficiency, and safety of the navigation process as a whole.
[0201] If the cumulative number of local path planning attempts exceeds the threshold set for the first attempt, it indicates that the strategy based on the first local path replanning cannot successfully generate a local navigation path. In this case, the control system can attempt to execute a different strategy than the first local path replanning, i.e., execute a second local path replanning.
[0202] It should be understood that the second local path replanning includes, but is not limited to, switching to a backup path planning algorithm, expanding the local search space, and temporarily adjusting the robot's gait or movement mode. Through the above planning strategies, the control system attempts to regenerate the local navigation path.
[0203] If a local navigation path cannot be successfully generated after the second local path replanning, the local area is determined to be temporarily inaccessible, and a navigation failure message is output to notify the task system or user terminal to perform manual intervention.
[0204] The above implementation method, by setting a multi-level replanning strategy, aims to improve the robustness of the robot in generating feasible paths in complex or dynamic environments while ensuring planning efficiency.
[0205] It should also be noted that since a deceleration process is performed each time a replanning attempt is made based on the first local path, the threshold value for the first count described above is not a fixed value, but can be dynamically calculated and limited based on the deceleration value used during the deceleration process and the robot's walking speed before the start of this replanning cycle.
[0206] Specifically, the control system can estimate the number of replanning attempts required to reduce the speed to near rest based on a preset deceleration, initial speed, and the theoretical time required for a single replanning attempt. The first attempt threshold is then set to an integer value slightly lower than this estimate. In this way, it can be ensured that within the first attempt threshold range, even if each attempt fails and deceleration is implemented, the robot's final speed can still be maintained in a controllable low-speed state that is not stationary.
[0207] If the robot fails to generate a local path after performing the first replanning based on the threshold, its walking speed has typically dropped to almost a standstill. If it continues to attempt replanning using the first local path with deceleration as the core strategy, the improvement in planning success rate will be weakened because the speed adjustment space is very limited, and it may even cause the robot to get stuck in an inefficient loop.
[0208] Therefore, the control system can switch to a process based on the second local path replanning. This allows for path planning attempts using a different strategy than the first planning method when the robot is stationary, thus avoiding ineffective attempts due to a single strategy and improving the robot's planning recovery capability and overall navigation efficiency in complex scenarios.
[0209] Optionally, one possible implementation of the second local path replanning process may include: controlling the robot to enter a stationary state and performing local path replanning in the stationary state; if the number of consecutive successful generation of local navigation paths in the stationary state exceeds a second threshold, then resetting the accumulated planning count to zero and controlling the robot to resume walking along the newly generated local navigation path; if a local navigation path is not successfully generated in the stationary state, or the number of consecutive successful generation does not exceed the second threshold, then obtaining the duration of the robot's stationary state; if the duration of the stationary state does not exceed a preset duration, then generating a voice prompt and continuing to perform local path replanning in the stationary state; if the duration of the stationary state exceeds the preset duration, then re-invoking the path planning model and performing local path replanning based on the new path planning model; wherein, the new path planning model includes updated environmental perception information.
[0210] Specifically, when the control system controls the robot to decelerate until it enters a near-stationary state, if the first local path replanning is still unsuccessful, the control system can switch to executing the second local path replanning. At this time, the robot continues to attempt local path replanning based on the new process while in a stationary posture.
[0211] If the control system successfully generates a local navigation path during a new process attempt, to ensure that this success is not a random "false success" (e.g., an unreliable path generated by instantaneous sensor noise or algorithmic randomness), or to avoid the path rapidly failing again due to slight dynamic changes in the environment, the control system will not immediately determine that the final planning is successful. Instead, it will continue to perform multiple consecutive replanning verifications based on the same environmental information. Only when the number of consecutive successful local navigation path generation exceeds a preset second threshold does the control system confirm that the path generation is stable and reliable, and thus determine that the planning is truly successful. Subsequently, the control system resets the previously accumulated planning count to zero and controls the robot to resume walking along the newly generated and verified local navigation path, re-entering the navigation process.
[0212] If the control system continues with the new strategy but still fails to generate a local navigation path, or if the number of consecutive successful generation does not exceed the second threshold, it indicates that under the current strategy, the system may be temporarily unable to find a safe and feasible local path, or the planning results are still unstable. In this case, the control system can obtain the duration of the robot's stay in a stationary state and compare this duration with a preset duration.
[0213] If the duration does not exceed the preset duration, it indicates that the robot's planned obstacle state is still within the system's tolerance range. The current environment may only be causing planning difficulties due to temporary, localized dynamic obstacles (such as brief gatherings of people or occlusion by moving objects). In this case, the control system can generate and output voice prompts (e.g., "Planning a path, please be careful to avoid obstacles"). This can alert the robot to the current state of potential dynamic obstacles (such as pedestrians or other mobile devices) in the surrounding area, prompting it to actively adjust its movement route or maintain distance. This may alter the spatial structure of the local environment, creating more favorable conditions for subsequent path planning and thus increasing the likelihood of successful planning.
[0214] In this way, without actively moving the robot, the local spatial structure can be changed in a favorable way through environmental interaction, creating more relaxed conditions for subsequent path planning and thus increasing the likelihood of successful planning in a static state.
[0215] If the duration exceeds a preset time, the control system can determine that the current environment may have changed or will not change (e.g., changes in obstacle layout, long-term obstruction of passages), or that the original environmental perception information can no longer accurately reflect the real environment due to insufficient timeliness, local blind spots, etc., leading to continuous planning failures based on this information. In this case, the control system can re-invoke the path planning model and actively acquire environmental perception information updated with the latest sensor data from the model (e.g., re-scanning the surrounding environment through multi-sensor fusion, or receiving real-time updated map data from external systems). Then, based on the updated environmental perception information, local path replanning is performed to overcome planning bottlenecks by refreshing the environmental perception information, thereby restoring navigation capabilities in changing environments.
[0216] The above implementation method, through multi-round verification in a static state, interactive voice prompts in the environment, and proactive updates of environmental information, can effectively distinguish between temporary planning difficulties and continuous environmental changes in complex dynamic environments. This improves the robot's recovery efficiency and navigation robustness after planning failures while ensuring path reliability.
[0217] In the above implementation process, an optional implementation method for continuing local path replanning after updating the environmental perception information may include: replanning the local path based on the new path planning model; if the number of consecutive successful local navigation path generation exceeds the third threshold, the cumulative planning count is reset to zero, and the robot is controlled to resume walking along the newly generated local navigation path; if the local navigation path is not successfully generated, or the number of consecutive successful generation does not exceed the third threshold, the robot is controlled to adjust its pose to update the current local starting point pose; and based on the updated current local starting point pose, local path replanning continues.
[0218] See also Figure 6 Specifically, based on the updated environmental perception information, when re-attempting planning, if a local navigation path is successfully generated, to ensure it is not a random "false success" or to avoid the path quickly failing again due to slight dynamic changes in the environment, the control system can continue to perform multiple consecutive re-planning verifications based on the same environmental information. Only when the number of consecutively successful local navigation path generation exceeds a preset threshold of three consecutive attempts does the control system confirm that path generation is stable and reliable, thus determining it as a true planning success. Subsequently, the control system resets the previously accumulated planning count to zero and controls the robot to resume walking along the newly generated and verified local navigation path, re-entering the navigation process.
[0219] If the control system still fails to generate a local navigation path based on the updated environmental perception information, or if the number of consecutive successful path generation does not exceed the threshold of the third success, it indicates that the control system still cannot find a safe and feasible local path under the updated environmental perception information, or the planning result is still unstable. In this case, the control system can control the robot to make small pose adjustments (e.g., a limited-angle rotation or slight translation in place) to update the current local starting point pose. Subsequently, based on the updated current local starting point pose, the control system continues to replan the local path to further improve the path planning success rate in extremely complex scenarios.
[0220] In this embodiment, pose adjustment may include moving towards the rotating machine position. Based on this, an optional implementation of replanning the local path based on the updated current local starting point pose may include: controlling the robot to perform multiple orientation rotations according to a preset rotation angle and direction, and replanning the local path based on the current local starting point pose after each rotation; if, after any number of rotations, the number of consecutive successful local navigation path generation exceeds a fourth threshold, then the accumulated planning count is reset to zero, and the robot is controlled to resume walking along the newly generated local navigation path; if, after rotating to the initial orientation, a local navigation path is not successfully generated or the number of consecutive successful generation does not exceed the fourth threshold, then the robot is controlled to move its position to continue updating the current local starting point pose; based on the updated current local starting point pose after the position movement, the local path is replanned.
[0221] See also Figure 6 Specifically, when adjusting the pose, the control system can adjust based on the robot's position and orientation separately. This means first controlling the robot to attempt multiple rotations according to preset rotation angles and directions. After each rotation, the control system immediately replans the local path based on the updated local starting point pose.
[0222] If a local navigation path is successfully generated after any rotation attempt, the control system can, to ensure it is not a random "false success" or to prevent the path from quickly failing again due to slight dynamic changes in the environment, continue to perform multiple consecutive replanning and verification based on the same environmental information. When the number of consecutive successful local navigation path generation exceeds a preset fourth threshold, it indicates that a stable and feasible path has been found in that orientation. At this point, the control system resets the previously accumulated planning count to zero and controls the robot to resume walking along the newly generated local navigation path in that orientation.
[0223] If the robot rotates one full circle, that is, rotates to the same orientation as the initial orientation, and still fails to successfully generate a local navigation path in any orientation, or fails to generate a path successfully in a certain orientation for more than four consecutive times, it indicates that simply changing the orientation is insufficient to solve the current planning dilemma.
[0224] At this point, the control system will control the robot to make small positional movements, such as moving backward or sideways by one step, to further update the current local starting pose. Subsequently, based on the updated local starting pose, the control system will re-enter the aforementioned cycle of orientation rotation and path planning, or directly replan the local path.
[0225] Through the aforementioned progressive pose adjustment, the control system can systematically explore the feasibility of paths under different starting states with low energy consumption and small movement amplitude, thereby effectively improving the robot's ability to autonomously recover navigation when it is in a complex trapped scenario.
[0226] In the above process, an optional implementation method for replanning the local path based on the updated local starting point pose after position movement may include: controlling the robot to move multiple times according to different movement decelerations or different movement directions, and replanning the local path based on the updated local starting point pose after each movement; if the number of consecutive successful local navigation path generation exceeds the fifth threshold after any number of movements, the accumulated planning count is reset to zero, and the robot is controlled to resume walking along the newly generated local navigation path; if the number of movements exceeds the sixth threshold and no local navigation path is successfully generated or the number of consecutive successful generation does not exceed the fifth threshold, a help command is sent to the robot's corresponding control terminal, and a navigation failure prompt message is output simultaneously.
[0227] See also Figure 6 Specifically, when controlling the robot to move, the control system can make the robot attempt to move multiple times at different speeds (e.g., with different amplitudes) or different directions (e.g., forward, backward, left, right, or combinations thereof).
[0228] After each movement is completed, the control system can immediately replan the local path based on the updated local starting pose (i.e., the robot's new position).
[0229] If a local navigation path is successfully generated after any movement attempt, to ensure it is not a random "false success" or to prevent the path from quickly failing again due to slight dynamic changes in the environment, the control system can continue to perform multiple consecutive replanning and verification based on the same environmental information. When the number of consecutive successful local navigation path generation exceeds a preset fifth threshold, it indicates that a stable and feasible path has been found in that orientation. At this point, the control system resets the previously accumulated planning count to zero and controls the robot to resume walking along the newly generated local navigation path in that orientation.
[0230] If, after exceeding the preset sixth threshold number of position movement attempts, a local navigation path is still not successfully generated in any post-movement pose, or if the number of consecutive successful local navigation path generation attempts reaches the preset fifth threshold number, it indicates that the system's preset autonomous pose adjustment strategy (including multiple orientation rotations and multi-directional position movements) is no longer able to plan a safe and feasible path in the current local environment. This situation usually means that the robot may be trapped in an extremely complex, highly constrained, or dynamically uncertain environment, such as being completely surrounded by dense obstacles, in an area of unstructured terrain abrupt changes, or encountering continuous dynamic disturbances.
[0231] At this point, the control system can determine that autonomous navigation recovery has failed and proactively trigger a help-seeking mechanism. Specifically, the control system can send a help-seeking command containing the current pose, environmental perception summary, and failure reason code to the task system or user terminal. Simultaneously, the control system can also synchronously output navigation failure information through the robot's local output device, such as issuing a voice announcement: "Autonomous planning failed, requesting remote assistance," or displaying the current status code and a brief explanation on the screen.
[0232] The above implementation method, through multi-strategy position movement and continuous successful verification, can effectively explore feasible paths in complex environments and switch to help mode in time when autonomous capabilities are exhausted. It can achieve a smooth switch to human-machine collaboration mode when autonomous navigation fails. This not only avoids energy consumption and loss caused by the robot getting stuck in an ineffective loop, but also ensures the final feasibility of the task and the overall safety of the system by timely introducing human intervention.
[0233] It should also be noted that the threshold values for each number of iterations defined in the above embodiments can be set independently according to actual control requirements. Each threshold value can be set to the same value to achieve a unified judgment benchmark; alternatively, different values can be set according to the specific characteristics of each replanning strategy to more precisely adapt to the control sensitivity and response characteristics at different stages. In this way, by flexibly setting the thresholds, the configurability and adaptability of the control system are enhanced, enabling the robot to flexibly cope with different navigation scenarios and performance requirements.
[0234] During the intermediate control phase, the robot walks along the generated local navigation path multiple times and updates the remaining distance of the global path until the updated remaining distance of the global path is less than the first preset distance threshold. Then, the control system ends the intermediate control phase and enters the termination control phase.
[0235] During this phase, the control system will instruct the robot to perform termination preparation operations to ensure that it arrives at and docks at the target location accurately and stably.
[0236] In this embodiment, the navigation termination preparation operation may include termination distance adjustment and termination orientation adjustment. Based on this, an optional implementation of controlling the robot to perform the navigation termination preparation operation may include: acquiring the robot's current pose; and, based on the positional relationship between the current pose and the global endpoint pose, controlling the robot to perform a final movement until the robot reaches the global endpoint pose.
[0237] When performing termination distance adjustment, the control system can generate a terminal navigation path based on the robot's current pose and global endpoint pose, combined with current environmental information. The robot then performs the final stage of walking along this path. Optionally, the final stage of walking can employ a small-stride, high-precision gait, and may incorporate near-range positioning corrections using sensors such as vision or lasers, until the robot reaches the global endpoint pose.
[0238] After the robot reaches the global endpoint pose and completes docking, the control system immediately performs a termination orientation adjustment. Specifically, the control system compares the current robot orientation with the target orientation preset for the task. That is, it calculates the angular deviation between the two directions. If the angular deviation is greater than a preset threshold, a robot rotation command is generated based on this angular deviation. According to this command, the control joints coordinate their movements, driving the robot to rotate smoothly and continuously from the current orientation to the target orientation, so that the target robot posture is completely aligned with the preset termination orientation, thereby completing the final termination orientation adjustment.
[0239] The above implementation method, by performing precise approach to the endpoint pose and body orientation adjustment step by step in the termination control stage, enables the robot to stably and accurately reach the predetermined target point and stop in a standardized posture at the end of the navigation task, thereby improving the completion accuracy of the navigation task and the reliability of the terminal posture control.
[0240] In the process of implementing the above method, in order to avoid the risk of the robot getting stuck in repeated detours due to obstacles when approaching the global endpoint pose, this embodiment performs obstacle detection on the global endpoint pose before the robot approaches the target, and dynamically adjusts the endpoint pose or adopts obstacle avoidance strategy according to the detection results, so as to ensure that the robot can complete the navigation task safely and stably.
[0241] Based on this, an optional implementation of obstacle detection at the global endpoint may include: determining the target area where the global endpoint pose is located, with the global endpoint pose as the region center and a preset first distance length as the radius; wherein, the preset distance is determined based on the robot radius and a preset safety distance; acquiring a preset number of sampling points in the target area; performing obstacle detection on each sampling point to determine the obstacle detection result of the target area; wherein, the obstacle detection result includes whether there are obstacles in the target area, and obstacle attribute information when obstacles exist.
[0242] See Figure 7 In this embodiment, the first distance length can be set as the sum of the robot radius and a preset safety distance, wherein the preset safety distance can be configured according to factors such as the robot's motion characteristics, control precision, and environmental uncertainties. The target area determined in this way can ensure that the robot has sufficient operating space and safety margin when it reaches the destination, avoiding the risk of collision or attitude adjustment failure due to insufficient space.
[0243] Considering the large number of environmental information points in the target area, obstacle detection based on all points would lead to excessive computational load and reduced real-time performance of the control system. Therefore, this implementation sets a preset number of sampling points and performs obstacle detection based on these points, significantly reducing computational complexity while ensuring the representativeness of environmental perception. Specifically, the distribution density and number of sampling points can be adaptively configured according to sensor accuracy, area size, and navigation real-time requirements, achieving an effective balance between computational efficiency and the completeness of environmental perception.
[0244] Alternatively, sampling points can be selected in various ways, such as: uniformly distributed radially and circumferentially in polar coordinates; uniformly sampled in gridded coordinates; or densely sampled in areas where obstacles may exist, and sparsely sampled in open areas, based on prior environmental information.
[0245] Based on this, obstacle detection is performed at each sampling point using environmental perception sensors mounted on the robot. These sensors may include, but are not limited to, one or more combinations of LiDAR, depth cameras, and ultrasonic sensors. During detection, distance information, reflection intensity information, or 3D point cloud information can be acquired for each sampling point, and the system can determine whether the point is occupied by an obstacle based on preset obstacle discrimination thresholds (such as minimum distance thresholds, point cloud density thresholds, etc.).
[0246] By combining the detection results from all sampling points, an overall obstacle detection result for the target area is generated. The detection result includes whether obstacles exist within the target area, and the corresponding obstacle attribute information when obstacles exist. Here, the attribute information may further include at least one of the following: obstacle type (static / dynamic), size, outline geometric features, position coordinates, and relative orientation relationship with the global endpoint.
[0247] By using the obstacle detection methods described above, the robot can assess its surrounding environment before navigating to the destination, providing accurate environmental perception input for subsequent destination arrival strategies, obstacle avoidance decisions, or path fine-tuning, thereby improving the robot's reliability, safety, and destination pose accuracy during navigation.
[0248] In the above implementation process, an optional implementation method for obtaining a preset number of sampling points in the target area may include: obtaining the area radius of the target area; determining the radius distribution ratio of the multi-layer concentric circles based on the area radius; determining the multi-layer concentric circles of the target area based on the radius distribution ratio; setting sampling points at preset second distance intervals for any layer of concentric circles; and obtaining the sampling points in the target area based on the sampling points set on each layer of concentric circles.
[0249] See also Figure 7 Specifically, the radius of the target area is obtained, which corresponds to a preset first distance length. Then, based on the area radius, the radius distribution ratio of the multiple concentric circles is determined. For example, the area radius can be divided into several equal segments, or a non-linear ratio (such as logarithmic or exponential distribution) can be used to divide it, in order to achieve sampling coverage with different densities from the center to the edge.
[0250] Based on the radius distribution ratio, multiple concentric circles are determined within the target area. The radius of each concentric circle is calculated from the distribution ratio, with the global endpoint pose as its center.
[0251] For example, if five concentric circles are set, the radius of the first layer is 20% of the area radius, the radius of the second layer is 40% of the area radius, the radius of the third layer is 60% of the area radius, the radius of the fourth layer is 80% of the area radius, and the radius of the fifth layer is 100% of the area radius.
[0252] By using this sampling method that expands layer by layer from the inside out, high-density obstacle detection can be achieved in the inner layer area near the global endpoint to capture detailed environmental information around the endpoint; at the same time, the outer layer area is covered with appropriate density to balance detection efficiency and the integrity of area perception.
[0253] For any concentric circle, a sampling point is set at a predetermined second distance interval along its circumference. The second distance interval can be set according to the sensor resolution, environmental feature granularity, and detection accuracy requirements, for example, it can be set to 1 / 2 to 1 times the projected length of the robot's foot. If the circumference length is not an integer multiple of the second distance interval, the position of the last sampling point can be adjusted to ensure uniform coverage of the circumference.
[0254] Based on the sampling points set on the concentric circles of each layer, all sampling points in the target area are summarized.
[0255] In the above method, by using a multi-layer concentric circle sampling structure, a high density of sampling points can be set in the inner region near the global endpoint to capture the details of obstacles around the endpoint in detail; the sampling density is appropriately reduced in the outer region far from the endpoint to balance detection efficiency and the integrity of regional coverage, thereby achieving effective characterization of the obstacle distribution in the entire target area with a limited number of sampling points.
[0256] Based on the generated sampling points, obstacle detection is performed on each sampling point to determine the obstacle detection results for the target area. One optional implementation may include: acquiring a regional obstacle heatmap of the target area; wherein the regional obstacle heatmap is generated based on a local cost map and is used to characterize the obstacle distribution probability at each location within the target area; for any sampling point, querying the occupancy status of the sampling point's location in the regional obstacle heatmap; wherein the occupancy status characterizes the degree to which the sampling point is occupied by obstacles; and determining the obstacle detection results for the target area based on the occupancy status of each sampling point.
[0257] See also Figure 7 In this embodiment, the regional obstacle heatmap is pre-generated based on a local cost map. The value of each grid or pixel in the heatmap can be used to characterize the probability or occupancy degree of an obstacle at the corresponding location; a higher value indicates a greater likelihood that the location is occupied by an obstacle. This heatmap is obtained by fusing multi-frame sensor data (such as LiDAR point clouds, depth images, etc.) and then filtering, projecting, and updating the probability, thus reflecting the spatial distribution characteristics of obstacles within the target area.
[0258] For any sampling point, the corresponding grid or pixel value in the obstacle heatmap of the area is retrieved based on its coordinates, which serves as the occupancy status of that sampling point. The occupancy status can be represented by continuous probability values or discrete levels, depending on the method of constructing the heatmap and the decision-making requirements of the navigation system.
[0259] Based on the occupancy status of each sampling point, the overall obstacle detection result of the target area is determined comprehensively. Specifically, the number and distribution characteristics of points that are occupied or exceed a preset probability threshold among all sampling points can be counted. If there are continuous or clustered occupied points, it can be determined that there are obstacles in the area, and further attribute information such as the outline, centroid position, and occupied area of the obstacles can be extracted based on the spatial distribution of these points. If the occupancy status of all sampling points is below the preset threshold, it is determined that there are no obstacles in the target area.
[0260] In the above embodiments, by using a sampling point query method based on regional obstacle heatmaps, obstacle detection in a continuous environment can be transformed into a rapid retrieval of structured probability data. This reduces computational load while ensuring perception accuracy, thereby improving the efficiency and reliability of the robot's real-time safety assessment of the destination area.
[0261] In the implementation of the above method, an optional implementation method for determining the obstacle detection result of the target area based on the occupancy status of each sampling point may include: if at least one sampling point is in an occupied state, then it is determined that there is an obstacle in the target area; if all sampling points are in a free state, then it is determined that there is no obstacle in the target area.
[0262] See also Figure 7 Specifically, a threshold for determining occupancy status can be set first. For example, in a region obstacle heatmap based on probability values, sampling points with a probability value greater than or equal to 0.5 can be determined as occupied, while those with a probability value less than 0.5 can be determined as free. In a heatmap based on discrete levels, the status can be directly classified based on labels such as occupied, potentially occupied, and free.
[0263] Subsequently, the occupancy status of all sampling points is traversed and statistically analyzed. If at least one sampling point is in an occupied state, it is determined that an obstacle exists within the target area.
[0264] At this point, the obstacle's attribute information can be extracted based on the number, distribution density, and spatial location of the occupied sampling points. Then, a corresponding obstacle avoidance strategy can be generated based on the attribute information, and the robot can be controlled to execute the obstacle avoidance strategy to reach the global endpoint pose.
[0265] If all sampling points are in a free state, it is determined that there are no obstacles within the target area. In this case, the target area is considered a safe and passable area, and the robot can directly plan a path to the global endpoint.
[0266] The obstacle detection method based on multi-layer concentric circle sampling and heatmap query can reduce computational complexity and improve the efficiency and reliability of the robot in real-time safety assessment of the destination area in dynamic environments while ensuring the accuracy of environmental perception.
[0267] During the implementation of the above method, when the control system detects an obstacle in the target area, the control system can also obtain the historical number of obstacle detections. If the historical number of detections is greater than or equal to a preset threshold, the robot is controlled to stop walking, and a navigation failure message is generated and output. If the historical number of detections is less than the preset threshold, the cumulative number of detections is incremented by one, and the attribute information of the obstacle is obtained. Then, a corresponding obstacle avoidance strategy is generated based on the attribute information, and the robot is controlled to execute the obstacle avoidance strategy to reach the global endpoint pose.
[0268] See also Figure 7 Specifically, when the control system detects an obstacle within the target area, it acquires the historical number of obstacle detections performed. This number records the cumulative value of continuous or periodic obstacle detections performed on the same target area. This value can be used to evaluate the robot's sustained effort in attempting to reach the endpoint pose.
[0269] Next, the historical number of detections is compared with a preset threshold. The preset threshold can be set according to the urgency of the task, the dynamic nature of the environment, and the fault tolerance of the system.
[0270] If the number of historical detections is greater than or equal to a preset threshold, it indicates that the robot has attempted multiple times but the destination area is still occupied by obstacles. This may mean that the obstacle is a long-term static obstacle or a persistent dynamic obstacle. In this case, the control system will stop the robot to avoid invalid attempts or collision risks, and simultaneously generate and output a navigation failure message.
[0271] Here, the prompt information may include the reason for failure (such as the finish line area being continuously occupied), obstacle attributes, and suggested actions (such as waiting or resetting the finish line).
[0272] If the number of historical detections is less than the preset threshold, the control system will increment the cumulative number of detections by one and extract the obstacle's outline, occupied area, and relative position to the global endpoint, among other attribute information.
[0273] Subsequently, the control system generates corresponding obstacle avoidance strategies based on the attribute information. For example, if the obstacle is static and small in size, a detour path is generated; if the obstacle is dynamic and moves slowly, a waiting or cooperative avoidance strategy is generated; if the obstacle occupies most of the area, a local endpoint fine-tuning strategy is generated to adjust the arrival posture within a safe range.
[0274] Based on this, the control system controls the robot to execute obstacle avoidance strategies and retry to reach the global endpoint pose.
[0275] In the above approach, by making decisions based on the number of historical detections, invalid navigation can be stopped in a timely manner when obstacles persist, avoiding waste of system resources and potential risks. At the same time, in scenarios with solvable obstacles, the navigation success rate can be improved by adjusting the strategy.
[0276] See also Figure 7 Based on the above implementation, the attribute information may include the relative distance between the obstacle and the robot. Based on this, an optional implementation of generating a corresponding obstacle avoidance strategy from the attribute information and controlling the robot to execute the obstacle avoidance strategy may include: if the relative distance is greater than a preset relative distance threshold, generating and controlling the robot to execute a first obstacle avoidance strategy that simultaneously includes voice prompts and a preset detour path; if the relative distance is less than or equal to a preset relative distance threshold, generating and controlling the robot to execute a second obstacle avoidance strategy.
[0277] The second obstacle avoidance strategy includes issuing a voice prompt and waiting for a preset time, while re-extracting the obstacle's attribute information during the waiting period; if the attribute information changes, the obstacle avoidance strategy is regenerated; if it does not change, the robot is controlled to stop walking, and a navigation failure prompt message is generated and output.
[0278] It should be noted that for a detailed description of the decision-making and execution process of the above obstacle avoidance strategy, please refer to the relevant description above. For the sake of brevity, it will not be repeated here.
[0279] Based on the above implementation method, after controlling the robot to execute the obstacle avoidance strategy, the control system also returns to execute the determination of the remaining distance of the global path and subsequent steps until the robot reaches the global endpoint pose.
[0280] See also Figure 7 Specifically, after successfully executing the obstacle avoidance strategy, the control system can reassess the relative relationship between the robot's current pose and the global endpoint pose. That is, the control system re-determines the remaining distance between the current pose and the global endpoint pose, which can be calculated using Euclidean distance or a path planning algorithm.
[0281] If the remaining distance is still greater than the preset first distance length (i.e., the radius of the target area), the control system continues to control the robot to walk along the global path towards the destination.
[0282] When the robot travels to the point where the remaining distance equals the first distance, it re-enters the target area. The control system will then re-trigger the obstacle detection process in the target area, which involves generating sampling points based on a multi-layer concentric circle method, querying the obstacle heatmap of the area to obtain the occupancy status of each sampling point, and determining whether there are obstacles in the target area.
[0283] If there are no obstacles in the target area at this time, the control system will control the robot to walk directly to the global endpoint pose and complete the navigation task.
[0284] If obstacles still exist within the target area, the control system will make another decision on whether to continue attempting obstacle avoidance or stop navigation based on the updated historical detection count and obstacle attribute information.
[0285] In this way, the robot can continuously evaluate the environment and replan after executing the obstacle avoidance strategy, thereby achieving stable and adaptive progressive navigation in a dynamically changing environment, and ultimately ensuring a safe and reliable arrival at the target destination.
[0286] Figure 8 This is a structural schematic diagram of the robot navigation and obstacle avoidance device provided in this application. Figure 8 As shown, the robot navigation and obstacle avoidance device 80 provided in this embodiment includes:
[0287] The global path remaining distance determination module 801 is used to determine the global path remaining distance between the robot's current pose and the global endpoint pose in response to navigation commands.
[0288] The obstacle detection result acquisition module 802 is used to perform obstacle detection on the target area where the global endpoint is located if the remaining distance of the global path is less than a second preset distance threshold, and obtain the obstacle detection result of the target area.
[0289] The first walking module 803 is used to control the robot to continue walking on the current navigation path if the obstacle detection result of the target area indicates that there are no obstacles in the target area, until the robot reaches the global endpoint pose; wherein, the obstacle is an obstacle that prevents the robot from reaching the global endpoint.
[0290] The attribute information acquisition module 804 is used to acquire the attribute information of the obstacle if the obstacle detection result of the target area indicates that there is an obstacle in the target area;
[0291] The second walking module 805 is used to generate corresponding obstacle avoidance strategies based on attribute information and control the robot to execute the obstacle avoidance strategies in order to reach the global endpoint pose.
[0292] In one optional implementation, the obstacle detection result acquisition module 802, when performing obstacle detection on the target area where the global endpoint is located and obtaining the obstacle detection result of the target area, is specifically used for:
[0293] Using the global endpoint pose as the region center and a preset first distance length as the radius, the target region where the global endpoint pose is located is determined; wherein, the preset distance is determined based on the robot's robot radius and a preset safety distance;
[0294] Obtain a preset number of sampling points in the target area;
[0295] Obstacle detection is performed at each sampling point to determine the obstacle detection results for the target area. The obstacle detection results include whether there are obstacles in the target area and the obstacle attribute information when obstacles exist.
[0296] In one optional implementation, the obstacle detection result acquisition module 802, when acquiring a preset number of sampling points in the target area, is specifically used for:
[0297] Obtain the radius of the target region;
[0298] Determine the radius distribution ratio of the multi-layered concentric circles based on the region radius;
[0299] Based on the radius distribution ratio, determine the multiple concentric circles of the target area;
[0300] For any concentric circle layer, sampling points are set at preset second distance intervals;
[0301] Based on the sampling points set on the concentric circles of each layer, the sampling points in the target area are obtained.
[0302] In one optional implementation, the obstacle detection result acquisition module 802, when performing obstacle detection on each sampling point and determining the obstacle detection result of the target area, is specifically used for:
[0303] Obtain a regional obstacle heatmap of the target area; wherein, the regional obstacle heatmap is generated based on a local cost map and is used to characterize the probability of obstacle distribution at each location within the target area;
[0304] For any sampling point, query the occupancy status of the sampling point's location in the regional obstacle heatmap; where the occupancy status represents the degree to which the sampling point is occupied by obstacles;
[0305] Based on the occupancy status of each sampling point, the obstacle detection results for the target area are determined.
[0306] In one optional implementation, the obstacle detection result acquisition module 802, when determining the obstacle detection result of the target area based on the occupancy status of each sampling point, is specifically used for:
[0307] If at least one sampling point is in an occupied state, then it is determined that there is an obstacle in the target area;
[0308] If all sampling points are in a free state, then it is determined that there are no obstacles in the target area.
[0309] In one optional implementation, if the obstacle detection result of the target area indicates that there is an obstacle in the target area, the second walking module 805 is further configured to:
[0310] If the number of historical detections is greater than or equal to the preset threshold, the robot will stop walking and a navigation failure message will be generated and output.
[0311] If the number of historical detections is less than the preset threshold, the cumulative number of detections is incremented by one, and the attribute information of the obstacle is obtained.
[0312] In one alternative implementation, the attribute information includes the relative distance between the obstacle and the robot; and the historical number of obstacle detections performed.
[0313] The second walking module 805, when generating corresponding obstacle avoidance strategies based on attribute information and controlling the robot to execute these strategies, is specifically used for:
[0314] If the relative distance is greater than the preset relative distance threshold, then generate and control the robot to execute the first obstacle avoidance strategy that includes both voice prompts and preset detour paths;
[0315] If the relative distance is less than or equal to a preset relative distance threshold, then generate and control the robot to execute a second obstacle avoidance strategy;
[0316] The second obstacle avoidance strategy includes issuing a voice prompt and waiting for a preset time, while re-extracting the obstacle's attribute information during the waiting period; if the attribute information changes, the obstacle avoidance strategy is regenerated; if it does not change, the robot is controlled to stop walking, and a navigation failure prompt message is generated and output.
[0317] In one alternative implementation, the second walking module 805, after controlling the robot to execute the obstacle avoidance strategy, is further configured to:
[0318] Return to the previous step to determine the remaining distance of the global path and subsequent steps, until the robot reaches the global endpoint pose.
[0319] In one optional implementation, the global path remaining distance determination module 801, when determining the global path remaining distance between the robot and the global endpoint pose in response to navigation commands, is specifically used for:
[0320] In response to navigation commands, global path planning is performed based on the global starting point pose and global ending point pose indicated by the navigation commands to generate a navigation path;
[0321] Control the robot to walk along the navigation path, and update the remaining distance of the global path based on the robot's real-time position and the global endpoint pose.
[0322] The robot navigation and obstacle avoidance device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.
[0323] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0324] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0325] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0326] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0327] The division of units is merely a logical functional division; 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 coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0328] 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.
[0329] In addition, the functional units in the various embodiments of the present invention 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.
[0330] If a function 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, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0331] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0332] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A robot navigation and obstacle avoidance method, characterized in that, Applied to robots, the methods include: In response to navigation commands, determine the remaining global path distance between the robot's current pose and the global endpoint pose; If the remaining distance of the global path is less than the second preset distance threshold, then obstacle detection is performed on the target area where the global endpoint is located, and the obstacle detection result of the target area is obtained; If the obstacle detection result of the target area indicates that there are no obstacles in the target area, the robot is controlled to continue walking on the current navigation path until the robot reaches the global endpoint pose; where obstacles are those that prevent the robot from reaching the global endpoint. If the obstacle detection results for the target area indicate the presence of an obstacle within the target area, then the attribute information of the obstacle is obtained; Based on the attribute information, a corresponding obstacle avoidance strategy is generated, and the robot is controlled to execute the obstacle avoidance strategy in order to reach the global endpoint pose.
2. The method according to claim 1, characterized in that, Obstacle detection is performed on the target area where the global endpoint is located, and the obstacle detection results for the target area are obtained, including: Using the global endpoint pose as the region center and a preset first distance length as the radius, the target region where the global endpoint pose is located is determined; wherein, the preset distance is determined based on the robot's robot radius and a preset safety distance; Obtain a preset number of sampling points in the target area; Obstacle detection is performed at each sampling point to determine the obstacle detection results for the target area. The obstacle detection results include whether there are obstacles in the target area and the obstacle attribute information when obstacles exist.
3. The method according to claim 2, characterized in that, Obtain a preset number of sampling points in the target area, including: Obtain the radius of the target region; Determine the radius distribution ratio of the multi-layered concentric circles based on the region radius; Based on the radius distribution ratio, determine the multiple concentric circles of the target area; For any concentric circle layer, sampling points are set at preset second distance intervals; Based on the sampling points set on the concentric circles of each layer, the sampling points in the target area are obtained.
4. The method according to claim 2, characterized in that, Obstacle detection is performed at each sampling point to determine the obstacle detection results for the target area, including: Obtain a regional obstacle heatmap of the target area; wherein, the regional obstacle heatmap is generated based on a local cost map and is used to characterize the probability of obstacle distribution at each location within the target area; For any sampling point, query the occupancy status of the sampling point's location in the regional obstacle heatmap; where the occupancy status represents the degree to which the sampling point is occupied by obstacles; Based on the occupancy status of each sampling point, the obstacle detection results for the target area are determined.
5. The method according to claim 4, characterized in that, Based on the occupancy status of each sampling point, the obstacle detection results for the target area are determined, including: If at least one sampling point is in an occupied state, then it is determined that there is an obstacle in the target area; If all sampling points are in a free state, then it is determined that there are no obstacles in the target area.
6. The method according to claim 5, characterized in that, If the obstacle detection results for the target area indicate the presence of an obstacle within the target area, the method further includes: Obtain the historical number of obstacle detections performed; If the number of historical detections is greater than or equal to the preset threshold, the robot will stop walking and a navigation failure message will be generated and output. If the number of historical detections is less than the preset threshold, the cumulative number of detections is incremented by one, and the attribute information of the obstacle is obtained.
7. The method according to any one of claims 1-6, characterized in that, Attribute information includes the relative distance between obstacles and the robot; Generate corresponding obstacle avoidance strategies based on attribute information, and control the robot to execute the obstacle avoidance strategies, including: If the relative distance is greater than the preset relative distance threshold, then generate and control the robot to execute the first obstacle avoidance strategy that includes both voice prompts and preset detour paths; If the relative distance is less than or equal to a preset relative distance threshold, then generate and control the robot to execute a second obstacle avoidance strategy; The second obstacle avoidance strategy includes issuing a voice prompt and waiting for a preset time, while re-extracting the obstacle's attribute information during the waiting period; if the attribute information changes, the obstacle avoidance strategy is regenerated; if it does not change, the robot is controlled to stop walking, and a navigation failure prompt message is generated and output.
8. The method according to any one of claims 1-6, characterized in that, After controlling the robot to execute the obstacle avoidance strategy, the method also includes: Return to the previous step to determine the remaining distance of the global path and subsequent steps, until the robot reaches the global endpoint pose.
9. The method according to any one of claims 1-6, characterized in that, In response to navigation commands, determine the remaining global path distance between the robot and the global endpoint pose, including: In response to navigation commands, global path planning is performed based on the global starting point pose and global ending point pose indicated by the navigation commands to generate a navigation path; Control the robot to walk along the navigation path, and update the remaining distance of the global path based on the robot's real-time position and the global endpoint pose.
10. A robot, characterized in that, include: Memory, processor; The memory stores instructions that the computer executes; The processor executes computer execution instructions stored in memory, causing the processor to perform the method as claimed in any one of claims 1-9.
Citation Information
Cited By
Obstacle avoidance navigation method and system for service robot based on spatial topology cognition
CN122526257A