Skip to content

Self-Adaptive_Swarm_System(SASS) for 2019 IEEE International Symposium on Multi-Robot and Multi-Agent Systems (MRS) Version. Paper: Self-Reactive Planning of Multi-Robots with Dynamic Task Assignments

License

Notifications You must be signed in to change notification settings

RickYang2016/Self-Adaptive-Swarm-System_SASS_MRS2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hierarchical Needs Based SASS

Abtract

Research in multi-robot and swarm systems has seen significant interest in cooperation of agents in complex and dynamic environments. To effectively adapt to unknown environments and maximize the utility of the group, robots need to cooperate, share information, and make a suitable plan according to the specific scenario. Inspired by Maslow's hierarchy of human needs and systems theory, we introduce Agent(Robot) Needs Hierarchy and propose a new solution called Self-Adaptive Swarm System (SASS). It combines multi-robot perception, communication, planning, and execution with the cooperative management of conflicts through a distributed Negotiation-Agreement Mechanism that prioritizes robot's needs. We also decompose the complex tasks into simple executable behaviors through several Atomic Operations, such as selection, formation, and routing. We evaluate SASS through simulating static and dynamic tasks and comparing them with the state-of-the-art collision-aware task assignment method integrated into our framework.

Self-Adaptive_Swarm_System (SASS) original version: Self-Reactive Planning of Multi-Robots with Dynamic Task Assignments

SMC version: Hierarchical Needs Based Self-Adaptive Framework For Cooperative Multi-Robot System

Agent(Robot) Needs Hierarchy and The expectation of Agent Needs at Each Level

Hopper-V2 3SABC Hopper-V2 3SABC

Approach Overview

We design a simple scenario to implement SASS and distributed algorithms. In our scenarios, a group of swarm robots will cooperate to complete some tasks. Since the tasks are dynamically assigned, the robots need to change their plans and adapt to the new scenario to guarantee the group utility. In our framework, we decompose the complex tasks into a series of sub-tasks and recursively achieve those sub-tasks until the entire task is completed. Accordingly, we can divide the task allocation and execution into three steps: selection, formation, and routing. This process can be illustrated as a Behavior Tree that integrates the sense-think-act cycle. The robots are assumed to have low-level motion control and sensor-based perception system for sensing and navigation.

Hopper-V2 3SABCHopper-V2 3SABC Video
Hopper-V2 3SABCHopper-V2 3SABC Video

Evaluation through Simulation Studies

Experiment Setting

To simulate our framework, we chose to use the Common Open Research Emulator (CORE) network simulator since we are interested in implementing our algorithm in a network-based tool as CORE allows dynamic changes in the node/agent mobility and communication.

Hopper-V2 3SABCHopper-V2 3SABC Video

Manually Configure CORE

If set CORE.sh is not working, follow these steps to manually configure CORE.

Let the MDR node runs Micromouse automatically by adding a customized service.

$ sudo nano /etc/core/core.conf

Uncomment the line of custom_services_dir and set:

custom_services_dir = /path/you/downloaded/SRSS

Save and Exit.

$ cd /path/you/downloaded/SRSS
$ nano ./preload.py

Modify this line:

_startup = ('/path/you/downloaded/SRSS/strategy.sh',)

Save and Exit.

$ nano ./backservice.sh

Modify this line:

export ServiceHOME=/path/you/downloaded/SRSS

Save and Exit.

$ nano ~/.core/nodes.conf

Modify line 4: Add a MyService.

{ mdr mdr.gif mdr.gif {zebra OSPFv3MDR vtysh IPForward MyService}  netns {built-in type for wireless routers} }

Save and Exit.

$ chmod 755 __init__.py preload.py backservice.sh

To check whether the Micromouse service has been added, restart core-daemon and open CORE:

$ sudo service core-daemon restart
$ core-gui

$ sudo vim /etc/hosts

add:

10.0.0.1	n1
10.0.0.2	n2
10.0.0.3	n3
....

Demonstration

Basic Setting

Hopper-V2 3SABCHopper-V2 3SABC Video

Static Tasks

Hopper-V2 3SABCHopper-V2 3SABC Video
Hopper-V2 3SABC VideoHopper-V2 3SABC

Dynamic Tasks

Hopper-V2 3SABCHopper-V2 3SABC Video
  • Note: Check the Link for the full video.

Summary

Hopper-V2 3SABC

Conclusion

Our work introduces a novel SASS framework for cooperation heterogeneous multi-robot systems for dynamic task assignments and automated planning. It combines robot perception, communication, planning, and execution in MRS, which considers individual robot's needs and action plans and emphasizes the complex relationships created through communication between the robots. Specifically, we proposed Robot's Needs Hierarchy to model the robot's motivation and offer a priority queue in a distributed Negotiation-Agreement Mechanism avoiding plan conflicts effectively. Then, we provide several Atomic Operations to decompose the complex tasks into a series of simple sub-tasks. The proposed solution is evaluated through extensive simulations under different static and dynamic task scenarios. The experimental analysis showed that the needs-based cooperation mechanism outperformed state-of-the-art methods in maximizing global team utility and reducing conflicts in planning and negotiation.

About

Self-Adaptive_Swarm_System(SASS) for 2019 IEEE International Symposium on Multi-Robot and Multi-Agent Systems (MRS) Version. Paper: Self-Reactive Planning of Multi-Robots with Dynamic Task Assignments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published