A robot path determination method

CN122943847APending Publication Date: 2026-10-20JINAN CHENXI E-COMMERCE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611089148.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-22
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

这不仅会错误地触发局部避障斥力,导致机器人脱离最优的基准拓扑路径,还会随着阴影的推移引发局部规划路径的持续震荡

Benefits of technology

[0016]1.本发明提供的一种机器人路径确定方法,通过在设定时间窗口内同步采集视觉图像序列、激光点云数据、时间戳数据及地理位置坐标数据,以多维度的空间与时序信息构建了高精度的环境感知基础。本发明的核心在于,基于基准地图数据对视觉图像进行静态边缘剔除与光流跟踪,提取动态候选边缘及其运动矢量,并将时空数据代入太阳星历模型进行天文先验解析,推算出物理视角的理论阴影位移矢量。通过将候选边缘运动矢量与理论阴影位移矢量进行余弦相似度及幅值的严苛比对,并进一步投影至激光点云数据中提取回波状态,系统能够精准甄别纯光影状态与实体障碍重叠状态,从而动态赋予相应的阴影置信度数值。这种方法打破了传统机器人导航仅依赖表层视觉特征而极易将光影边界误判为物理障碍物的局限,实现了以天文物理规律与多模态传感器交叉验证为基准的动态阴影剥离,不仅大幅优化了局部代价地图中通行阻挡代价的分配机制,也为复杂室外光照环境下的移动机器人高精度空间感知与抗干扰导航提供了一种创新性手段。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

This invention discloses a robot path determination method, relating to the field of image recognition technology. It includes simultaneously acquiring visual, laser point cloud, temporal, and positional data; extracting dynamic candidate edges and motion vectors from a baseline map; and calculating theoretical shadow displacement vectors using a solar ephemeris model and map high points. By comparing the vector difference and brightness gradient difference, edges meeting the criteria are transferred to three-dimensional space, and multimodal cross-validation is performed using laser point cloud echo states to accurately identify pure light and shadow states and assign high shadow confidence. This reduces the obstruction cost of local cost maps. Simultaneously, using the baseline topological path as a virtual gravity axis, the obstacle avoidance repulsion vector generated by interference is added to the shortest distance pull-back gravity vector, ultimately generating a smooth target planning path. This invention effectively improves navigation stability under complex lighting conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of image recognition technology, and in particular to a method for determining robot paths. Background Technology

[0002] With the widespread application of automated navigation technology in robots, the accuracy and efficiency of path planning in complex natural lighting environments, such as outdoor and semi-outdoor environments, have gradually become key bottlenecks restricting their actual operational capabilities. Existing robot path determination methods often rely excessively on single visual image edge features or basic environmental perception data when constructing local cost maps and executing obstacle avoidance logic, lacking a deep perception and effective discrimination mechanism for the dynamic evolution of environmental light and shadow. This limitation in perception dimension makes it easy for robots to misjudge the projected shadows of environmental entities as real physical obstacles when faced with dynamic light sources, leading to the path planning system frequently outputting unreasonable detour trajectories, severely weakening the robot's navigation continuity and spatial mobility efficiency.

[0003] In traditional path planning logic, visual data processing typically remains at the surface level of pixel gradient and 2D contour extraction. When the angle of natural light changes over time, static environmental structures project high-contrast shadow edges. Traditional algorithms struggle to effectively separate these visually significant light and shadow boundaries from real 3D obstacles. Lacking prior physical information such as celestial motion laws and in-depth cross-validation between visual perception and spatial depth detection data, the navigation control system directly maps these shadow edges as high-obstacle-cost regions in the local cost map. This not only incorrectly triggers local obstacle avoidance repulsion, causing the robot to deviate from the optimal baseline topology, but also leads to continuous oscillations in the local planned path as the shadow shifts. Furthermore, traditional techniques cannot anticipate the evolution of light and shadow or provide dynamic environmental compensation, leaving the robot in a passive and blind obstacle avoidance response state during navigation tasks. This creates a serious conflict between local obstacle avoidance logic and global path guidance, ultimately resulting in a tortuous planned trajectory and wasted system computational resources. Summary of the Invention

[0004] To address the shortcomings of existing technologies, this invention provides a robot path determination method.

[0005] This invention provides a robot path determination method, comprising the following steps:

[0006] Simultaneously acquire visual image sequences, laser point cloud data, timestamp data, and geographic location coordinate data within a set time window;

[0007] Static edge removal is performed on visual image sequences based on benchmark map data. Dynamic candidate edges and their corresponding motion vectors under continuous displacement are extracted, and the brightness gradient difference between the inner and outer sides of the dynamic candidate edges is calculated.

[0008] The timestamp data and geographic coordinate data are substituted into the solar ephemeris model for astronomical prior analysis to calculate the current solar altitude angle and azimuth angle, and the theoretical shadow displacement vector is deduced by combining the static high point coordinates in the baseline map data.

[0009] The vector difference is obtained by comparing the motion vector of the candidate edge with the theoretical shadow displacement vector. When the vector difference is less than the error threshold and the brightness gradient difference is greater than the gradient threshold, the multimodal cross-validation logic is triggered to transform the dynamic candidate edge to the absolute three-dimensional spatial coordinate system to generate a set of spatial coordinate points.

[0010] The spatial coordinate point set is projected onto the laser point cloud data to extract the environmental point cloud echo state. When the environmental point cloud echo state has no valid echo, it is determined to be a pure light and shadow state and assigned the highest shadow confidence value. When the environmental point cloud echo state has the presence of physical point clouds, it is determined to be an obstacle overlap state and assigned the lowest shadow confidence value.

[0011] Extract the baseline topological path from the baseline map data as the virtual gravity axis;

[0012] Reduce the cost of obstruction at the corresponding location in the local cost map based on the highest shadow confidence value;

[0013] When the local cost map generates an obstacle avoidance repulsion vector corresponding to the dynamic candidate edge due to the impact of the passage obstruction cost, the shortest distance pull-back gravity vector pointing to the reference topology path is generated based on the virtual gravity central axis;

[0014] The obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector are vectored together to generate a resultant force guiding vector, which generates a smooth target trajectory and outputs the target planned path.

[0015] In summary, the present invention has at least one of the following beneficial technical effects:

[0016] 1. This invention provides a robot path determination method that simultaneously acquires visual image sequences, laser point cloud data, timestamp data, and geographic coordinate data within a set time window, constructing a high-precision environmental perception foundation with multi-dimensional spatial and temporal information. The core of this invention lies in performing static edge removal and optical flow tracking on visual images based on benchmark map data to extract dynamic candidate edges and their motion vectors. The spatiotemporal data is then substituted into a solar ephemeris model for astronomical prior analysis to calculate the theoretical shadow displacement vector from a physical perspective. By rigorously comparing the cosine similarity and amplitude of the candidate edge motion vectors with the theoretical shadow displacement vectors, and further projecting them onto laser point cloud data to extract echo states, the system can accurately distinguish between pure light and shadow states and overlapping states of physical obstacles, thereby dynamically assigning corresponding shadow confidence values. This method breaks through the limitations of traditional robot navigation, which relies solely on surface visual features and is prone to misjudging light and shadow boundaries as physical obstacles. It achieves dynamic shadow stripping based on cross-validation of astrophysical laws and multimodal sensors. This not only significantly optimizes the allocation mechanism of passage obstruction costs in local cost maps, but also provides an innovative means for high-precision spatial perception and anti-interference navigation of mobile robots in complex outdoor lighting environments.

[0017] 2. This invention utilizes the extracted baseline topological path as a virtual gravity axis. When the local cost map generates obstacle avoidance repulsion vectors due to residual obstacle costs, it calculates and generates the shortest distance pull-back gravity vector pointing towards the baseline path. By vector-adding the obstacle avoidance repulsion force with the pull-back gravity force incorporating shadow confidence scaling, the system can output the truncated optimal resultant force guidance vector within the robot's dynamic kinematic constraints and generate a smooth velocity command sequence through a dynamic window evaluation function. By introducing a direction penalty layer to forcibly correct trajectory crossing posture and using the theoretical shadow displacement vector for heuristic advance compensation of the predicted edge coordinates of the next time window, the system can accurately predict and avoid trajectory oscillation risks caused by light and shadow evolution. This provides a novel solution for eliminating false obstacle repulsion, suppressing local path yaw, and ensuring the global stability of the robot's repetitive work trajectory, making adaptive navigation control in dynamic lighting environments more effective and innovative in industrial inspection and outdoor logistics applications. Attached Figure Description

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

[0019] Figure 1 This is a flowchart of a robot path determination method provided by the present invention.

[0020] Figure 2 This is a schematic diagram of the theoretical shadow displacement vector calculation and vector difference and joint determination sub-process provided in the embodiment of the present invention.

[0021] Figure 3 This is a schematic diagram of the sub-processes for local cost map update, directional penalty zone, and dynamic window trajectory synthesis provided in the embodiments of the present invention. Detailed Implementation

[0022] The following description, in conjunction with the implementation of the present invention, is merely an example and illustration of the concept of the present invention. Those skilled in the art can make various modifications or additions to the specific embodiments described, or use similar methods to replace them, as long as they do not deviate from the concept of the invention, and all such modifications and additions should fall within the protection scope of the present invention.

