Robot navigation method, device, electronic device and computer storage medium

By building a random tree and combining sampling planning and CBFs, the path planning security problem caused by limited perception capabilities of robots in unknown environments is solved, and efficient and safe navigation is achieved.

CN119124177BActive Publication Date: 2025-03-14SHENZHEN INTELLIGENCE ALLY TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411608538.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-03-14
Estimated Expiration
2044-11-12

AI Technical Summary

Technical Problem

In an unknown environment, due to limited perception capabilities, it is difficult for the robot to automatically plan a safe path. The controllers of the prior art have limitations and cannot effectively ensure safety.

Method used

By building a random tree to explore the state space, combining sampling-based planning and the advantages of CBFs, new node states are generated, and visibility CBF constraints and obstacle avoidance CBF constraints are used as termination conditions, thereby efficiently planning a safe path in unknown environments.

Benefits of technology

While ensuring security, it improves the operation efficiency of robot navigation, adapts to the limited perception ability of robots, and effectively solves the problem of high dependence on security of perceived data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119124177B_ABST
    Figure CN119124177B_ABST
Patent Text Reader

Abstract

The present application discloses a robot navigation method, device, electronic device and computer storage medium, belonging to the field of robot technology. Among them, the method includes: randomly sampling a sampling state in the configuration space; finding the first node state closest to the sampling state in the current vertex in the tree; assigning the orientation angle to the sampling state according to the direction from the first node state to the sampling state; generating a new node state by turning the first node state to the sampling state, and using the visibility CBF constraint and obstacle avoidance CBF constraint as termination conditions during the robot turning process; searching the tree for a global reference path from the target node state to the starting node state. The present application explores the state space by constructing a random tree, which grows from the starting point and eventually expands to the target position, and combines the advantages of sampling-based planning and CBFs to achieve efficient planning of safe paths in unknown environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a robot navigation method, device, electronic device and computer storage medium. Background Art

[0002] Autonomous navigation in unknown environments is a fundamental challenge in robotics and is the basis for advanced tasks such as exploration, search and rescue, and autonomous driving. A general navigation stack has four modules: localization, mapping, path planning, and control. Among them, localization and mapping allow the robot to generate a map of the surrounding environment using onboard sensors, such as simultaneous localization and mapping (SLAM) methods. However, these sensors are often limited by a limited field of view (FOV) and a limited sensing range. For example, the field of view of current RGB-D sensors is typically less than 70°. Therefore, for robots with limited perception capabilities, automatically planning a safe path in an unknown environment remains a technical problem that needs to be solved.

[0003] In the related art, a popular method is to use a controller based on controlled barriers (CBFs) to achieve safety control through a controlled system. These controllers assume that the surrounding obstacles are completely consistent, and in theory, obstacle avoidance is achieved by keeping the robot within a safe range. However, in practical applications, due to the limitations of sensors, these controllers that rely on the robot's perception capabilities have great problems: if the global planner does not take into account the robot's limited perception capabilities in the presence of unknown obstacles, the theoretical safety guarantee will only remain in theory, and there are great limitations in practical applications. There is also another way to improve navigation safety in the case of limited perception capabilities. Some methods use nonlinear optimization to generate or refine perception paths, but this method requires frequent and large-scale calculations of paths, requires a lot of computing resources, and cannot guarantee its convergence. If the calculation cannot converge, it will obviously cause path planning failure. There are also some methods that first plan an initial path and then optimize this initial path based on the perception target to improve safety, but these methods require that the initial path has a certain feasibility, at least the optimized path is in line with the dynamic constraints for the robot and can complete the obstacle avoidance task. If the feasibility of the initial path is too poor, this method will also fail in path planning. There are also some methods that calculate local safety areas during the exploration of candidate paths, taking into account local sensor information and ensuring safety, but such methods require a large storage space to store all combinations of these areas, which will cause the planning module to need to calculate too much data, resulting in large space and time complexity.

[0004] With respect to the above-mentioned problems existing in the related technologies, no effective solutions have been found so far. Summary of the invention

[0005] The present application provides a robot navigation method, device, electronic device and computer storage medium to solve the above-mentioned technical problems existing in the related technology.

[0006] According to one embodiment of the present application, a robot navigation method is provided, including: randomly sampling a sampling state in the configuration space; searching for the first node state closest to the sampling state in the current vertex in the tree; assigning a heading angle to the sampling state according to the direction from the first node state to the sampling state; generating a new node state by turning from the first node state to the sampling state, and using visibility CBF constraints and obstacle avoidance CBF constraints as termination conditions during the robot turning process; and searching for a global reference path from the target node state to the starting node state from the tree.

