yangggzhang / Heterogeneous-Multi-Robot-Adaptive-Sampling

Adaptive Informative Sampling with Environment Partitioning for Heterogeneous Multi-Robot Systems (IROS 2020)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ROS Distro: Melodic License: BSD

Adaptive Informative Sampling with Environment Partitioning for Heterogeneous Multi-Robot Systems

by Yunfei Shi, Ning Wang*, Jianmin Zheng*, Yang Zhang*, Sha Yi, Wenhao Luo, and Katia Sycara
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2020.
The final submission version pdf, and also video here.

Introduction

Multi-robot systems are widely used in environmental exploration and modeling, especially in hazardous environments. However, different types of robots are limited by different mobility, battery life, sensor type, etc. Heterogeneous robot systems are able to utilize various types of robots and provide solutions where robots are able to compensate each other with their different capabilities. In this paper, we consider the problem of sampling and modeling environmental characteristics with a heterogeneous team of robots. To utilize heterogeneity of the system while remaining computationally tractable, we propose an environmental partitioning approach that leverages various robot capabilities by forming a uniformly defined heterogeneity cost space. We combine with the mixture of Gaussian Processes model-learning framework to adaptively sample and model the environment in an efficient and scalable manner. We demonstrate our algorithm in field experiments with ground and aerial vehicles.

Support Platform

we present a system architecture for heterogeneous multi-robot informative samplingwith a modularized design that allows for flexible scale-ups and extensions in both robot characteristics and team size. The current robot platform we support includes:

Robot Platform Description Simulation Physical Platform
Clearpath Jackal UGV ✔️ ✔️
Asctec Pelican UAV ⁉️ ✔️
Hector Quadrator ✔️ ⁉️

Check sampling_agent to add your own robot to this sampling framework.

Installation

First install Full-Desktop ROS Melodic by the instructions.
To install all additional ROS packages, dependencies and python packages. Please run the setup script.

./setup.sh

Build the package

This work depends on multi ROS pacakgaes for robot simulation/deployment, it may take up to 5 minutes to build ths project.

catkin build

Run the simulation

Don't forget to source devel/setup.bash before launch any files.
First, launch the simulation environment in Gazebo in one terminal. Check or add customize simulation environments here.

roslaunch sampling_gazebo_simulation two_ugv_one_uav_simulation.launch

Second, launch the heterogeneous multi-robot adaptive sampling algorithm in the second terminal. Please make sure the agent information fed to the sampling algorithim is consistent with the gazebo simulation by checking the ros parameters. Users can also adjust or add heterogeneous primitives according to their robot systems here

roslaunch sampling_core heterogeneous_adaptive_sampling.launch

You can also directly monitor the sampling performance by listenting to the /sampling_performance channel, which includes the number of samples collected, root mean square error for prediction, and average variance from prediction.

rostopic echo /sampling_performance

The left window is the simulation running in Gazebo. The right one is the visualization of heterogeneous multi-robot adaptive sampling in rviz. The leftmost grid is showing the heterogeneous environment partition and agents' locations, the middle one is showing the real-time model prediction, and the rightmost one is showing the real-time uncertainties from prediction.

Results

The robots in our simulation are different in speed, battery life and traversability.

Environment Partition using Heterogeneity Primitives

The red, blue and green dots represent the current locations of the ground robot 1, 2 and the aerial robot respectively. The corresponding shallow areas are their responsible regions. The black circle denotes an obstacle that the robot 1 and 2 need to avoid. The first partition from left uses normal Voronoi Diagram; the second adds speed heterogeneity; the third adds battery life, and the last adds traversability.

Heterogeneous Informative Sampling

Informative sampling performance comparison between heterogeneous and homogeneous multi-robot sampling algorithms. We run each algorithm on the same dataset 45 times with random robot initial locations and obstacle positions. The shallow areas represent the variance range. The red vertical line indicates the time when the aerial robot stopped operation.

Citation

If you find this work or code helpful, please cite:

@InProceedings{hetero_sampling,
author = {Yunfei Shi, Ning Wang, Jianmin Zheng, Yang Zhang, Sha Yi, Wenhao Luo, and Katia Sycara},
title = {Adaptive Informative Sampling with Environment Partitioning for Heterogeneous Multi-Robot Systems},
booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
month = {Oct},
year = {2020}
}

Acknowledgement

This work is primarity from Team SAMP's (Yunfei Shi, Ning Wang, Jianmin Zheng and Yang Zhang) capstone project when they were pursing their masters' degrees in Robotic Systems Development (MRSD) at Carnegie Mellon University the Robotics Institute. Special thanks to John M. Dolan, Dimitrios (Dimi) Apostolopoulos and Sarah Conte for the support and advice.

About

Adaptive Informative Sampling with Environment Partitioning for Heterogeneous Multi-Robot Systems (IROS 2020)

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 82.1%Language:Python 13.0%Language:CMake 4.8%Language:Shell 0.1%