[0023] Example

[0024] This invention is applicable to mobile robot path planning in outdoor and semi-outdoor operating scenarios, such as under factory skylights, open-air freight yards, and outdoor logistics channels. In these scenarios, the positions of physical structures such as columns, equipment, and fences are stable, but their projected shadows shift over time. If the robot relies solely on visual image sequences to build a local cost map, shadow boundaries are easily mistaken for obstacle boundaries, causing unnecessary detours due to changes in the target planned path over time. The core of this implementation lies in associating and processing edge displacement data, laser point cloud data, timestamp data, geographic location coordinate data, and baseline map data from the visual image sequence. It then uses the physical priors provided by the solar ephemeris model to verify candidate edges, and finally combines the local cost map and the baseline topology path to generate a target planned path with pullback compensation.

[0025] This application discloses a robot path determination method.

[0026] Reference Figure 1-3 A robot path determination method, specifically including:

[0027] In this embodiment, the method is executed by a robot navigation controller. The robot navigation controller may include an image processing module, a point cloud processing module, an ephemeris analysis module, a cost map update module, and a trajectory planning module. These modules run on the same processor or on multiple communicating processors. Visual image sequences are acquired by a camera mounted on the front of the robot. Laser point cloud data is acquired by a 2D LiDAR, 3D LiDAR, or solid-state LiDAR. Timestamp data is provided by the robot's system clock, and geographic location coordinate data is provided by a GNSS receiver, RTK positioning unit, or site positioning system. Reference map data is pre-stored in the robot's memory and includes static contour coordinates, static elevation coordinates, a 3D physical contour, and a reference topology path. Reference map data is typically created during periods without strong direct sunlight and with indistinct shadow boundaries to preserve the boundaries of physical structures and reduce light and shadow interference. The reference map data is uniformly recorded in the world Cartesian coordinate system, with the units for static contour coordinates and static elevation coordinates being meters. The robot's current pose is used to establish the transformation relationship between the world Cartesian coordinate system and the robot coordinate system, while camera extrinsic parameters are used to establish the transformation relationship between the robot coordinate system and the camera coordinate system. If any coordinate transformation parameter is missing, the shadow confidence update will not be performed in the current calculation cycle; only the entity obstacle value corresponding to the laser point cloud will be retained.

[0028] Simultaneously acquire visual image sequences, laser point cloud data, timestamp data, and geographic location coordinate data within a set time window;

[0029] Specifically, after the robot enters the work area, the navigation controller synchronously acquires visual image sequences, laser point cloud data, timestamp data, and geographic coordinate data within a set time window. The set time window can be five to twenty minutes, with fifteen minutes used in a more stable embodiment. It should be noted that the set time window value satisfies the condition that the theoretical displacement length of the dynamic candidate edge within the window is greater than the minimum observable displacement length. When the robot's operating speed is high or the camera's field of view changes significantly, the set time window is five to ten minutes; when the robot is in a low-speed inspection or stationary waiting state, the set time window is ten to twenty minutes. If the number of valid image frames within the set time window is less than three frames, or the number of valid laser point cloud frames is less than two frames, the current window sample size is deemed insufficient, and the dynamic candidate edge conversion to a pure light and shadow state is not triggered. The visual image sequence uses RGB image format, with each frame including the image acquisition time, and the resolution can be from 1280×720 pixels to 1920×1080 pixels. Laser point cloud data is represented by a combination of point coordinates and echo intensity in the robot coordinate system. Each point includes at least horizontal, vertical, and height coordinates, as well as echo intensity. Timestamp data is recorded in Coordinated Universal Time (UTC) or local unified time and maintains the same time base as the visual image sequence and laser point cloud data. Geographic location coordinate data is represented using latitude, longitude, and elevation data. In scenarios with an on-site positioning coordinate system, the geographic location coordinate data is also transformed and written into the world Cartesian coordinate system.

[0030] Static edge removal is performed on visual image sequences based on benchmark map data. Dynamic candidate edges and their corresponding motion vectors under continuous displacement are extracted, and the brightness gradient difference between the inner and outer sides of the dynamic candidate edges is calculated.

[0031] Specifically, after data acquisition, the image processing module performs static edge removal on the visual image sequence based on the reference map data. This step does not simply delete dark areas in the image; instead, it first matches the edge data in the visual image sequence with the static contour coordinates in the reference map data within the same coordinate system. Since the robot's posture changes during movement, the image processing module first reads the robot's pose data, as well as the camera's intrinsic and extrinsic parameters, and projects the static contour coordinates from the reference map data onto the current image plane to obtain the reference edge positions corresponding to the current frame of the visual image sequence. Subsequently, the image processing module extracts the edge pixel coordinates from the current frame of the visual image sequence, removing portions that overlap with the reference edge positions, leaving edge data that is not interpreted by the reference map data. After processing multiple consecutive frames, if the uninterpreted edge data shows a change in position, it enters the dynamic candidate edge extraction process.

[0032] For dynamic candidate edges in continuous displacement states, the image processing module tracks the displacement of the same edge segment within a set time window. For example, within a 15-minute set time window, one frame can be extracted every 30 seconds for calculation, or the frame extraction density can be increased when the robot is running at low speed. The image processing module matches the non-static edges that still exist between adjacent frames to obtain the trajectory of the edge pixel coordinates moving over time. Since real dynamic objects such as pedestrians, vehicles, and robotic arms also produce edge changes, this implementation does not directly treat all moving edges as shadow boundaries. Instead, it requires that the edge displacement has directional consistency in multiple adjacent time frames, and that the displacement length reaches the effective scale required for subsequent calculations. After the filtering is completed, the image processing module outputs the dynamic candidate edges and their corresponding candidate edge motion vectors. The candidate edge motion vector points from the position of the dynamic candidate edge at the start time of the set time window to the position at the end time. Its direction represents the direction of movement of the dynamic candidate edge, and its magnitude represents the displacement length of the dynamic candidate edge within that time window.

[0033] While obtaining the motion vector of the candidate edge, the image processing module calculates the brightness gradient difference between the inner and outer sides of the dynamic candidate edge. For the solar shadow boundary, there is usually a characteristic that one side is brighter and the other side is brighter. The image processing module takes pixel bands along the normal direction of the dynamic candidate edge, respectively, on the geometric inner and geometric outer sides. The width of the pixel band can be 3 to 10 pixels, and 5 pixels can be used in high-resolution images. The value of the calibrated pixel band width is determined based on factors including camera resolution, the width of the transition between light and dark areas at dynamic candidate edges, and the complexity of ground texture. This width should be able to cover stable bright and dark areas on both sides of the dynamic candidate edge, so that the average brightness of the inner pixels and the average brightness of the outer pixels can reflect the difference in brightness at the shadow boundary. At the same time, this width should not be too large to avoid introducing ground markings, cracks, cargo edges, or other non-shadow textures into the brightness calculation area. For images with lower resolution or blurred shadow boundaries, the pixel band width can be appropriately increased. For images with higher resolution and clear shadow boundaries, a smaller pixel band width can be used. In visual image sequences ranging from 1280×720 pixels to 1920×1080 pixels, the calibrated pixel band width is preferably 3 to 10 pixels, of which 5 pixels can be used in 1920×1080 pixel images to balance brightness statistical stability and texture interference suppression. The image processing module calculates the average brightness of the inner pixels on the geometrically inner side and the average brightness of the outer pixels on the geometrically outer side, respectively. Then, it subtracts the average brightness of the inner pixels from the average brightness of the outer pixels to obtain the brightness gradient difference. This brightness gradient difference serves as the basis for determining whether a candidate edge possesses shadow / brightness boundary attributes, and it participates in the subsequent determination along with the candidate edge motion vector, avoiding misjudgments caused by relying solely on brightness.

[0034] Furthermore, static edge removal is performed on the visual image sequence based on the benchmark map data, dynamic candidate edges and their corresponding motion vectors under continuous displacement states are extracted, and the brightness gradient difference between the inner and outer sides of the dynamic candidate edges is calculated, including:

[0035] The current edge pixel coordinate set is extracted frame by frame from the visual image sequence. The current edge pixel coordinate set is spatially aligned and compared with the static contour coordinates in the benchmark map data. Overlapping coordinate points are removed to obtain the non-static edge coordinate set.

[0036] Optical flow tracking and matching are performed on the non-static edge coordinate set of adjacent time frames in a visual image sequence to generate a set of pixel displacement trajectories corresponding to each coordinate point.

[0037] Target displacement trajectories with consistent spatial displacement direction and displacement length greater than displacement threshold are selected from the set of pixel displacement trajectories. The non-static edge coordinate set corresponding to the target displacement trajectory is clustered and connected into dynamic candidate edges.

[0038] Based on the starting and ending coordinates of the target displacement trajectory, vector calculations are performed to generate candidate edge motion vectors;

[0039] Offset the calibrated pixel band width along the normal direction of the dynamic candidate edge to the geometric inner and geometric outer sides respectively, and extract the average brightness of the inner pixels on the geometric inner side and the average brightness of the outer pixels on the geometric outer side.

[0040] The brightness gradient difference is generated by subtracting the average brightness of the inner pixels from the average brightness of the outer pixels.