[0007] According to another embodiment of the present application, a robot navigation device is provided, including: a sampling module, used to randomly sample a sampling state in the configuration space; a search module, used to find the first node state closest to the sampling state in the current vertex in the tree; an assignment module, used to assign a heading angle to the sampling state according to the direction from the first node state to the sampling state; a steering module, used to generate a new node state by steering from the first node state to the sampling state, and using visibility CBF constraints and obstacle avoidance CBF constraints as termination conditions during the robot steering process; and a search module, used to search the tree for a global reference path from the target node state to the starting node state.

[0008] Optionally, the robot navigation device also includes: an extraction module, used to extract a set of nearby nodes within a preset range of the new node; a first calculation module, used to select an initial parent node for the new node in the nearby node set, and calculate a first cost of the path from the initial parent node to the new node; taking the new node as a potential parent node, and calculating a second cost of the path from the potential parent node to any target nearby node in the nearby node set; and a reconnection module, used to reconnect the target nearby node to the new node if the second cost is less than the first cost.

[0009] Optionally, the robot navigation device further includes: a second calculation module, used to take the intersection of the line from the current node to the next node and the boundary as a key point, wherein the boundary represents the collision-free space boundary that has been explored up to the current time; calculate the turning time for the robot to turn and observe the key point and the arrival time required to reach the key point; a construction module, used to construct a visibility constraint based on the turning time and the arrival time, wherein the visibility constraint is that the arrival time is greater than or equal to the turning time; based on the visibility constraint, the following visibility CBF constraint is constructed : ;in, ; ; , K3 is a pre-set positive constant, is the turning time, is the arrival time.

[0010] Optionally, the second calculation module includes a first calculation unit, which is used to obtain the current position of the robot and calculate the distance between the current position and the key point; obtain the robot radius and the maximum tracking error, and calculate the safe path length according to the distance, the robot radius and the maximum tracking error; and use the ratio between the safe path length and the constant speed as the arrival time.

[0011] Optionally, the second calculation module includes a second calculation unit, which is used to obtain the current orientation angle of the robot and calculate the rotation angle of the robot's observation key point; obtain the angular velocity generated by the LQR controller in the time step and the total number of steps required for rotation, and calculate the average angular velocity based on the angular velocity and the total number of steps; and use the ratio of the rotation angle to the average angular velocity as the turning time.

[0012] Optionally, the robot navigation device further includes: a generation module for generating a trajectory of continuous path points in the global reference path; and a tracking module for locally tracking the trajectory using a tracker.

[0013] According to another embodiment of the present application, a computer storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned device embodiments when running.

[0014] According to another embodiment of the present application, there is also provided an electronic device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; wherein: the memory is used to store computer programs; the processor is used to execute the steps in the above method by running the program stored in the memory.

[0015] According to yet another embodiment of the present application, a computer program product comprising instructions is also provided, which enables the computer to execute the steps in the above method when the computer program product is executed on the computer.

[0016] This embodiment explores the state space by constructing a random tree, which grows from the starting point and eventually expands to the target position. It combines the advantages of sampling-based planning and CBFs to achieve efficient planning of safe paths in unknown environments. In order to solve the problem that in traditional path planning algorithms, maintaining safety has a high dependence on perception data, but the perception ability of robots is often limited, this application considers the limited perception ability of robots for efficient and safe navigation, which ensures safety while improving operating efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0018] Figure 1 It is a hardware structure frame of a robot in an embodiment of the present application;

[0019] Figure 2 is a flow chart of a robot navigation method according to an embodiment of the present application;

[0020] Figure 3 It is a structural block diagram of a robot navigation device according to an embodiment of the present application. DETAILED DESCRIPTION

[0021] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only embodiments of a part of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present application. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

[0022] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0023] Example 1

[0024] The method embodiment provided in Embodiment 1 of the present application can be executed in a robot or a similar computing device. Taking running on a robot as an example, Figure 1 : is a hardware structure diagram of a robot in an embodiment of the present application. Figure 1 As shown, the robot may include one or more ( Figure 1 Only one is shown in the figure) a processor 12 (the processor 12 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 13 for storing data. Optionally, the above-mentioned computer may also include a transmission device 11 for communication functions and an input and output device 14. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the robot. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0025] The memory 13 can be used to store robot programs, for example, software programs and modules of application software, such as a robot program corresponding to a robot navigation method in an embodiment of the present application. The processor 12 executes various functional applications and data processing by running the robot program stored in the memory 13, that is, implementing the above method. The memory 13 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.

