The Tracking Lab has a Motion Capturing System (MoCap) from VICON that allows to retrieve position and orientation of rigid bodies with high precision. We employ this MoCap system to track several quadrotor UAVs (unmanned aerial vehicles) at the same time. In fact the large space (about 10x10x4 meters) allows to fly several quadrotors at once and therefore to study the control of multiple robot systems.
A major problem when dealing with multiple robots is to ensure decentralization of the controlling algorithms, since in this way we ensure a fail-safe behavior and and an upper limit on the amount of needed computational resources.
Decentralization implies that every robot only relies on its own perception and the data transmitted from its "neighbors" (robots that are in close proximity, i.e., with which the robot can communicate using "one hop"). Several decentralized algorithm are usually run in parallel by our multiple robot system. For example decentralized motion control algorithms often need that a decentralized estimation algorithm computes an estimate of some global properties which can in turn result useful also to make decisions with a high-level decentralized planning strategy.
For the control of the UAVs, we use the software "TeleKyb" that was developed in our group. It completely integrated with "ROS" (Robot Operating System, more information on www.ros.org) as a communication layer. TeleKyb ensures safety on different levels. For example it uses so called behaviors that generalize what state a robot is in and allows only correct behavior switches. An abstraction of different input devices (haptic device, joystick, joypad) is also offered. In the testing configuration TeleKyb is running on a base station and receives position and orientation data from VICON and merges this information with a desired trajectory given by the control algorithm to output an attitude (roll and pitch values and yaw rate). The attitude is then sent via a wireless serial connection to the microcontroller where it is merged with the IMU (inertial measurement unit consisting of 3 gyroscopes and 3 accelerometers, each in x, y, and z direction) data to determine spinning velocities for the single rotors that are sent to the four brushless controllers, one for each motor. In these, the velocities are translated in real motor commands to regulate the motors.
To achieve decentralization, we need our UAVs to have a running instance of the control algorithm on each robot. Therefore every quadrotor has an attached mini-PC to autonomously make decisions by integrating all the sensed and received data. In this "onboard" configuration TeleKyb is running on the mini-PC and receives the VICON and joystick input data via wireless LAN. In the future we want to gather the position and orientation information fully on board (by camera, IMU, GPS, ...) in order to replace VICON. Therefore we would be completely independent of a base station what would lead to the desired decentralization. Nonetheless, from a theoretical point of view, the control algorithms developed in our group are already decentralized.