[0041] In a specific embodiment, a more refined implementation can be adopted for static edge culling and dynamic candidate edge generation. The image processing module extracts the current edge pixel coordinate set frame by frame from the visual image sequence. Edge extraction can employ gradient operators, double-threshold edge extraction, or edge extraction based on brightness abrupt changes. The output data is not an image patch, but rather a current edge pixel coordinate set composed of pixel horizontal and vertical coordinates. Subsequently, the image processing module performs spatial alignment comparison between the current edge pixel coordinate set and the static contour coordinates in the reference map data. During spatial alignment comparison, the static contour coordinates are first transformed from the world Cartesian coordinate system to the camera coordinate system, and then projected onto the image plane. If a coordinate point in the current edge pixel coordinate set falls within a certain neighborhood of the projected static contour coordinate position, it is considered to correspond to the static structure of the entity and is removed from the current edge pixel coordinate set, with the remaining portion forming a non-static edge coordinate set.

[0042] After obtaining the set of non-static edge coordinates, the image processing module performs optical flow tracking matching on the non-static edge coordinate sets of adjacent time frames in the visual image sequence, generating a set of pixel displacement trajectories corresponding to each coordinate point. Optical flow tracking matching uses grayscale consistency and local neighborhood shape consistency between adjacent time frames as constraints to avoid mismatching pixels that are far apart and have unrelated textures. Each pixel displacement trajectory includes the coordinates of the starting frame, the coordinates of the middle frame, the coordinates of the ending frame, and the displacement of adjacent frames. If a trajectory is interrupted for too many frames, it indicates that the edge segment is unstable, and the image processing module does not write this trajectory into the subsequent target displacement trajectory. This processing method allows the set of pixel displacement trajectories to better reflect continuous displacement states rather than instantaneous exposure changes.

[0043] In the set of pixel displacement trajectories, the image processing module filters out target displacement trajectories with consistent spatial displacement directions and displacement lengths greater than a displacement threshold. Consistent spatial displacement directions can be determined by whether the angle between adjacent trajectory directions is within a small range, for example, an angle not exceeding fifteen degrees. Specifically, for the first... The pixel displacement trajectory has the following starting pixel coordinates: The endpoint pixel coordinates are The pixel displacement vector is ,in The unit is pixels. If If the displacement is too small, the trajectory will be deleted. The displacement threshold can be set from 8 to 20 pixels. For any two adjacent trajectories... and The consistency of direction is calculated according to the following formula, specifically: ;in, For any two adjacent trajectories and The cosine value of directional consistency is dimensionless. To prevent values ​​with a denominator of zero from having a stable lower bound. If If so, then the two trajectories are determined to be in the same direction; The directional angle threshold can be set between 10 and 20 degrees. A value of 10 to 15 degrees is used when the shadow boundary continuity is good, and 15 to 20 degrees is used when the ground texture is complex. The displacement threshold can be determined based on the camera resolution and the set time window; for example, 8 to 20 pixels in a 1920×1080 pixel image. A displacement length greater than the displacement threshold ensures that the candidate edge motion vector has an effective scale, preventing the subsequent direction cosine similarity from losing stability under extremely small displacements. The displacement threshold is calibrated based on the following: its value should be greater than the edge positioning jitter generated during camera edge extraction and optical flow tracking, while being less than the projection length of the theoretical shadow displacement on the image plane within the set time window. Edge positioning jitter refers to the pixel-level positional fluctuation of the same static edge in consecutive image frames due to imaging noise, exposure changes, and edge extraction errors. If the displacement threshold is too small, ground texture, exposure flicker, or edge extraction errors may be mistakenly identified as dynamic candidate edges; if the displacement threshold is too large, the displacement of the true solar shadow boundary within a short set time window may be filtered out. Therefore, in scenarios with a camera resolution of 1920×1080 pixels and a time window of five to twenty minutes, the displacement threshold is preferably set to 8 to 20 pixels to ensure that the retained target displacement trajectory has a continuous displacement state and an effective motion scale. A displacement length greater than the displacement threshold ensures that the candidate edge motion vector has an effective scale, preventing the subsequent direction cosine similarity from losing stability under extremely small displacement conditions. After filtering, the image processing module clusters and connects the non-static edge coordinate sets corresponding to the target displacement trajectory into dynamic candidate edges based on spatial adjacency. A dynamic candidate edge can be a continuous curve or a strip-shaped boundary composed of multiple adjacent short edge segments, as long as its pixel displacement trajectory has a consistent motion direction.

[0044] The candidate edge motion vector is calculated from the starting and ending coordinates of the target displacement trajectory. In implementation, the geometric center can be calculated first for the starting coordinates of multiple target displacement trajectories within the same dynamic candidate edge, and then the geometric center can be calculated for the ending coordinates. The vector pointing from the starting geometric center to the ending geometric center is used as the candidate edge motion vector of the dynamic candidate edge. Using the geometric center instead of a single pixel can reduce the influence of local edge breaks and noise points on the motion direction. Subsequently, the image processing module offsets the calibration pixel band width along the normal direction of the dynamic candidate edge to the geometric inner and geometric outer sides, respectively, and extracts the average brightness of the inner and outer pixels. The geometric inner and geometric outer sides are determined by the closed direction or local normal direction of the dynamic candidate edge. If the dynamic candidate edge is not closed, a local normal is established along the trajectory movement direction, and the normal direction within the same dynamic candidate edge is kept consistent. The brightness gradient difference is obtained by subtracting the average brightness of the inner pixels from the average brightness of the outer pixels. This result is then fed into the joint determination process of vector difference and gradient threshold.

[0045] The timestamp data and geographic coordinate data are substituted into the solar ephemeris model for astronomical prior analysis to calculate the current solar altitude angle and azimuth angle, and the theoretical shadow displacement vector is deduced by combining the static high point coordinates in the baseline map data.

[0046] Specifically, the ephemeris analysis module then reads the timestamp data and geographic coordinate data within the same set time window, and substitutes them into the solar ephemeris model for astronomical prior analysis. The solar ephemeris model calculates the current solar altitude angle and azimuth angle based on the date, time, latitude, longitude, and elevation. The current solar altitude angle represents the sun's elevation angle relative to the horizon; a positive current solar altitude angle indicates that the sun is above the horizon. The azimuth angle represents the horizontal angle of the sun relative to geographic north. For outdoor work areas, as long as the timestamp data and geographic coordinate data are valid, the current solar altitude angle and azimuth angle given by the solar ephemeris model are deterministic and unaffected by camera exposure, ground texture, or local occlusion.

[0047] The ephemeris analysis module further combines the static high-point coordinates from the baseline map data to calculate the theoretical shadow displacement vector. The static high-point coordinates come from fixed physical structures in the baseline map data, such as the tops of pillars, the tops of equipment edges, and the upper edges of shelves; their three-dimensional positions do not change with the sun's position throughout the day. The ephemeris analysis module uses the current solar altitude angle and azimuth angle to calculate the direction of illumination projection, and then projects the three-dimensional physical contour corresponding to the static high-point coordinates onto the ground plane to obtain the theoretical shadow position at the current moment. Subsequently, the ephemeris analysis module overlays a time window step onto the current timestamp data, recalculates the solar altitude angle and azimuth angle at the next prediction timestamp, and generates the theoretical shadow position for the next prediction time again. The center displacement direction and displacement length between the two theoretical shadow positions form the theoretical shadow displacement vector. This theoretical shadow displacement vector is not directly estimated from visual noise, but is derived from the sun's motion and the static high-point coordinates, thus serving as a physical verification benchmark for dynamic candidate edges.

[0048] Furthermore, the timestamp data and geographic coordinate data are substituted into the solar ephemeris model for astronomical prior analysis to calculate the current solar altitude angle and azimuth angle. The theoretical shadow displacement vector is then calculated by combining the static high point coordinates from the baseline map data, including:

[0049] Construct a spatial light source projection ray based on the current solar altitude angle and azimuth angle;

[0050] Extract the three-dimensional physical contour corresponding to the static high point coordinates in the benchmark map data, project the three-dimensional physical contour onto the ground plane along the spatial light source projection ray, and generate the initial shadow polygon corresponding to the first time frame.

[0051] The next predicted timestamp is generated by overlaying the time window step onto the current timestamp data, and the updated solar altitude angle and updated azimuth angle corresponding to the next predicted timestamp are calculated.

[0052] Based on the updated solar elevation angle and updated azimuth angle, the 3D physical contour is projected onto the ground plane again to generate the offset shadow polygon corresponding to the second time frame.

[0053] Extract the initial geometric center coordinates of the initial shadow polygon and the offset geometric center coordinates of the offset shadow polygon. Define the vector pointing from the initial geometric center coordinates to the offset geometric center coordinates as the theoretical shadow displacement vector.