[0026] The transmission device 11 is used to receive or send data via a network. A specific example of the above network may include a wireless network provided by a communication provider of the robot.

[0027] The relevant theories used in this embodiment are first introduced here.

[0028] This embodiment models the robot as a continuous-time simulation control system: ;in, It's the state. is the control input, is a set of permissible controls for the system, such as the speed and acceleration that can be run on the target robot. Assume that the function and Continuous. Assuming the robot has limited perception capabilities, through the perspective and the maximum sensing range of the onboard sensor To model.

[0029] Quadratic Linear Rectifier (LQR): Use LQR to calculate the optimal control strategy for a linear system and can be obtained by The system is linearized around the nonlinear system, at which point the nonlinear dynamics is established. The first-order Taylor expansion of : ;in, , , , . Given a cost function with infinite time horizon: ;in, and is the weight matrix, and by solving the algebraic Equation, we can calculate the local optimal strategy: ; By solving the following equation we get , the LQR gain matrix is: .

[0030] Barrier control function: Let ,in is a continuously differentiable function. Function h is the barrier control function CBF on the simulation control system. If there exists a Class Functions ,So For all and as well as They represent h along and Direction derivative. Given a set with the relevant CBFh, any continuous Controller , all make For the simulation control system, it is forward invariant, where .

[0031] Higher-order CBF: The concept of CBFs has been extended to higher-order CBFs (HOCBFs), which provide a more general formula that can be used to constrain relative heights. This example focuses on time-invariant HOCBFs.

[0032] For one Differentiable function of order , this embodiment defines a series of functions , specifically:

[0033]

[0034]

[0035]

[0036] ;

[0037] in, express Class functions, This embodiment further defines some sets associated with these functions: like:

[0038]

[0039]

[0040]

[0041]

[0042] HOCBF: Functions For the simulation control system, the relative degree is HOCBF, if there is a differentiable Class Functions For example:

[0043]

[0044] Given a set with a correlation , ,..., ,if HOCBF , then any Controller ,in All make collection For the simulation control system, it is forward invariant.

[0045] In this embodiment, a robot navigation method is provided. Figure 2 is a flow chart of a robot navigation method according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps:

[0046] Step S10, randomly sampling a sampling state in the configuration space;

[0047] Step S20, searching for the first node state in the current vertex in the tree that is closest to the sampling state;

[0048] Step S30, assigning a heading angle to a sampling state according to the direction from the first node state to the sampling state;

[0049] Step S40, generating a new node state by turning the first node state to the sampled state, and taking the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot turning process;

[0050] Step S50, searching the tree for a global reference path from the target node state to the start node state.

[0051] In this embodiment, robot navigation includes global path planning and local tracking. The global path planner is divided into visibility-aware RRT* (Rapidly-exploring Random Trees), obstacle avoidance HOCBF, and CBF incorporating visibility constraints. Among them, LQR-RRT* is a sampling-based path planning algorithm that uses the LQR (quadratic linear calibrator) controller as the steering function of a linear system with non-holonomic constraints, ensuring the completeness of probability and inheriting the asymptotic optimality of the RRT algorithm through its recombination process.

[0052] In this embodiment, the state includes the position coordinates In addition, the orientation angle of each node of the robot is , allowing it to take into account the robot's rotation and field of view during path planning, thus enabling it to adapt to the robot's perception limitations.

[0053] Visibility-aware RRT* implements iterative expansion of a tree in the configuration space W Until the maximum number of iterations. Where V is the node, For the edge.

[0054] Randomly sample a sampling state in the configuration space W To expand the tree; find the tree The closest sampling state to the current vertex The first node status ; According to the first node status To sampling state Direction, assigning heading angle To sampling state ; The orientation angle can be obtained by the following formula :

[0055] ; ( , ) is the position coordinate of the first node state.

[0056] In this embodiment, after generating a new node state by transferring the first node state to the sampling state, the method further includes:

[0057] A41, extracting a set of nearby nodes within a preset range of the new node;

[0058] A42, select an initial parent node for the new node in the set of nearby nodes, and calculate the first cost of the path from the initial parent node to the new node;

