# Long-Range Navigation in Complex and Dynamic Environments with Full-Stack S-DOVS +
## 3 Approach
### Obstacle Tracker and S-DOVS Adaptations  
The DOVS model uses the current position, radius, and velocity of obstacles to predict their trajectory and collision band. The information must be gathered from the LIDAR sensor. The approach presented in [31] is utilized, which uses laser measurements grouped to form circles or segments, while an Extended Kalman Filter is used to track measurements  
Figure 4: Representation of the ROS navigation stack with a waypoint generator.  
Figure 5: Two maps used for quantitative experiments: (**a**) Single room map, (**b**) Multi-room map. In (**c**), RVIZ shows the AMCL robot estimated pose with a red arrow, the covariance of the estimation in magenta, the laser scans in red, and the tracked obstacles in red and green circles.  
in time. The approach is extended such the orientation and angular velocity of obstacles are computed using the direction of the obstacle's trajectory and tracking of the change in orientation at a high frequency (25 Hz). Several factors such as spurious measurements and occlusions make these measurements erroneous or unreliable in particular moments, specially in the real world. Assuming that dynamic obstacles as people or robots tend to follow smooth trajectories with no sudden velocity changes, we use the median value over the few last estimations to reduce the perception errors. The time interval used for this median filter (applied for both linear and angular velocities) is configurable and set to 0.4 s during the experiments. In this work, we use this approach to track the size, position, linear velocity, orientation, and angular velocity of obstacles over time, enabling the DOVS model to predict obstacle behavior accurately. The obstacles tracked by the robot and the localization estimated by AMCL may be seen in Figure 5c.  
We introduced modifications to the original S-DOVS algorithm. The modified S-DOVS model improves on the initial model by including segment obstacles and removing strategies that lead to trapping situations or small margins to react. The modified model calculates forbidden velocities for static obstacles differently, considering only trajectories that have a distance traveled greater than the distance required for the robot to brake multiplied by a safety factor, following the equation  
\[v_{safe}\leq\sqrt{2\cdot a_{max}\cdot dist}, \tag{1}\]  
where \(a_{max}\) is the maximum linear acceleration of the robot and \(dist\) is the distance from the robot to the static obstacle following a particular trajectory radius. Thus, the modified model calculates forbidden velocities for static obstacles less restrictively, allowing the robot to take more velocities, leading to greater maneuverability and easier obstacle avoidance.  
The inclusion of segment obstacles in the DOVS model improves accuracy and eliminates the curvy nature of the initial obstacle model, which needs to fuse circle obstacles in order to consider walls. The modified model saves the points of the extremes and forbids any velocity leading to a trajectory that intersects with a point between the extremes. Additionally, the behaviors of certain strategies have been changed. When there are no safe velocities in DOVS, the robot applies maximum deceleration to avoid risky situations that could lead to running over pedestrians; the previous behavior was to accelerate towards the closest previous gap. A conservative velocity threshold is set when considering whether an obstacle is static or dynamic in order to account for estimation errors. Therefore, an obstacle is considered static if its sensed linear velocity is lower than a threshold, instead of expecting it to have a complete null velocity.