Dynamic Obstacle Avoidance for Social Navigation
Project Overview
This project focuses on developing robust path planning algorithms for autonomous robots, specifically designed for dynamic environments such as hospitals. The goal is to ensure that robots can navigate safely and efficiently while interacting with moving obstacles like people and equipment.
Research Problem
Robots operating in dynamic environments need to navigate autonomously, avoiding collisions with both static and dynamic obstacles. In hospital settings, this involves maintaining socially acceptable behavior around patients and staff while efficiently reaching designated goals.
Methodology
-
Mapping and Localization:
-
Gmapping (SLAM): Used to create a 2D occupancy grid map of the environment, serving as the foundation for navigation.
-
AMCL (Adaptive Monte Carlo Localization): Used for real-time robot localization within the mapped environment.
-

Localisation

2D Occupancy Map

Costmap Layers
-
Path Planning Algorithms:
-
Combination 1: Dijkstra Global Planner with TEB Local Planner (Baseline)
-
Combination 2: Lattice Global Planner with Time Path Follower
-
Combination 3: A* Global Planner with DWA Local Planner
-
-
Simulation Environment:
-
The experiments were conducted using a Gopher robot simulated in Unity 3D, a platform that allowed for realistic and complex environment testing.
-
Key Experiments and Results
-
Experiment 1: Navigation in a corridor with humans walking parallel and opposite to the robot’s direction.
-
Outcome: The Time Path Follower provided the shortest path and maintained the highest distance from humans, demonstrating superior performance in social navigation.
-

Lattice Global Planner with Time Path Follower

Dijkstra Global Planner with TEB Local Planner

Experiment 1 results
-
Experiment 2: Robot navigating an intersection with crossing humans.
-
Outcome: Social navigation methods predicted future positions of humans, allowing the robot to avoid collisions effectively.

Lattice Global Planner with Time Path Follower

Dijkstra Global Planner with TEB Local Planner

Experiment 2 results
-
Experiment 3: Navigation among unmapped static obstacles like humans and furniture.
-
Outcome: The Time Path Follower again excelled, achieving the best balance between path length and maintaining a safe distance from obstacles.

Lattice Global Planner with Time Path Follower

A* Global Planner with DWA Local Planner

Experiment 3 results
Key Takeaways
-
Best Performing Approach: The combination of the Lattice Planner with the Time Path Follower consistently provided the best results in dynamic environments, particularly in maintaining safety around humans.
-
Simulation Tools: Unity 3D and ROS were crucial in testing and refining the algorithms before real-world deployment.
Challenges Addressed
-
Blind Spots: Limited field of view and sensor inaccuracies, like missing narrow objects, were identified as potential issues. These were mitigated by optimizing planner parameters and refining sensor fusion techniques.
-
Human-Robot Interaction: The project emphasized socially acceptable navigation, ensuring that robots not only avoid collisions but also respect personal space and social norms.
Please feel free to go through the project report for detailed explanation and find more explanation on the GitHub