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.
翻译:自动化设计能够最大限度地减少错误、加速设计过程并降低成本。然而,由于递归约束、多设计目标以及可能跨越多个抽象层的跨领域设计复杂性,机器人设计的自动化面临挑战。本文研究组件选择问题,这是一个组合优化问题:设计者在给定机器人模型的情况下,必须从庞大的组件目录中选择兼容的组件。其目标是在满足高层任务规范的同时,最优地平衡相互竞争的设计目标之间的权衡。本文扩展了我们先前针对多目标设计问题的约束规划方法,并提出了单调子系统分解这一新技术,以高效计算大规模问题的帕累托解集。我们证明了子系统可以针对其帕累托前沿进行优化,并且在特定条件下,这些结果可用于确定全局最优的帕累托前沿。此外,子系统作为一种直观的设计抽象,可在不同设计问题中重复使用。通过一个四旋翼飞行器设计示例,我们将所提方法与线性规划方法进行比较,并证明我们的方法在处理大型目录时具有更好的可扩展性,能够在数秒内求解包含10^25种组件组合的多目标问题。随后,我们扩展了原始问题,求解了一个面向任务的多目标设计问题,以构建一个用于包裹投递的四旋翼飞行器编队。我们在数秒内计算出了帕累托解集,其中每个解均包含一个最优的组件级设计以及每架四旋翼飞行器的最优包裹投递调度方案。