This repository contains the Matlab source codes (to use in Robotarium platform) of various rendezvous controllers for consensus control in a multi-agent / multi-robot system. We also proposed a new weighted bearing controller using wireless network measurements such as the Received Signal Strength (RSS) and the Direction of Arrival (DOA) of the RSS.
Robotarium is a remotely accessible multi-robot experiment testbed provided by the Georgia Tech. https://www.robotarium.gatech.edu/
- Install the Robotarium simulator available from this repository: https://github.com/robotarium/robotarium-matlab-simulator
- Download the current repository anywhere on your computer using the command "git clone https://github.com/SMARTlab-Purdue/robotarium-rendezvous-RSSDOA.git"
- First navigate to the Robotarium folder where your downloaded the Robotarium source codes. And Run the "init.m" file to initialize the Matlab workspace and include necessary paths.
- Navigate to the current repository (robotarium-rendezvous-RSSDOA) folder
- Add to path (Include) the 'algorithms' and 'includes' directories into your Matlab path.
- Use the rendezvous_experiments_Robotarium_main.m file and choose your desired rendezvous algorithm (8 options currently available) along with experiment parameters and run this main file.
- Choose respective consensus control functions file in the "algorithms" folder to change/modify/update the algorithm.
We have provided the following utility functions to use it in the experiments. They can also be used as a standalone function.
- GetConnectedGraph: This functions provides a connected graph given the coordinates of the agents and a common sensing range.
- initialize_robot_positions: This function repositions the randomly positioned robots in the Robotarium simulator to the initial positions supplied as input to the function.
- minboundsemicircle: This is a third-party function available in Mathworks File Exchange provided by John D'Errico as "A suite of minimal bounding objects" (v1.2). It provides a smallest enclosing circle given a set of points. https://www.mathworks.com/matlabcentral/fileexchange/34767-a-suite-of-minimal-bounding-objects?focused=3820668&tab=function
For more information on the proposed and the state-of-the-art controllers, please visit this video demonstration in YouTube: https://youtu.be/PzFVuA4wIP8.
For any queries, issues, and questions with the code, please contact the developers Ramviyas Parasuraman (ramviyas@purdue.edu) and Prof.Byung-Cheol Min (minb@purdue.edu).
Ramviyas Parasuraamn: http://web.ics.purdue.edu/~rnattanm/ Github: https://github.com/ramviyas
Byung-Cheol Min: http://web.ics.purdue.edu/~minb/
SMART Lab - Purdue University: http://www.smart-laboratory.org/