[0054] In a specific embodiment, based on the aforementioned solar ephemeris model analysis, the theoretical shadow displacement vector can be constructed with greater physical meaning. The ephemeris analysis module constructs a spatial light source projection ray based on the current solar altitude angle and azimuth angle. The direction of the spatial light source projection ray is consistent with the direction of sunlight incidence; its horizontal component is determined by the azimuth angle, and its vertical component is determined by the current solar altitude angle. The lower the current solar altitude angle, the longer the shadow formed by the same static high point coordinates; the higher the current solar altitude angle, the shorter the shadow. The ephemeris analysis module extracts the three-dimensional physical contours corresponding to the static high point coordinates from the base map data, such as the top circumference of a column, the upper edge of an equipment casing, and the projection edge of a roof truss, and projects the three-dimensional physical contours onto the ground plane along the spatial light source projection ray, generating the initial shadow polygon corresponding to the first time frame. Specifically, for any high point in the three-dimensional physical contour... ,in Any high point in the three-dimensional physical contour x-coordinate, y-coordinate, y-coordinate Let the vector transpose be a notation, and let the ground plane height be . The unit is meters, and Then its shadow projection point Calculate according to the following formula ;in, The vertical component of the unit vector in the direction of the sun is dimensionless. The unit direction vector pointing from the ground to the sun can be specifically expressed as: ,in The solar altitude angle, The azimuth of the sun; To prevent the stability lower bound of division by zero, we can take... to .like If the current solar altitude angle is too low, the generation of the theoretical shadow polygon is stopped. The above projection is performed on all valid high points of the 3D physical contour, and the projected points are connected according to spatial adjacency to form the initial shadow polygon. The ground plane can be determined by the ground plane equation in the reference map data; in general flat sites, a horizontal plane with zero elevation can be used.

[0055] The ephemeris analysis module overlays a time window step size onto the current timestamp data to generate the next predicted timestamp. The time window step size can be the same as the set time window or the time interval between adjacent processing frames within the set time window. To ensure consistency with the scale of candidate edge motion vectors in the visual image sequence, this implementation prioritizes a time window step size consistent with the start and end times corresponding to the candidate edge motion vectors. The ephemeris analysis module calculates the updated solar altitude angle and updated azimuth angle corresponding to the next predicted timestamp, and then projects the 3D physical contour onto the ground plane again based on the updated solar altitude angle and updated azimuth angle to generate the offset shadow polygon corresponding to the second time frame. The ephemeris analysis module then extracts the initial geometric center coordinates of the initial shadow polygon and the offset geometric center coordinates of the offset shadow polygon, defining the vector pointing from the initial geometric center coordinates to the offset geometric center coordinates as the theoretical shadow displacement vector. Since both the initial shadow polygon and the offset shadow polygon are located on the ground plane, the theoretical shadow displacement vector is a planar displacement vector, and its length unit is consistent with the distance unit in the world Cartesian coordinate system, typically meters.

[0056] The vector difference is obtained by comparing the motion vector of the candidate edge with the theoretical shadow displacement vector. When the vector difference is less than the error threshold and the brightness gradient difference is greater than the gradient threshold, the multimodal cross-validation logic is triggered to transform the dynamic candidate edge to the absolute three-dimensional spatial coordinate system to generate a set of spatial coordinate points.

[0057] Specifically, the navigation controller then compares the candidate edge motion vector with the theoretical shadow displacement vector to obtain the vector difference. To ensure the comparison has a clear physical meaning, both the candidate edge motion vector and the theoretical shadow displacement vector are transformed into a unified world Cartesian coordinate system. The vector difference can simultaneously reflect both directional and amplitude differences. In one embodiment, the directional difference is described by the direction cosine similarity, and the amplitude difference is described by the amplitude absolute error value. Since the candidate edge motion vectors entering this step already meet the displacement length requirement, and the theoretical shadow displacement vector is also obtained from the time window step size and the change in solar projection, both of their magnitudes are greater than zero. The denominator of the direction cosine similarity has a positive value, and the calculation result stably falls between -1 and 1. The error threshold can be expressed by both directional and amplitude conditions. For example, if the direction cosine similarity is greater than 0.9 and the amplitude absolute error value is less than 0.2 meters, the vector difference is determined to be less than the error threshold. The error threshold is calibrated to simultaneously cover the allowable directional and distance errors between the candidate edge motion vector and the theoretical shadow displacement vector. Directional errors mainly originate from image edge tracking errors, robot pose errors, camera extrinsic parameter errors, and ground back-projection errors. Distance errors mainly originate from timestamp synchronization errors, geographic location coordinate errors, static high-point coordinate errors, and theoretical shadow projection calculation errors. The error threshold is not represented by a single numerical value but is jointly limited by the direction cosine similarity and the magnitude absolute error. This avoids edges that are only similar in direction but have significantly different movement scales, or edges that have similar movement lengths but whose direction is inconsistent with the sun's shadow drift direction, from being judged in a pure light and shadow state. This processing method ensures that candidate edges not only move but also move along a direction and scale consistent with the sun's shadow drift.

[0058] When the vector difference is less than the error threshold and the brightness gradient difference is greater than the gradient threshold, the navigation controller triggers multimodal cross-validation logic. The gradient threshold can be set according to the camera exposure method and the site brightness, and can be between 20 and 50 gray levels in eight-bit grayscale representation. The gradient threshold is set to distinguish the stable brightness difference formed by the sun's shadow boundary from the brightness changes formed by ordinary ground texture, camera exposure fluctuations, or local reflections. If the gradient threshold is too low, non-shadow boundaries such as ground texture edges, tire tracks, and ground seams may be mistaken for shadow boundaries. If the gradient threshold is too high, the true shadow boundary may not meet the brightness requirements in cloudy, semi-outdoor, or strongly automatic camera exposure conditions. Therefore, in eight-bit grayscale representation, the gradient threshold is preferably between 20 and 50 gray levels. A higher value can be used in scenes with strong direct sunlight and clear shadow boundaries, and a lower value can be used in low light or semi-outdoor scenes. This gradient threshold and the candidate edge motion vector participate in the judgment together to avoid misjudgment caused by relying solely on brightness. Only dynamic candidate edges that simultaneously satisfy both motion priors and brightness boundary conditions enter the multimodal cross-validation logic. This reduces the computational load of laser point cloud data projection and avoids directly sending ordinary texture edges into obstacle determination. In the multimodal cross-validation logic, the image processing module first transforms the dynamic candidate edges into an absolute 3D spatial coordinate system to generate a set of spatial coordinate points based on camera intrinsic parameters, camera extrinsic parameters, the robot's current pose, and ground calibration parameters. For shadow boundaries located on the ground, the pixels of the dynamic candidate edges can be back-projected onto the ground plane along the camera imaging ray to obtain a set of spatial coordinate points; for scenes with sloped ground, back-projection correction can be performed using local ground plane parameters from the reference map data. Specifically, for pixel points... ,in For pixels The x and y coordinates in the image coordinate system To use the vector transpose notation, first calculate the unit imaging ray in the camera coordinate system. ,in The ray direction is obtained by transforming the camera intrinsic parameter matrix to the world coordinate system based on the camera pose. and camera optical center If the local ground plane equation is ,in It is a unit normal vector, dimensionless. If the unit is meters, then the intersection of the back projections is... ,in ;in, The unit is meters. If... This indicates that the imaging ray is approximately parallel to the ground plane, and the current pixel does not participate in the generation of the spatial coordinate point set; To determine the stability threshold where the ray is approximately parallel to the ground, we can take... to .like If the intersection point is located in the opposite direction of the camera, it should also be discarded.

[0059] Furthermore, the vector difference is obtained by comparing the candidate edge motion vector with the theoretical shadow displacement vector, including:

[0060] Decompose the candidate edge motion vector and the theoretical shadow displacement vector into a unified world Cartesian coordinate system;

[0061] Calculate the direction cosine similarity and magnitude absolute error between the candidate edge motion vector and the theoretical shadow displacement vector, respectively.

[0062] When the direction cosine similarity is greater than the angle cosine threshold and the absolute error of the amplitude is less than the amplitude boundary, the vector difference between the candidate edge motion vector and the theoretical shadow displacement vector is determined to be less than the error threshold.

