Skip to content

Dynamic Obstacle Tracking & Smoother Velocity Ramping #3

@Nitya-003

Description

@Nitya-003

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions