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.
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.
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.
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
This work depends on multi ROS pacakgaes for robot simulation/deployment, it may take up to 5 minutes to build ths project.
catkin build
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.
The robots in our simulation are different in speed, battery life and traversability.
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. 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.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}
}
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.