Description
While the current system handles static obstacles (walls/furniture) via the global and local costmaps, the robot may react "jitterily" when encountering moving obstacles (like a person walking across its path) or when starting/stopping abruptly.
This feature proposes the integration of a Temporal Costmap Layer and a Velocity Smoother to ensure the robot maneuvers safely and elegantly in dynamic environments.
Proposed Changes
1. Implementation of nav2_velocity_smoother
- Add the
nav2_velocity_smoother node to the navigation launch pipeline.
- Goal: To prevent jerky movements by constraining the robot's acceleration and jerk limits, especially when a goal is canceled or a sudden obstacle appears.
- Configure
smooth_cmd_vel to be the final output to the Gazebo differential drive plugin.
2. Dynamic Obstacle Layer (Inflation Tuning)
- Fine-tune the Inflation Layer parameters in
nav2_params.yaml.
- Implement a "Social Compliance" zone where the
inflation_radius is dynamically adjusted based on the robot's speed allowing for tighter gaps at low speeds but wider safety margins when moving fast.
3. Real-time Status Telemetry
- Develop a small Python-based diagnostic node that subscribes to
/nav2_stats and /cmd_vel.
- Output: Print real-time "Estimated Time to Arrival" (ETA) and "Distance Remaining" to the terminal or an RViz overlay.
Description
While the current system handles static obstacles (walls/furniture) via the global and local costmaps, the robot may react "jitterily" when encountering moving obstacles (like a person walking across its path) or when starting/stopping abruptly.
This feature proposes the integration of a Temporal Costmap Layer and a Velocity Smoother to ensure the robot maneuvers safely and elegantly in dynamic environments.
Proposed Changes
1. Implementation of
nav2_velocity_smoothernav2_velocity_smoothernode to the navigation launch pipeline.smooth_cmd_velto be the final output to the Gazebo differential drive plugin.2. Dynamic Obstacle Layer (Inflation Tuning)
nav2_params.yaml.inflation_radiusis dynamically adjusted based on the robot's speed allowing for tighter gaps at low speeds but wider safety margins when moving fast.3. Real-time Status Telemetry
/nav2_statsand/cmd_vel.