Table of Contents
Fetching ...

Monotone Subsystem Decomposition for Efficient Multi-Objective Robot Design

Andrew Wilhelm, Nils Napp

TL;DR

The paper tackles the NP-hard problem of automated, multi-objective robot component selection from large catalogs. It introduces monotone subsystem decomposition as a CP-based method to efficiently compute the Pareto front by solving smaller, consistent subsystems and reusing their PFs to derive global optimality. The approach demonstrates superior scalability over linear programming in large catalogs (up to $10^{25}$ component combinations) and extends to task-oriented fleet optimization for quadcopters, delivering component-level designs and delivery schedules for each unit. This technique offers practical design guidance, reduced computation time, and reuse of subsystem insights across related design problems, with potential broad impact on cross-domain co-design.

Abstract

Automating design minimizes errors, accelerates the design process, and reduces cost. However, automating robot design is challenging due to recursive constraints, multiple design objectives, and cross-domain design complexity possibly spanning multiple abstraction layers. Here we look at the problem of component selection, a combinatorial optimization problem in which a designer, given a robot model, must select compatible components from an extensive catalog. The goal is to satisfy high-level task specifications while optimally balancing trade-offs between competing design objectives. In this paper, we extend our previous constraint programming approach to multi-objective design problems and propose the novel technique of monotone subsystem decomposition to efficiently compute a Pareto front of solutions for large-scale problems. We prove that subsystems can be optimized for their Pareto fronts and, under certain conditions, these results can be used to determine a globally optimal Pareto front. Furthermore, subsystems serve as an intuitive design abstraction and can be reused across various design problems. Using an example quadcopter design problem, we compare our method to a linear programming approach and demonstrate our method scales better for large catalogs, solving a multi-objective problem of 10^25 component combinations in seconds. We then expand the original problem and solve a task-oriented, multi-objective design problem to build a fleet of quadcopters to deliver packages. We compute a Pareto front of solutions in seconds where each solution contains an optimal component-level design and an optimal package delivery schedule for each quadcopter.

Monotone Subsystem Decomposition for Efficient Multi-Objective Robot Design

TL;DR

The paper tackles the NP-hard problem of automated, multi-objective robot component selection from large catalogs. It introduces monotone subsystem decomposition as a CP-based method to efficiently compute the Pareto front by solving smaller, consistent subsystems and reusing their PFs to derive global optimality. The approach demonstrates superior scalability over linear programming in large catalogs (up to component combinations) and extends to task-oriented fleet optimization for quadcopters, delivering component-level designs and delivery schedules for each unit. This technique offers practical design guidance, reduced computation time, and reuse of subsystem insights across related design problems, with potential broad impact on cross-domain co-design.

Abstract

Automating design minimizes errors, accelerates the design process, and reduces cost. However, automating robot design is challenging due to recursive constraints, multiple design objectives, and cross-domain design complexity possibly spanning multiple abstraction layers. Here we look at the problem of component selection, a combinatorial optimization problem in which a designer, given a robot model, must select compatible components from an extensive catalog. The goal is to satisfy high-level task specifications while optimally balancing trade-offs between competing design objectives. In this paper, we extend our previous constraint programming approach to multi-objective design problems and propose the novel technique of monotone subsystem decomposition to efficiently compute a Pareto front of solutions for large-scale problems. We prove that subsystems can be optimized for their Pareto fronts and, under certain conditions, these results can be used to determine a globally optimal Pareto front. Furthermore, subsystems serve as an intuitive design abstraction and can be reused across various design problems. Using an example quadcopter design problem, we compare our method to a linear programming approach and demonstrate our method scales better for large catalogs, solving a multi-objective problem of 10^25 component combinations in seconds. We then expand the original problem and solve a task-oriented, multi-objective design problem to build a fleet of quadcopters to deliver packages. We compute a Pareto front of solutions in seconds where each solution contains an optimal component-level design and an optimal package delivery schedule for each quadcopter.
Paper Structure (16 sections, 1 equation, 4 figures, 1 table)

This paper contains 16 sections, 1 equation, 4 figures, 1 table.

Figures (4)

  • Figure 1: We use our monotone subsystem decomposition technique to solve a large scale, multi-objective design problem where a fleet of quadcopters must deliver packages. By optimizing subsystems for individual Pareto fronts (PFs) and using these results to optimize the larger system, we can efficiently compute a globally optimal PF of solutions in seconds, where each solution on the PF provides the component-level design for each quadcopter and an individual delivery schedule for the packages that quadcopter has been assigned.
  • Figure 2: A constraint graph for the Motor and ESC subsystems in Sec. \ref{['computational_experiments']}. The voltage regulator (VR), half bridge (HB), microcontroller (MC), motor (M), and propeller (P) components are represented as circles, and constraint and objective functions as squares. An edge connects a variable to a function if that variable has a property in the domain of the function; select edges and their properties have been labeled. A subsystem (blue dashed line) is a subset of component nodes. If fully consistent, the subsystem's PF can be used to optimize the larger system.
  • Figure 3: Comparison of our CP approach versus the linear programming approach. At larger catalog sizes, the CP produces solutions faster than LP, and the multi-objective CP even produces an entire PF faster than the time it takes LP to determine one single-objective solution. Above 30,000 components, the LP application crashes.
  • Figure 4: System diagrams for the quadcopter (a) and quadcopter fleet (b) design problems. The quadcopter contains a motor subsystem, which itself has an ESC subsystem. Several instantiations of the quadcopter serve as subsystems in the quadcopter fleet design problem, where each quadcopter is assigned packages for delivery.