[0063] In a specific embodiment, regarding the determination of vector differences, after the theoretical shadow displacement vector is formed, the navigation controller decomposes the candidate edge motion vector and the theoretical shadow displacement vector into a unified world Cartesian coordinate system. The candidate edge motion vector may initially be located in the image coordinate system, but needs to be transformed to the world Cartesian coordinate system using camera calibration parameters, the robot's current pose, and the ground back-projection relationship. The theoretical shadow displacement vector has already been generated in the world Cartesian coordinate system using reference map data and a solar ephemeris model. After unifying the coordinate system, the navigation controller calculates the direction cosine similarity and the magnitude absolute error. The direction cosine similarity is used to express the consistency of the angle between two vectors; the closer the value is to one, the more consistent the directions. The magnitude absolute error is used to express the difference between the lengths of two vectors, in meters. The angle cosine threshold can be taken from 0.85 to 0.98, and the magnitude boundary can be taken from 0.1 to 0.5 meters depending on the site size and time window step size. The calibration of the angle cosine threshold is based on limiting the maximum allowable directional deviation between the candidate edge motion vector and the theoretical shadow displacement vector. The closer the angle cosine threshold is to one, the smaller the allowable directional deviation and the stricter the judgment condition. The lower the angle cosine threshold, the larger the allowable directional deviation and the more lenient the judgment condition. In scenarios with high coordinate transformation accuracy, stable camera extrinsic parameters, flat ground, and good shadow boundary continuity, the angle cosine threshold can be taken as 0.9 to 0.98. In scenarios with complex ground texture, large robot posture changes, or local ground slopes, it can be taken as 0.85 to 0.9. This threshold is used to ensure that the motion direction of the dynamic candidate edge is consistent with the theoretical shadow drift direction calculated by the solar ephemeris model. The amplitude boundary is determined by limiting the allowable distance deviation between the displacement length of the candidate edge motion vector and the displacement length of the theoretical shadow displacement vector. This distance deviation is related to the set time window, the rate of change of the solar altitude angle, the static high point coordinates, the camera back projection accuracy, and the robot positioning accuracy. If the amplitude boundary is too small, normal timestamp errors, positioning errors, or ground projection errors may cause the true shadow boundary to be excluded. If the amplitude boundary is too large, moving edges generated by real dynamic objects such as pedestrians, vehicles, and robotic arms may pass the amplitude verification. Therefore, the amplitude boundary is preferably set to 0.1 to 0.5 meters. A smaller value is used when the field positioning accuracy and the reference map data accuracy are high, and a larger value is used when working outdoors on a large scale, when the ground is uneven, or when the time window is long. When the direction cosine similarity is greater than the angle cosine threshold and the absolute amplitude error is less than the amplitude boundary, the navigation controller determines that the vector difference between the candidate edge motion vector and the theoretical shadow displacement vector is less than the error threshold. This joint condition incorporates both direction and distance to avoid edges that are only similar in direction but have significantly different movement scales from being judged in a pure light and shadow state.

[0064] The spatial coordinate point set is projected onto the laser point cloud data to extract the environmental point cloud echo state. When the environmental point cloud echo state has no valid echo, it is determined to be a pure light and shadow state and assigned the highest shadow confidence value. When the environmental point cloud echo state has the presence of physical point clouds, it is determined to be an obstacle overlap state and assigned the lowest shadow confidence value.

[0065] Specifically, the point cloud processing module projects a set of spatial coordinate points onto the laser point cloud data to extract the environmental point cloud echo state. The projection area can be obtained by extending a certain width to both sides of the strip-shaped area formed by the set of spatial coordinate points, for example, by extending it to both sides by 5 to 15 centimeters, while retaining the point cloud within the collision range of the robot chassis in the height direction. If there are no points in the projection area that meet the requirements of distance consistency, echo intensity validity, and height validity, the environmental point cloud echo state is recorded as no valid echo. At this time, the visual image sequence shows that the boundary exists, but the laser point cloud data does not show the entity structure. The navigation controller determines it as a pure light and shadow state and assigns the highest shadow confidence value. The highest shadow confidence value can be set to 0.9 to 0.98, and in this embodiment, it is set to 0.95. The highest shadow confidence value is determined based on the following: when a dynamic candidate edge simultaneously satisfies the following conditions—the candidate edge motion vector being consistent with the theoretical shadow displacement vector, the brightness gradient difference being greater than the gradient threshold, and no effective echo from the laser point cloud data—the edge is considered to be in a pure light and shadow state with high confidence. Therefore, a shadow confidence value close to one is required to significantly reduce the passage obstruction cost at the corresponding location in the local cost map. However, the highest shadow confidence value is not directly set to one to retain the uncertainty caused by short-term sensor errors, abnormal ground reflections, or temporary point cloud gaps, allowing the local cost map to still retain a small amount of safety information. Therefore, the highest shadow confidence value is preferably between 0.9 and 0.98, with 0.95 striking a balance between reducing false shadow obstruction and retaining a safety margin. If a stable cluster of entity point clouds exists within the projection area, the environmental point cloud echo state is recorded as the presence of entity point clouds, and the navigation controller determines it as an obstacle overlap state and assigns the lowest shadow confidence value. The lowest shadow confidence value can be between 0.05 and 0.2; in this embodiment, it is set to 0.1. The minimum shadow confidence value is determined based on the fact that when a stable cluster of entity point clouds exists within the projection area corresponding to a dynamic candidate edge, it indicates the presence of pillars, equipment, fences, goods, or other physical structures at that location. Therefore, the obstacle cost cannot be reduced based on a pure light and shadow state. A lower shadow confidence value is therefore assigned to ensure the local cost map maintains the passage obstruction cost corresponding to the entity obstacle. The minimum shadow confidence value is not directly set to zero to preserve the possibility of misjudgment due to reflectivity, incident angle, or short-term occlusion affecting the laser point cloud. Thus, the minimum shadow confidence value is preferably between 0.05 and 0.2, with 0.1 reflecting the principle of prioritizing entity point clouds for obstacle determination while retaining a small amount of uncertainty. Both the maximum and minimum shadow confidence values ​​are dimensionless, ranging from zero to one. Higher values ​​indicate a stronger probability that the dynamic candidate edge belongs to a pure light and shadow state.

[0066] Furthermore, after projecting the spatial coordinate point set onto the laser point cloud data to extract the environmental point cloud echo state, the process also includes:

[0067] When the environmental point cloud echo state is represented as a discrete sparse point cloud, calculate the point cloud density ratio within the projection area.

[0068] The point cloud density ratio is input into the exponential decay function for mapping calculation, generating an intermediate shadow confidence value between the highest and lowest shadow confidence values.

[0069] The access obstruction cost in the local cost map is updated linearly based on the intermediate state shading confidence value.

[0070] In one specific embodiment, after the spatial coordinate point set is projected onto the laser point cloud data, there exists a situation between a pure light and shadow state and an obstacle overlap state, namely, the environmental point cloud echo state manifests as a discrete sparse point cloud. Discrete sparse point clouds may originate from ground reflections, rain and fog particles, small ground debris, or sporadic ranging points from the lidar, and cannot be directly equated to stable solid point clouds. The point cloud processing module calculates the point cloud density ratio within the projection area. The projection area is first divided into several equal-area grids. The point cloud processing module calculates the ratio of the number of grids containing valid point clouds to the total number of grids in the projection area, obtaining the point cloud density ratio. Since the number of valid point cloud grids will not exceed the total number of grids in the projection area, and the total number of grids in the projection area is a positive integer, the point cloud density ratio remains stably between zero and one.

[0071] The point cloud density percentage is then input into an exponential decay function for mapping calculation, generating an intermediate shadow confidence value between the highest and lowest shadow confidence values. This exponential decay function reflects the suppressive effect of point cloud occupancy on pure light and shadow judgment. A higher point cloud density percentage indicates a higher degree of spatial occupancy of the projected area due to entity echoes. The navigation controller should reduce the proportion of this area treated as pure light and shadow in its engineering resource allocation; therefore, the intermediate shadow confidence value approaches the lowest shadow confidence value. Conversely, a lower point cloud density percentage indicates weaker entity occupancy, and the intermediate shadow confidence value approaches the highest shadow confidence value. The output of the exponential decay function is limited to between the highest and lowest shadow confidence values ​​to prevent the shadow confidence value from exceeding the defined range of zero to one due to numerical overflow. The cost map update module updates the passage obstruction cost value in the local cost map linearly based on the intermediate shadow confidence value, ensuring that sparse point cloud areas are neither completely treated as entity obstacles nor completely allowed passage as pure light and shadow.

[0072] Extract the baseline topological path from the baseline map data as the virtual gravity axis;

[0073] Specifically, after obtaining the shadow confidence value, the navigation controller extracts the baseline topological path from the reference map data as the virtual gravity axis. The baseline topological path is the path that the robot is expected to stably and repeatedly traverse during the task, and can be generated from historical human-taught paths, global planning paths, or common skeleton paths in the baseline map data. The virtual gravity axis is represented by ordered path points in the world Cartesian coordinate system, with line segments formed between adjacent path points. The navigation controller reads the virtual gravity axis segments adjacent to the robot's current position within the local planning range as a reference for subsequent pull-back gravity calculations. This process ensures that the path determination process is no longer solely influenced by the current local cost map, but instead uses the baseline topological path as a constraint source for the stability of repetitive tasks.

[0074] Reduce the cost of obstruction at the corresponding location in the local cost map based on the highest shadow confidence value;

[0075] Specifically, when a dynamic candidate edge is determined to be in a pure light and shadow state, the cost map update module reduces the passage obstruction cost value of the corresponding location in the local cost map based on the highest shadow confidence value. The local cost map consists of grids within a certain range around the robot, with each grid storing the passage obstruction cost value. The higher the passage obstruction cost value, the more likely the local planner is to avoid that area. For the pure light and shadow state, the highest shadow confidence value objectively represents the credibility of the edge being formed by a shadow. In engineering decisions, shadows are not physical obstacles, so the allocation of obstacle obstruction costs should reduce the use of obstacle obstruction resources. At the same time, to prevent short-term sensor errors from leading to completely unconstrained passage, the passage obstruction cost value should not be directly set to zero, but rather a low safety margin should be retained. Based on this, the cost map update module reduces the passage obstruction cost value of the location corresponding to the dynamic candidate edge from an obstacle level to a passable but attention-required level, for example, from 255 to between 20 and 60, with the specific value determined by the highest shadow confidence value.

