This paper presents OpTaS, a task specification Python library for Trajectory Optimization (TO) and Model Predictive Control (MPC) in robotics. Both TO and MPC are increasingly receiving interest in optimal control and in particular handling dynamic environments. While a flurry of software libraries exists to handle such problems, they either provide interfaces that are limited to a specific problem formulation (e.g. TracIK, CHOMP), or are large and statically specify the problem in configuration files (e.g. EXOTica, eTaSL). OpTaS, on the other hand, allows a user to specify custom nonlinear constrained problem formulations in a single Python script allowing the controller parameters to be modified during execution. The library provides interface to several open source and commercial solvers (e.g. IPOPT, SNOPT, KNITRO, SciPy) to facilitate integration with established workflows in robotics. Further benefits of OpTaS are highlighted through a thorough comparison with common libraries. An additional key advantage of OpTaS is the ability to define optimal control tasks in the joint space, task space, or indeed simultaneously. The code for OpTaS is easily installed via pip, and the source code with examples can be found at https://github.com/cmower/optas.
翻译:本文介绍了OpTaS,一个用于机器人轨迹优化(TO)和模型预测控制(MPC)的任务规范Python库。TO和MPC在最优控制领域,特别是在处理动态环境方面,正日益受到关注。尽管存在大量用于处理此类问题的软件库,但它们要么提供仅限于特定问题公式化的接口(例如TracIK、CHOMP),要么是大型库且以配置文件静态指定问题(例如EXOTica、eTaSL)。相比之下,OpTaS允许用户在单个Python脚本中自定义非线性约束问题公式化,从而在执行过程中修改控制器参数。该库提供了与多个开源和商业求解器(例如IPOPT、SNOPT、KNITRO、SciPy)的接口,以促进与机器人学中既有工作流程的集成。通过与常见库的全面比较,进一步突出了OpTaS的优势。OpTaS的另一关键优势是能够在关节空间、任务空间,甚至同时在这两个空间中定义最优控制任务。OpTaS的代码可通过pip轻松安装,包含示例的源代码可在https://github.com/cmower/optas获取。