UI Setup

A project log for Drone Swarm Control Algorithms

I want to look at control methods for swarms that can be adapted to problems in the real world.

Gene FoxwellGene Foxwell 05/05/2016 at 11:340 Comments

Do to only having about half an hour each day thus far to work on this project, I've been a bit slow in the initial setup. In order that I can have an easy way to visualize what the system is doing -and- so I can test using the proposed interface I decided to build the basic UI first.

I won't lie, as anyone can see from the image this is a pretty bare bones interface. A user will set goals for the "swarm" by selecting the appropriate goal and clicking on the canvas. The swarm will then be responsible for adapting and completing the goal.

As can be seen from the image, I am planning on testing the system with four types of "Goals".

  1. Collect: The Swarm needs to go to this goal and "pick up" whatever object is there. This could correspond to a real life drone / robot having to move to specific place in an assembly line and retrieve some object.
  2. Deposit: The Swarm needs to have those individuals that are part of it deposit some widget at this location. Notice that this goal has a pre-requisite, to complete it at least one member of the swarm must have picked up an object.
  3. Tag: We want at least one individual from the Swarm to come near this goal so it can be tagged. This could be useful for security patrol systems that need to check in on specific locations periodically. Tags will degrade over time, so the swarm will need to learn to "re-tag" this goal.
  4. Map: Swarm needs to collect images from this location to be added to a global "map" at some central server. A mapped area need only be mapped once. Such a task would be useful for survey missions where the user would want the swarm to quickly survey an area.

My next task in this project is to integrate and display the simulated drones themselves. Note that these will be highly abstracted as I am not looking to study the physics of these situations, but am looking for bio-inspired algorithms that facilitate co-operation among the units to solve these tasks.