[TOC]
The aim of this project is to demonstrate multi-robot cooperation through a maze in the VREP simulation program. We are to make them perform a coverage task, one of two methods of terrain traversability.
• Ubuntu 16.04 LTS (Xenial Xerus)
• ROS Kinetic
• V-REP PRO EDU 3.5.0 Linux 64
• RVIZ
Laptop with Linux:
-
Install ROS kinetic - follow steps from: http://wiki.ros.org/kinetic/Installation/Ubuntu
-
Create a catkin workspace - follow steps from: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
-
Download VREP simulation from: http://coppeliarobotics.com/files/V-REP_PRO_EDU_V3_5_0_Linux.tar.gz
-
RVIZ - UserGuide of RVIZ: http://wiki.ros.org/rviz/UserGuide
-
Prepare the repository
Gitclone the repository to the created workspace
$ cd coverage_ws
$ git clone https://github.com/MichalBogoryja/Group_4_Coverage.git
Compile turtlebot_ws
$ cd ~/turtlebot_ws
$ catkin_make
Compile turtlebot_simulation
$ cd ~/turtlebot_simulation
$ catkin_make
Source all
$ cd coverage_ws
$ source source_all.bash
In order to run the system, following steps are to be executed:
-
Run roscore in a terminal
$ roscore
-
Open a new Terminal & Run V-REP
$ cd <VREP_folder_path>/
$ ./vrep.sh
Open the V-REP scene turtlebot_two_robots.ttt from Group_4_Coverage\coverage_ws\V-REP Simulations and press start.
-
Open a new Terminal & Run the node operating RGB point cloud for the first robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch rgb_pcd_kinect_fusion rgb_pcd_kinect_fusion_turtlebot1.launch
-
Open a new Terminal & Run the node operating RGB point cloud for the second robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch rgb_pcd_kinect_fusion rgb_pcd_kinect_fusion_turtlebot2.launch
-
Open a new Terminal & Run the rviz
$ cd coverage_ws
$ source source_all.bash
$ roslaunch vrep_turtlebot_simulation vrep_turtlebot_rviz_launch.launch
-
Open a new Terminal & Run the node octomap for the first robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers vrep_octomap_turtlebot1.launch
-
Open a new Terminal & Run the node octomap for the second robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers vrep_octomap_turtlebot2.launch
-
Open a new Terminal & Run the node global mapping
$ cd coverage_ws
$ source source_all.bash
$ roslaunch ms_vrep_ros_simulation global_mapping.launch
-
Open a new Terminal & Run the node normal estimation for the first robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_normal_estimation_turtlebot1.launch
-
Open a new Terminal & Run the node normal estimation for the second robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_normal_estimation_turtlebot2.launch
-
Open a new Terminal & Run the node turtlebot traversability analysis for the first robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_traversability_analysis_turtlebot1.launch
-
Open a new Terminal & Run the node turtlebot traversability analysis for the second robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_traversability_analysis_turtlebot2.launch
-
Open a new Terminal & Run the node path planner for the first robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_path_planner_turtlebot1.launch
-
Open a new Terminal & Run the node path planner for the second robot
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_robot_launchers turtlebot_path_planner_turtlebot2.launch
-
Open a new Terminal & Run the node keyboard_teleop for steering the first robots through arrow keys
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_teleop_keyboard keyboard_teleop_diff_drive_mux_turtlebot1.launch
-
Open a new Terminal & Run the node keyboard_teleop for steering the second robots through arrow keys
$ cd coverage_ws
$ source source_all.bash
$ roslaunch turtlebot_teleop_keyboard keyboard_teleop_diff_drive_mux_turtlebot2.launch
Recchiuto, Carmine & Nattero, Cristiano & Sgorbissa, Antonio & Zaccaria, Renato. (2014). "Coverage Algorithms for Search and Rescue with UAV Drones - abstract" C. Nattero, C.T. Recchiuto, A. Sgorbissa, R. Zaccaria, PISA 10-12 Dicember 2014.
Michal Bogoryja-Zakrzewski
Arnold Bukachi
Tengxiao He
Ishita Parekh
Haiwei Xu