[0059] A43, taking the new node as a potential parent node, and calculating the second cost of the path from the potential parent node to any target nearby node in the nearby node set;

[0060] A44, if the second cost is less than the first cost, reconnect the target nearby nodes to the new nodes.

[0061] By first node status Turn to sampling state Generate new node status , at the new node Mark a set of nearby nodes within a preset Euclidean distance (or Manhattan distance, Chebyshev distance, etc.) According to the cost and steering function, the feasibility of the generated connection trajectory is evaluated, and the set of nearby nodes is Select the initial parent node for the new node in .

[0062] Given a trajectory ,in , is the duration of the trajectory, and the cost evaluation is calculated as: ; where Q and R are the same weight matrices as Q and R in the quadratic calibrator.

[0063] By adding the new node Considered as Perform reconnection operations on potential parent nodes of nearby nodes. To any nearby node The cost of the path with the smaller Reconnect to To optimize the tree.

[0064] During robot steering, LQP and CBF are used as two node starting states through LQP-CBF-Steer and the next node status The key function of the heuristic expansion is first around Perform linear dynamics and calculate the optimal gain using algebraic equations (Riccatti) . Then adapt the LQR controller Generate intermediate state and intermediate control input , based on linear dynamics from Steering During the entire steering process, each state-action pair is verified at each discrete time step t. All CBF constraints (including visibility CBF constraints and obstacle avoidance CBF constraints) are satisfied. If any constraint is violated, the steering extension is terminated immediately. Based on this, it is very efficient when dealing with multiple CBF constraints. By avoiding iterative solution of sequential quadratic programs (QPs), the computational overhead is significantly reduced, and the recursive feasibility problem caused by the parameters of CBF and quadratic programs (QP) is also avoided.

[0065] In the tree Search from the target node status To the starting node state If a feasible path is found, the solution path is returned as a node set P.

[0066] In one implementation of this embodiment, the obstacle avoidance CBF constraint is: ;in, To avoid obstacles, CBF constraints are ; ; ( ) is the position coordinate of the robot at time t, is the robot's heading angle at time t, The radius is The coordinates of one of the obstacles, is the maximum tracking error, is the robot radius, v is the constant velocity, w is the angular velocity, k1 and k2 are pre-set positive constants.

[0067] For example, this embodiment is adapted to the unicycle model for demonstration; for a more complex system including rotational motion, it can also be derived in the same way, and the unicycle model is as follows:

[0068] ;in, is the state vector, = is the control input representing the displacement velocity v and angular velocity w. Based on the variables and symbols declared in the previous visibility perception RRT*, let the radius be The coordinates of one of the obstacles are , the constraint function for obstacle avoidance is defined as ;

[0069] function For control input The relative order of , for the control input The relative order of To simplify the construction of CBF constraints, the translation velocity Set as a constant to control only the angular velocity .at this time, The obstacle avoidance constraint HOCBF constraint is:

[0070] ; Constraints are incorporated into LQR-CBF-Steer to ensure that every node added to the tree is collision-free.

[0071] In another implementation of this embodiment, the construction of the visibility CBF constraint includes:

[0072] B41, taking the intersection of the line from the current node to the next node and the boundary as the key point, wherein the boundary represents the boundary of the collision-free space that has been explored up to the current time;

[0073] B42, calculating the turning time and arrival time required for the robot to turn and observe the key point and reach the key point;

[0074] B43, constructing a visibility constraint according to the turning time and the arrival time, wherein the visibility constraint is that the arrival time is greater than or equal to the turning time;

[0075] B44, based on the visibility constraint, construct the visibility CBF constraint .

[0076] In this embodiment, due to the partially known environment and limited perception, such as limited field of view and sensor range, there are risks in navigation. In order to reduce these risks, a visibility constraint is introduced in this embodiment and merged into a CBF to ensure that the generated path can meet the obstacle avoidance requirements.

[0077] Define a key point For the border From the current node to the next node The intersection of Indicates the current time Collision-free space explored Boundary, Angle Indicates from arrive direction.

[0078] Key Points represents the last perception point along the linearized path, after which the robot has no information update about potential unknown obstacles. The purpose is to force the robot to observe the key point before reaching it. This embodiment is based on the turning time of the robot turning and observing the key point and the time required to reach that point A visibility constraint is designed to achieve this. , weighting can also be performed here to increase the constraint distance, but this will correspondingly reduce the operating efficiency.

