이 프로젝트는 Jackal 로봇이 10m × 10m 맵에서 랜덤하게 배치된 장애물을 피해 목표 지점까지 도달하는 경로를 생성하기 위해 다양한 경로 탐색 알고리즘의 성능을 비교 분석하는 것을 목적으로 한다. A*, Dijkstra, RRT* 알고리즘을 적용하여 각 알고리즘의 경로 생성 성공률, 실제 목표 도달률, 경로 길이, waypoint 수, 탐색 시간, 실패 원인 등을 정량적으로 비교하였다.
└── my_jackal_world
└── launch
├── astar_path.launch.py
├── dijkstra_path.launch.py
├── rrtstar_path.launch.py
├── dynamics_mode.launch.py
├── random_mode.launch.py
└── simple_world.launch.py
└── models
├── cylinder.sdf
├── marker.sdf
└── turtlebot3_waffle.urdf
└── my_jackal_world
├── dynamics_obstacles
├── central_reset_node.py
├── multi_controller_launcher.py
├── random_dynamic_spawn.py
└── turtlebot_controller.py
├── path
├── astar_planner_node.py
├── dijkstra_planner_node.py
├── rrtstar_planner_node.py
└── follower_node.py
└── random_spawn.py
└── worlds
└── pathplanning
└── Search-based Planning
├── Breadth-First Searching (BFS)
├── Depth-First Searching (DFS)
├── Best-First Searching
├── Dijkstra's
├── A*
├── Bidirectional A*
├── Anytime Repairing A*
├── Learning Real-time A* (LRTA*)
├── Real-time Adaptive A* (RTAA*)
├── Lifelong Planning A* (LPA*)
├── Dynamic A* (D*)
├── D* Lite
└── Anytime D*
└── Sampling-based Planning
├── RRT
├── RRT-Connect
├── Extended-RRT
├── Dynamic-RRT
├── RRT*
├── Informed RRT*
├── RRT* Smart
├── Anytime RRT*
├── Closed-Loop RRT*
├── Spline-RRT*
├── Fast Marching Trees (FMT*)
└── Batch Informed Trees (BIT*)
- 휴리스틱 기반으로 빠른 탐색 속도와 안정적인 경로를 제공
- 장애물 수가 증가해도 비교적 높은 성능을 유지
- 전체 맵을 균등하게 탐색하는 방식으로 경로가 안정적이지만 복잡한 환경에서는 추종 실패가 늘어남
- 샘플 기반 탐색으로 복잡한 경로를 생성하고 탐색 시간이 매우 길었음.
- 센서 없이 단순 추종만으로는 경로 이탈 시 복구가 어려워 성공률이 급격히 감소
센서를 사용하지 않고 사전경로로만 추종하는 조건에서는 A*가 가장 높은 안정성과 효율을 RRT* 는 실시간 센서 피드백이 포함된 상황에서의 활용 가능성이 더 높다는 점을 확인





