Mostrando entradas con la etiqueta behavior-based architecture. Mostrar todas las entradas
Mostrando entradas con la etiqueta behavior-based architecture. Mostrar todas las entradas

domingo, 4 de noviembre de 2018

Monitoring traffic in future cities with aerial swarms: developing and optimizing a behavior-based surveillance algorithm

SwarmCity Project has its first journal publication!



Traffic monitoring is a key issue to develop smarter and more sustainable cities in the future, allowing to make a better use of the public space and reducing pollution. This work presents an aerial swarm that continuously monitors traffic in SwarmCity, a simulated city developed in Unity game engine where drones and cars are modeled in a realistic way. The control algorithm of the aerial swarm is based on six behaviors with twenty-three parameters that must be tuned. The optimization of parameters is carried out with a genetic algorithm in a simplified and faster simulator. The best resulting configurations are tested in SwarmCity showing good efficiencies in terms of observed cars over total cars during time windows. The algorithm reaches a good performance making use of an acceptable computational time for the optimization.


P. Garcia-Aunon, J.J. Roldán and A. Barrientos. “Monitoring traffic in future cities with aerial swarms: developing and optimizing a behavior-based surveillance algorithm”. Cognitive Systems Research, 2018. Article

lunes, 23 de julio de 2018

SwarmCity: control and monitoring of cities with aerial swarms

Our student Diego Soto Martín has presented his MSc thesis "SwarmCity: control y monitorización de ciudades con enjambres aéreos" ("SwarmCity: control and monitoring of cities with aerial swarms").

During this academic year, he has worked to provide functionalities to the swarm. Specifically, he has developed a behavior-based architecture using IB2C library that allows the drones to perform multiple tasks. Among these tasks, we can find go to points, avoid obstacles, detect and follow cars and people, search the gradients of temperature and pollution, and fly in formation. Some videos are shown below...

Go to point and avoid obstacles:


Follow a car:



Follow a gradient of pollution:

jueves, 19 de julio de 2018

Algorithms for resource collection through ground robot swarms

Our student Fernando Cipriano Díaz has presented his BSc thesis "Algoritmos de recolección de recursos mediante enjambres de robots terrestres" ("Algorithms for resource collection through ground robot swarms").

This work has explored some of the key points of SwarmCity project, but developing and applying them in a foraging scenario with a ground swarm. Specifically, fourteen strategies have been developed to lead the robots to collect the resources, taking into account behaviors such as random move, come back to resources, area coverage, manage energy... These strategies have been developed as iB2C networks and implemented in Python with py-iB2C library.


The developed strategies have been integrated in ROS and tested in ARGoS, which is one of the most common simulators for multi-agent systems and robot swarms. This simulator has been used to evaluate the strategies with multiple fleets (from 5 to 25 robots) and resources (random, clustered and combined distribution). The results allow to compare the strategies in terms of resources collected in a certain time and time required to collect all the resources.


This work has familiarized us with behavior-based architectures, as well as has shown their potential in a widely-used testbed. We will work in the following months to transfer the results of the work to SwarmCity.

lunes, 12 de febrero de 2018

PyiB2C: The python implementation of iB2C

Py-iB2C has been released!

This is the Python implementation of iB2C (integrated Behavior-Based Control) developed by Pablo García Auñón. This architecture can be used to develop and execute behavioral networks to control intelligent agents. The Python library allows to easily create behaviors, implement them in networks and execute them in simulators.

The main functionalities are listed below:
  • Create new behaviors from scratch, implementing the transfer, activity and rating functions.
  • Create networks using the already implemented behaviors or new ones.
  • Save specific behaviors and reuse them in another network.
  • Save networks and use them as behavior modules.