Composing Controllers for Team Coherence Maintenance with Collision Avoidance
AuthorKimmel, Andrew Stefan
AdvisorBekris, Kostas E.
Computer Science and Engineering
StatisticsView Usage Statistics
Many multi-agent applications may involve a notion of spatial coherence. For instance, simulations of virtual agents often need to model a coherent group or crowd. Alternatively, robots may prefer to stay within a pre-specified communication range. This work proposes an extension of a decentralized, reactive collision avoidance framework, which defines obstacles in the velocity space, known as Velocity Obstacles (VOs), for coherent groups of agents. The extension, referred to in this work as a Loss of Communication Obstacle (LOCO), aims to maintain proximity among agents by imposing constraints in the velocity space and restricting the set of feasible controls. If the introduction of LOCOs results in a problem that is too restrictive, then the proximity constraints are relaxed in order to maintain collision avoidance. A weighted velocity selection scheme is utilized in order to steer agents towards their goals, as well as agents which are farther away and thus might be violating proximity constraints. The approach is fast and integrates nicely with the Velocity Obstacle framework. It is shown to yield improved coherence for groups of robots connected through an input constraint graph, while moving with constant velocity. The approach is evaluated for collisions, computational cost and proximity constraint maintenance through a series of simulated environments, which have single and multiple team variations. The experiments show that improved coherence is achieved while maintaining collision avoidance, at a small computational cost and path quality degradation. In order to experimentally validate new algorithms, such as the loco approach, having a software infrastructure capable of running a plethora of algorithms on many agents is needed. When moving from virtual agents to robotic systems, these algorithms take the form of a controller. Composing various controllers together to create a diverse testbed environment is also essential for the development process of new algorithms. Thus, this work additionally describes a software infrastructure for developing controllers and planners for robotic systems, referred to here as PRACSYS. At the core of the software is the abstraction of a dynamical system, which, given a control, propagates its state forward in time. The platform simplifies the development of new controllers and planners and provides an extensible framework that allows complex interactions between one or many controllers, as well as motion planners. For instance, it is possible to compose many control layers over a physical system, to define multi-agent controllers that operate over many systems, to easily switch between different underlying controllers, and plan over controllers to achieve feedback-based planning. Such capabilities are especially useful for the control of hybrid and cyber-physical systems, which are important in many applications. The software is complementary and builds on top of many existing open-source contributions. It allows the use of different libraries as plugins for various modules, such as collision checking, physics-based simulation, visualization, and planning. This work describes the overall architecture, explains important features and provides use-cases that evaluate aspects of the infrastructure.