[0076] Furthermore, based on the highest shadow confidence value, the cost of obstructing passage at the corresponding location in the local cost map is reduced, including:

[0077] Extract the initial obstacle cost value corresponding to the dynamic candidate edge projection coordinates from the local cost map;

[0078] Set a penalty attenuation coefficient to control the negative correlation between the penalty attenuation coefficient and the highest shadow confidence value;

[0079] The initial obstacle cost is multiplied by a penalty decay coefficient to generate a dynamically updated cost. This dynamically updated cost is then used to overwrite the passage obstruction cost of the corresponding area on the local cost map.

[0080] In one specific embodiment, for the process of reducing the access obstruction cost value at the corresponding location in the local cost map based on the highest shadow confidence value, the cost map update module first extracts the initial obstacle cost value corresponding to the dynamic candidate edge projection coordinates in the local cost map. The initial obstacle cost value is typically written by visual edge detection, laser point cloud occupancy, and dilation layer, and can take values ​​from zero to 255, where zero represents a free region and 255 represents a high obstruction region. The dynamic candidate edge projection coordinates may cover more than one grid cell. The cost map update module reads and saves the initial obstacle cost values ​​of these grid cells so that they can be updated again in the next calculation cycle based on new data.

[0081] The cost map update module then sets a penalty decay coefficient and controls it to have a negative correlation with the highest shadow confidence value. The highest shadow confidence value indicates the degree of confidence that the dynamic candidate edge belongs to a pure light and shadow state, while the penalty decay coefficient indicates the proportion of the initial obstacle cost value that is retained. The reason for the negative correlation between the two is not that high-confidence data is of lower quality, but that the physical objects corresponding to high shadow confidence values ​​are closer to non-physical light and shadow, and the passage obstruction resources should be transferred from the obstacle avoidance side to the path stability side. The penalty decay coefficient can be limited to between 0.05 and 1, and should not be zero, to ensure that the local cost map still retains a small amount of safety hints. The cost map update module multiplies the initial obstacle cost value by the penalty decay coefficient to generate a dynamically updated cost value, and then uses the dynamically updated cost value to overwrite the passage obstruction cost value of the corresponding area in the local cost map. If the initial obstacle cost value is 200, the highest shadow confidence value is 0.95, and the penalty decay coefficient can be 0.1, then the dynamically updated cost value is 20, and the robot planner will regard this area as a traversable low-cost area.

[0082] Furthermore, after reducing the accessibility cost at the corresponding location in the local cost map based on the highest shadow confidence value, it also includes:

[0083] Calculate the tangent direction angle of the dynamic candidate edge, and generate a direction penalty band layer by extending a specific distance to both sides of the dynamic candidate edge as the center;

[0084] Detect the crossing normal angle when the resultant force guiding vector crosses the penalty layer;

[0085] Compare the angle of intersection with the angle of the normal and the angle of the tangent to obtain the value of the intersection angle;

[0086] When the intersection angle deviates from the perpendicular orthogonal angle by more than the set tolerance, a non-orthogonal crossing penalty is applied within the direction penalty band layer to force the correction of the target planned path to cross the dynamic candidate edge in a perpendicular orientation.

[0087] In a specific embodiment, after reducing the cost of obstruction, a directional penalty band layer can be set in practical applications to handle the robot's posture when crossing the light-dark boundary region. The cost map update module calculates the tangent direction angle of the dynamic candidate edge. The tangent direction angle is obtained from the connection direction of the local adjacent coordinate points of the dynamic candidate edge, and is smoothed by a moving average when the dynamic candidate edge is long. Subsequently, the cost map update module generates a directional penalty band layer by extending a specific distance to both sides of the dynamic candidate edge. The specific distance can be determined based on the robot chassis width and the camera exposure stabilization distance, for example, from 0.1 meters to 0.3 meters. The specific distance is determined based on the fact that the directional penalty band layer needs to cover the local area that may be affected by changes in brightness when the robot crosses the dynamic candidate edge; the camera exposure stabilization distance refers to the travel distance corresponding to the brightness response of the visual image sequence tending to stabilize after the robot enters another brightness area from the light-dark boundary region; if the specific distance is too small, the directional penalty band layer cannot effectively constrain the robot's posture when crossing the light-dark boundary line; if the specific distance is too large, the non-physical shadow boundary will have too strong an impact on trajectory planning, reducing path flexibility. Therefore, the optimal distance is determined based on the robot chassis width, camera mounting height, camera exposure response speed, and the robot's typical travel speed. In general outdoor and semi-outdoor operation scenarios for mobile robots, a distance of 0.1 to 0.3 meters can be used. The orientation penalty layer is not a physical obstacle layer; its function is to adjust the cost of crossing the obstacle, allowing the robot to cross dynamic candidate edges in a near-vertical posture, thereby reducing exposure fluctuations caused by prolonged horizontal sweeping of bright and dark areas across the camera's field of view in the visual image sequence.

[0088] After generating the resultant force guiding vector, the trajectory planning module detects the crossing normal angle when the resultant force guiding vector crosses the direction penalty band layer. The crossing normal angle represents the angle between the target smooth trajectory and the normal direction of the dynamic candidate edge when entering the direction penalty band layer. The trajectory planning module compares the crossing normal angle with the tangent direction angle to obtain the intersection angle value. If the intersection angle value deviates from the perpendicular orthogonal angle by more than the set tolerance, for example, more than 15 to 25 degrees, it indicates that the target smooth trajectory travels obliquely along the light-dark boundary line within the direction penalty band layer. The set tolerance value is based on the robot trajectory tracking accuracy, the calculation error of the tangent direction angle of the dynamic candidate edge, and the dynamic kinematic constraint boundary. If the set tolerance is too small, the robot will be penalized when it deviates slightly from the perpendicular crossing posture, which may lead to frequent trajectory corrections. If the set tolerance is too large, the robot may travel obliquely along the dynamic candidate edge, causing the light and dark areas to sweep across the camera's field of view laterally for a long time, increasing exposure fluctuations and the risk of edge false detection. Therefore, the set tolerance is preferably set to 15 to 25 degrees. A smaller value can be used in scenarios with high robot steering control precision and ample passage space; a larger value can be used in scenarios with narrow passages, large robot turning radii, or high requirements for local trajectory smoothness. In this case, the cost map update module applies a non-orthogonal crossing penalty value within the direction penalty band layer, the trajectory planning module re-evaluates the candidate trajectories, and forcibly corrects the target planned path to cross the dynamic candidate edges in a vertical orientation. The non-orthogonal crossing penalty value here is used for trajectory priority ranking, without turning the shadow boundary back into a solid obstacle, so it does not conflict with the aforementioned design goal of reducing the passage obstruction value.

[0089] When the local cost map generates obstacle avoidance repulsion vectors corresponding to dynamic candidate edges due to the impact of passage obstruction cost, the shortest distance pull-back gravity vector pointing to the reference topology path is generated based on the virtual gravity central axis. The amplitude of the shortest distance pull-back gravity vector is positively correlated with the highest shadow confidence value.

[0090] Specifically, after the local cost map is updated, the trajectory planning module may still be affected by the residual obstacle cost when generating local trajectories, forming obstacle avoidance repulsion vectors corresponding to dynamic candidate edges. These vectors represent the direction and intensity of the repulsion of high-cost regions in the local cost map onto the planned trajectory. Without compensation, even if the obstacle cost has decreased, the robot may still exhibit slight yaw near shadow boundaries, leading to poor path repeatability for the same task in the morning, noon, and afternoon. Therefore, this implementation generates a shortest-distance pull-back gravity vector pointing to the reference topology path based on the virtual gravity axis when the obstacle avoidance repulsion vector corresponds to a dynamic candidate edge. The direction of the shortest-distance pull-back gravity vector points from the robot's current position to the nearest point on the reference topology path, and its amplitude is positively correlated with the highest shadow confidence value. The engineering implication of this positive correlation is that the more certain the current edge is in a pure light and shadow state, the stronger the pull-back effect of the reference topology path on the robot's trajectory should be; conversely, when the shadow confidence value is low, the pull-back effect weakens to prioritize obstacle avoidance.

[0091] Furthermore, based on the virtual gravitational central axis, the shortest distance pull-back gravity vector pointing towards the reference topological path is generated, including:

[0092] Calculate the orthogonal projection coordinates of the robot's current coordinate system center point to the virtual gravitational axis;

[0093] Establish a position back-tracing vector from the current coordinate system center point to the orthogonal projected coordinate point;

[0094] Multiply the magnitude of the position pullback vector by the spring constant, and combine it with the highest shadow confidence value to scale the gravitational amplitude, generating the shortest distance pullback gravitational vector.

[0095] In one specific embodiment, regarding the generation of the shortest distance pull-back gravity vector, the trajectory planning module first calculates the orthogonal projection coordinates from the robot's current coordinate system center point to the virtual gravity axis. The robot's current coordinate system center point is typically taken as the position of the chassis geometric center in the world Cartesian coordinate system, and the virtual gravity axis is composed of ordered path points of the baseline topological path. The trajectory planning module selects the path segment closest to the robot's current coordinate system center point within the local search range and calculates the orthogonal projection coordinates from the robot's current coordinate system center point to this path segment. If the orthogonal projection falls on the extension line of the segment, the endpoint of that segment is selected as the orthogonal projection coordinate point to ensure that the pull-back direction still points to the reachable portion of the baseline topological path.

