All Projects → SMARTlab-Purdue → robotarium-rendezvous-RSSDOA

SMARTlab-Purdue / robotarium-rendezvous-RSSDOA

Licence: MIT license
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.

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to robotarium-rendezvous-RSSDOA

memorize
Code and real data for "Enhancing Human Learning via Spaced Repetition Optimization", PNAS 2019
Stars: ✭ 155 (+342.86%)
Mutual labels:  control
Fruit-API
A Universal Deep Reinforcement Learning Framework
Stars: ✭ 61 (+74.29%)
Mutual labels:  multi-agent
DcRat
A simple remote tool in C#.
Stars: ✭ 709 (+1925.71%)
Mutual labels:  control
react-native-segment-control
Swipeable SegmentedControl component for React Native apps
Stars: ✭ 21 (-40%)
Mutual labels:  control
JuliaAutonomy
Julia sample codes for Autonomy, Robotics and Self-Driving Algorithms.
Stars: ✭ 21 (-40%)
Mutual labels:  control
vpc-peering-operator
A Kubernetes Operator to manage the lifecycle of AWS VPC Peering Connections
Stars: ✭ 23 (-34.29%)
Mutual labels:  controller
DialogHost.Avalonia
AvaloniaUI control that provides a simple way to display a dialog with information or prompt the user when information is needed
Stars: ✭ 92 (+162.86%)
Mutual labels:  control
SAMD TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an SAMD-based board. These SAMD Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you …
Stars: ✭ 28 (-20%)
Mutual labels:  control
sixi
Sixi Robot Arm
Stars: ✭ 23 (-34.29%)
Mutual labels:  robots
RS232-Monitor-Database
🔌📺 This is a public database for all the known RS232 commands for professionnal screens, monitors and projectors. Feel free to contribute !
Stars: ✭ 22 (-37.14%)
Mutual labels:  control
multi uav simulator
A quadrotor swarm simulator based on ROS (Robot Operating System).
Stars: ✭ 73 (+108.57%)
Mutual labels:  control
go-cita
A Go implementation of CITA. https://docs.nervos.org/cita
Stars: ✭ 25 (-28.57%)
Mutual labels:  consensus
file-input-accessor
Angular directive that provides file input functionality in Angular forms.
Stars: ✭ 32 (-8.57%)
Mutual labels:  control
CtrlUI
CtrlUI (Controller User Interface) is a Windows application, game and emulator launcher for your game controller, DirectXInput converts your game controller to a Xbox (XInput) controller, Fps Overlayer is a tool that shows the frames per second and the cpu, gpu and memory information.
Stars: ✭ 39 (+11.43%)
Mutual labels:  controller
joyconpi
An attempt at emulating a Nintendo Switch Joy-Con controller with a Raspberry Pi
Stars: ✭ 24 (-31.43%)
Mutual labels:  controller
rancher-cloud-controller-manager
A kubernetes cloud-controller-manager for the rancher cloud
Stars: ✭ 44 (+25.71%)
Mutual labels:  controller
WellBehavedFX
Composable event handlers and skin scaffolding for JavaFX controls.
Stars: ✭ 52 (+48.57%)
Mutual labels:  controller
stick
Platform-agnostic asynchronous gamepad, joystick and flightstick library for the Rust Programming Language
Stars: ✭ 41 (+17.14%)
Mutual labels:  controller
kerntroller
No description or website provided.
Stars: ✭ 31 (-11.43%)
Mutual labels:  controller
abb-yumi
This project aims to control abb yumi(irb14400) robot using ros control interface so that you can send joint trajectory command to robot. Also we implemented a cartesian velocity controller using KDL library.
Stars: ✭ 21 (-40%)
Mutual labels:  control

Multi-Robot Consensus based Rendezvous in Robotarium

This repository contains the Matlab source codes (to use in Robotarium platform) of various rendezvous controllers from the state-of-the-art of consensus control in a multi-agent / multi-robot system. In addition, we propose a consensus controller using wireless netowrk measurements which uses the Received Signal Strength (RSS) measurements and the Direction of Arrival (DOA) of wireless signals estimated using the RSS measurements.

