979 research outputs found
A Finite-Time Cutting Plane Algorithm for Distributed Mixed Integer Linear Programming
Many problems of interest for cyber-physical network systems can be
formulated as Mixed Integer Linear Programs in which the constraints are
distributed among the agents. In this paper we propose a distributed algorithm
to solve this class of optimization problems in a peer-to-peer network with no
coordinator and with limited computation and communication capabilities. In the
proposed algorithm, at each communication round, agents solve locally a small
LP, generate suitable cutting planes, namely intersection cuts and cost-based
cuts, and communicate a fixed number of active constraints, i.e., a candidate
optimal basis. We prove that, if the cost is integer, the algorithm converges
to the lexicographically minimal optimal solution in a finite number of
communication rounds. Finally, through numerical computations, we analyze the
algorithm convergence as a function of the network size.Comment: 6 pages, 3 figure
Generalized Assignment for Multi-Robot Systems via Distributed Branch-And-Price
In this paper, we consider a network of agents that has to self-assign a set
of tasks while respecting resource constraints. One possible formulation is the
Generalized Assignment Problem, where the goal is to find a maximum payoff
while satisfying capability constraints. We propose a purely distributed
branch-and-price algorithm to solve this problem in a cooperative fashion.
Inspired by classical (centralized) branch-and-price schemes, in the proposed
algorithm each agent locally solves small linear programs, generates columns by
solving simple knapsack problems, and communicates to its neighbors a fixed
number of basic columns. We prove finite-time convergence of the algorithm to
an optimal solution of the problem. Then, we apply the proposed scheme to a
generalized assignment scenario in which a team of robots has to serve a set of
tasks. We implement the proposed algorithm in a ROS testbed and provide
experiments for a team of heterogeneous robots solving the assignment problem
Distributed Submodular Minimization over Networks: a Greedy Column Generation Approach
Submodular optimization is a special class of combinatorial optimization
arising in several machine learning problems, but also in cooperative control
of complex systems. In this paper, we consider agents in an asynchronous,
unreliable and time-varying directed network that aim at cooperatively solving
submodular minimization problems in a fully distributed way. The challenge is
that the (submodular) objective set-function is only partially known by agents,
that is, each one is able to evaluate the function only for subsets including
itself. We propose a distributed algorithm based on a proper linear programming
reformulation of the combinatorial problem. Our algorithm builds on a column
generation approach in which each agent maintains a local candidate basis and
locally generates columns with a suitable greedy inner routine. A key
interesting feature of the proposed algorithm is that the pricing problem,
which involves an exponential number of constraints, is solved by the agents
through a polynomial time greedy algorithm. We prove that the proposed
distributed algorithm converges in finite time to an optimal solution of the
submodular minimization problem and we corroborate the theoretical results by
performing numerical computations on instances of the -- minimum graph
cut problem.Comment: 12 pages, 4 figures, 57th IEEE Conference on Decision and Contro
Multi-Robot Pickup and Delivery via Distributed Resource Allocation
In this article, we consider a large-scale instance of the classical pickup-and-delivery vehicle routing problem that must be solved by a network of mobile cooperating robots. Robots must self-coordinate and self-allocate a set of pickup/delivery tasks while minimizing a given cost figure. This results in a large, challenging mixed-integer linear problem that must be cooperatively solved without a central coordinator. We propose a distributed algorithm based on a primal decomposition approach that provides a feasible solution to the problem in finite time. An interesting feature of the proposed scheme is that each robot computes only its own block of solution, thereby preserving privacy of sensible information. The algorithm also exhibits attractive scalability properties that guarantee solvability of the problem even in large networks. To the best of our knowledge, this is the first attempt to provide a scalable distributed solution to the problem. The algorithm is first tested through Gazebo simulations on a ROS 2 platform, highlighting the effectiveness of the proposed solution. Finally, experiments on a real testbed with a team of ground and aerial robots are provided
A Tutorial on Distributed Optimization for Cooperative Robotics: from Setups and Algorithms to Toolboxes and Research Directions
Several interesting problems in multi-robot systems can be cast in the
framework of distributed optimization. Examples include multi-robot task
allocation, vehicle routing, target protection and surveillance. While the
theoretical analysis of distributed optimization algorithms has received
significant attention, its application to cooperative robotics has not been
investigated in detail. In this paper, we show how notable scenarios in
cooperative robotics can be addressed by suitable distributed optimization
setups. Specifically, after a brief introduction on the widely investigated
consensus optimization (most suited for data analytics) and on the
partition-based setup (matching the graph structure in the optimization), we
focus on two distributed settings modeling several scenarios in cooperative
robotics, i.e., the so-called constraint-coupled and aggregative optimization
frameworks. For each one, we consider use-case applications, and we discuss
tailored distributed algorithms with their convergence properties. Then, we
revise state-of-the-art toolboxes allowing for the implementation of
distributed schemes on real networks of robots without central coordinators.
For each use case, we discuss their implementation in these toolboxes and
provide simulations and real experiments on networks of heterogeneous robots
CrazyChoir: Flying Swarms of Crazyflie Quadrotors in ROS 2
This paper introduces CrazyChoir, a modular Python framework based on the
Robot Operating System (ROS) 2. The toolbox provides a comprehensive set of
functionalities to simulate and run experiments on teams of cooperating
Crazyflie nano-quadrotors. Specifically, it allows users to perform realistic
simulations over robotic simulators as, e.g., Webots and includes bindings of
the firmware control and planning functions. The toolbox also provides
libraries to perform radio communication with Crazyflie directly inside ROS 2
scripts. The package can be thus used to design, implement and test planning
strategies and control schemes for a Crazyflie nano-quadrotor. Moreover, the
modular structure of CrazyChoir allows users to easily implement online
distributed optimization and control schemes over multiple quadrotors. The
CrazyChoir package is validated via simulations and experiments on a swarm of
Crazyflies for formation control, pickup-and-delivery vehicle routing and
trajectory tracking tasks. CrazyChoir is available at
https://github.com/OPT4SMART/crazychoir
- …