Go to file
Vivek Shankar Varadharajan 5e9b6df1ad Code clean and readme file commit 2016-10-08 18:09:32 -04:00
src Code clean and readme file commit 2016-10-08 18:09:32 -04:00
CMakeLists.txt Code clean and readme file commit 2016-10-08 18:09:32 -04:00
package.xml Code clean and readme file commit 2016-10-08 18:09:32 -04:00
readme.md Code clean and readme file commit 2016-10-08 18:09:32 -04:00

readme.md

						ROS Implemenation of Buzz
						=========================

What is Buzz?

Buzz is a novel programming language for heterogeneous robots swarms.

Buzz advocates a compositional approach, by offering primitives to define swarm behaviors both in a bottom-up and in a top-down fashion.

Bottom-up primitives include robot-wise commands and manipulation of neighborhood data through mapping/reducing/filtering operations.

Top-down primitives allow for the dynamic management of robot teams, and for sharing information globally across the swarm.

Self-organization results from the fact that the Buzz run-time platform is purely distributed.

The language can be extended to add new primitives (thus supporting heterogeneous robot swarms) and can be laid on top of other frameworks, such as ROS.

More information is available at http://the.swarming.buzz/wiki/doku.php?id=start.

Downloading ROS Package

$ git clone

Requirements

You need the following package:

  • mavros_msgs : You can install using apt-get:

    $ sudo apt-get install ros-"distro"-mavros ros-"distro"-mavros-extras

Compilation

To compile the ros package, execute the following:

$ cd catkin_ws
$ catkin_make
$ source devel/setup.bash

Run

$ rosrun rosbuzz rosbuzz_node

Publisher

  • Messages from Buzz (BVM): The package publishes mavros_msgs/Mavlink message with a topic name of "outMavlink".

Subscribers

  • Current position of the Robot: The package subscribes' to sensor_msgs/NavSatFix message with a topic name of "current_pos".

  • Messages to Buzz (BVM): The package subscribes' to mavros_msgs/Mavlink message with a topic name of "inMavlink".

  • Battery status: The package subscribes' to mavros_msgs/BatteryStatus message with a topic name of "battery_state".

Service

  • Remote Controller command: The package offers service using mavros_msgs/CommandInt service with name "djicmd_rc".

Client

  • Flight controller client: This package is a client of mavros_msgs/CommandInt service with name "djicmd".