[0079] Based on visibility constraints , create candidates for visibility constraints like: ; then The CBF constraint is defined as: ;in is a pre-set positive constant. Gradient It can be deduced as:

[0080] ; in . Among them, K3 is a pre-set positive constant, is the turning time, is the arrival time, angle is the direction from the current node to the next node, is the robot's heading angle at time t, is the angular velocity of the robot at the current moment t, is the distance between the current node and the key point, ( ) is the position coordinate of the current node, ( ) is the position coordinate of the key point, is the orientation angle of the robot at the key point.

[0081] Visibility CBF constraints Merged into the LQR-CBF=Steer function and used together with the obstacle avoidance CBF constraint. By enforcing these two constraints during the steering process, the path generated by the algorithm can meet the obstacle avoidance requirements.

[0082] In this embodiment, calculating the arrival time required for the robot to reach the key point includes: obtaining the current position of the robot, calculating the distance between the current position and the key point; obtaining the robot radius and the maximum tracking error, and calculating the safe path length based on the distance, the robot radius and the maximum tracking error; and taking the ratio between the safe path length and the constant speed as the arrival time.

[0083] Robot current position and key points ,make represents the Euclidean distance between them. Considering the robot radius and the maximum tracking error , define the safe path length as , arrival time is: ; is a constant speed.

[0084] In this embodiment, calculating the turning time for the robot to turn and observe the key point includes: obtaining the current orientation angle of the robot, calculating the rotation angle of the robot observing the key point; obtaining the angular velocity generated by the LQR controller in the time step and the total number of steps required for rotation, and calculating the average angular velocity based on the angular velocity and the total number of steps; and taking the ratio of the rotation angle to the average angular velocity as the turning time.

[0085] Given the robot orientation The robot uses the on-board sensor to observe the specific value of the key point rotation angle: ; Using the pre-difference value, Rewritten as:

[0086]

[0087] The turn time can be calculated: ; Here It is from time Start simulation for Rotary LQR Controller The average angular velocity is calculated as:

[0088]

[0089] It is LQR controller In time step The resulting angular velocity, is the total number of steps required for the rotation.

[0090] In another implementation of this embodiment, after searching the tree for a global reference path from the target node state to the start node state, the method further includes: generating a trajectory of continuous path points in the global reference path; and locally tracking the trajectory using a tracker.

[0091] After the global planning is completed, the local controller Tracking Waypoints The local tracking controller enables the robot to navigate towards a target location. During navigation, the robot uses its onboard sensors to create a map of the environment and detect obstacles in real time. The environment may contain obstacles that were not considered during the global planning phase, and the local tracking controller must ensure that the robot is in a true collision-free set during navigation. to meet the obstacle avoidance requirements.

[0092] set up The global reference path generated for the global planning stage consists of a set of path points We can use any maximum tracking error The tracker connects the trajectories between consecutive path points, so that the reference path is tracked by the tracker, and the path is both collision-free and visible. and The trajectory is generated by the LQR-CBF-Steer function. Based on the visibility constraints and obstacle avoidance constraints proposed above, and considering the radius of the robot itself and the maximum tracking error of the tracker, the visibility conditions and obstacle avoidance requirements can be met by using existing popular trackers.

[0093] A visibility-aware RRT* algorithm is proposed, which generates a global reference path that is both collision-free and visibility-aware, allowing the tracker to always avoid hidden obstacles. A visibility CBF is proposed to encode the robot's visibility constraints, which are used as termination conditions during the robot's steering process. A standard obstacle avoidance CBF constraint is also introduced, allowing the robot to navigate efficiently and safely in unknown environments.

[0094] When the robot performs tasks such as exploration and search and rescue that require exploring the environment, due to the limited perception ability of the robot, the previous path planning algorithm and obstacle avoidance constraints are insufficient in efficiency and safety; therefore, the present invention takes into account the limited perception ability of the robot and proposes a visibility RRT* algorithm, which effectively improves the robot's obstacle avoidance ability and exploration efficiency during exploration.

[0095] This embodiment also includes modeling the problem to be solved before performing global planning and local tracking:

[0096] Modeling the robot as a nonlinear system in an unknown environment Navigation in. Environment It consists of two types of obstacles: A collection of known obstacles , and the set of obstacles perceived by the robot during navigation The definition of a truly barrier-free space is . Define the local tracking strategy as and the current time Status and reference state as input and generates as output a control input that tracks the nominal path from the current state to the reference state. Given the initial condition , , the robot's dynamics follows: ;

