• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lis-epfl/swarmlab: SmarmLab: a versatile Matlab package for drone swarm simulati ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

lis-epfl/swarmlab

开源软件地址(OpenSource Url):

https://github.com/lis-epfl/swarmlab

开源编程语言(OpenSource Language):

MATLAB 100.0%

开源软件介绍(OpenSource Introduction):

SwarmLab

Logo



SwarmLab is a drone swarm simulator written in Matlab. It aims at:

  1. simulating single drones;
  2. simulating swarms of drones;

This software is designed with versatility and scalability in mind. It allows for fast programming and easy incorporation of various modules designed for drone and drone swarm simulations. It also decreases the coding effort by offering built-in and ready-to-use functionalities. These features make this package suitable to different applications in the area of drones and swarm robotics, including fast algorithm development, training, education, and the automatic collection of simulated data.

scheme of architecture

Requirements

Only Matlab installation is required with the Statistics and Machine Learning Toolbox.

1. Single-drone simulations

Single-drone simulations exploit the architecture proposed by Professors Beard and McLain in Small unmanned aircraft: theory and practice and illustrated below. The focus of these simulations is realism. Their code is available here. Two drone-types are supported: quadcopter and fixed-wing drones.

drone simulation architecture

Graphics

The graphical tools supported for single drone simulations are:

  • 3D drone viewer
  • state variable plotter

drone viewer drone state plotter

Examples

The following examples are provided:

  1. controller
  2. path follower
  3. path manager
  4. path planner

path manager example path planner example

GUI

For ease of use, single-drone simulations can also be run from a dedicated GUI, that allows to change a selection of parameters, e.g. drone type, simulation type, debugging plots, simulation time.

GUI drone

2. Drone-swarm simulations

Drone swarm simulations exploit either the Olfati-Saber or the Vicsek (Vásárhelyi’s version) algorithms. The focus of these simulations is the behaviour of the group of drones, as a result of interactions among individuals. In this case, quadcopter and point-mass (featuring no vehicle dynamics) are supported. The latter can be used when computational time requirements prevail over simulation realism, or when the interest relies in the pure collective behavior, independently on the agents' dyanamics.

Graphics

The graphical tools supported for drone swarm simulations are:

  • run-time 3D swarm viewer
  • run-time state variable plotter
  • offline 3D swarm viewer with wakes
  • offline state variable plotter
  • offline performance analyser

swarm trajectories swarm distances swarm speed swarm performances

Examples

The following examples are provided:

  1. Olfati Saber's swarming algorithm
  2. Vasarhelyi's version swarming algorithm

The following illustrations represent:

  • a swarm of 5 drones with quadcopter dynamics,
  • a swarm of 25 drones with point mass dynamics before and after convergence to the equilibrium configuration.

point mass swarm

quadcopter swarm

GUI

Also drone-swarm simulations can be run from a dedicated GUI. In this case, parameters that can be set are: drone types, simulation time, debug plotting, map plotting, number of agents of the swarm, swarming algorithm, preferred inter-agent distance, preferred orientation, preferred speed. The GUI allows for run-time changes of some parameters, such as the swarm direction.

GUI swarm

Basic usage

To start off with your first drone swarm simulation, open the project folder swarmlab in Matlab (see picture aside). Then, add all folders and subfolders to the current path (select the swarmlab folder → right-click → Add to Path → Selected Folders and Subfolders). You have two ways of running your simulations, either via the provided GUIs or by calling an example script.

  • For the GUI, type GUI_drone or GUI_swarm on the Matlab command view, select the parameters you want and slide to On the Start Simulation button.
  • For running an example, type example_vasarhelyi For editing the example scripts, go to examples → examples_swarm, and open the example_vasarhelyi.m script.

Finally, simply run the script and pay attention to the prompted instructions!

Acknowledgements

Thanks to Victor Delafontaine, Andrea Giordano, and Anthony De Bortoli for their valuable contribution. Thanks to Dario Floreano and Fabrizio Schiano for their wise advice.

Reference

Please, cite us with:

@INPROCEEDINGS{9340854,
  author={Soria, Enrica and Schiano, Fabrizio and Floreano, Dario},
  booktitle={2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, 
  title={SwarmLab: a Matlab Drone Swarm Simulator}, 
  year={2020},
  volume={},
  number={},
  pages={8005-8011},
  doi={10.1109/IROS45743.2020.9340854}}

Licensing

This software is provided under MIT License (MIT). Copyright (c) 2020 Enrica Soria.

Enjoy!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap