Coder Social home page Coder Social logo

yxiao1996 / swarmsim Goto Github PK

View Code? Open in Web Editor NEW
113.0 2.0 31.0 32.22 MB

Multi-robot control simulation environmrnt build on top on Mobile Robotics Simulation Toolbox, implemented 1)some algorithm for formation control 2)mapping, localization and SLAM based on Kalman filter..

License: BSD 2-Clause "Simplified" License

MATLAB 9.65% HTML 90.35%
swarm-robotics robotics-simulation slam formation-control

swarmsim's Introduction

My Multi-Robot Simulation Environment

  • ME740 Intelligent Mechanics Course Project

This environment will implment three kinds of multi-robot control strategies on two kinds of dynamics. Control strategy: virtual structure, behavior-based control, leader-follower control. Dynamics: differential drive dynamics, omni-directional dynamics.

TODO:

1.add formation to behavior=-based control; 2.try reinforcement learning on bahavior-based model;

Introduction

There are wo theoretical views on the control of multiple robot systems: centralized systems and decentralized systems.

In a centralized system, a central unit is responsible for making decision for indivisuals and monitoring the accomplishment of the missoin. Communication only happen between central unit and indibisual, not between individuals.

In a decentralized system, indivisuals can communicate with each other and share information. Each indiviual is responsible for a portion of the global mission.

Virtual structure[2] is an exmample of control strategy for a centralized system, where a central unit is controling the motion of all robots in the system.

Behavior-based strategy[3] is used for decentralized system. Each robot have an inner finite state machine. The states in the fsm correspond to different motor schemas. During running time, the robot switching among different motor schemas(through switching among states) to accomplish its individual goal.

Leader-follower strategy[4][5] is a hybrid of centralized and decentralized systems. The leader is controlled by central unit, while the followers operate on there own using sensor data.

Information

prerequisite:

  1. All code wrote and tested with Matlab 2018a
  2. Please install the Mobile Robotics Simulation Toolbox from Matlab before running any simulation.
  • MATLAB Libraries already included(huge thanks to authors)
  1. error_ellipse(draw ellipse given mean and covariance)
  2. icp(point set mathcing algorithm)
  3. munkres(hungarian algorithm)

how to run the demos

  • scripts for running the demo simulations can be found in root folder of this repository. Here is a list of all the demos and their corresponding scripts:
  1. Behavior based control: runBehaviorBased.m
  2. Behavior based control for mapping the environment: runBehaiviorBasedMapping.m
  3. Behavior based swarm mapping in a noisy environment with Kalman filter: runBehaviorBasedNoisyMapping.m
  4. Leader-follower control: runLeaderFollower.m
  5. Leader-follower control with noisy and Kalman filter: runLeaderFollowerNoisy.m
  6. Virtual structure control: runVirtualStructure.m
  7. Extended Kalman filter localization: runEKFLocalization.m
  8. Extended Kalman filter SLAM: runEKFSLAM.m
  • To run these scripts, open and run with MATLAB. Don't forget to include the repository in MATLAB search path.

Reference:

  1. Mobile Robotics Simulation Toolbox: https://www.mathworks.com/matlabcentral/fileexchange/66586-mobile-robotics-simulation-toolbox
  2. M. Anthony Lewis, Kar-Han Tan. High Precision Formation Control of Mobile Robots Using Virtual Structures. Autonomous Robots, 1997.
  3. Tucker Balch, Ronald C. Arkin. Behavior-Based Formation Control for Multirobot Teams. IEEE Transactions on Robotics and Automation, 1998.
  4. Luca Cosolini, Fabio Morbidi, Domenico Prattichizzo, Mario Tosques. Leader-follower formation control of nonholonomic mobile robots with input constraints.
  5. Jaydev P. Desai, James P. Ostrowski, Vijay Kumar. Modeling and Control of Formations of Nonholonomic Mobile Robot. IEEE Transactions on Robotics and Automation, 2001.

DEMOs

1.virtial-structure control with 3 differential drive robots

2.virtial-structure control with 6 omni-directional drive robots

3.behavior-based control with 3 differential drive robots(state machine)

4.behavior-based control with 5 differential drive robots(motor schemas blend)

5.leader-follower control in V-shape with 3 differential drive robots

6.leader-follower control in Diamond-shape with 3 differential drive robots

7.behavior-based mapping with three differential robots

8.behavior-based mapping with Gaussian noise added to odometry and robot detectors.

9.behavior-based mapping with Gaussain noise added on odometry. Vanilla Kalman filter is implemented to estimate the real pose from noisy odometry data.

10.localization using extended Kalman filter with correspondences of landmarks

11.left: Leader-follower formation with additive Gaussian noise. right: Leader-follower with additive Gaussian noise,estimating individual pose using Kalman filter.

12EKF SLAM: simutaniously localization and mapping based on extended Kalman filter.

swarmsim's People

Contributors

yxiao1996 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

swarmsim's Issues

Unrecognized function or variable MapGenerate

Hi,

Thank you for your code.
I try to run the file runLeaderFollower.m on Windows 11, Matlab R2023b and Mobile Robotics Simulation Toolbox v2.2.

However, the following error occurred:

Unrecognized function or variable 'MapGenerate'

Error in runLeaderFollower (line 10)
map_gen = MapGenerate(size,size,space,resolution);

I am new to matlab, where can I find details of MapGenerate?
Thanks

No binaryOccupancyMap

when run runBehaviorBased.m,it show error runBehaviorBased (line 16)
map = binaryOccupancyMap(p,resolution);
i guess it miss binaryOccupancyMap function

Issue with attachLidarSensor in World.m

Hi, there seems to be an issue in like 37 of the world.m file. Apparently, attachLidarSensor shouldn't have input argument 'i'. I'm wondering if this is with the most recent version of Mobile Robotics Simulation Toobox.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.