[0097] Navigation is a two-level problem: 1) Finding a global reference path ; 2) Use local controller tracking .

[0098] 1.1 Global Path Planning: Given a Target State , the goal of the global path planner is to find a global reference path , consisting of a set of path points Indicates that and They are The initial and final path points in . For any given state , this function will generate the path points for the robot's next goal: ;in Indicates the path point for navigation. The reference path needs to meet the following requirements: ; however, the true collision-free set is not known in advance. Definition The collision-free path known at time is , a path satisfy is the collision-free path. Respectively represent the robot in The position and direction relative to the global coordinate system at any moment. Sensor coverage area express The area perceived at any time is defined as:

[0099] ;in, Indicate point With robot position The distance between Representation vector With robot direction Consider the angle between Time has come The accumulated sensor information collected, this embodiment defines the time Known collision-free regions for: ; therefore, the part of the environment that has not yet been perceived is , called It should be noted that the collision-free path proposed in this embodiment will The entire unmeasured space is considered as free space. However, when the local controller is used to track the path after the planning cycle, unknown obstacles may appear in the unmeasured space. Therefore, this embodiment introduces a reinforcement condition that requires the robot to stay in the known local collision-free space. In this embodiment, the visibility perception path is defined as: For a small time increment , the updated status satisfy .

[0100] 1.2 Local tracking control: local control strategy Used to make the system surrounding stability and ensures the robot remains in a truly collision-free set Assume that the local controller can be used with the maximum displacement The path between subsequent nodes is tracked with the tracking error bounded by . Continuously update the node, which drives the robot towards the goal state Mobile, enabling robots to navigate efficiently and safely in unknown environments.

[0101] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0102] Example 2

[0103] In this embodiment, a robot navigation device is also provided to implement the above-mentioned embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0104] Figure 3 is a structural block diagram of a robot navigation device according to an embodiment of the present application, such as Figure 3 As shown, the device comprises:

[0105] A sampling module 31, used for randomly sampling a sampling state in the configuration space;

[0106] A search module 32, used for searching the first node state in the current vertex in the tree that is closest to the sampling state;

[0107] An allocating module 33, configured to allocate a heading angle to a sampling state according to a direction from the first node state to the sampling state;

[0108] A steering module 34, configured to generate a new node state by steering the first node state to the sampled state, and to use the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot steering process;

[0109] The search module 35 is used to search the tree for a global reference path from the target node state to the start node state.

[0110] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0111] Example 3

[0112] An embodiment of the present application further provides a computer storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0113] Optionally, in this embodiment, the computer storage medium may be configured to store a computer program for performing the following steps:

[0114] S1, randomly sample a sampling state in the configuration space;

[0115] S2, searching the first node state in the current vertex of the tree that is closest to the sampling state;

[0116] S3, assigning a heading angle to a sampling state according to a direction from the first node state to the sampling state;

[0117] S4, generating a new node state by turning the first node state to the sampled state, and taking the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot turning process;

[0118] S5, searches the tree for a global reference path from the target node state to the start node state.

[0119] Optionally, in this embodiment, the above-mentioned computer storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.

[0120] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0121] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0122] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:

[0123] S1, randomly sample a sampling state in the configuration space;

[0124] S2, searching the first node state in the current vertex in the tree that is closest to the sampling state;

[0125] S3, assigning a heading angle to a sampling state according to the direction from the first node state to the sampling state;

[0126] S4, generating a new node state by turning the first node state to the sampled state, and taking the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot turning process;

[0127] S5, searches the tree for a global reference path from the target node state to the start node state.

[0128] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.

[0129] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0130] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0131] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

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

[0133] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0134] If the integrated unit is implemented in the form of 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 the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a computer storage medium, including several instructions to enable a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned computer storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk and other media that can store program codes.

