#control #distributed #multi-agent

bin+lib distributed_control

Create, analyze and simulate multi-agent, distributed control systems

7 releases

new 0.3.3 Feb 16, 2024
0.3.2 Feb 16, 2024
0.2.0 Feb 7, 2024
0.1.1 Feb 2, 2024

#110 in Robotics

Download history 54/week @ 2024-01-30 31/week @ 2024-02-06 502/week @ 2024-02-13

587 downloads per month


574 lines


Model, analyze and simulate multi-agent, distributed dynamic systems.


A multi-agent system is one where there is more than one "agent" interacting with the environment. While an agent often is a distinct entity, e.g., autonomous vehicle, robot, etc., an agent may also be any portion of a system, e.g., a sensor in a sensor network. A distributed system is one in which each agent only receives communication (either direct data transfer via, e.g., bluetooth, or sensing via, e.g., LIDAR) from a subset of the other agents, usually modeled by a communication graph.

The dynamics of the agents in a distributed multi-agent system can be either homogeneous, in which case each agent has identical dynamics, or heterogeneous. Heterogeneous systems can either have dynamics of equal dimension (both state and input dimensions), where the dynamics differ, but the state and inputs of each system are the same (including the same "meaning" assigned to each state or input entry) or can have dynamics that differ in state and input dimensions as well.

This library focuses on linear, time-invariant (LTI) dynamics, although it provides the tools to extend beyond this, including to non-linear and time-varying dynamics.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Any contributions via the submission of pull requests, filing issues, or other methods are welcome and encouraged!


~845K SLoC