[0096] After obtaining the orthogonal projection coordinates, the trajectory planning module establishes a position backtracking vector pointing from the center point of the current coordinate system to the orthogonal projection coordinates. The direction of the position backtracking vector indicates the pull-back direction after the robot deviates from the baseline topology path, and the magnitude of the position backtracking vector represents the deviation distance in meters. The trajectory planning module multiplies the magnitude of the position backtracking vector by the spring constant and combines it with the highest shading confidence value to scale the gravitational amplitude, generating the shortest distance pull-back gravitational vector. The spring constant is used to convert the deviation distance into pull-back strength and can be taken from 0.2 to 2.0, specifically calibrated according to the robot speed and channel width. The spring elasticity coefficient is calibrated by converting the distance the robot deviates from the virtual gravity axis into the amplitude of the shortest distance pull-back gravity vector. This allows the robot to smoothly return to the vicinity of the baseline topology path when it deviates due to the residual passage cost of dynamic candidate edges. If the spring elasticity coefficient is too small, the shortest distance pull-back gravity vector will be insufficient, and the robot may still experience continuous yaw due to the residual cost of shadow boundaries. If the spring elasticity coefficient is too large, the pull-back effect may be too strong, causing the smooth trajectory of the target to change abruptly, or even weakening the priority of physical obstacle avoidance. Therefore, the spring elasticity coefficient is preferably set to 0.2 to 2.0, and calibrated in conjunction with the robot's commonly used travel speed, maximum linear velocity, maximum angular velocity, allowable acceleration, and channel width. In scenarios with high robot speeds or narrow channels, the pull-back gravity vector should be limited by dynamic kinematic constraints. In scenarios with low-speed robot inspection or high requirements for the repeatability of the baseline topology path, the spring elasticity coefficient can be appropriately increased to enhance the path pull-back effect. When scaling the gravity amplitude based on the highest shadow confidence value, the higher the highest shadow confidence value, the greater the pullback strength; conversely, the lower the highest shadow confidence value, the weaker the pullback strength. This setting ensures that the resource allocation for pullback compensation matches the intensity of the lighting attributes, preventing the forced pullback of the baseline topology path in areas with physical point clouds.

[0097] The obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector are vectored together to generate a resultant force guiding vector, which generates a smooth target trajectory and outputs the target planned path.

[0098] Specifically, the trajectory planning module then vector-adds the obstacle avoidance repulsion vector and the shortest distance pull-back gravity vector to generate a resultant force guidance vector. The obstacle avoidance repulsion vector originates from the local cost map, and the shortest distance pull-back gravity vector originates from the virtual gravity axis. Both represent the guidance amount for the robot's motion direction in the world Cartesian coordinate system, thus allowing for vector addition. After the resultant force guidance vector is generated, the trajectory planning module combines the robot's current speed, maximum linear velocity, maximum angular velocity, and target point direction to generate a target smooth trajectory, which is then output as the target planned path to the chassis controller. The chassis controller generates linear velocity and angular velocity commands based on the target planned path, driving the robot to travel along the target planned path. Because the obstacle cost corresponding to the shadow boundary is reduced, and the virtual gravity axis pulls back the path deviation, the robot can maintain good path consistency when passing through the same area at different times.

[0099] Furthermore, the obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector are vector-added to generate a resultant force guiding vector, which generates a smooth target trajectory and outputs the target planned path, including:

[0100] Construct dynamic kinematic constraint boundaries based on the robot's maximum linear velocity and maximum angular velocity;

[0101] The result of adding the obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector is constrained within the dynamic kinematic constraint boundary, and the truncated resultant force guiding vector is output.

[0102] The truncated resultant force guide vector is input into the dynamic window evaluation function to extract the velocity command sequence corresponding to the highest score in the cost scoring process.

[0103] Based on the speed command sequence, the trajectory integral is extrapolated to generate a smooth target trajectory and update it to the target planned path.

[0104] In one specific embodiment, when the resultant force guiding vector is transformed into a target smooth trajectory, the trajectory planning module constructs a dynamic kinematic constraint boundary based on the robot's maximum linear velocity and maximum angular velocity. The maximum linear velocity and maximum angular velocity are derived from the robot's chassis parameters; for example, the maximum linear velocity can be from 0.5 m / s to 2.0 m / s, and the maximum angular velocity can be from 0.5 radians / s to 1.5 radians / s. The dynamic kinematic constraint boundary can also be established by combining the current velocity and allowable acceleration, ensuring that the velocity change in the next control cycle does not exceed the chassis's execution capability. The trajectory planning module limits the sum of the obstacle avoidance repulsion vector and the shortest distance pullback attraction vector within the dynamic kinematic constraint boundary, outputting a truncated resultant force guiding vector. Truncation does not discard pullback information; rather, it adjusts the resultant force guiding vector to within the speed and steering range that the robot can actually execute, preventing the planning result from exceeding the chassis's physical capabilities.

[0105] The trajectory planning module inputs the truncated resultant force guiding vector into a dynamic window evaluation function for cost scoring and extracts the velocity command sequence corresponding to the highest score. The dynamic window evaluation function simultaneously considers target orientation consistency, obstacle cost, deviation distance from the virtual gravity axis, crossing posture in the orientation penalty band layer, and velocity smoothness. Each scoring item is normalized, with the denominator taking the maximum effective difference of the corresponding scoring item in the candidate velocity set. If the maximum effective difference is lower than the numerical stability lower limit, a uniform constant lower limit is used to ensure the normalization result falls between zero and one. The velocity command sequence corresponding to the highest score includes linear and angular velocities within multiple control cycles. The trajectory planning module performs trajectory integration extrapolation based on the velocity command sequence, generating a smooth target trajectory and updating it in the target planning path. The trajectory integration extrapolation starts from the robot's current pose and accumulates future trajectory points according to the linear and angular velocities of each control cycle. The trajectory points transition continuously, thus the target planning path output to the chassis controller will not exhibit abrupt changes or broken lines.

[0106] Furthermore, after outputting the target planned path, it also includes:

[0107] Write the identified dynamic candidate edge coordinate data and the corresponding highest shadow confidence value into the independently stored dynamic shadow layer;

[0108] Linear extrapolation is performed on the dynamic candidate edge coordinate data along the theoretical shadow displacement vector to calculate the set of predicted edge coordinates within the next set time window;

[0109] The predicted edge coordinate set is pushed into the next calculation cycle as heuristic prior data to perform advance compensation for the static edge culling range in the next calculation cycle.

[0110] In one specific embodiment, after the target planned path is output, a dynamic shadow layer spanning multiple calculation cycles can be established. The navigation controller writes the identified and confirmed dynamic candidate edge coordinate data and the corresponding highest shadow confidence value into the independently stored dynamic shadow layer. The dynamic shadow layer is stored separately from the local cost map. The dynamic shadow layer records the dynamic candidate edge coordinate data, the highest shadow confidence value, the corresponding timestamp data, and the theoretical shadow displacement vector, while the local cost map records the passage obstruction cost value directly used in the current planning cycle. Storing them separately prevents historical lighting and shadow information from directly contaminating the physical obstacle layer and facilitates prior access in the next calculation cycle.

[0111] The navigation controller linearly extrapolates the dynamic candidate edge coordinate data along the theoretical shadow displacement vector to calculate the predicted edge coordinate set within the next set time window. Linear extrapolation uses the theoretical shadow displacement vector as the direction and scale basis, translating the dynamic candidate edge coordinate data as a whole to the position corresponding to the next set time window. For scenarios where the sun's motion changes relatively slowly within fifteen minutes, linear extrapolation can meet the prior requirements of path planning; if the site span is large, the theoretical shadow displacement vector can still be corrected using the solar ephemeris model in the next calculation cycle. The predicted edge coordinate set is then pushed into the next calculation cycle as heuristic prior data, providing advance compensation for the static edge culling range in the next calculation cycle. When the image processing module extracts the current edge pixel coordinate set in the next calculation cycle, it prioritizes checking edge data near the predicted edge coordinate set, making the tracking range of dynamic candidate edges more concentrated and reducing the participation of irrelevant texture edges in the calculation. This heuristic prior data only serves as a basis for allocating computational resources and adjusting the search range; it does not independently determine the pure lighting state and ultimately still needs joint verification using candidate edge motion vectors, theoretical shadow displacement vectors, brightness gradient differences, and environmental point cloud echo states.

[0112] In this embodiment, the thresholds and coefficients are not set in isolation, but are jointly calibrated based on camera resolution, set time window, robot pose accuracy, camera extrinsic parameter accuracy, effective echo state of laser point cloud, site brightness, robot chassis motion capability, and baseline map data accuracy. The calibration goal of each parameter is to ensure that pure light and shadow states can be stably identified and their obstruction cost in the local cost map is reduced, while maintaining the priority of avoiding physical obstacles when there are physical point clouds, edge motion directions do not conform to the solar ephemeris model, or brightness gradients are insufficient. Different operating areas can be adjusted within the above value range, but the adjusted parameters should still meet the joint judgment logic of continuous displacement verification of dynamic candidate edges, theoretical shadow displacement vector verification, brightness gradient verification, and laser point cloud cross-validation.

