Overview | Prerequisites | Installing | Running | Data | Repo Content | Schematic | Authors
Our goal for this project was to design a simulator on Gazebo for search-and-rescue missions. We want to be able to test different robots and path planning algorithms in a realistic disaster scenario. For this project, we are using Gazebo 7 with ROS-Kinetic and the Jackal Robot. The first scenario chosen is the School Scenario (SS-1).
You are welcome to use our material. If you do so, please cite our paper:
@article{shree2021exploiting,
title={Exploiting Natural Language for Efficient Risk-Aware Multi-Robot SaR Planning},
author={Shree, Vikram and Asfora, Beatriz and Zheng, Rachel and Hong, Samantha and Banfi, Jacopo and Campbell, Mark},
journal={IEEE Robotics and Automation Letters},
volume={6},
number={2},
pages={3152--3159},
year={2021},
publisher={IEEE}
}
Autonomous Systems Lab page | project page
You will need the jackal packages and ROS navigation stack.
sudo apt-get install ros-kinetic-jackal-simulator ros-kinetic-jackal-desktop ros-kinetic-jackal-navigation
sudo apt install ros-kinetic-timed-roslaunch
Clone the repository in a workspace.
git clone https://github.coecis.cornell.edu/sh974/SearchandRescue.git
Copy the hector_quadrotor_sim, multi_robot, quadrotor_navigation, and simple_navigation_goals packages into your catkin workspace.
cp -r hector_quadrotor_sim multi_robot quadrotor_navigation simple_navigation_goals ~/catkin_ws/src
or you can manually copy and paste the necessary packages into your local catkin workspace.
Don't forget to:
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash
To use the planner,
cd ~/catkin_ws/src/simple_navigation_goals/src/planner
git clone https://github.com/basfora/milp_sim.git
Follow the instructions on https://github.com/basfora/milp_sim.
Launch world, spawn robots, launch navigation nodes
roslaunch multi_jackal_tutorials jackal_drone.launch folder:=<absolute folder path for output> belief:=<belief vector number>
Launch world, spawn robots, launch navigation nodes
roslaunch multi_jackal_tutorials two_jackal.launch gui:=true
Send multiple waypoints to robots
roslaunch simple_navigation_goals move_base_seq.launch ns:=jackal0
Change parameter: jackal0/front_laser -> front_laser
cd multi_robot/multi_jackal_nav/params
gedit costmap_common_params.yaml
cd multi_robot/multi_jackal_nav/params/odom_nav_params
gedit global_costmap_params.yaml
Launch gmapping with a single robot
roslaunch multi_jackal_tutorials one_jackal.launch gui:=true
Send multiple waypoints to robots (all points will be relative to robot spawn position, aka the map origin)
roslaunch simple_navigation_goals move_base_seq.launch ns:=/
Save map, creates a .pgm and .yaml file
rosrun map_server map_saver -f <my_map_name>
To generate plots from the simulator data:
cd data
./generatePlots.bash
This will save the plots to the data/plots directory.
Contains pickle file data that we collected and scripts to generate meaningful plots.
Contains all files that launch the robot simulations. Simulation launch files are located in multi_jackal_tutorials, navigation launch and parameter files are in multi_jackal_nav. Based off multi_jackal.
Contains all files that send waypoints/navigation goals to the robots. This folder also holds the main control script (move_base_3_robots.py) and the planner.
Contains all files that launch the quadrotor robot navigation. Is used by multi_robot, and depends on hector_quadrotor_sim.
Contains all files that configure quadrotor robot, including description files, controller setup, plugins, etc. Cloned from here.
Contains furnished and unfurnished .world files of the school environment
There may be an issue with launching Gazebo or RVIZ when trying to use the simulator. If that is the case, CTRL + C to shut down the simulator, source the setup.bash script in your local catkin_ws/devel directory, and then relaunch the simulator. An example of this taken on video is in the img folder of this repository.
-
Sam Hong - sh974
-
Rachel Zheng - rz246
- Beatriz Asfora - ba386
- Jacopo Banfi - jb2639
- Professor Mark Campbell