[0135] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A robot navigation method, characterized in that: The method comprises: Randomly sample a sampling state in the configuration space; Find the first node state in the current vertex in the tree that is closest to the sampled state; assigning a heading angle to a sampling state according to a direction from the first node state to the sampling state; Generating a new node state by turning the first node state to the sampled state, and taking the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot turning process; Search the tree for a global reference path from the target node state to the start node state; The construction of the visibility CBF constraint includes: The intersection of the line from the current node to the next node and the boundary is used as the key point, wherein the boundary represents the collision-free space boundary that has been explored up to the current time; Calculate the turning time of the robot and observe the key point and the arrival time required to reach the key point; Constructing a visibility constraint according to the turning time and the arrival time, wherein the visibility constraint is that the arrival time is greater than or equal to the turning time; Based on the visibility constraints, the following visibility CBF constraints are constructed: : ;in, ; ; , where K3 is a pre-set positive constant, is the turning time, is the arrival time, angle is the direction from the current node to the next node, is the robot's heading angle at time t, is the angular velocity of the robot at the current moment t, is the distance between the current node and the key point, ( ) is the position coordinate of the current node, ( ) is the position coordinate of the key point, is the orientation angle of the robot at the key point.

2. The method according to claim 1, characterized in that After generating a new node state by transitioning from the first node state to the sampling state, the method further includes: Extract the set of nearby nodes within the preset range of the new node; Selecting an initial parent node for the new node from the set of nearby nodes, and calculating a first cost of a path from the initial parent node to the new node; Taking the new node as a potential parent node, calculating a second cost of a path from the potential parent node to any target nearby node in the nearby node set; If the second cost is less than the first cost, the target nearby node is reconnected to the new node.

3. The method according to claim 1, characterized in that The obstacle avoidance CBF constraint for: ; in, ; ; ( ) is the position coordinate of the robot at time t, is the robot's heading angle at time t, The radius is The coordinates of one of the obstacles, is the maximum tracking error, is the robot radius, v is the constant speed, is the angular velocity of the robot at time t, k1 and k2 are pre-set positive constants.

4. The method according to claim 1, characterized in that: Calculating the arrival time required for the robot to reach the key point includes: Obtaining the current position of the robot, and calculating the distance between the current position and the key point; Obtaining the radius of the robot and the maximum tracking error, and calculating the safe path length according to the distance, the radius of the robot and the maximum tracking error; The ratio between the safety path length and the constant speed is taken as the arrival time.

5. The method according to claim 1, characterized in that Calculating the robot's turning and observing the turning time of the key point includes: Get the current orientation angle of the robot and calculate the rotation angle of the robot's observation key points; Obtaining an angular velocity generated by the LQR controller at a time step and a total number of steps required for rotation, and calculating an average angular velocity based on the angular velocity and the total number of steps; The ratio of the rotation angle to the average angular velocity is taken as the turning time.

6. The method according to claim 1, characterized in that After searching the tree for a global reference path from the target node state to the start node state, the method further includes: generating a trajectory of continuous path points in the global reference path; The trajectory is locally tracked using a tracker.

7. A robot navigation device, characterized in that: include: The sampling module is used to randomly sample a sampling state in the configuration space; A search module, used for searching the first node state in the current vertex in the tree that is closest to the sampling state; An allocating module, configured to allocate a heading angle to a sampling state according to a direction from the first node state to the sampling state; A steering module, used for steering the first node state to the sampled state to generate a new node state, and taking the visibility CBF constraint and the obstacle avoidance CBF constraint as termination conditions during the robot steering process; A search module, used for searching the global reference path from the target node state to the start node state in the tree; The robot navigation device further includes: a second calculation module, configured to use the intersection of a line from a current node to a next node and a boundary as a key point, wherein the boundary represents a collision-free space boundary that has been explored up to the current time; calculate a turning time for the robot to turn and observe the key point and an arrival time required to reach the key point; A construction module is used to construct a visibility constraint according to the turning time and the arrival time, wherein the visibility constraint is that the arrival time is greater than or equal to the turning time; based on the visibility constraint, the following visibility CBF constraint is constructed : ;in, ; ; , where K3 is a pre-set positive constant, is the turning time, is the arrival time, angle is the direction from the current node to the next node, is the robot's heading angle at time t, is the angular velocity of the robot at the current moment t, is the distance between the current node and the key point, ( ) is the position coordinate of the current node, ( ) is the position coordinate of the key point, is the orientation angle of the robot at the key point.

8. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; wherein: Memory, used to store computer programs; A processor, configured to execute the robot navigation method according to any one of claims 1 to 6 by running a program stored in a memory.

9. A computer storage medium, characterized in that The computer storage medium includes a stored program, wherein the program executes the robot navigation method according to any one of claims 1 to 6 when executed.

Citation Information

Patent Citations

  • Motion path planning method

    CN106569496A

  • Multi-unmanned ship formation reconstruction system based on vector field guidance and fixed time CBF

    CN115032986A