[0113] The above content is merely an example and illustration of the concept of the present invention. Those skilled in the art can make various modifications or additions to the specific embodiments described or use similar methods to replace them, as long as they do not deviate from the concept of the invention, they should all fall within the protection scope of the present invention.

[0114] In the description of this specification, references to terms such as "an embodiment," "example," "specific example," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0115] The preferred embodiments of the present invention disclosed above are merely illustrative of the invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the invention to any specific implementation. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention.

Claims

1. A method for determining a robot path, characterized in that, include: Simultaneously acquire visual image sequences, laser point cloud data, timestamp data, and geographic location coordinate data within a set time window; Static edge removal is performed on visual image sequences based on benchmark map data. Dynamic candidate edges and their corresponding motion vectors under continuous displacement are extracted, and the brightness gradient difference between the inner and outer sides of the dynamic candidate edges is calculated. The timestamp data and geographic coordinate data are substituted into the solar ephemeris model for astronomical prior analysis to calculate the current solar altitude angle and azimuth angle, and the theoretical shadow displacement vector is deduced by combining the static high point coordinates in the baseline map data. The vector difference is obtained by comparing the motion vector of the candidate edge with the theoretical shadow displacement vector. When the vector difference is less than the error threshold and the brightness gradient difference is greater than the gradient threshold, the multimodal cross-validation logic is triggered to transform the dynamic candidate edge to the absolute three-dimensional spatial coordinate system to generate a set of spatial coordinate points. The spatial coordinate point set is projected onto the laser point cloud data to extract the environmental point cloud echo state. When the environmental point cloud echo state has no valid echo, it is determined to be a pure light and shadow state and assigned the highest shadow confidence value. When the environmental point cloud echo state has the presence of physical point clouds, it is determined to be an obstacle overlap state and assigned the lowest shadow confidence value. Extract the baseline topological path from the baseline map data as the virtual gravity axis; Reduce the cost of obstruction at the corresponding location in the local cost map based on the highest shadow confidence value; When the local cost map generates an obstacle avoidance repulsion vector corresponding to the dynamic candidate edge due to the impact of the passage obstruction cost, the shortest distance pull-back gravity vector pointing to the reference topology path is generated based on the virtual gravity central axis; The obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector are vectored together to generate a resultant force guiding vector, which generates a smooth target trajectory and outputs the target planned path.

2. The robot path determination method according to claim 1, characterized in that, Static edge removal is performed on visual image sequences based on benchmark map data. Dynamic candidate edges and their corresponding motion vectors under continuous displacement are extracted. The brightness gradient difference between the inner and outer sides of the dynamic candidate edges is calculated, including: The current edge pixel coordinate set is extracted frame by frame from the visual image sequence. The current edge pixel coordinate set is spatially aligned and compared with the static contour coordinates in the benchmark map data. Overlapping coordinate points are removed to obtain the non-static edge coordinate set. Optical flow tracking and matching are performed on the non-static edge coordinate set of adjacent time frames in a visual image sequence to generate a set of pixel displacement trajectories corresponding to each coordinate point. Target displacement trajectories with consistent spatial displacement direction and displacement length greater than displacement threshold are selected from the set of pixel displacement trajectories. The non-static edge coordinate set corresponding to the target displacement trajectory is clustered and connected into dynamic candidate edges. Based on the starting and ending coordinates of the target displacement trajectory, vector calculations are performed to generate candidate edge motion vectors; The calibrated pixel band width is offset towards the geometric inner and geometric outer sides along the normal direction of the dynamic candidate edge, respectively, and the average brightness of the inner pixel on the geometric inner side and the average brightness of the outer pixel on the geometric outer side are extracted. The brightness gradient difference is generated by subtracting the average brightness of the inner pixels from the average brightness of the outer pixels.

3. The robot path determination method according to claim 1, characterized in that, The timestamp data and geographic coordinate data are substituted into the solar ephemeris model for astronomical prior analysis to calculate the current solar altitude angle and azimuth angle. The theoretical shadow displacement vector is then calculated by combining the static high point coordinates from the baseline map data, including: Construct a spatial light source projection ray based on the current solar altitude angle and azimuth angle; Extract the three-dimensional physical contour corresponding to the static high point coordinates in the benchmark map data, project the three-dimensional physical contour onto the ground plane along the spatial light source projection ray, and generate the initial shadow polygon corresponding to the first time frame. The next predicted timestamp is generated by overlaying the time window step onto the current timestamp data, and the updated solar altitude angle and updated azimuth angle corresponding to the next predicted timestamp are calculated. Based on the updated solar elevation angle and updated azimuth angle, the 3D physical contour is projected onto the ground plane again to generate the offset shadow polygon corresponding to the second time frame. Extract the initial geometric center coordinates of the initial shadow polygon and the offset geometric center coordinates of the offset shadow polygon. Define the vector pointing from the initial geometric center coordinates to the offset geometric center coordinates as the theoretical shadow displacement vector.

4. The robot path determination method according to claim 3, characterized in that, The vector difference is obtained by comparing the candidate edge motion vector with the theoretical shadow displacement vector, including: Decompose the candidate edge motion vector and the theoretical shadow displacement vector into a unified world Cartesian coordinate system; Calculate the direction cosine similarity and magnitude absolute error between the candidate edge motion vector and the theoretical shadow displacement vector, respectively. When the direction cosine similarity is greater than the angle cosine threshold and the absolute error of the amplitude is less than the amplitude boundary, the vector difference between the candidate edge motion vector and the theoretical shadow displacement vector is determined to be less than the error threshold.

5. The robot path determination method according to claim 1, characterized in that, After projecting the spatial coordinate point set onto the laser point cloud data to extract the environmental point cloud echo state, the process also includes: When the environmental point cloud echo state is represented as a discrete sparse point cloud, calculate the point cloud density ratio within the projection area. The point cloud density ratio is input into the exponential decay function for mapping calculation, generating an intermediate shadow confidence value between the highest and lowest shadow confidence values. The access obstruction cost in the local cost map is updated linearly based on the intermediate state shading confidence value.

6. The robot path determination method according to claim 1, characterized in that, The cost of reducing the accessibility of the corresponding location in the local cost map based on the highest shadow confidence value includes: Extract the initial obstacle cost value corresponding to the dynamic candidate edge projection coordinates from the local cost map; Set a penalty attenuation coefficient to control the negative correlation between the penalty attenuation coefficient and the highest shadow confidence value; The initial obstacle cost is multiplied by a penalty decay coefficient to generate a dynamically updated cost. This dynamically updated cost is then used to overwrite the passage obstruction cost of the corresponding area on the local cost map.

7. A robot path determination method according to claim 6, characterized in that, After reducing the accessibility cost of the corresponding location in the local cost map based on the highest shadow confidence value, it also includes: Calculate the tangent direction angle of the dynamic candidate edge, and generate a direction penalty band layer by extending a specific distance to both sides of the dynamic candidate edge as the center; Detect the crossing normal angle when the resultant force guiding vector crosses the penalty layer; The intersection angle is obtained by comparing the angle of the crossing normal with the angle of the tangent direction. When the intersection angle deviates from the perpendicular orthogonal angle by more than the set tolerance, a non-orthogonal crossing penalty is applied within the direction penalty band layer to force the target planned path to cross the dynamic candidate edge in a perpendicular orientation.

8. The robot path determination method according to claim 1, characterized in that, Based on the virtual gravitational central axis, the shortest distance pull-back gravity vector pointing to the reference topological path is generated, including: Calculate the orthogonal projection coordinates of the robot's current coordinate system center point to the virtual gravitational axis; Establish a position back-tracing vector from the current coordinate system center point to the orthogonal projected coordinate point; Multiply the magnitude of the position pullback vector by the spring constant, and combine it with the highest shadow confidence value to scale the gravitational amplitude, generating the shortest distance pullback gravitational vector.

9. A robot path determination method according to claim 8, characterized in that, The obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector are vector-added to generate a resultant force guiding vector, which generates a smooth target trajectory and outputs the target planned path, including: Construct dynamic kinematic constraint boundaries based on the robot's maximum linear velocity and maximum angular velocity; The result of adding the obstacle avoidance repulsion vector and the shortest distance pull-back attraction vector is constrained within the dynamic kinematic constraint boundary, and the truncated resultant force guiding vector is output. The truncated resultant force guide vector is input into the dynamic window evaluation function to extract the velocity command sequence corresponding to the highest score in the cost scoring process. Based on the speed command sequence, the trajectory integral is extrapolated to generate a smooth target trajectory and update it to the target planned path.

10. A robot path determination method according to claim 9, characterized in that, After outputting the target planned path, it also includes: Write the identified dynamic candidate edge coordinate data and the corresponding highest shadow confidence value into the independently stored dynamic shadow layer; Linear extrapolation is performed on the dynamic candidate edge coordinate data along the theoretical shadow displacement vector to calculate the set of predicted edge coordinates within the next set time window; The predicted edge coordinate set is pushed into the next calculation cycle as heuristic prior data to provide advance compensation for the static edge removal range in the next calculation cycle.