Method for determining a robot navigation path and electronic device
By extracting local external paths during robot navigation and combining them with cost map evaluation to generate corrected paths, the problem of balancing path semantics and safety in existing technologies is solved, enabling safe navigation in complex environments.
Patent Information
- Application Number
- CN202611573923.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-10-12
- Publication Date
- 2026-11-06
AI Technical Summary
Existing technologies struggle to simultaneously consider the semantics of the original path and driving safety in robot navigation, making them unsuitable for complex real-world operating environments and posing risks of edge collisions or significant path deviations.
By acquiring the external navigation path, the robot's current pose, and the cost map, a local external path is captured, multiple candidate paths are generated, and the cost map is used to evaluate the cost. Valid candidate paths are then selected for correction, and a corrected path is generated. The robot is then controlled to connect to the corrected path.
Without completely replanning the external navigation path, local safety offset adjustments are made to preserve mission semantics and ensure path safety, adapting to complex operating environments.
Smart Images

Figure CN123047578A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot navigation path planning technology, and more specifically, to a method for determining a robot navigation path and an electronic device. Background Technology
[0002] Mobile robots, such as inspection robots and delivery robots, often receive external navigation paths to carry out their tasks. These external navigation paths can be GPS tracks, cloud-based planned routes, or manually recorded teaching trajectories, which define the task driving routes that the robot needs to follow.
[0003] Existing path tracking methods fall into two categories. One type directly tracks the external navigation path, relying on the controller to reduce position and heading deviations. While this preserves the task semantics, it cannot verify the safety of the reference path itself. Affected by GPS drift, map registration errors, and temporary obstacles, the robot is at risk of edge-grabbing and collisions. The other type directly triggers path replanning after detecting an obstacle. While this can achieve obstacle avoidance, it is prone to deviating significantly from the original path, thus disrupting the intended task route.
[0004] Therefore, existing technologies struggle to simultaneously address both the original path semantics and driving safety, making them ill-suited for complex real-world operating environments. Summary of the Invention
[0005] This application addresses the shortcomings of the prior art by providing a method for determining a robot navigation path and an electronic device to solve the problems existing in the prior art.
[0006] The technical solution adopted in the embodiments of this application is as follows: In a first aspect, embodiments of this application provide a method for determining a robot navigation path, including: Obtain the external navigation path, the target robot's current pose, and the cost map; Based on the external navigation path and the current pose of the target robot, determine the local external path of the target robot at a preset forward-looking distance; Multiple candidate paths are generated with the local external path as the center; the multiple candidate paths correspond to multiple lateral offsets relative to the local external path. Based on the cost map and multiple candidate paths, the local external path is corrected to generate the corrected path corresponding to the local external path. Control the target robot to connect to the corrected path from its current position.
[0007] In one embodiment, determining the local external path of the target robot at a preset forward-looking distance based on the external navigation path and the current pose of the target robot includes: The external navigation path is subjected to distance threshold denoising and turnaround path filtering to obtain a cleaned navigation path; Based on the current pose of the target robot and the cleaned navigation path, determine the starting position of the local external path; Based on the starting position of the local external path, a path with the preset forward look-ahead distance is extracted from the cleaned navigation path and used as the local external path.
[0008] In one embodiment, before generating multiple candidate paths centered on the local external path, the method further includes: Obtain the obstacle density based on the cost map; The maximum lateral offset is determined based on the preset passage width of the path, the outer contour width of the target robot, the obstacle density, the path curvature of the local external path, and the preset travel speed of the target robot.
[0009] In one embodiment, the step of correcting the local external path based on the cost map and multiple candidate paths to generate a corrected path corresponding to the local external path includes: Based on the cost map, cost evaluation is performed on each of the candidate paths to obtain cost evaluation parameters for each candidate path; Based on the cost evaluation parameters of each candidate path, a valid candidate path is determined from the plurality of candidate paths; The target offset is determined based on the lateral offset of the valid candidate paths; Based on the target offset, the local external path is corrected to generate the corrected path.
[0010] In one embodiment, the cost map includes: a static map layer, an obstacle layer, and a restricted area layer; The step of evaluating the cost of each candidate path based on the cost map to obtain cost evaluation parameters for each candidate path includes: Based on the static map layer, static map cost evaluation is performed on each of the candidate paths to obtain static map cost evaluation parameters for each of the candidate paths; Based on the obstacle layer, obstacle cost is evaluated for each candidate path to obtain obstacle cost evaluation parameters for each candidate path; Based on the restricted area layer, the restricted area cost is evaluated for each candidate path to obtain the restricted area cost evaluation parameters for each candidate path; The cost evaluation parameters for each candidate path are obtained based on the static map cost evaluation parameters, the obstacle cost evaluation parameters, and the restricted area cost evaluation parameters.
[0011] In one embodiment, determining the target offset based on the lateral offset of the valid candidate paths includes: If the number of valid candidate paths is 1, then the lateral offset of the valid candidate path is determined as the target offset; If there are multiple valid candidate paths, the target offset is calculated based on the lateral offset of the multiple valid candidate paths.
[0012] In one embodiment, the method further includes: Obtain the path curvature trend of the local external path; Based on the path curvature trend, multiple candidate paths are eliminated to obtain candidate paths after elimination; The step of evaluating the cost of each candidate path based on the cost map to obtain cost evaluation parameters for each candidate path includes: Based on the cost map, the cost of the eliminated candidate paths is evaluated to obtain the cost evaluation parameters of the eliminated candidate paths.
[0013] In one embodiment, the step of correcting the local external path based on the target offset to generate the corrected path includes: Based on the target offset, the historical offset state of the previous time step, and the path continuity of the previous time step, the local external path is corrected to generate the corrected path.
[0014] In one embodiment, before controlling the target robot to access the corrected path from its current position, the method further includes: Determine the fusion anchor point on the corrected path; Based on the current position of the target robot, the target position of the fusion anchor point, the first tangent vector corresponding to the current heading of the target robot, and the second tangent vector of the fusion anchor point on the corrected path, a continuous transition curve from the current position to the target position is generated. The end of the continuous transition curve is spliced with the fusion anchor point on the corrected path to obtain the target control path; The control of the target robot to access the corrected path from its current position includes: According to the target control path, control the target robot to connect to the corrected path from its current position.
[0015] Secondly, embodiments of this application provide an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores program instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to implement the robot navigation path determination method described in any of the above embodiments.
[0016] The beneficial effects of this application are: it provides a method for determining a robot navigation path, which involves obtaining an external navigation path, the robot's current pose, and a cost map, extracting a local external path within the robot's forward-looking distance range, generating multiple candidate paths corresponding to lateral offsets based on this path, evaluating and filtering the candidate paths in conjunction with the cost map to obtain effective candidate paths, correcting the local external path to generate a corrected path, and then controlling the robot to connect to the corrected path from the current position.
[0017] This method does not abandon the original external navigation path and completely replan when obstacles are encountered. Instead, it makes local safety offset adjustments near the original external navigation path to preserve the task semantics carried by the external navigation path as much as possible. At the same time, it relies on cost map evaluation to ensure the safety of path passage. This solves the problem that existing technologies cannot simultaneously take into account the original path semantics and driving safety, and cannot adapt to complex actual working environments. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 A flowchart illustrating the method for determining a robot navigation path provided in an embodiment of this application; Figure 2 A schematic diagram illustrating multiple candidate paths provided in embodiments of this application; Figure 3 This is a schematic flowchart of a method for determining a local external path provided in an embodiment of this application; Figure 4 This is a schematic flowchart of a method for determining lateral offset provided in an embodiment of this application; Figure 5 This is a schematic flowchart of a method for generating a corrected path provided in an embodiment of this application; Figure 6 This is a schematic diagram of the method for obtaining cost evaluation parameters provided in an embodiment of this application; Figure 7A schematic flowchart of a method for obtaining cost evaluation parameters is provided for another embodiment of this application; Figure 8 This is a schematic diagram of the method for obtaining cost evaluation parameters provided in an embodiment of this application; Figure 9 A schematic diagram of a continuous transition curve provided in an embodiment of this application; Figure 10 A schematic diagram of the structure of the robot navigation path determination device provided in the embodiments of this application; Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are some embodiments of this application, but not all embodiments.
[0021] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0022] Furthermore, the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Additionally, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0023] It should be noted that, where there is no conflict, the features in the embodiments of this application can be combined with each other.
[0024] This application provides a method for determining a robot navigation path. This method can be generated by any electronic device with computing and processing capabilities. The electronic device can be, for example, a terminal-facing computer device or a backend server.
[0025] The target robot described in this application refers to a mobile robot that needs to perform navigation and driving tasks. The target robot possesses environmental perception, localization calculation, and motion control capabilities, and can be an autonomous mobile device such as a wheeled inspection robot, a wheeled delivery robot, an outdoor low-speed unmanned vehicle, or a quadruped robot. The target robot is equipped with localization devices and sensors to calculate and output its current pose (including position coordinates and heading angle); it also carries environmental sensors such as LiDAR or cameras to construct a cost map for obstacle perception. The corrected path output by the method in this application guides the target robot to complete its driving task.
[0026] The following examples, in conjunction with the accompanying drawings, provide specific illustrations of the robot navigation path determination method provided in this application.
[0027] Figure 1 This is a flowchart illustrating the method for determining a robot navigation path provided in an embodiment of this application, as shown below. Figure 1 As shown, the method includes: S101. Obtain the external navigation path, the current pose of the target robot, and the cost map.
[0028] The external navigation path can be a GPS track path obtained by GPS, a planned path issued by a cloud map engine, or a sequence of trajectory points recorded by manual teaching. This external navigation path carries the robot's operational task intent, such as a park inspection route or a material delivery route.
[0029] The target robot's current pose is output by the robot's onboard positioning equipment and sensors. The current pose includes the robot's two-dimensional planar coordinate position and the robot's current heading angle.
[0030] The cost map is obtained by fusing multiple layers of map information. For example, the cost map may include at least one of the following layers: static map layer, obstacle layer, expansion layer, dynamic obstacle layer, restricted area layer, and unknown area layer. The grid of the cost map stores the passage cost value of the corresponding coordinate position. The higher the cost value, the higher the passage risk of the target robot at that position.
[0031] S102. Based on the external navigation path and the current pose of the target robot, determine the local external path of the target robot at a preset forward-looking distance.
[0032] Based on the current pose of the target robot, a local external path with a preset forward-looking distance is extracted on the external navigation path. Subsequent calculations are carried out only on the local path that the robot needs to travel in front of it. This reduces the computational overhead caused by long-distance paths and avoids the adverse effects of noise from the back and distant paths on the generation and correction of subsequent candidate paths.
[0033] S103. Generate multiple candidate paths centered on the local external path.
[0034] Figure 2 A schematic diagram of multiple candidate paths provided in the embodiments of this application, such as... Figure 2 As shown, multiple candidate paths correspond to multiple lateral offsets relative to the local external path. Figure 2 Taking one local external path corresponding to 4 candidate paths as an example, it does not mean that the candidate paths in this application can only be 4. In fact, the lateral offset Δ={0, ±1s, ±2s, …,±ns}, where n is a positive integer, n is used to determine the maximum lateral offset ns, and the number of candidate paths is 2n+1; s represents the unit offset (the offset between every two candidate paths, and the value of s can be set according to actual needs). Figure 2 The four candidate paths shown have corresponding lateral offsets of +1s, -1s, +2s, and -2s, respectively.
[0035] Specifically, for each path point Pi in the local external path, the average chord vector is formed by selecting the window points before and after it, and the normal of the chord vector is used as the local normal ni of the path point. The path point is translated along the local normal by the candidate offset to obtain the offset candidate path point Pi′=Pi+Δ·ni, thereby generating each candidate path.
[0036] S104. Based on the cost map and multiple candidate paths, correct the local external paths and generate the corrected paths corresponding to the local external paths.
[0037] By using the cost map to assess and screen multiple candidate paths for traffic risk, and then obtaining the effective candidate paths, the target offset is determined by combining the cost assessment parameters of the candidate paths, historical offset status, and path continuity. Based on this target offset, the local external path is laterally corrected to obtain the corrected path.
[0038] This step does not directly discard the local external path, but instead performs a safe offset adjustment based on the local external path. This preserves the task semantics of the external path, avoids the passage risks caused by obstacles by using the cost map, and combines the constraints of historical offsets to ensure the continuity of the output path and avoid frequent path jumps.
[0039] S105. Control the target robot to connect to the corrected path from its current position.
[0040] Output drive commands to the target robot to control the target robot to connect to the corrected path from the current position.
[0041] In summary, this embodiment provides a method for determining a robot navigation path. By acquiring the external navigation path, the robot's current pose, and the cost map, a local external path within the robot's forward-looking distance range is extracted, and multiple candidate paths corresponding to lateral offsets are generated centered on this path. The cost map is combined to perform cost evaluation and screening of the candidate paths to obtain effective candidate paths. The local external path is corrected to generate a corrected path, and then the robot is controlled to connect to the corrected path from the current position.
[0042] This method does not abandon the original external navigation path and completely replan when obstacles are encountered. Instead, it makes local safety offset adjustments near the original external navigation path to preserve the task semantics carried by the external navigation path as much as possible. At the same time, it relies on cost map evaluation to ensure the safety of path passage. This solves the problem that existing technologies cannot simultaneously take into account the original path semantics and driving safety, and cannot adapt to complex actual working environments.
[0043] Figure 3 This is a schematic flowchart of a method for determining a local external path provided in an embodiment of this application, as shown below. Figure 3 As shown, step S102, which involves determining the local external path of the target robot at a preset forward-looking distance based on the external navigation path and the current pose of the target robot, includes: S201. Perform distance threshold denoising and turnaround path filtering on the external navigation path to obtain the cleaned navigation path.
[0044] The external navigation path is an ordered sequence of path points, including at least two path points. These path points are arranged according to the robot's expected travel order, and each path point corresponds to a planar position coordinate. Adjacent path points specifically refer to two path points in the path sequence that are consecutive indices and immediately adjacent in the travel sequence. , Adjacent path points are connected to each other to form a path segment of the external navigation path.
[0045] In this embodiment, the cleaned navigation path is obtained after distance threshold denoising and turnaround path filtering on the external navigation path.
[0046] For example, distance threshold denoising can be achieved by sequentially traversing the adjacent path points of the external navigation path, calculating the distance between two adjacent path points, and when the distance between adjacent path points is less than a preset distance threshold, determining that one of the path points is a repetitive noise point caused by positioning jitter, and removing the noise point. For example, the preset distance threshold can be set to 0.2m.
[0047] For example, a loop path filtering method can continuously take three path points on the external navigation path, form two path vectors from the three path points, calculate the cosine similarity between the two path vectors, and if the middle path point among the three path points causes obvious path loops or zigzag patterns, then remove the middle path point to eliminate path jitter and jaggedness.
[0048] S202. Determine the starting position of the local external path based on the current pose of the target robot and the navigation path after cleaning.
[0049] The current pose includes the robot's current position and current heading angle. Calculate the vertical projection point from the target robot's current position to the cleaned navigation path, and use this projection point as the starting point of the local external path.
[0050] S203. Based on the starting position of the local external path, extract a path with a preset forward look-ahead distance from the cleaned navigation path and use it as the local external path.
[0051] Starting from the projection point (the starting point of the local external path), a path segment with a preset forward look-ahead distance is extracted along the direction of travel of the external navigation path, serving as the local external path. It should be noted that if the extracted endpoint falls between two path points on the external navigation path, the endpoint coordinates are calculated using linear interpolation.
[0052] Perform path encryption on the local external path, for example, by interpolating the path at a fixed interpolation resolution (exemplarily, the encryption step size is 0.3m). The encrypted local external path is used for subsequent candidate path generation and cost map sampling evaluation.
[0053] This embodiment reduces computational overhead by truncating local external paths and discarding irrelevant path segments behind the robot and at long distances, thus avoiding interference from distant noise points in path decision-making.
[0054] Figure 4 This is a schematic flowchart of a method for determining lateral offset provided in an embodiment of this application, as shown below. Figure 4 As shown, before executing step S103, which generates multiple candidate paths centered on the local external path, the lateral offset can be determined based on S301~S302: S301. Obtain obstacle density based on the cost map.
[0055] In addition to the method provided by S103 where the lateral offset Δ is fixed at {0, ±1s, ±2s, …, ±ns}, this embodiment also provides a lateral offset... The dynamic adaptive mode.
[0056] First, the obstacle density in the area where the local external path is located is calculated from the cost map. .
[0057] S302. Determine the maximum lateral offset based on the preset passage width of the path, the outer contour width of the target robot, the obstacle density, the path curvature of the local external path, and the preset driving speed of the target robot.
[0058] Preset passage width according to the path Target robot's outer contour width Obstacle density Path curvature of local external paths The target robot's preset travel speed Determine the maximum lateral offset .
[0059]
[0060] in, This represents a multivariate function mapping relationship, indicating that the maximum lateral offset can be obtained by solving for all input parameters within the parentheses. . For example, it could be a proportional constraint, a normalized weighted average, or other methods.
[0061] Figure 5 This is a schematic diagram of the method for generating the corrected path provided in the embodiments of this application, such as... Figure 5 As shown, step S104, based on the cost map and multiple candidate paths, corrects the local external paths to generate the corrected paths corresponding to the local external paths, including: S401. Based on the cost map, evaluate the cost of each candidate path to obtain the cost evaluation parameters for each candidate path.
[0062] The coordinates of each path point on each candidate path are converted into a raster index corresponding to the cost map. Based on the raster index, the raster access cost value corresponding to each path point position in the cost map is read. The raster access cost value is used to characterize the access risk level of the corresponding path point (for example, it can be used to characterize whether the path point is blocked by a fatal obstacle).
[0063] During the cost assessment process, if the grid passage cost value read by any path point on a candidate path is greater than or equal to the preset fatal obstacle threshold, the blocking status of the candidate path is marked as blocked, indicating that the candidate path has a collision risk and is not passable.
[0064] If the grid passage cost of all path points on a candidate path is less than a preset fatal obstacle threshold, then the average cost of the candidate path is calculated. , as a parameter for cost evaluation.
[0065]
[0066] Where N is the number of path points on the candidate path that fall within the range of the cost map. The grid passage cost for each pathpoint. Cost evaluation parameters. The higher the value, the higher the risk of traversing the candidate path.
[0067] Optionally, the scoring of candidate paths is not limited to cost map calculation; multi-factor comprehensive scoring can also be used. Score= · + · + · + · + ·
[0068] in, This indicates the travel risk of the candidate path in the cost map. Indicates the penalty for lateral offset. This represents the switching penalty relative to the historical output offset. This indicates a penalty for deviating from the center of the safety exit. This represents the penalty for the curvature or rate of change of curvature of the candidate path. Each weight ( , , , , It can be dynamically adjusted according to robot speed, obstacle density, path curvature, positioning quality, or task mode.
[0069] S402. Based on the cost evaluation parameters of each candidate path, determine the effective candidate path from multiple candidate paths.
[0070] Candidate paths marked as blocking paths are removed, and the remaining non-blocking candidate paths are the valid candidate paths.
[0071] Optionally, the horizontal offset, average cost, whether it is blocked, historical selection status, and path point set corresponding to each valid candidate path can be recorded. This data can be output to the visualization module for staff to debug and observe.
[0072] S403. Determine the target offset based on the lateral offset of the valid candidate paths.
[0073] If the number of valid candidate paths is 1, then the lateral offset of the valid candidate path is determined as the target offset.
[0074] If there are multiple valid candidate paths, the target offset is calculated based on the lateral offsets of these multiple valid candidate paths. Specifically, the cost evaluation parameters of the multiple valid candidate paths are used. Sort by ascending order from smallest to largest, and use the replacement price evaluation parameters. The lateral offsets of the two lowest valid candidate paths (denoted as ) , ), calculate the offset distance difference G=|Δ1 If G is greater than the bifurcation threshold, it means that the two candidate paths are in different channels or different detour sides. The offset corresponding to the candidate with the lowest cost is selected as the target offset. If G is less than or equal to the bifurcation threshold, the two are determined to belong to the same safe channel, and their average value is taken as the target offset. =( + This strategy, 1 / 2, enables the robot to move towards the center of the safe passage, preventing it from always moving close to obstacles on one side.
[0075] S404. Based on the target offset, correct the local external path and generate the corrected path.
[0076] In this embodiment, the local external path is corrected based on the target offset, the historical offset state of the previous time step, and the path continuity of the previous time step, and a corrected path is generated.
[0077] For example, based on the historical offset state (historical output offset) of the previous time step, a low-pass filter is used to smooth the target offset to obtain the final offset of the current time step. .
[0078] =α· +(1 α)·
[0079] Where α is the smoothing coefficient. The target offset for the current frame. This is the historical output offset from the previous time step.
[0080] As a further preferred implementation, the target offset switching needs to meet the advantage confirmation of consecutive multi-frames: first, the cost evaluation parameters of the new candidate path are pre-estimated (the principle of calculating the cost evaluation parameters is the same as in the above embodiment). Only when the cost evaluation parameters of the new candidate path are better than the current historical selected candidate path for N consecutive time steps and the advantage exceeds the set threshold, is it allowed to switch the target offset to the offset corresponding to the new candidate. Otherwise, the target offset of the previous time step is maintained, and the output offset is continued to be low-pass smoothed to suppress the frequent switching of candidates caused by sensor noise and instantaneous jitter of the cost map, and to prevent the output path from jumping left and right.
[0081] Finally, the final offset By applying the correction to the local external path, the corrected path can be obtained.
[0082] In one embodiment, the cost map includes a static map layer, an obstacle layer, and a restricted area layer. Figure 6 This is a schematic diagram of the method for obtaining cost evaluation parameters provided in the embodiments of this application, such as... Figure 6 As shown in S401, the cost evaluation of each candidate path is performed based on the cost map to obtain the cost evaluation parameters for each candidate path, including: S501. Based on the static map layer, perform static map cost evaluation on each candidate path to obtain the static map cost evaluation parameters for each candidate path.
[0083] S502. Based on the obstacle layer, perform obstacle cost evaluation on each candidate path to obtain the obstacle cost evaluation parameters for each candidate path.
[0084] S503. Based on the restricted area layer, evaluate the restricted area cost of each candidate path to obtain the restricted area cost evaluation parameters for each candidate path.
[0085] S504. Based on the static map cost evaluation parameters, obstacle cost evaluation parameters, and restricted area cost evaluation parameters, obtain the cost evaluation parameters for each candidate path.
[0086] Based on the static map cost assessment parameters, obstacle cost assessment parameters, and restricted area cost assessment parameters, the passage risk of candidate paths in the cost map is obtained. , which serves as a cost evaluation parameter for candidate paths.
[0087] · · ·
[0088] in, This represents the parameters for evaluating the cost of static maps. Indicates the obstacle cost assessment parameters. This indicates the parameters for assessing the cost of restricted areas. , For weights.
[0089] Optionally, · · · · ,in, Indicates the cost of the unknown region. For weights.
[0090] Figure 7 A schematic diagram of a method for obtaining cost evaluation parameters is provided for another embodiment of this application, as shown below. Figure 7 As shown, the method of this application further includes: S701. Obtain the path curvature trend of the local external path.
[0091] Along the local external path, path points are sampled at fixed step sizes, and the normalized heading differences between adjacent path segments are accumulated to obtain the path turning amount. .
[0092]
[0093] The logic for determining the path curvature trend is: if the path turning point... If the value exceeds the left-turn threshold, the local external path is determined to be trending left; if the path turning amount... If the value is less than the right-turn threshold, the local external path is determined to be a right-turn trend; otherwise, the local external path is determined to be a straight path.
[0094] S702. Based on the path curvature trend, multiple candidate paths are eliminated to obtain the eliminated candidate paths.
[0095] When a local external path is determined to be a left-turn trend, all candidate paths to the left of the curve are eliminated; when a local external path is determined to be a right-turn trend, all candidate paths to the right of the curve are eliminated; if a local external path is determined to be a straight-going trend, all candidate paths on both the left and right sides of the local external path are retained.
[0096] Candidate paths that are eliminated are marked as unavailable and are no longer included in subsequent cost map sampling and evaluation. This reduces computational load and geometrically prevents the robot from tangentially colliding with other robots on curves.
[0097] S401 describes evaluating the cost of each candidate path based on the cost map to obtain cost evaluation parameters for each candidate path, including: S703, evaluating the cost of eliminated candidate paths based on the cost map to obtain cost evaluation parameters for eliminated candidate paths.
[0098] Figure 8 This is a schematic diagram of the method for obtaining cost evaluation parameters provided in the embodiments of this application, such as... Figure 8 As shown, before executing step S105, which controls the target robot to access the corrected path from its current position, the method of this application further includes: S801. Determine the fusion anchor point on the corrected path.
[0099] Figure 9 A schematic diagram of a continuous transition curve provided in an embodiment of this application, as shown below. Figure 9 As shown, in order to enable the robot to smoothly transition from its current position into the corrected local path, the path distance is accumulated from the starting point to the ending point of the corrected path. The position point where the accumulated path distance equals the preset fusion distance is selected as the fusion anchor point. .
[0100] S802. Based on the current position of the target robot, the target position of the fusion anchor point, the first tangent vector corresponding to the current heading of the target robot, and the second tangent vector of the fusion anchor point on the path after correction, generate a continuous transition curve from the current position to the target position.
[0101] A single-segment transition curve is generated using cubic Hermitian splines. The robot's current position is recorded. The tangent vector corresponding to the robot's current heading is the first tangent vector. ; Fusion anchor point location After correction, the tangent vector at the fusion anchor point of the path is the second tangent vector. The formula for the transition curve is:
[0102] in, Here are the normalized geometric parameters of the curve, 0 ≤ ≤1, =0 corresponds to the starting point of the curve, i.e., the robot's current position. ; =1 corresponds to the curve endpoint, i.e., the fusion anchor point. ; within the interval [0,1] By performing discrete sampling, continuous path points on the transition curve can be obtained, thereby generating a complete continuous transition curve.
[0103] Optionally, a tension coefficient can be introduced to adjust the tangent vector length. When the tension coefficient is less than 1, the curve is tightened to reduce S-shaped overshoot and yaw twist of the transition curve. It should be noted that cubic Hermit splines are only a preferred method in this embodiment, and can also be replaced by other methods such as Bézier curves, B-splines, cyclotron curves, and quintic polynomials to generate the continuous transition curve of this embodiment.
[0104] S803. Connect the end of the continuous transition curve with the fusion anchor point on the corrected path to obtain the target control path.
[0105] Align and splice the end of the continuous transition curve with the fusion anchor point, and retain the corrected path after the fusion anchor point. This splicing process will complete the acquisition of the target control path, which is connected to the corrected path from the robot's current position.
[0106] Optionally, this application may also perform post-processing on the spliced target control path, including but not limited to high-density interpolation encryption (exemplarily, interpolation interval 0.1m), initial heading fusion, and moving average. Among them, initial heading fusion is to gradually fuse the robot's actual heading and the path's geometric heading according to a cubic smoothing function within a short distance at the beginning of the path to avoid abrupt changes in lateral control; moving average is used to eliminate interpolation and residual noise.
[0107] S105 The control of the target robot to access the corrected path from the current position includes: S804, according to the target control path, controlling the target robot to access the corrected path from the current position.
[0108] Based on the target control path, output drive commands to control the target robot to connect to the corrected path from the current position.
[0109] Optionally, before the target robot is controlled to access the corrected path from its current position, a cost map safety check is performed in front of the target control path (e.g., 5 meters) from the current position of the target robot. If it is confirmed that a number of consecutive preset path points (e.g., 10 path points) are impassable, a collision risk is confirmed ahead, and an obstacle avoidance control strategy is triggered: a safe target point is searched within a range of about 3 meters after the last collision path point, and the target robot is controlled to track the safe target point.
[0110] When the straight-line distance between the target robot and the original target control path or the corrected path is less than a preset threshold, or when the risk of collision ahead is eliminated, the obstacle avoidance control strategy is exited, and the target robot is re-controlled to track the target control path ahead (if the current position has been connected to the corrected path, then the corrected path is tracked).
[0111] The following will continue to explain the apparatus, device, and storage medium for performing the robot navigation path determination method provided in any of the above embodiments of this application. The specific implementation process and the resulting technical effects are the same as those in the corresponding method embodiments. For the sake of brevity, the parts not mentioned in the following embodiments can be referred to the corresponding content in the method embodiments.
[0112] Optionally, Figure 10 This is a schematic diagram of the structure of the robot navigation path determination device provided in the embodiments of this application, as shown below. Figure 10 As shown, this application provides a device for determining a robot navigation path, comprising: The acquisition module 10 is used to acquire the external navigation path, the current pose of the target robot, and the cost map.
[0113] The determination module 20 is used to determine the local external path of the target robot at a preset forward-looking distance based on the external navigation path and the current pose of the target robot.
[0114] The generation module 30 is used to generate multiple candidate paths centered on the local external path; the multiple candidate paths correspond to multiple lateral offsets relative to the local external path.
[0115] The correction module 40 is used to correct the local external path based on the cost map and multiple candidate paths, and generate the corrected path corresponding to the local external path.
[0116] The control module 50 is used to control the target robot to access the corrected path from its current position.
[0117] Optionally, the determining module 20 is also used to perform distance threshold denoising and turnaround path filtering on the external navigation path to obtain a cleaned navigation path; determine the starting position of the local external path based on the current pose of the target robot and the cleaned navigation path; and extract a path with a preset forward look distance from the cleaned navigation path based on the starting position of the local external path as the local external path.
[0118] Optionally, the acquisition module 10 is further configured to acquire obstacle density based on the cost map; the determination module 20 is further configured to determine the maximum lateral offset based on the preset passage width of the path, the outer contour width of the target robot, the obstacle density, the path curvature of the local external path, and the preset driving speed of the target robot.
[0119] Optionally, the correction module 40 is used to evaluate the cost of each candidate path according to the cost map to obtain the cost evaluation parameters of each candidate path; determine the effective candidate path from multiple candidate paths according to the cost evaluation parameters of each candidate path; determine the target offset according to the lateral offset of the effective candidate path; and correct the local external path according to the target offset to generate the corrected path.
[0120] Optionally, the cost map includes: a static map layer, an obstacle layer, and a restricted area layer; the correction module 40 is further configured to: perform static map cost evaluation on each candidate path based on the static map layer to obtain static map cost evaluation parameters for each candidate path; perform obstacle cost evaluation on each candidate path based on the obstacle layer to obtain obstacle cost evaluation parameters for each candidate path; perform restricted area cost evaluation on each candidate path based on the restricted area layer to obtain restricted area cost evaluation parameters for each candidate path; and obtain cost evaluation parameters for each candidate path based on the static map cost evaluation parameters, obstacle cost evaluation parameters, and restricted area cost evaluation parameters.
[0121] Optionally, the correction module 40 is used to determine the lateral offset of the valid candidate path as the target offset if the number of valid candidate paths is 1; and to calculate the target offset based on the lateral offsets of the multiple valid candidate paths if the number of valid candidate paths is multiple.
[0122] Optionally, the acquisition module 10 is used to acquire the path curvature trend of the local external path; based on the path curvature trend, multiple candidate paths are eliminated to obtain the eliminated candidate paths.
[0123] The correction module 40 is used to evaluate the cost of the candidate paths after elimination based on the cost map, and obtain the cost evaluation parameters of the candidate paths after elimination.
[0124] Optionally, the correction module 40 is used to correct the local external path based on the target offset, the historical offset state of the previous time step of the current time step, and the path continuity of the previous time step, and generate a corrected path.
[0125] Optionally, the determining module 20 is further configured to determine the fusion anchor point on the corrected path. The generating module 30 is further configured to generate a continuous transition curve from the current position to the target position based on the current position of the target robot, the target position of the fusion anchor point, the first tangent vector corresponding to the current heading of the target robot, and the second tangent vector of the fusion anchor point on the corrected path; and to splice the end of the continuous transition curve with the fusion anchor point on the corrected path to obtain the target control path.
[0126] The control module 50 is used to control the target robot to connect to the corrected path from the current position according to the target control path.
[0127] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0128] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more microprocessors, or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0129] Figure 11 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application, such as... Figure 11 As shown, this application also provides an electronic device, including a processor 100, a storage medium 200, and a bus 300. The storage medium stores program instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to implement the robot navigation path determination method described in any of the above embodiments.
[0130] Optionally, this application also provides a readable storage medium storing program instructions, which, when executed by a processor, implement the robot navigation path determination method described in any of the above embodiments.
[0131] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0132] 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.
[0133] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.
[0134] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. 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.
[0135] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for determining a robot navigation path, characterized in that, include: Obtain the external navigation path, the target robot's current pose, and the cost map; Based on the external navigation path and the current pose of the target robot, determine the local external path of the target robot at a preset forward-looking distance; Multiple candidate paths are generated with the local external path as the center; the multiple candidate paths correspond to multiple lateral offsets relative to the local external path. Based on the cost map and multiple candidate paths, the local external path is corrected to generate the corrected path corresponding to the local external path. Control the target robot to connect to the corrected path from its current position.
2. The method according to claim 1, characterized in that, Determining the local external path of the target robot at a preset forward-looking distance based on the external navigation path and the current pose of the target robot includes: The external navigation path is subjected to distance threshold denoising and turnaround path filtering to obtain a cleaned navigation path; Based on the current pose of the target robot and the cleaned navigation path, determine the starting position of the local external path; Based on the starting position of the local external path, a path with the preset forward look-ahead distance is extracted from the cleaned navigation path and used as the local external path.
3. The method according to claim 1, characterized in that, Before generating multiple candidate paths centered on the local external path, the method further includes: Obtain the obstacle density based on the cost map; The maximum lateral offset is determined based on the preset passage width of the path, the outer contour width of the target robot, the obstacle density, the path curvature of the local external path, and the preset travel speed of the target robot.
4. The method according to claim 1, characterized in that, The step of correcting the local external path based on the cost map and multiple candidate paths to generate a corrected path corresponding to the local external path includes: Based on the cost map, cost evaluation is performed on each of the candidate paths to obtain cost evaluation parameters for each candidate path; Based on the cost evaluation parameters of each candidate path, a valid candidate path is determined from the plurality of candidate paths; The target offset is determined based on the lateral offset of the valid candidate paths; Based on the target offset, the local external path is corrected to generate the corrected path.
5. The method according to claim 4, characterized in that, The cost map includes: a static map layer, an obstacle layer, and a restricted area layer; The step of evaluating the cost of each candidate path based on the cost map to obtain cost evaluation parameters for each candidate path includes: Based on the static map layer, static map cost evaluation is performed on each of the candidate paths to obtain static map cost evaluation parameters for each of the candidate paths; Based on the obstacle layer, obstacle cost is evaluated for each candidate path to obtain obstacle cost evaluation parameters for each candidate path; Based on the restricted area layer, the restricted area cost is evaluated for each candidate path to obtain the restricted area cost evaluation parameters for each candidate path; The cost evaluation parameters for each candidate path are obtained based on the static map cost evaluation parameters, the obstacle cost evaluation parameters, and the restricted area cost evaluation parameters.
6. The method according to claim 4, characterized in that, Determining the target offset based on the lateral offset of the valid candidate paths includes: If the number of valid candidate paths is 1, then the lateral offset of the valid candidate path is determined as the target offset; If there are multiple valid candidate paths, the target offset is calculated based on the lateral offset of the multiple valid candidate paths.
7. The method according to claim 4, characterized in that, The method further includes: Obtain the path curvature trend of the local external path; Based on the path curvature trend, multiple candidate paths are eliminated to obtain candidate paths after elimination; The step of evaluating the cost of each candidate path based on the cost map to obtain cost evaluation parameters for each candidate path includes: Based on the cost map, the cost of the eliminated candidate paths is evaluated to obtain the cost evaluation parameters of the eliminated candidate paths.
8. The method according to claim 4, characterized in that, The step of correcting the local external path based on the target offset to generate the corrected path includes: Based on the target offset, the historical offset state of the previous time step, and the path continuity of the previous time step, the local external path is corrected to generate the corrected path.
9. The method according to claim 1, characterized in that, Before controlling the target robot to access the corrected path from its current position, the method further includes: Determine the fusion anchor point on the corrected path; Based on the current position of the target robot, the target position of the fusion anchor point, the first tangent vector corresponding to the current heading of the target robot, and the second tangent vector of the fusion anchor point on the corrected path, a continuous transition curve from the current position to the target position is generated. The end of the continuous transition curve is spliced with the fusion anchor point on the corrected path to obtain the target control path; The control of the target robot to access the corrected path from its current position includes: According to the target control path, control the target robot to connect to the corrected path from its current position.
10. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores program instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to implement the method for determining a robot navigation path as described in any one of claims 1 to 9.
