PYROBOCOP is a lightweight Python-based package for control and optimization of robotic systems described by nonlinear Differential Algebraic Equations (DAEs). In particular, the package can handle systems with contacts that are described by complementarity constraints and provides a general framework for specifying obstacle avoidance constraints. The package performs direct transcription of the DAEs into a set of nonlinear equations by performing orthogonal collocation on finite elements. The resulting optimization problem belongs to the class of Mathematical Programs with Complementarity Constraints (MPCCs). MPCCs fail to satisfy commonly assumed constraint qualifications and require special handling of the complementarity constraints in order for NonLinear Program (NLP) solvers to solve them effectively. PYROBOCOP provides automatic reformulation of the complementarity constraints that enables NLP solvers to perform optimization of robotic systems. The package is interfaced with ADOLC for obtaining sparse derivatives by automatic differentiation and IPOPT for performing optimization. We demonstrate the effectiveness of our approach in terms of speed and flexibility. We provide several numerical examples for several robotic systems with collision avoidance as well as contact constraints represented using complementarity constraints. We provide comparisons with other open source optimization packages like CasADi and Pyomo .
翻译:PYROBOCOP 是一个用于控制和优化非线性差异代谢式(DAEs)所描述的机器人系统的轻量 Python 的软件包,用于控制和优化非线性差异代谢式(DAE)所描述的机器人系统。特别是,该软件包可以处理具有补充性制约所描述的接触系统的系统,并为具体指明避免障碍的制约因素提供一个总体框架。该软件包通过在有限元素上执行正方位,将DAE直接转录成一套非线性方程式。由此产生的优化问题属于具有互补性制约的数学方案类别(MPCCs)。MPCCs未能满足通常假定的限制性资格,需要特别处理互补性制约,以便非线性方案(NLP)的解答者能够有效地解决这些问题。PYROBOCOP 提供自动重新确定补充性制约,使NLP的解脱钩者能够对机器人系统进行优化。该软件包与ADOLC 接口,通过自动区分获得稀薄衍生物,而IPPOPT 进行优化。我们展示了我们的方法在速度和灵活性方面的有效性。我们为一些具有避免碰撞的机器人系统提供了若干数字实例,例如避免和升级的升级,作为联系来源。我们提供了联系。我们提供了其他联系。