Robotarium is a remotely accessible multi-robot experiment testbed provided by the Georgia Tech. https://www.robotarium.gatech.edu/

Installation instructions

  1. Install the Robotarium simulator available from this repository: https://github.com/robotarium/robotarium-matlab-simulator
  2. Download the current repository anywhere on your computer using the command "git clone https://github.com/SMARTlab-Purdue/robotarium-rendezvous-RSSDOA.git"

Usage instructions

  1. 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.
  2. Navigate to the current repository (robotarium-rendezvous-RSSDOA) folder
  3. Add to path (Include) the 'algorithms' and 'includes' directories into your Matlab path.
  4. Use the rendezvous_experiments_Robotarium_main.m file and choose your desired rendezvous algorithm (12 options currently available) along with experiment parameters and run this main file.
  5. Choose respective consensus control functions file in the "algorithms" folder to change/modify/update the algorithm.

Included Algorithm functions

We have implemented the following consensus control algorithms.

Coordinates based consensus (Rendezvous) algorithms - using relative position measurements

  • coordinates_based_rendezvous: (Baseline) It relies on the full coordinates (relative positions) of neighbor robots. This is the standard rendezvous algorithm. See https://www.robotarium.gatech.edu/examples/rendezvous for more information on this algorithm.

  • coordinates_based_connectivity_preserving_rendezvous: It is similar to the above but uses weights (artificial potential fields)

  • coordinates_based_rendezvous_circumcenter: It relies on the circumcenter of all coordinates (relative positions) of neighbor robots

State-of-the-art Bearing-only consensus algorithms

  • bearing_only_rendezvous_using_all_bearings: It uses bearing measurements of all neighbor robots from each robot

  • bearing_only_rendezvous_using_min_and_max_bearings: It uses only the min and max bearings of neighbors from each robot

  • bearing_only_rendezvous_using_enclosing_circles: It uses bearing measurmeents and enclosing circles algorithm

State-of-the-art consensus controllers using both Range and Bearings

  • weighted_bearing_consensus_using_Range_and_Bearings: It uses both range and bearing measurements from any sensors as control inputs

Other (possible) consensus controllers from the state-of-the-art : using both coordinates and bearings based controllers

  • bearing_only_rendezvous_using_average_bearing: It uses mean of neighbor bearings from each robot

  • coordinates_based_rendezvous_with_mean_velocity: It uses mean of all neighbor directions

  • coordinates_based_rendezvous_with_max_velocity: It uses the coordinate of farthest neighbor

  • coordinates_based_rendezvous_with_min_velocity: It uses the coordinate of the nearest neighbor

Weighted Bearings Controller - consensus control using RSS and DOA of wireless signals

  • weighted_bearing_consensus_using_RSS_and_DOA: The relative bearings (DOA of wireless signals) of the neighbor robots are used to control the robot's position and direction, whereas the RSS is used to weight each neighbor's impact on the distributed consensus controller.

Included utility functions

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.

Third party utility functions

Citation

If you find this work useful, please cite the below paper.

Parasuraman, R. and Min, B.C., 2019. Consensus control of distributed robots using direction of arrival of wireless signals. In Distributed Autonomous Robotic Systems (pp. 17-34). Springer, Cham.

Paper link: https://link.springer.com/chapter/10.1007/978-3-030-05816-6_2 Preprint link: http://www.smart-laboratory.org/publications/ParasuramanDARS2018.pdf

Contact

For any queries, issues, and questions with the code, please contact Ramviyas Parasuraman (ramviyas at uga dot edu).

Contributors

Ramviyas Parasuraman (ramviyas at uga dot edu): http://cobweb.cs.uga.edu/~ramviyas/

Byung-Cheol Min (minb at purdue dot edu): http://web.ics.purdue.edu/~minb/

SMART Lab - Purdue University: http://www.smart-laboratory.org/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].