A dynamic obstacle avoidance control method and system for a patrol robot
Patent Information
- Application Number
- CN202611384638.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-08
- Publication Date
- 2026-10-30
AI Technical Summary
[0004]然而,现有技术在轨道约束场景下仍存在一定局限性,一方面,当动态障碍物出现短时观测中断,现有避障方法难以连续、准确地确定障碍物对轨道通行空间的占用状态,容易造成动态障碍物轨道占用判断不准确;另一方面,现有方法难以根据轨道中的安全停车位置和安全后退位置确定可执行的避障动作,容易出现避障动作不能及时消除冲突或停车位置不合理的问题
[0042]一、本发明通过将障碍观测数据转换至轨道坐标系,对不同时刻的轨道占用单元进行关联,并在短时观测中断期间依据中断前的运动变化延续占用轨迹,同时结合观测恢复后的轨道占用单元进行更新,能够保持动态障碍物轨道占用状态的连续性,并进一步基于连续占用轨迹预测各轨段的预测占用区间,提高短时遮挡或观测中断情况下轨道占用判断的连续性和准确性。
Smart Images

Figure CN123010753A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of track-following robot technology, and in particular to a dynamic obstacle avoidance control method and system for track-following robots. Background Technology
[0002] With the increasing application of track inspection robots in scenarios such as subway tunnels, track inspection robots have been widely used for inspection tasks such as equipment testing, environmental monitoring, and image acquisition. Track inspection robots usually run along fixed tracks or preset trajectories, and their lateral avoidance space is limited, making them susceptible to the influence of dynamic obstacles during operation.
[0003] Existing obstacle avoidance methods for track-following robots typically acquire the position or distance information of obstacles in front of the robot using lidar, cameras, millimeter-wave radar, or ultrasonic ranging devices, and perform obstacle avoidance control based on the current distance between the robot and the obstacle. When the distance to the obstacle is lower than the preset safe distance, the robot is controlled to perform operations such as deceleration, stopping, or emergency braking.
[0004] However, existing technologies still have certain limitations in track-constrained scenarios. On the one hand, when dynamic obstacles cause short-term observation interruptions, existing obstacle avoidance methods cannot continuously and accurately determine the occupancy status of obstacles on the track passage space, which can easily lead to inaccurate judgment of track occupancy by dynamic obstacles. On the other hand, existing methods cannot determine executable obstacle avoidance actions based on the safe stopping position and safe retreat position in the track, which can easily lead to problems such as the obstacle avoidance actions failing to eliminate conflicts in a timely manner or the stopping position being unreasonable. Summary of the Invention
[0005] In view of the shortcomings of the prior art, the purpose of this invention is to provide a dynamic obstacle avoidance control method and system for a track-following robot, which aims to solve at least one of the problems in the background art.
[0006] A first aspect of the present invention is to provide a dynamic obstacle avoidance control method for a track-following robot, the method comprising:
[0007] Acquire track environment data, robot operation data, and obstacle observation data; convert the obstacle observation data to the track coordinate system to obtain track occupancy units; associate the track occupancy units to obtain a continuous occupancy trajectory.
[0008] Based on the continuous occupancy trajectory, the track occupancy status of the obstacle in the preset prediction time domain is predicted to obtain the predicted occupancy interval corresponding to each track segment.
[0009] Candidate actions are generated based on the robot's operation data, and the reachable range of the robot to the corresponding track segment under each candidate action is calculated. The predicted occupied range and the reachable range of the same track segment are compared to obtain the spatiotemporal conflict range corresponding to each candidate action.
[0010] Based on the spatiotemporal conflict interval, target obstacle avoidance actions are selected, and control position analysis is performed based on the orbital environment data to obtain a safe control position;
[0011] The robot is controlled to avoid obstacles according to the target obstacle avoidance action, and its position is controlled according to the corresponding safety control position. The predicted occupied range and reachable range are updated, and the spatiotemporal conflict range is re-determined based on the update result to obtain the dynamic obstacle avoidance control result.
[0012] Preferably, the steps for obtaining the continuously occupied trajectory include:
[0013] Motion continuity analysis is performed on track occupancy units at different times, and track occupancy units that meet the preset continuous motion conditions are associated to obtain the occupancy trajectory;
[0014] When the observation of the occupied trajectory is interrupted, the occupied trajectory is continued according to the track occupancy unit before the observation interruption to obtain the continued occupied trajectory, and the continued occupied trajectory is updated according to the track occupancy unit after the observation is restored to obtain the continuous occupied trajectory.
[0015] Preferably, motion continuity analysis is performed on the track occupancy units at different times to obtain the occupancy trajectory, including:
[0016] The longitudinal and lateral position changes of the track occupancy units corresponding to adjacent observation times are obtained. The range of motion of the longitudinal and lateral position changes is determined based on the time interval between adjacent observation times, and track occupancy units with continuous positions are selected.
[0017] The movement direction and size range of the track occupancy units with continuous positions are compared, and the track occupancy units with the same movement direction and size range difference within the preset allowable range are grouped into the same occupancy trajectory.
[0018] Preferably, the occupied trajectory is continued based on the orbital occupancy units before the observation interruption to obtain a continued occupied trajectory, including:
[0019] When the duration of the observation interruption does not exceed the preset duration of the occupancy, the occupancy trajectory is continued based on the longitudinal and lateral position changes of multiple orbital occupancy units before the observation interruption. The longitudinal and lateral occupancy ranges corresponding to the continued occupancy trajectory are then expanded based on the duration of the observation interruption to obtain the continued occupancy trajectory.
[0020] Preferably, the steps for determining the spatiotemporal conflict interval include:
[0021] Obtain the predicted occupied interval and reachable interval for the same track segment;
[0022] A time overlap analysis is performed on the predicted occupied interval and the reachable interval to determine the overlapping time period, and the track segments with time overlap and the corresponding overlapping time period are taken as the spatiotemporal conflict intervals of the corresponding candidate actions.
[0023] Preferably, the calculation steps for the reachable interval include:
[0024] Based on the robot's current position, speed, and motion state changes corresponding to each candidate action, calculate the robot's estimated arrival time for each track segment.
[0025] Based on the robot's operating data, the estimated arrival time is corrected within a time range to obtain the earliest and latest arrival times of the robot to each track segment. The earliest arrival time is used as the start time of the reachable interval, and the latest arrival time is used as the end time of the reachable interval to obtain the reachable interval of the corresponding track segment.
[0026] Preferably, a safe control position is obtained by performing control position analysis based on the orbital environment data, including:
[0027] Extract the conflict track segments corresponding to the spatiotemporal conflict intervals, and based on the robot's current driving direction, filter out reachable parking nodes from the calibrated parking nodes between the robot's current position and the conflict track segments;
[0028] Spatiotemporal conflict analysis is performed on the track segments corresponding to the reachable parking nodes. Based on the conflict analysis results, safe parking nodes are selected to obtain safe control positions.
[0029] Preferably, the process of filtering reachable parking nodes from the calibrated parking nodes between the robot's current position and the conflicting track segment includes:
[0030] Search for calibrated parking nodes along the direction from the conflict track segment to the robot's current position, and calculate the available distance from the robot's current position to each calibrated parking node;
[0031] Obtain the required parking distance for the robot, compare the available distance with the required parking distance, and designate the parking nodes whose available distance is not less than the required parking distance as reachable parking nodes.
[0032] Preferably, spatiotemporal conflict analysis is performed on the track segment corresponding to the reachable parking node, including:
[0033] Obtain each track segment between the robot's current position and each reachable parking node, and extract the reachable interval and predicted occupied interval corresponding to each track segment;
[0034] The reachable intervals and predicted occupancy intervals of the same track segment are compared for time overlap. When any track segment has time overlap, the conflict analysis result of the corresponding reachable parking node is determined to have a conflict; when there is no time overlap among the track segments, the conflict analysis result of the corresponding reachable parking node is determined to have no conflict.
[0035] Secondly, a dynamic obstacle avoidance control system for a track-following robot is provided to implement the method described in the first aspect. The system includes: a data acquisition module for acquiring track environment data, robot operation data, and obstacle observation data to obtain a continuously occupied trajectory.
[0036] The track occupancy prediction module is used to predict the track occupancy status of obstacles in each track segment and obtain the predicted occupancy range.
[0037] The spatiotemporal conflict determination module is used to generate candidate actions and calculate the corresponding reachable intervals to obtain the spatiotemporal conflict intervals corresponding to each candidate action.
[0038] The obstacle avoidance decision module is used to filter target obstacle avoidance actions and analyze control positions to obtain safe control positions;
[0039] The closed-loop control module is used to execute obstacle avoidance control and update the spatiotemporal conflict state, generating dynamic obstacle avoidance control results.
[0040] Thirdly, the present invention provides an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in the first aspect.
[0041] Fourthly, the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method in the first aspect. Compared with the prior art, the present invention has the following beneficial effects:
[0042] I. This invention converts obstacle observation data to an orbital coordinate system, associates orbital occupancy units at different times, and continues the occupancy trajectory based on the motion changes before the interruption during short-term observation interruptions. At the same time, it updates the orbital occupancy units after observation recovery, which can maintain the continuity of the orbital occupancy status of dynamic obstacles. Furthermore, it predicts the predicted occupancy interval of each track segment based on the continuous occupancy trajectory, thereby improving the continuity and accuracy of orbital occupancy judgment in the case of short-term occupancy or observation interruption.
[0043] Second, this invention determines the spatiotemporal conflict interval by performing time overlap analysis between the predicted occupancy interval of the obstacle and the reachable interval of the robot under different candidate actions, and determines the safe control position by combining the orbital environment data. On the one hand, the obstacle avoidance action can eliminate the current conflict, and on the other hand, it can take into account the reachability of the control position and the safety of the arrival process, reducing the situation where the parking position is unreasonable or the obstacle avoidance action cannot be actually executed. Attached Figure Description
[0044] Figure 1 A flowchart of a dynamic obstacle avoidance control method for a track-following robot provided in an embodiment of the present invention;
[0045] Figure 2 This is a structural diagram of a dynamic obstacle avoidance control system for a track-following robot provided in an embodiment of the present invention. Detailed Implementation
[0046] To make the technical means, creative features, objectives, and effects of this invention easier to understand, the invention is further described below with reference to specific embodiments. However, the following embodiments are merely preferred embodiments of this invention and not all of them. Other embodiments obtained by those skilled in the art based on the embodiments described herein without creative effort are all within the protection scope of this invention.
[0047] Example 1:
[0048] To achieve the above objectives, please refer to Figure 1 This invention provides a dynamic obstacle avoidance control method for a track-following robot, comprising:
[0049] S1. Acquire track environment data, robot operation data, and obstacle observation data. Convert the obstacle observation data to the track coordinate system to obtain track occupancy units. Associate the track occupancy units to obtain a continuous occupancy trajectory.
[0050] In this embodiment, the track environment data is used to describe the spatial structure and available control positions of the robot's operating route. It can be pre-established during route mapping, robot deployment, or route acceptance and stored in the robot's local controller or the route edge computing device. The track environment data includes at least the track segment connection relationship, track centerline, curve segment, turnout segment, clearance restricted section, calibration stopping node, and calibration back-off node.
[0051] Among them, the calibration parking node and calibration reversing node can be pre-set during the track mapping or line acceptance stage; the calibration parking node is determined according to the track clearance, parking direction, maintenance access requirements and robot parking space at the corresponding location, and is used to characterize the candidate position where the robot can perform forward parking; the calibration reversing node is determined according to the track clearance, reversing direction access conditions, maintenance access requirements and robot parking space at the corresponding location, and is used to characterize the candidate position where the robot can reverse and park.
[0052] The robot's operational data is obtained from its positioning device, motion controller, and drive system. This data includes the robot's current position, current direction of travel, speed, control command delay, braking response, position error, and operational status related to the braking process. The control command delay can be obtained by recording the time difference between the moment the control command is issued and the moment the drive actuator begins to respond during the robot's debugging phase. The braking response can be updated based on recent speed changes over time during braking processes.
[0053] Obstacle observation data can be obtained from at least two of the sensing devices, such as lidar, millimeter-wave radar, and cameras, installed on the track-following robot. It includes at least the obstacle observation location, observation time, size range, and motion state. The purpose of multi-source sensing is to reduce the impact of temporary observation gaps caused by a single sensor during curves, equipment obstruction, or field of view switching on obstacle avoidance control.
[0054] Specifically, using the track centerline as the longitudinal reference line of the track coordinate system, longitudinal mileage coordinates are established along the robot's current travel direction, and lateral coordinates are established in the direction perpendicular to the track centerline. For the obstacle positions obtained by each sensor, the obstacle detection range can be projected onto the track coordinate system, thereby obtaining the longitudinal occupancy range of the obstacle along the track direction and the lateral occupancy range perpendicular to the track centerline.
[0055] The robot's track clearance space is determined based on the robot's external dimensions, lateral positioning error, and safety margin. In practical applications, the lateral occupancy range corresponding to an obstacle is compared with the robot's track clearance space. When the two overlap, it indicates that the obstacle actually occupies the robot's track clearance at the corresponding observation time, and a track occupancy unit is established accordingly. Each track occupancy unit records at least the corresponding observation time, track segment, longitudinal occupancy range, lateral occupancy range, direction of movement, and size range.
[0056] Furthermore, motion continuity analysis is performed on the track occupancy units at different times, and the track occupancy units that meet the preset continuous motion conditions are associated to obtain the occupancy trajectory.
[0057] In this embodiment, the preset continuous motion conditions include position continuity conditions, motion direction continuity conditions, and size continuity conditions.
[0058] Specifically, adjacent track occupancy units are obtained according to the observation time, and the longitudinal and lateral position changes of the corresponding track occupancy units at adjacent observation times are calculated.
[0059] The calculation of longitudinal and lateral position changes includes: obtaining the longitudinal and lateral occupancy ranges of each track occupancy unit; taking the midpoint between the two ends of the longitudinal occupancy range as the longitudinal position of the corresponding track occupancy unit; taking the midpoint between the two ends of the lateral occupancy range as the lateral position of the corresponding track occupancy unit; calculating the absolute value of the difference between the longitudinal positions of two track occupancy units at adjacent observation times to obtain the longitudinal position change; and calculating the absolute value of the difference between the lateral positions of two track occupancy units to obtain the lateral position change.
[0060] The range of motion is determined based on the time interval between adjacent observation times.
[0061] The range used for determining the motion range can be determined based on the permissible speed of personnel or work vehicles that may appear within the track area and the sensor positioning error. For example, between adjacent observation times, the range of possible positional changes of the obstacle is determined based on the time interval and the obstacle's movement speed, and this range is appropriately widened based on the sensor positioning error; if both the longitudinal and lateral positional changes are within the corresponding motion range, then the corresponding track occupancy unit is considered a positionally continuous track occupancy unit.
[0062] For track occupancy units with consecutive positions, their movement direction and size range are further compared. When the movement direction of adjacent track occupancy units is consistent and the size range difference is within a preset allowable range, the corresponding track occupancy units are assigned to the same occupancy trajectory. The preset allowable range can be determined based on sensor measurement errors and the reasonable variation range of target size under different observation angles. For example, the longitudinal size range difference and the lateral size range difference should not exceed 20% to 30% of the average size of the corresponding occupancy range.
[0063] Furthermore, when the observation of an already formed occupancy trajectory is interrupted, the occupancy trajectory is continued.
[0064] In this embodiment, the observation interruption duration after the last valid track occupancy unit is first counted, and the observation interruption duration is compared with the preset occlusion duration. The preset occlusion duration can be calibrated according to the blind zone length of the robot's sensing device, the allowable speed of dynamic obstacles in the track area, and the robot's control cycle.
[0065] When the observation interruption duration does not exceed the preset occlusion duration, the longitudinal and lateral position changes of multiple track-occupied units before the observation interruption are extracted, and the occupied trajectory is expanded according to the longitudinal and lateral position changes. The expansion amount can be determined based on the observation interruption duration, the allowable speed of obstacles in the corresponding scene, and the sensor positioning error. The longer the observation interruption time, the more conservative the expansion range is adopted for the corresponding occupied range, thereby avoiding the direct interpretation of short-term observation interruption as obstacles having left the track.
[0066] It should be noted that when the observation interruption time exceeds the preset occupancy duration, the continuation of the original occupied trajectory will be stopped; after the obstacle observation data is obtained again, the trajectory will be re-associated based on the newly formed track occupancy unit.
[0067] After the observation is re-established, new track occupancy units are formed based on the newly acquired obstacle observation data. The newly formed track occupancy units are then compared with the continuing occupancy trajectories according to the aforementioned analysis methods for positional continuity, direction of movement, and size range.
[0068] When the two still have a continuous motion relationship, the newly formed track occupancy unit is incorporated into the continuous occupancy trajectory, and the longitudinal occupancy range, lateral occupancy range, motion direction and size range corresponding to the continuous occupancy trajectory are updated according to the newly formed track occupancy unit to obtain the continuous occupancy trajectory; when the two do not have a continuous motion relationship, the original occupancy trajectory is terminated, and the occupancy trajectory is re-established according to the new track occupancy unit.
[0069] As an example implementation, track mileage K12+444 to K12+448 is a restricted section formed by the equipment cabinet, where the robot is not allowed to stop; mileage K12+438 is the calibration parking node; the robot is located at K12+430 and is moving at 1.2 meters per second in the direction of increasing mileage in a curved equipment cabinet area. For example, the robot's perception and control cycle is set to 0.2 seconds, the conservative braking deceleration under the current conditions is 0.6 meters per second squared, the current positioning error is 0.3 meters, and the parking safety margin is 1.5 meters.
[0070] Before the observation was interrupted, the three consecutive track occupancy units all moved in the direction of increasing mileage, and the longitudinal position changes at adjacent observation times remained continuous, while the lateral position was also within a reasonable range of change. Therefore, the three track occupancy units were associated with the same occupancy trajectory. Subsequently, due to the obstruction of the equipment cabinet, the trolley was not directly observed for about 1 second. Since the interruption duration did not exceed the preset obstruction duration of the corresponding obstruction area, the system continued the occupancy trajectory based on the position changes of multiple track occupancy units before the interruption, and expanded the longitudinal and lateral occupancy ranges. After the trolley was detected again, its position, direction of movement, and size range matched the continued occupancy trajectory. Therefore, the new track occupancy unit was incorporated into the continued occupancy trajectory to form a continuous occupancy trajectory.
[0071] S2. Based on the continuous occupancy trajectory, predict the track occupancy status of the obstacle in the preset prediction time domain to obtain the predicted occupancy interval corresponding to each track segment.
[0072] In this embodiment, the preset prediction time domain represents the time range for predicting obstacle track occupancy from the current control moment into the future. Its length is set according to the robot's current speed, braking response time, control cycle, and the time required to complete obstacle avoidance decisions in advance. For different operating speeds or different track segments, the prediction time domain can be adjusted within a preset safety range.
[0073] Specifically, the longitudinal and lateral occupancy ranges at different times in the continuous occupancy trajectory are read, and the track occupancy state of the obstacle is continued cycle by cycle within the preset prediction time domain according to the robot's control cycle.
[0074] In the longitudinal direction, based on the change of the longitudinal occupancy range in the continuous occupancy trajectory with the observation time, the movement of the obstacle along the track direction is determined, and the track segment corresponding to each predicted time is determined; in the lateral direction, based on the change of the lateral occupancy range with the observation time, it is determined whether the obstacle still overlaps with the robot's track passage space in the corresponding track segment.
[0075] When the predicted lateral occupancy range continues to decrease and no longer coincides with the robot's track space within the prediction time domain, the corresponding moment will be used as the basis for the obstacle to end its occupation of the corresponding track segment; when the lateral occupancy range still coincides with the robot's track space, or when the change in the longitudinal occupancy range indicates that the obstacle is continuously moving along the direction of the robot's track, the track occupancy state of the corresponding track segment will continue to be maintained.
[0076] Based on the track occupancy status corresponding to each control cycle, the time range for continuous occupancy of each track segment by an obstacle is obtained. Specifically, the moment when an obstacle begins to form a predicted occupancy of a certain track segment is taken as the start time of the predicted occupancy interval for that track segment, and the moment when the obstacle ends its occupancy of the corresponding track segment is taken as the end time of the predicted occupancy interval. Thus, the predicted occupancy interval for each track segment is obtained, and the predicted occupancy interval is associated with at least the corresponding track segment, the start time of occupancy, and the end time of occupancy.
[0077] It should be noted that when an obstacle is currently in a state of continuous occupancy, the observation differences of the same obstacle by multiple sensing devices increase, or the obstacle's direction of movement changes significantly, it indicates an increase in uncertainty in future occupancy prediction. In response, the predicted occupancy interval can be corrected towards a safer direction based on sensor positioning errors, observation differences between different sensing devices, and the duration of observation interruptions. This includes appropriately shifting the start time of occupancy forward, shifting the end time of occupancy backward, and expanding the corresponding longitudinal occupancy range.
[0078] The correction amount can be calibrated using trial operation data of the corresponding line. For example, during the deployment phase, the actual movement speed of personnel and work vehicles in the obstructed area, the position detection deviation of different sensing devices, and the prediction deviation after trajectory recovery are statistically analyzed, and the correction range is determined based on the statistical results. During operation, a smaller correction amount is used when the observation is stable, and a larger correction amount is used when the observation is interrupted or when there are large differences between multi-source observations, so that the predicted occupied interval is adapted to the current observation reliability.
[0079] S3. Generate candidate actions based on the robot's running data, and calculate the reachable interval of the robot to the corresponding track segment under each candidate action. Compare the predicted occupied interval and the reachable interval of the same track segment to obtain the spatiotemporal conflict interval corresponding to each candidate action.
[0080] In this embodiment, candidate actions that can be executed at the current moment are generated based on the robot's current operating state. The candidate actions include, but are not limited to, maintaining movement, phased deceleration, controlled parking, emergency braking, and reversing.
[0081] For each candidate action, obtain the robot's current position, current speed, and speed change process after executing the candidate action. Based on the track distance between the robot's current position and each subsequent track segment, calculate the robot's expected arrival time at each track segment.
[0082] Specifically, different candidate actions correspond to different speed change processes. Among them, the "maintain driving" candidate action corresponds to the robot continuing to run at the current driving speed; the "phased deceleration" candidate action corresponds to the robot gradually reducing its driving speed according to the target speed and speed change process of each stage corresponding to the candidate action; the "controlled parking" candidate action and the "emergency braking" candidate action correspond to the robot reducing its current driving speed to zero; and the "reversing" candidate action corresponds to the robot running in the opposite direction of the track after completing deceleration and stopping.
[0083] Based on the motion state changes corresponding to each candidate action, where the motion state changes corresponding to the candidate action include at least the speed change process after executing the candidate action; the cumulative travel distance of the robot from the current position is calculated; when the cumulative travel distance reaches the track distance from the robot's current position to the corresponding track segment, the cumulative running time required to reach the track distance is determined, and the expected arrival time of the robot to the corresponding track segment is determined based on the cumulative running time and the current time.
[0084] For example, for a candidate action of maintaining movement, the cumulative running time can be determined based on the distance from the robot's current position to the corresponding track segment and the current speed. For a candidate action of phased deceleration, the robot's travel distance and duration in each deceleration phase are calculated separately and accumulated in the order of each deceleration phase. When the cumulative travel distance reaches the track distance of the corresponding track segment, the cumulative running time is determined based on the duration of the deceleration phases that have already passed and the running time in the current deceleration phase, and then the expected arrival time is determined.
[0085] Furthermore, based on the robot's current position error, control command delay, and the difference between the actual speed change and the speed change process corresponding to the candidate action, the estimated arrival time is corrected within a time range.
[0086] Specifically, the distance range from the robot's current position to the corresponding track segment is determined based on the current position error; for candidate actions that require changing the robot's current motion state, the control command delay range is determined based on the control command sending time and actual execution time recently recorded by the robot control system, and the distance traveled by the robot in its current motion state before the control command takes effect is included in the cumulative travel distance when calculating the arrival time; for candidate actions that include deceleration or braking processes, the corresponding speed change range is determined based on the actual speed change records of the robot's multiple recent deceleration or braking processes.
[0087] By combining different boundary values of the track distance range, control command delay range, and speed change range, and calculating the robot's arrival time to the corresponding track segment under different boundary value combinations according to the aforementioned calculation method for the expected arrival time, the minimum arrival time is taken as the earliest arrival time, and the maximum arrival time is taken as the latest arrival time. The earliest arrival time and the latest arrival time are taken as the start time and end time of the reachable interval, respectively, to obtain the reachable interval of the robot to the track segment under the corresponding candidate action.
[0088] Furthermore, a time overlap analysis is performed on the predicted occupied intervals and the reachable intervals corresponding to the current candidate actions for the same track segment.
[0089] When the predicted occupied interval and the reachable interval do not overlap in time, it is determined that the corresponding candidate action does not have a spatiotemporal conflict in the track segment, and it is used as the screening object for subsequent target obstacle avoidance actions; when the predicted occupied interval and the reachable interval overlap in time, the overlapping time period of the two is determined, the track segment with time overlap is determined as the conflict track segment, and the conflict track segment and the corresponding overlapping time period are determined as the spatiotemporal conflict interval corresponding to the candidate action.
[0090] S4. Select target obstacle avoidance actions based on the spatiotemporal conflict interval, and perform control position analysis based on the orbital environment data to obtain a safe control position.
[0091] Specifically, the spatiotemporal conflict intervals corresponding to each candidate action in S3 are obtained, and spatiotemporal conflict judgments are made on the candidate actions.
[0092] For a candidate action, if at least one of its corresponding track segments has a spatiotemporal conflict interval, it is determined that the candidate action currently has a spatiotemporal conflict; if none of the track segments involved in the candidate action have a spatiotemporal conflict interval, the temporal order of the predicted occupied interval and the reachable interval corresponding to each track segment is further determined.
[0093] When the reachable section corresponding to a certain track segment is located before the predicted occupied section, it is determined that the robot can pass through the track segment before the obstacle occupies the track segment; when the reachable section is located after the predicted occupied section, the conflict resolution margin is determined based on the end time of the predicted occupied section and the start time of the reachable section.
[0094] Specifically, the time difference between the start time of the reachable interval and the end time of the predicted occupied interval is used as the conflict resolution margin for the corresponding track segment, and the conflict resolution margin is compared with the preset release margin. When there is no spatiotemporal conflict among the track segments involved in the candidate action, and for track segments whose reachable interval is located after the predicted occupied interval, the conflict resolution margin is not less than the preset release margin, the candidate action is determined to meet the execution conditions; otherwise, the candidate action is determined not to meet the execution conditions. The preset release margin can be determined based on the obstacle prediction time deviation and robot control response time deviation obtained statistically during the trial operation, and combined with at least one control cycle.
[0095] Candidate actions that meet the execution conditions are selected according to a preset action priority order to determine the target obstacle avoidance action.
[0096] As one implementation method, when the candidate motion of maintaining motion meets the execution conditions, maintaining motion is determined as the target obstacle avoidance motion; when the candidate motion of maintaining motion does not meet the execution conditions, the candidate motion of phased deceleration is further judged; when the candidate motion of phased deceleration meets the execution conditions, phased deceleration is determined as the target obstacle avoidance motion; when neither maintaining motion nor phased deceleration can meet the above conditions, control position analysis is further performed based on track environment data.
[0097] Specifically, the conflict track segments corresponding to the spatiotemporal conflict intervals are extracted, the calibration parking nodes located between the robot's current position and the conflict track segments are obtained from the track environment data, and the control position analysis is performed on the calibration parking nodes.
[0098] Based on the robot's current direction of travel, designated parking nodes are retrieved along the conflict track segment towards the robot's current position, and the available distance from the robot's current position to each designated parking node is calculated. Designated parking nodes are track positions pre-recorded in the track environment data that allow the robot to park, and the available distance is the track distance the robot needs to travel from its current position to the corresponding designated parking node.
[0099] Furthermore, the required parking distance for the robot is obtained.
[0100] As one implementation method, the required stopping distance of the robot is determined based on the robot's current speed, control command delay, conservative braking deceleration, current position error, and stopping safety margin. The required stopping distance is specifically expressed as follows:
[0101] in, Indicates the required parking distance. This indicates the robot's current speed. This indicates a delay in control commands. Indicates conservative braking deceleration. Indicates the current position error. This represents the parking safety margin; the robot continues to run at the current speed before the control command takes effect, so the travel distance during this period is determined based on the current speed and the delay of the control command; after the robot starts braking, the braking distance from the current speed to zero is determined based on the current speed and the conservative braking deceleration, and the current position error and parking safety margin are further taken into account to obtain the required parking distance, where the conservative braking deceleration can be determined based on the robot's recent braking response.
[0102] The available distance corresponding to each calibrated parking node is compared with the required parking distance. When the available distance corresponding to a calibrated parking node is not less than the required parking distance, the calibrated parking node is determined as a reachable parking node; when the available distance is less than the required parking distance, the corresponding calibrated parking node is not determined as a reachable parking node.
[0103] Furthermore, for each reachable parking node, the track segments between the robot's current position and the corresponding reachable parking node are determined based on the track environment data, and the predicted occupancy intervals corresponding to each track segment and the reachable intervals corresponding to the robot when performing controlled parking candidate actions are obtained; the predicted occupancy intervals and reachable intervals corresponding to the same track segment are compared in time overlap to obtain the conflict analysis results corresponding to each reachable parking node.
[0104] Specifically, when there is no time overlap between the track segments from the robot's current position to a certain reachable parking node, the conflict analysis result is no conflict; based on the conflict analysis results corresponding to each reachable parking node, the reachable parking node with no conflict result is determined as a safe parking node.
[0105] Furthermore, based on the conflict analysis results, safe parking nodes are selected to obtain safe control locations.
[0106] When there is a safe stopping point, the safe stopping point is determined as the safe control position; when there are multiple safe stopping points, the safe stopping point that is located before the conflict track and closest to the conflict track is selected as the safe control position according to the position sequence of each safe stopping point along the robot's current travel direction; after determining the safe control position, the controlled stopping is determined as the target obstacle avoidance action.
[0107] When there is a time overlap between any track segment from the robot's current position to a certain reachable parking node, the conflict analysis result corresponding to that reachable parking node is determined to be conflicted, and the analysis continues for other reachable parking nodes. When the conflict analysis results corresponding to each reachable parking node are all conflicted, no safe parking node is obtained. The calibration backtracking nodes that the robot has passed are obtained from the track environment data, and the backtracking feasibility analysis is performed on each track segment between the robot's current position and each calibration backtracking node.
[0108] Specifically, when there is a time overlap between any track segment from the robot's current position to a certain calibrated back node, it is determined that the back process corresponding to the calibrated back node has a spatiotemporal conflict, and the calibrated back node is not regarded as a safe back node; when there is no time overlap between any track segment from the robot's current position to a certain calibrated back node, and each track segment allows the robot to back up, the calibrated back node is determined as a safe back node.
[0109] When a safe reversing node exists, the safe reversing node that meets the reversing requirements is identified as the safe control position, and reversing is identified as the target obstacle avoidance action; when there is no safe stopping node or safe reversing node that meets the conditions, emergency braking is identified as the target obstacle avoidance action.
[0110] For example, the robot is currently at mileage K12+430, and the conflict section ahead is between K12+445 and K12+447. The track environment data pre-sets a calibrated parking node at mileage K12+438. The robot's current speed is 1.2 m / s, the control command delay is 0.2 s, the conservative braking deceleration is 0.6 m / s², the current position error is 0.3 m, and the parking safety margin is 1.5 m. Therefore, the required parking distance is: The available distance between the robot's current position K12+430 and the calibrated parking node K12+438 is 8m. Since the available distance is greater than the required parking distance, it indicates that the robot currently has the distance conditions required to implement controlled parking with the calibrated parking node K12+438 as the target. Therefore, the calibrated parking node K12+438 is determined as a reachable parking node.
[0111] The robot's current position is determined, and each track segment between the robot's current position and the reachable parking node K12+438 is obtained. The predicted occupancy interval for each track segment and the reachable interval corresponding to the robot's controlled parking candidate action are also obtained. The predicted occupancy interval and reachable interval for the same track segment are compared for temporal overlap. When there is no temporal overlap among the track segments, the conflict analysis result for the reachable parking node K12+438 is determined to be conflict-free, and K12+438 is identified as a safe parking node. Therefore, K12+438 is designated as a safe control position, and controlled parking is identified as the target obstacle avoidance action.
[0112] This step combines spatiotemporal conflict, parking accessibility, and track occupancy status during the arrival process to determine the target obstacle avoidance action and safe control position step by step. This allows the obstacle avoidance decision to be selected based on the feasibility of the current action and the safety of the control position, reducing the risk of the robot encountering another conflict.
[0113] S5. Perform obstacle avoidance control on the track-following robot according to the target obstacle avoidance action, and perform position control according to the corresponding safety control position; update the predicted occupied interval and reachable interval, and redetermine the spatiotemporal conflict interval based on the update result to obtain the dynamic obstacle avoidance control result.
[0114] Specifically, corresponding control commands are sent to the motion controller of the track-following robot based on the target obstacle avoidance action. When the target obstacle avoidance action is to maintain movement, the current movement state is maintained; when the target obstacle avoidance action is to decelerate in stages, the robot's speed is gradually reduced according to the corresponding speed change process; when the target obstacle avoidance action is to stop or reverse, the robot is controlled to decelerate and stop or reverse to the corresponding safety control position according to the corresponding safety control position; when the target obstacle avoidance action is to brake suddenly, the robot is controlled to stop running in an emergency braking manner.
[0115] Furthermore, for target obstacle avoidance actions requiring intervention, the obstacle avoidance process is controlled in a phased closed-loop manner, including an intervention phase, a conflict maintenance phase, and a resolution phase. The intervention phase executes the target obstacle avoidance action determined by S4; the conflict maintenance phase maintains the current safe operating state after the target obstacle avoidance action is completed and determines whether the conflict persists; and the resolution phase gradually restores the inspection operation state after the conflict resolution conditions are met.
[0116] During the intervention phase, the robot performs phased deceleration, controlled stopping, reversing, or emergency braking according to the target obstacle avoidance action, and continuously acquires new obstacle observation data and robot operation data according to the preset control cycle; new track occupancy units are formed based on the new obstacle observation data, and the continuous occupancy trajectory is updated according to the track occupancy unit association in S1 and the observation interruption handling method; based on the updated continuous occupancy trajectory, the predicted occupancy interval corresponding to each track segment is updated.
[0117] Meanwhile, based on the robot's current position, speed, and corresponding speed change process updated after the target obstacle avoidance action is executed, the reachable range of the robot to subsequent track segments is updated; the updated predicted occupied range and reachable range corresponding to the same track segment are analyzed for time overlap, and the spatiotemporal conflict range corresponding to the current control cycle is re-determined.
[0118] When the spatiotemporal conflict interval redefined during the intervention phase indicates that the current target obstacle avoidance action can no longer meet the obstacle avoidance requirements, the target obstacle avoidance action is re-selected based on the updated spatiotemporal conflict interval. When the re-selected target obstacle avoidance action involves a control position, the safety control position is further redefined according to the control position analysis method in S4, and the current obstacle avoidance control is adjusted based on the redefined target obstacle avoidance action and safety control position.
[0119] Once the robot completes phased deceleration, or achieves controlled stopping or reversing and reaches the corresponding safe control position, or completes emergency braking, it enters the conflict holding phase. During the conflict holding phase, the robot maintains its current safe operating state established after completing the target obstacle avoidance maneuver, and continues to acquire obstacle observation data and robot operation data according to the control cycle, updating the continuous occupancy trajectory, predicted occupancy interval, reachable interval, and spatiotemporal conflict interval.
[0120] Furthermore, during the conflict maintenance phase, the spatiotemporal conflict status of multiple consecutive control cycles is assessed. When there are no spatiotemporal conflict intervals in multiple consecutive control cycles, the corresponding conflict resolution margin is further determined. For track segments whose reachable intervals are located after the predicted occupancy intervals, the time difference between the updated start time of the reachable interval and the end time of the corresponding predicted occupancy interval is used as the conflict resolution margin.
[0121] When there are no spatiotemporal conflict intervals for multiple consecutive control cycles, and the conflict resolution margin is not less than the preset release margin, the current conflict is determined to meet the resolution conditions, and the resolution phase begins; when the above conditions are not yet met, the current safe operation state is maintained and the update analysis for the next control cycle is executed.
[0122] It should be noted that the number of continuous control cycles and the preset release margin can be determined based on the sensor sampling cycle, the robot braking response time, and the allowable movement speed of obstacles in the scene. Using multiple consecutive control cycles for judgment can avoid prematurely releasing obstacle avoidance control based on a single conflict-free result due to obstacles being at the edge of occlusion, short-term sensor misses, or short-term changes in the predicted occupied area.
[0123] During the de-escalation phase, the robot's speed is gradually restored according to a preset acceleration, and the predicted occupied and reachable sections are updated according to the control cycle to redetermine the spatiotemporal conflict section. If no spatiotemporal conflict section is re-formed during the speed recovery process, the robot resumes normal inspection operation. If a spatiotemporal conflict section is re-formed during the speed recovery process, the current de-escalation process is terminated, and the robot re-enters the intervention phase, executing corresponding obstacle avoidance control based on the newly determined spatiotemporal conflict section.
[0124] For example, the control cycle is set to 0.2 seconds. After the robot enters the conflict holding phase, if no spatiotemporal conflict interval is formed for 5 consecutive control cycles and the conflict resolution margin reaches the preset release margin, it is determined that the resolution condition is met and enters the resolution phase. If a spatiotemporal conflict interval is formed again during the restoration of the inspection speed, the resolution process is terminated and the robot re-enters the intervention phase.
[0125] Finally, based on the execution status of the target obstacle avoidance action, the safe control position, the spatiotemporal conflict intervals redefined in each control cycle, and the clearance status of obstacle avoidance control, the dynamic obstacle avoidance control result is obtained, which is used to represent the control process of the track-following robot completing obstacle avoidance intervention, conflict maintenance, and conflict clearance for the current dynamic obstacle.
[0126] In summary, this embodiment predicts the track occupancy status of obstacles by continuously occupying the trajectory, and determines the spatiotemporal conflict by combining the robot's reachable range, thereby selecting obstacle avoidance actions and safe control positions. During the obstacle avoidance process, the predicted occupancy range, reachable range, and spatiotemporal conflict range are continuously updated, and closed-loop adjustments are made through intervention, conflict maintenance, and resolution phases, thereby achieving the joint determination of obstacle avoidance actions, control positions, and control timing under dynamic obstacle conditions.
[0127] Example 2:
[0128] This embodiment provides a dynamic obstacle avoidance control system for a track-following robot, used to execute the dynamic obstacle avoidance control method for a track-following robot described in Embodiment 1.
[0129] The system includes a data acquisition module, a track occupancy prediction module, a spatiotemporal conflict determination module, an obstacle avoidance decision module, and a closed-loop control module. Each module can be implemented by the processor in the track-following robot body executing the corresponding program, or it can be implemented collaboratively by the track-following robot body and the track edge computing device.
[0130] The data acquisition module is used to acquire track environment data, robot operation data and obstacle observation data, convert the obstacle observation data to the track coordinate system to obtain track occupancy units, and associate the track occupancy units to obtain a continuous occupancy trajectory.
[0131] The track occupancy prediction module is used to predict the track occupancy status of the obstacle in a preset prediction time domain based on the continuous occupancy trajectory, and obtain the predicted occupancy interval corresponding to each track segment.
[0132] The spatiotemporal conflict determination module is used to generate candidate actions based on the robot's running data, calculate the reachable interval of the robot to the corresponding track segment under each candidate action, compare the predicted occupied interval with the reachable interval of the same track segment, and obtain the spatiotemporal conflict interval corresponding to each candidate action.
[0133] The obstacle avoidance decision module is used to filter target obstacle avoidance actions based on the spatiotemporal conflict interval, and to perform control position analysis based on the orbital environment data to obtain a safe control position.
[0134] The closed-loop control module is used to perform obstacle avoidance control on the track-following robot according to the target obstacle avoidance action, and to perform position control according to the corresponding safety control position; update the predicted occupied interval and reachable interval, and redetermine the spatiotemporal conflict interval based on the update result to obtain the dynamic obstacle avoidance control result.
[0135] Those skilled in the art should understand that the embodiments of the present invention can be implemented using a pure hardware architecture, a pure software architecture, or an integrated hardware and software architecture. The present invention can be prepared as a computer program product, which can be stored in various non-volatile computer-readable storage media, including but not limited to solid-state drives, flash memory chips, mobile storage devices, optical discs, cloud storage servers, and other standardized storage media, and is not limited to traditional storage media.
[0136] Based on the foregoing description in conjunction with the accompanying drawings, those skilled in the art will understand that the embodiments of this application can also be implemented by software programs. Therefore, this application also provides a computer-readable storage medium. This computer-readable storage medium stores computer-readable instructions thereon, which, when executed by one or more processors, implement the method described above in conjunction with the accompanying drawings.
[0137] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0138] It should be noted that although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Without changing the data dependencies and technical objectives between the steps, some independent data processing procedures can be executed in parallel or their execution order adjusted. Additionally or alternatively, certain steps can be omitted, multiple steps can be combined into one step, and / or one step can be broken down into multiple steps.
[0139] It should be understood that when the terms "first," "second," "third," and "fourth," etc., are used in the claims, specification, and drawings of this application, they are used only to distinguish different objects and not to describe a specific order. The terms "comprising" and "including" as used in the specification and claims of this application indicate the presence of the described features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof.
[0140] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the application. As used in this specification and claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this specification and claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes such combinations.
[0141] Although the embodiments of this application are as described above, the content is merely an example adopted for the purpose of facilitating understanding of this application and is not intended to limit the scope and application scenarios of this application. Any person skilled in the art described in this application may make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed in this application, but the scope of patent protection of this application shall still be determined by the scope defined in the appended claims.
Claims
1. A dynamic obstacle avoidance control method for a track-following robot, characterized in that, include: Acquire track environment data, robot operation data, and obstacle observation data; convert the obstacle observation data to the track coordinate system to obtain track occupancy units; associate the track occupancy units to obtain a continuous occupancy trajectory. Based on the continuous occupancy trajectory, the track occupancy status of the obstacle in the preset prediction time domain is predicted to obtain the predicted occupancy interval corresponding to each track segment. Candidate actions are generated based on the robot's operation data, and the reachable range of the robot to the corresponding track segment under each candidate action is calculated. The predicted occupied range and the reachable range of the same track segment are compared to obtain the spatiotemporal conflict range corresponding to each candidate action. Based on the spatiotemporal conflict interval, target obstacle avoidance actions are selected, and control position analysis is performed based on the orbital environment data to obtain a safe control position; The robot is controlled to avoid obstacles according to the target obstacle avoidance action, and its position is controlled according to the corresponding safety control position. The predicted occupied range and reachable range are updated, and the spatiotemporal conflict range is re-determined based on the update result to obtain the dynamic obstacle avoidance control result.
2. The dynamic obstacle avoidance control method for a track-following robot according to claim 1, characterized in that, The steps for obtaining a continuously occupied trajectory include: Motion continuity analysis is performed on track occupancy units at different times, and track occupancy units that meet the preset continuous motion conditions are associated to obtain the occupancy trajectory; When the observation of the occupied trajectory is interrupted, the occupied trajectory is continued according to the track occupancy unit before the observation interruption to obtain the continued occupied trajectory, and the continued occupied trajectory is updated according to the track occupancy unit after the observation is restored to obtain the continuous occupied trajectory.
3. The dynamic obstacle avoidance control method for a track-following robot according to claim 2, characterized in that, Motion continuity analysis was performed on the track occupancy units at different times to obtain the occupancy trajectory, including: The longitudinal and lateral position changes of the track occupancy units corresponding to adjacent observation times are obtained. The range of motion of the longitudinal and lateral position changes is determined based on the time interval between adjacent observation times, and track occupancy units with continuous positions are selected. The movement direction and size range of the track occupancy units with continuous positions are compared, and the track occupancy units with the same movement direction and size range difference within the preset allowable range are grouped into the same occupancy trajectory.
4. The dynamic obstacle avoidance control method for a track-following robot according to claim 2, characterized in that, The occupied trajectory is continued based on the orbital occupancy units before the observation interruption to obtain the continued occupied trajectory, including: When the duration of the observation interruption does not exceed the preset duration of the occupancy, the occupancy trajectory is continued based on the longitudinal and lateral position changes of multiple orbital occupancy units before the observation interruption. The longitudinal and lateral occupancy ranges corresponding to the continued occupancy trajectory are then expanded based on the duration of the observation interruption to obtain the continued occupancy trajectory.
5. The dynamic obstacle avoidance control method for a track-following robot according to claim 1, characterized in that, The steps for determining the spatiotemporal conflict zone include: Obtain the predicted occupied interval and reachable interval for the same track segment; A time overlap analysis is performed on the predicted occupied interval and the reachable interval to determine the overlapping time period, and the track segments with time overlap and the corresponding overlapping time period are taken as the spatiotemporal conflict intervals of the corresponding candidate actions.
6. The dynamic obstacle avoidance control method for a track-following robot according to claim 5, characterized in that, The calculation steps for the reachable interval include: Based on the robot's current position, speed, and motion state changes corresponding to each candidate action, calculate the robot's estimated arrival time for each track segment. Based on the robot's operating data, the estimated arrival time is corrected within a time range to obtain the earliest and latest arrival times of the robot to each track segment. The earliest arrival time is used as the start time of the reachable interval, and the latest arrival time is used as the end time of the reachable interval to obtain the reachable interval of the corresponding track segment.
7. The dynamic obstacle avoidance control method for a track-following robot according to claim 1, characterized in that, Based on the aforementioned track environment data, a control position analysis is performed to obtain a safe control position, including: Extract the conflict track segments corresponding to the spatiotemporal conflict intervals, and based on the robot's current driving direction, filter out reachable parking nodes from the calibrated parking nodes between the robot's current position and the conflict track segments; Spatiotemporal conflict analysis is performed on the track segments corresponding to the reachable parking nodes. Based on the conflict analysis results, safe parking nodes are selected to obtain safe control positions.
8. The dynamic obstacle avoidance control method for a track-following robot according to claim 7, characterized in that, The process involves filtering reachable parking nodes from the calibrated parking nodes between the robot's current position and the conflicting track segment, including: Search for calibrated parking nodes along the direction from the conflict track segment to the robot's current position, and calculate the available distance from the robot's current position to each calibrated parking node; Obtain the required parking distance for the robot, compare the available distance with the required parking distance, and designate the parking nodes whose available distance is not less than the required parking distance as reachable parking nodes.
9. The dynamic obstacle avoidance control method for a track-following robot according to claim 7, characterized in that, Spatiotemporal conflict analysis is performed on the track segment corresponding to the reachable parking node, including: Obtain each track segment between the robot's current position and each reachable parking node, and extract the reachable interval and predicted occupied interval corresponding to each track segment; The reachable intervals and predicted occupancy intervals of the same track segment are compared for time overlap. When any track segment has time overlap, the conflict analysis result of the corresponding reachable parking node is determined to have a conflict; when there is no time overlap among the track segments, the conflict analysis result of the corresponding reachable parking node is determined to have no conflict.
10. A dynamic obstacle avoidance control system for a track-following robot, characterized in that, The system for implementing the method as described in any one of claims 1-9 includes: The data acquisition module is used to acquire track environment data, robot operation data, and obstacle observation data to obtain a continuous occupancy trajectory; The track occupancy prediction module is used to predict the track occupancy status of obstacles in each track segment and obtain the predicted occupancy range. The spatiotemporal conflict determination module is used to generate candidate actions and calculate the corresponding reachable intervals to obtain the spatiotemporal conflict intervals corresponding to each candidate action. The obstacle avoidance decision module is used to filter target obstacle avoidance actions and analyze control positions to obtain safe control positions; The closed-loop control module is used to execute obstacle avoidance control and update the spatiotemporal conflict state, generating dynamic obstacle avoidance control results.