Skip to content

yangliu28/swarm_robot_ros_sim

Repository files navigation

swarm_robot_ros_sim

A swarm robot simulation environment for ROS to be used with Gazebo.

Motivation

This project starts after investigating several swarm robot platforms like Kilobot, E-puck, Jasmine, Alice, etc, and working on a novel swarm microrobot called Inchbot for a while. It would be interesting to see what these swarm microrobots can do as a collective under simulation environment like ROS. It aims to be a general swarm robots simulation platform.

Current research topic is decentrized formation control.

What's inside

swarm_robot_ros_sim contains packages each of which features a set of functionalities for this simulation platform:

swarm_robot_description package describes the robot models and simulation environment initialization files.

swarm_robot_msgs folder contains packages for customized messages, services and actions that will be used in other packages.

swarm_robot_controller package contains the low level controllers for the swarm robots.

swarm_robot_simulation package contains the swarm algorithms.

Setup

Have ROS Indigo installed and workspace setup. Clone this package in ~/ros_ws/src and build with catkin_make.

Demo

Two wheel robot dispersion simulation:

      roslaunch swarm_robot_description two_wheel_robot.launch robot_quantity:=20 half_range:=0.5

      rosrun swarm_robot_simulation two_wheel_robot_dispersion _spring_length:=0.7 _sensing_range:=2.0

Two wheel robot aggregation simulation:

      roslaunch swarm_robot_description two_wheel_robot.launch robot_quantity:=30 half_range:=2.0

      rosrun swarm_robot_simulation two_wheel_robot_aggregation _sensing_range:=1.5

Two wheel robot line formation simulation:

      roslaunch swarm_robot_description two_wheel_robot.launch robot_quantity:=25 half_range:=0.7

      rosrun swarm_robot_simulation two_wheel_robot_line_formation _spring_length:=0.7 _sensing_range:=2.0

Optionally, in all previous tests, robots can be added or deleted through:

      rosrun swarm_robot_description two_wheel_robot_batch_add _robot_quantity:=10 _half_range:=1.0

      rosservice call /swarm_sim/two_wheel_robot_update (press tab)...

Why not ROS Stage

Contribution

License

See the LICENSE file for license rights and limitations (MIT).

About

A swarm robot simulation environment for ROS to be used with Gazebo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published