Skip to content

Swarm control

Devitt Dmitry edited this page Jul 5, 2018 · 6 revisions

Configuration:

Companion computer: RPI2 / RPI3 / Odroid XU4
Lidar: rplidar a2
Autopilot*: Pixhawk (Px4) / Ardupilot
            GPS module

*- Autopilot - used only for navigation and IMU through mavros module, PWM control implemented directly through GPIO.

How it works?

There are several ways to control a group of robots on ROS. The easiest is to use MultipleMachines.
However, I wanted to make the independent system which would allow to control outside the ROS.
Fortunately, there is a RosBridge:

Rosbridge provides a JSON API to ROS functionality for non-ROS programs. There are a variety of front ends that interface with rosbridge, including a WebSocket server for web browsers to interact with. Rosbridge_suite is a meta-package containing rosbridge, various front end packages for rosbridge like a WebSocket package, and helper packages

I've written a small Python library that makes it easy to work with RosBridge on the client.


Interaction with the server is shown in the diagram.

Diagramm

Install

  1. The first thing you should do is install python library: rospy_websocker_client