A robot forbidden area escape method, a storage medium thereof and an electronic device
Patent Information
- Application Number
- CN202311775732.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-22
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-12-22
AI Technical Summary
[0004]为此,需要提供一种机器人禁区脱困方法,解决现有防止局部规划方法只考虑当前时刻的局部最优解,在时间和空间尺度上反复震荡的问题
[0028]区别于现有技术,上述技术方案将预设的机器人足印转置到机器人预测模拟下一段时间到达的轨迹点位姿;通过搜索机器人足印的附近点云,通过判断点云所在的方位,即判断机器人足印的前方和/或后方是否存在点云;设置线速度采样区间,在确定的线速度采样区间下,预测模拟下一段时间到达的轨迹点的所有运动轨迹,获得最优轨迹,将最优轨迹对应的线速度作为机器人的线速度,防止局部规划方法只考虑当前时刻的局部最优解,在时间和空间尺度上反复震荡,重复执行上述步骤,直至机器人脱困;提高机器人在禁区的脱困的效率、安全性和可靠性。
Smart Images

Figure CN117970919B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of automatic control and robot navigation technology, and in particular to a method for a robot to escape from restricted areas, as well as its storage medium and electronic equipment. Background Technology
[0002] Currently, the mainstream algorithms for local planning in autonomous driving of robots are DWA (Dynamic Window Approaches) and TEB (Timed Elastic Band). The basic idea of the DWA algorithm is as follows: discretely sample the velocity in the robot's workspace, predict all motion trajectories generated within a certain period of time in the cost map (all motion trajectories here are legal motion trajectories, and illegal trajectories refer to trajectories that collide with obstacles), evaluate each trajectory through an evaluation function, select the trajectory with the highest evaluation score and send the corresponding velocity to the mobile base, and repeat the above steps until the destination is reached.
[0003] Robots may become trapped in restricted areas within their workspace due to factors such as lost localization, positional shifts, or insufficient cost map accuracy, preventing them from reaching their next destination in a timely manner. While the DWA algorithm supports backtracking, offering some degree of escape capability, it only considers the current moment and its local optimum. This often leads to a cycle where the robot perceives forward movement as optimal at one moment, and backward movement as optimal at the next, resulting in repeated forward-backward-forward-backward oscillations in both time and space (oscillation, specifically referring to slight left-right swings in the robot's linear or angular velocity around zero, sometimes positive and sometimes negative). This objectively increases the risk of the robot getting trapped. Therefore, in practical applications, the DWA backtracking function is often disabled. Existing methods for robot escape from restricted areas primarily utilize cost maps. They employ a breadth-first search to find the closest reachable point outside the restricted area to the robot's current position. The robot's pose is then adjusted to ensure it faces this reachable point. Combined with the robot's onboard multi-sensor modules, obstacles between the robot's current position within the restricted area and the reachable point are detected. An optimal, passable path is then planned, and motion control is executed along this path to complete the escape. This method heavily relies on the accuracy of the cost map. The core principle of cost maps is to discretize the map into a grid map and assign a cost value to each grid cell. If the resolution of the raster map is low, the number of grids in the raster map is small, meaning each grid cell has a large area. This can lead to significant errors in identifying obstacles during the escape process (by default, obstacles within a grid cell are fully occupied). The lower the resolution, the greater the error. Increasing the resolution of the raster map will cause the amount of data to increase exponentially, consuming a huge amount of storage space and introducing considerable computational complexity, making it difficult for a typical CPU processor to handle. In addition, the number of grid cells occupied by obstacles in the raster map and the number of grid cells and space occupied by safe areas are the same, resulting in a significant waste of performance. Summary of the Invention
[0004] Therefore, a method for robots to escape from restricted areas is needed to address the problem that existing local planning methods only consider the local optimal solution at the current moment, resulting in repeated oscillations on both time and space scales.
[0005] To achieve the above objectives, the present invention provides a method for a robot to escape from restricted areas, comprising the following steps:
[0006] Generate a map from the sensor point cloud obtained by the robot;
[0007] Transpose the preset robot footprints onto the robot's current pose on the map;
[0008] Search for the nearby point cloud of the robot's footprints;
[0009] Determine whether there is a point cloud in front of and / or behind the robot's footprint; if there is a point cloud in front of the robot's footprint, set the robot's linear velocity sampling interval to [-0.2, 0]; if there is a point cloud behind the robot's footprint, set the robot's linear velocity sampling interval to [0, 0.2]; if there are point clouds in both front of and behind the robot's footprint, set the robot's linear velocity sampling interval to [-0.1, 0.1];
[0010] Under the robot's velocity sampling range, a local programming algorithm is used to obtain all motion trajectories of the trajectory points to be reached in the next time period of the prediction simulation, and the optimal trajectory is obtained. The speed corresponding to the optimal trajectory is used as the robot's escape speed.
[0011] Repeat the above steps until the robot is free.
[0012] Furthermore, after determining whether there is a point cloud in front of and / or behind the robot footprint, and before using a local programming algorithm to obtain all the motion trajectories of the trajectory points to be reached in the next time period, it also includes determining whether there is a point cloud to the left and / or right of the robot footprint; if there is a point cloud to the left of the robot footprint, the robot's angular velocity sampling interval is set to [-0.2, 0]; if there is a point cloud to the right of the robot footprint, the robot's angular velocity sampling interval is set to [0, 0.2]; if there are point clouds to both the left and right of the robot footprint, the robot's angular velocity sampling interval is set to [-0.1, 0.1].
[0013] Furthermore, after searching for the point cloud near the robot footprint, before determining whether there is a point cloud in front of and / or behind the robot footprint, the process also includes counting the number of point clouds near the robot footprint to determine if there is a collision risk for the robot. If the number of point clouds near the robot footprint is not 0, then it is determined whether there is a point cloud in front of and / or behind the robot footprint; otherwise, the process proceeds to the normal control flow.
[0014] Furthermore, the step of generating a map from the sensor point cloud obtained by the robot involves processing and merging the sensor point cloud obtained by the robot to generate a KD tree-shaped point cloud map.
[0015] Furthermore, the process of processing and merging the sensor point clouds obtained by the robot to generate a KD tree point cloud map includes the following steps:
[0016] Filter the multiple point clouds obtained by the robot from the sensors;
[0017] The filtered point clouds are merged to form a point cloud set;
[0018] Import the point cloud collection into a KD tree to generate a tree-structured point cloud map.
[0019] Furthermore, the nearby point cloud for searching robot footprints is obtained by radius search in the KD tree point cloud map.
[0020] Furthermore, the radius search in the KD tree point cloud is used to search for nearby points of the robot's footprints, including the following steps:
[0021] The search center is the center of the robot footprint, and a search radius is set, which is the farthest distance from the center of the robot footprint to the edge of the robot footprint; the search is performed on the point cloud within the search radius.
[0022] Furthermore, if the local programming algorithm is the DWA algorithm, then under the condition of the robot's velocity sampling interval, the local programming algorithm is used to obtain all motion trajectories of the predicted trajectory point to be reached in the next time period, to obtain the optimal trajectory, and the velocity corresponding to the optimal trajectory is used as the robot's escape speed, including the following steps:
[0023] Under the robot's velocity sampling range, the DWA algorithm is used to obtain all motion trajectories of the trajectory points to be reached in the next time period of the prediction simulation, and each trajectory is evaluated by the evaluation function.
[0024] Compare and evaluate the scores to obtain the optimal trajectory;
[0025] The speed corresponding to the optimal trajectory is taken as the robot's escape speed.
[0026] A storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described robot escape method for restricted areas.
[0027] An electronic device includes a storage medium and a processor, wherein a computer program is stored on the storage medium, and the computer program, when executed by the processor, implements the steps of the above-described KD-tree-based dynamic obstacle avoidance method.
[0028] Unlike existing technologies, the above technical solution transposes the preset robot footprints to the pose of the trajectory points the robot will reach in the next time period in the simulation. By searching the nearby point cloud of the robot footprints and determining the location of the point cloud, it is determined whether there are point clouds in front of and / or behind the robot footprints. A linear velocity sampling interval is set, and within the determined linear velocity sampling interval, all motion trajectories of the trajectory points to be reached in the next time period are predicted and simulated to obtain the optimal trajectory. The linear velocity corresponding to the optimal trajectory is used as the linear velocity of the robot. This prevents local planning methods from only considering the local optimal solution at the current moment and repeatedly oscillating in time and space, repeating the above steps until the robot escapes the obstacle. This improves the efficiency, safety, and reliability of the robot's escape from the restricted area. Attached Figure Description
[0029] Figure 1 This is a flowchart illustrating the robot escape method for restricted areas according to the present invention. Detailed Implementation
[0030] To explain in detail the technical content, structural features, objectives, and effects of the technical solution, the following description is provided in conjunction with specific embodiments and accompanying drawings.
[0031] In this document, the term "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The term "embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment, nor does it specifically limit its independence or connection with other embodiments. In principle, in this application, as long as there are no technical contradictions or conflicts, the technical features mentioned in each embodiment can be combined in any way to form corresponding implementable technical solutions.
[0032] Unless otherwise defined, the technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the use of related terms herein is merely for the purpose of describing particular embodiments and is not intended to limit this application.
[0033] In the description of this application, the term "and / or" is used to describe the logical relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A exists, B exists, and A and B exist simultaneously. Additionally, the character " / " in this document generally indicates that the preceding and following objects have an "or" logical relationship.
[0034] In this application, terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any actual quantity, hierarchy or order relationship between these entities or operations.
[0035] Unless otherwise specified, the use of terms such as “comprising,” “including,” “having,” or other similar expressions in this application is intended to cover non-exclusive inclusion, which does not exclude the presence of additional elements in a process, method, or product that includes the stated elements, such that a process, method, or product that includes a list of elements may include not only those defined elements but also other elements not expressly listed, or elements inherent to such a process, method, or product.
[0036] Similar to the interpretation in the Patent Examination Guidelines, in this application, expressions such as "greater than," "less than," and "exceeding" are understood to exclude the stated number; expressions such as "above," "below," and "within" are understood to include the stated number. Furthermore, in the description of the embodiments in this application, "multiple" means two or more (including two), and similar expressions related to "multiple" are also interpreted in this way, such as "multiple groups" and "multiple times," unless otherwise explicitly specified.
[0037] In the description of the embodiments of this application, the space-related expressions used, such as "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "vertical," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential," indicate the orientation or positional relationship based on the orientation or positional relationship shown in the specific embodiments or drawings. They are only for the purpose of describing the specific embodiments of this application or for the reader's understanding, and do not indicate or imply that the device or component referred to must have a specific position, a specific orientation, or be constructed or operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of this application.
[0038] Unless otherwise expressly specified or limited, the terms "installation," "connection," "linking," "fixing," and "setting," as used in the description of the embodiments of this application, should be interpreted broadly. For example, "connection" can be a fixed connection, a detachable connection, or an integral setting; it can be a mechanical connection, an electrical connection, or a communication connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be the internal connection of two components or the interaction between two components. For those skilled in the art to which this application pertains, the specific meaning of the above terms in the embodiments of this application can be understood according to the specific circumstances.
[0039] See Figure 1 As shown, this invention provides a method for robot escape from restricted areas. The method involves transposing a pre-defined robot footprint to the pose of a trajectory point the robot is expected to reach over a predicted time period. By searching the nearby point cloud of the robot footprint and determining the location of the point cloud (i.e., whether point clouds exist in front of and / or behind the robot footprint), a linear velocity sampling interval is set. Within this interval, a local programming algorithm is used to predict all motion trajectories of the trajectory point to be reached over the predicted time period, obtaining the optimal trajectory. The linear velocity corresponding to the optimal trajectory is then used as the robot's linear velocity. This prevents the local programming algorithm from only considering the local optimum at the current moment, causing repeated oscillations in time and space. The above steps are repeated until the robot escapes the restricted area. This improves the efficiency, safety, and reliability of robot escape from restricted areas.
[0040] The following is a detailed description of a robot escape method from restricted areas provided by an embodiment of the present invention. See also... Figure 1 As shown, a method for a robot to escape from a restricted area includes the following steps:
[0041] Generate a map from the sensor point cloud obtained by the robot;
[0042] Transpose the preset robot footprints onto the robot's current pose on the map;
[0043] Search for the nearby point cloud of the robot's footprints;
[0044] Determine whether there is a point cloud in front of and / or behind the robot's footprint; if there is a point cloud in front of the robot's footprint, set the robot's linear velocity sampling interval to [-0.2, 0]; if there is a point cloud behind the robot's footprint, set the robot's linear velocity sampling interval to [0, 0.2]; if there are point clouds in both front of and behind the robot's footprint, set the robot's linear velocity sampling interval to [-0.1, 0.1];
[0045] Under the robot's velocity sampling range, a local programming algorithm is used to obtain all motion trajectories of the trajectory points to be reached in the next time period of the prediction simulation, and the optimal trajectory is obtained. The speed corresponding to the optimal trajectory is used as the robot's escape speed.
[0046] Repeat the above steps until the robot is free.
[0047] The aforementioned point cloud is obtained by sensors scanning as the robot moves through the working environment. The point cloud is an array of points representing obstacles scanned by sensors in the working environment. The aforementioned robot footprints are robot tracks, which are preset polygons. The preset robot footprints are transposed to the pose of the trajectory points the robot will reach in the next time period, as predicted and simulated on the map. At this point, the robot footprints are polygons composed of coordinate points. The aforementioned trajectory points to be reached in the next time period are located within a restricted area, representing the trajectory points of the robot passing through the restricted area via a path outside the restricted area. The aforementioned determination of whether point clouds exist in front of and / or behind the robot footprints refers to determining whether point clouds exist in front of the robot footprints, determining whether point clouds exist behind the robot footprints, and determining whether point clouds exist in front of and behind the robot footprints. The aforementioned velocity sampling interval includes linear velocity sampling intervals and angular velocity sampling intervals. When only the linear velocity sampling interval is provided, the angular sampling interval is the default, which is the angular sampling interval in the local planning algorithm of the conventional control flow.
[0048] Before obtaining all motion trajectories of the predicted trajectory point to be reached in the next time period after determining whether point clouds exist in front of and / or behind the robot footprint, the above process also includes determining whether point clouds exist to the left and / or right of the robot footprint; if point clouds exist to the left of the robot footprint, the robot's angular velocity sampling interval is set to [-0.2, 0]; if point clouds exist to the right of the robot footprint, the robot's angular velocity sampling interval is set to [0, 0.2]; if point clouds exist to both the left and right of the robot footprint, the robot's angular velocity sampling interval is set to [-0.1, 0.1].
[0049] The above-mentioned determination of whether point clouds exist to the left and / or right of the robot's footprints involves determining whether point clouds exist to the left of the robot's footprints, whether point clouds exist to the right of the robot's footprints, and whether point clouds exist to the left and right of the robot's footprints. This is achieved by searching for point clouds near the robot's footprints and determining the location of these point clouds, i.e., determining whether point clouds exist to the left and right of the robot's footprints. An angular velocity sampling interval is set, and under the determined linear velocity and angular velocity sampling intervals, a local programming algorithm is used to predict all motion trajectories of the trajectory points reached over a simulated period of time, obtaining the optimal trajectory. This prevents the robot from colliding with obstacles to the left and right during its escape, improving the efficiency, safety, and reliability of the robot's escape from restricted areas.
[0050] The "front", "back", "left" and "right" directions mentioned above refer to the relative positions or locations of the robot's movement, and are not fixed directions.
[0051] After searching the point cloud near the robot's footprints, before determining whether point clouds exist in front of and / or behind the footprints, the process also includes counting the number of point clouds near the footprints to assess the risk of collision. If the number of point clouds near the footprints is non-zero, it checks whether point clouds exist in front of and / or behind the footprints; otherwise, it proceeds to the normal control flow. By counting the number of point clouds near the footprints, the system assesses the risk of collision. If the number is zero, the risk is low, and no velocity sampling interval is needed; the local programming algorithm in the normal control flow can extricate the robot from the restricted area. If the number is non-zero, the risk is high, so the local programming algorithm in the normal control flow is interrupted, the location of the footprints is determined, and a velocity sampling interval is set. Under the velocity sampling interval, the local programming algorithm obtains the optimal trajectory, and the velocity corresponding to the optimal trajectory is used as the robot's escape velocity, thus allowing the robot to escape from the restricted area. This improves the efficiency of robot escape and reduces computational complexity.
[0052] The map mentioned above can be a raster map or a KD tree point cloud map. Both are generated based on the sensor point cloud obtained by the robot. Preferably, the map is a KD tree point cloud map, which is generated by processing and merging the sensor point cloud obtained by the robot.
[0053] The above processing involves denoising the point cloud obtained by the sensor (the initial point cloud obtained by the sensor is inevitably contaminated by noise during acquisition, processing, and transmission). The above merging refers to merging multiple point clouds, that is, merging arrays of multiple points to form a single point cloud set. The KD-tree mentioned above is short for Multidimensional Binary Search Tree, where k represents the dimension of the data space. A KD-tree is a binary search tree, a tree-shaped data structure that stores instance points in k-dimensional space for fast retrieval. The above generation of the KD-tree point cloud diagram involves constructing a KD-tree from the point cloud set, that is, continuously inserting the point cloud as a node into the KD-tree based on the coordinate information of each point cloud, thus generating a two-dimensional KD-tree point cloud diagram. Generating a KD tree point cloud from sensor point clouds obtained by the robot significantly reduces the generation time and optimizes space consumption. Furthermore, the KD tree point cloud has a float-type precision, approximately 6-7 significant digits. Transposing the preset robot footprints to the trajectory points predicted by the robot within a certain time frame in the KD tree point cloud allows for searching nearby point clouds of the robot footprints, significantly reducing the search time. Using this method continuously during robot movement helps achieve more precise dynamic obstacle avoidance while preventing excessively slow drive speeds that could affect robot efficiency. This improves the safety and reliability of the robot when navigating obstacle courses or narrow passages.
[0054] The above-mentioned process of merging the sensor point clouds obtained by the robot to generate a KD tree point cloud map includes the following steps:
[0055] Filter the multiple point clouds obtained by the robot from the sensors;
[0056] The filtered point clouds are merged to form a point cloud set;
[0057] Import the point cloud collection into a KD tree to generate a tree-structured point cloud map.
[0058] Since the initial point clouds obtained by the sensor are inevitably contaminated by noise during the acquisition, processing, and transmission processes, the above processing involves denoising the point clouds obtained by the sensor. This is done by filtering multiple point clouds to denoise them, making the resulting point clouds represent the actual obstacles. The point clouds mentioned above are arrays of points scanned by the sensor in the working environment. Merging multiple point clouds refers to combining these arrays to form a single point cloud set. When importing the point cloud set into a KD-tree to generate a tree-structured point cloud graph, some embodiments use the PCL library to generate the tree-structured point cloud graph, specifically using `pcl::KDTreeFLANN::setInputKDTree()` to import the point cloud set into the KD-tree and generate the tree-structured point cloud graph.
[0059] Since the KD-tree structure is a tree-like data structure that stores instance points in k-dimensional space for fast retrieval, searching for nearby point clouds of a robot's footprint to determine whether there are obstacles around the robot's footprint on the trajectory point pose can directly utilize the built-in search functions of the KD-tree point cloud: radius search and k-nearest neighbor search. In the k-nearest neighbor search, K represents the number of point clouds obtained. By setting the value of K, the K neighboring point clouds on the KD-tree can be searched for near the center of the robot's footprint. The radius search, by setting a search radius, finds all point clouds in the KD-tree whose distance from the center of the robot's footprint is less than the search radius. The following example uses radius search to search for nearby points of the robot's footprint using the radius search function in the KD-tree point cloud.
[0060] In some embodiments, the search center is the center of the robot footprint, and a search radius is set, which is the farthest distance from the center of the robot footprint to the edge of the robot footprint. The point cloud within the search radius is searched. Setting the search radius to the farthest distance from the center of the robot footprint to the edge of the robot footprint means that while satisfying the requirement to determine whether a collision has occurred, the point cloud is minimized as much as possible, reducing the number of point clouds involved in computation and thus reducing computational complexity.
[0061] Under the robot's velocity sampling interval conditions, obtain all motion trajectories of the predicted simulated trajectory point to be reached in the next time interval, and obtain the optimal trajectory, including the following steps:
[0062] Under the robot's velocity sampling range conditions, the DWA algorithm is used to obtain all motion trajectories of the predicted trajectory points to be reached in the next time period, and each trajectory is evaluated by an evaluation function.
[0063] Compare and evaluate the scores to obtain the optimal trajectory.
[0064] The DWA algorithm is employed to obtain all motion trajectories under the speed-limited conditions of the mobile robot by sampling within the driving velocity space that conforms to the robot's kinematic model. These trajectories are then evaluated using an evaluation function, and the trajectory with the highest evaluation score is selected as the optimal trajectory. The velocity corresponding to the optimal trajectory is then used as the robot's driving speed. This approach prevents the robot from reaching excessively high speeds on the optimal trajectory within obstacle zones or narrow passages, which could lead to collisions, while also avoiding excessively slow driving speeds that would affect robot efficiency. This improves the safety and reliability of the robot when navigating obstacle zones or narrow passages.
[0065] This invention also provides a storage medium storing a computer program that, when executed by a processor, implements the steps of the aforementioned KD-tree-based dynamic obstacle avoidance method. The computer program involved in the embodiments can be stored in a computer device readable storage medium, including but not limited to disks, magnetic tapes, magnetic cards, floppy disks, flash memory, optical disks, optical cards, read-only memory (ROM), random access memory (RAM), erasable programmable ROM (EPROM), and electrically erasable programmable ROM (EEPROM), etc., as well as other biological, physical, or chemical structures capable of performing similar or equivalent functions to the storage media listed above, such as DNA, RNA, proteins, and other units with information storage capabilities. In specific embodiments, the storage medium can be one of the above-mentioned media types or a combination of the above-mentioned media types. In different embodiments, the computer program involved in the embodiments can be centrally stored in a single medium or distributed across multiple media. The memory containing the computer device readable storage medium can be non-volatile memory or random access memory. These computer device readable storage media can be built into the device or connected to the device of the embodiments as an external device or part of an external device. In some embodiments, the memory having the computer device readable storage media is deployed locally; in other embodiments, the memory can be deployed remotely from the processor, for example, as a network-attached memory accessed via RF circuitry or an external port and a communication network, wherein the communication network can be the Internet, one or more intranets, a local area network (LAN), a wide area network (WLAN), a storage area network (SAN), or a suitable combination thereof, as long as it enables computer device access to the memory. Furthermore, the computer programs involved in the embodiments can be stored in plaintext / ciphertext form or designed as training data, which can be integrated and recombined through model training and implicitly stored in the parameter states of deep neural networks or other machine learning models.The processor described in the embodiments of this application can be implemented by hardware, firmware, software, or a combination thereof. It can be a circuit, one or more of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, or a microprocessor. It also includes other physical, biological, or chemical structures that can implement the same or equivalent functions as the processors listed above, such as biological neurons, quantum computing units, DNA computing units, etc., so that the processor can execute some or all of the steps in the computer program or method involved in the various embodiments of this application, or any combination of the steps mentioned therein.
[0066] It should be noted that although the above embodiments have been described herein, this does not limit the scope of patent protection of the present invention. Therefore, any changes and modifications made to the embodiments described herein based on the innovative concept of the present invention, or equivalent structural or procedural transformations made using the content of the present invention's specification and drawings, directly or indirectly applying the above technical solutions to other related technical fields, are all included within the scope of patent protection of the present invention.
Claims
1. A method for a robot to escape from a restricted area, characterized in that, Includes the following steps: Generate a map from the sensor point cloud obtained by the robot; Transpose the preset robot footprints onto the robot's current pose on the map; Search for nearby point clouds of robot footprints; Determine whether there is a point cloud in front of and / or behind the robot's footprint; if there is a point cloud in front of the robot's footprint, set the robot's linear velocity sampling interval to [-0.2, 0]; if there is a point cloud behind the robot's footprint, set the robot's linear velocity sampling interval to [0, 0.2]; if there are point clouds in both front of and behind the robot's footprint, set the robot's linear velocity sampling interval to [-0.1, 0.1]; Under the robot's velocity sampling range, a local programming algorithm is used to obtain all motion trajectories of the trajectory points to be reached in the next time period of the prediction simulation, and the optimal trajectory is obtained. The speed corresponding to the optimal trajectory is used as the robot's escape speed. Repeat the above steps until the robot is free.
2. The robot escape method from restricted areas according to claim 1, characterized in that, After determining whether point clouds exist in front of and / or behind the robot footprints, and before using a local programming algorithm to obtain all motion trajectories of the trajectory points to be reached in the next time period, it is also necessary to determine whether point clouds exist to the left and / or right of the robot footprints. If point clouds exist to the left of the robot footprints, the robot's angular velocity sampling interval is set to [-0.2, 0]. If point clouds exist to the right of the robot footprints, the robot's angular velocity sampling interval is set to [0, 0.2]. If point clouds exist to both the left and right of the robot footprints, the robot's angular velocity sampling interval is set to [-0.1, 0.1].
3. The robot escape method for restricted areas according to claim 1, characterized in that, After searching the point cloud near the robot footprints, before determining whether there are point clouds in front of and / or behind the robot footprints, the process also includes counting the number of point clouds near the robot footprints to determine if there is a collision risk for the robot. If the number of point clouds near the robot footprints is not 0, then it is determined whether there are point clouds in front of and / or behind the robot footprints; otherwise, the normal control process is entered.
4. The method for escaping a robot from a restricted area according to claim 1, characterized in that, The process of generating a map from the sensor point cloud obtained by the robot involves processing and merging the sensor point cloud obtained by the robot to generate a KD tree-shaped point cloud map.
5. The robot escape method for restricted areas according to claim 4, characterized in that, The process of merging the sensor point clouds obtained by the robot to generate a KD tree point cloud map includes the following steps: Filter the multiple point clouds obtained by the robot from the sensors; The filtered point clouds are merged to form a point cloud set; Import the point cloud collection into a KD tree to generate a tree-structured point cloud map.
6. The robot escape method from restricted areas according to claim 4, characterized in that, The search for nearby points of the robot footprints was performed using radius search in the KD tree point cloud.
7. The robot escape method for restricted areas according to claim 6, characterized in that, Using radius search in a KD tree point cloud to search for nearby points of the robot's footprints includes the following steps: The search center is the center of the robot footprint, and a search radius is set, which is the farthest distance from the center of the robot footprint to the edge of the robot footprint; the search is performed on the point cloud within the search radius.
8. The robot escape method for restricted areas according to claim 1, characterized in that, The local programming algorithm is the DWA algorithm. Under the condition of the robot's velocity sampling interval, the local programming algorithm is used to obtain all motion trajectories of the predicted trajectory point to be reached in the next time period, and the optimal trajectory is obtained. The velocity corresponding to the optimal trajectory is used as the robot's escape velocity. The process includes the following steps: Under the robot's velocity sampling range, the DWA algorithm is used to obtain all motion trajectories of the trajectory points to be reached in the next time period of the prediction simulation, and each trajectory is evaluated by the evaluation function. Compare and evaluate the scores to obtain the optimal trajectory; The speed corresponding to the optimal trajectory is taken as the robot's escape speed.
9. A storage medium, characterized in that: The storage medium stores a computer program that, when executed by a processor, implements the steps of the robot escape method for any one of claims 1 to 8.
10. An electronic device, characterized in that: It includes a storage medium and a processor, wherein the storage medium stores a computer program, and when the computer program is executed by the processor, it implements the steps of the robot escape method in any one of claims 1 to 8.
Citation Information
Patent Citations
KD tree-based dynamic obstacle avoidance method, storage medium and electronic equipment
CN117707174A
Local path planning method, storage medium and electronic equipment
CN117707175A