Skip to content

jhan15/robot_coordinated_evacuation

This branch is 6 commits ahead of ymarkova/theEITgroup:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e85b17b · Feb 25, 2022
Jan 25, 2022
Feb 18, 2022
Feb 18, 2022
Feb 18, 2022
Feb 18, 2022
Sep 20, 2019
Feb 25, 2022
Sep 20, 2019
Sep 26, 2019

Repository files navigation

robot_coordinated_evacuation

The project is about designing a coordinated evacuation of a site cluttered by several obstacles. Three robots have to react to an emergency reaching a gate in minimum time.

Objectives

  • The robots move at a constant speed (so they can execute Dubins Manoeuvres).
  • The robots have to move without touching the border of the map and the obstacles.
  • The robots must not collide with each other.

Solution

  • A roadmap is created via Vertical Cell Decomposition algorithm
  • A path is computed from roadmap via Breadth First Search algorithm
  • Path optimization is conducted by looking-ahead the path vertices
  • Collision-free Multipoint Markov-Dubins curves are computed via Iterative Dynamic Programming
  • Asynchronous coordination is conducted via a time-step-based collision checking for the three robots
  • If a collision occurs, the second best path from BFS is employed for one robot

Demo

Environment

  • Ubuntu 16.04
  • ROS Kinetic
  • Gazebo >= 7.16
  • make >= 4.1
  • gcc/g++ >= 5.4

Structure

~/workspace
    |__ project
    |__ simulator

Setup

Simulator

$ mkdir ~/workspace
$ cd workspace
$ git clone https://github.com/AlexRookie/AppliedRoboticsEnvironment.git simulator/
$ cd simulator
$ catkin build
$ source ./environment.sh

Planner

$ cd workspace
$ git clone https://github.com/jhan15/robot_coordinated_evacuation.git project
$ cd project
$ mkdir build
$ cd build
$ cmake ..
$ make
$ source ../environment.sh

Usage

Run simulation

# terminor 1
$ AR_simulator
# terminal 2
$ AR_pipeline
# terminal 3
$ AR_rviz
# terminal 4
$ AR_run

Other usage

# Modify the environment
$ gedit $AR_map_file

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.3%
  • Other 0.7%