# PYROBOCOP : Python-based Robotic Control & Optimization Package for Manipulation and Collision Avoidance

arXiv: https://arxiv.org/abs/2106.03220 · HTML: https://mlsanity.com/paper/2106.03220/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- Builds on 16 of its 62 references that are in the map.
- First posted on arXiv 6 Jun 2021.

## Builds on (most cited first, 16 of 16)

- [Convex optimization](https://mlsanity.com/paper/2106.01946/) (2021)
- [TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems](https://mlsanity.com/paper/1603.04467/) (2016)
- [Tactile-RL for Insertion: Generalization to Objects of Unknown Geometry](https://mlsanity.com/paper/2104.01167/) (2021)
- [Crocoddyl: An Efficient and Versatile Framework for Multi-Contact Optimal Control](https://mlsanity.com/paper/1909.04947/) (2019)
- [Trajectory Optimization for Manipulation of Deformable Objects: Assembly of Belt Drive Units](https://mlsanity.com/paper/2106.00898/) (2021)
- [A Data-Efficient Approach to Precise and Controlled Pushing](https://mlsanity.com/paper/1807.09904/) (2018)
- [Robots Assembling Machines: Learning from the World Robot Summit 2018 Assembly Challenge](https://mlsanity.com/paper/1911.05884/) (2019)
- [Stabilization of Complementarity Systems via Contact-Aware Controllers](https://mlsanity.com/paper/2008.02104/) (2020)
- [Semiparametrical Gaussian Processes Learning of Forward Dynamical Models for Navigating in a Circular Maze](https://mlsanity.com/paper/1809.04993/) (2018)
- [Contact-Implicit Trajectory Optimization using Orthogonal Collocation](https://mlsanity.com/paper/1809.06436/) (2018)
- [Reactive Planar Manipulation with Convex Hybrid MPC](https://mlsanity.com/paper/1710.05724/) (2017)
- [CAZSL: Zero-Shot Regression for Pushing Models by Generalizing Through Context](https://mlsanity.com/paper/2003.11696/) (2020)
- [Local Policy Optimization for Trajectory-Centric Reinforcement Learning](https://mlsanity.com/paper/2001.08092/) (2020)
- [Hybrid Differential Dynamic Programming for Planar Manipulation Primitives](https://mlsanity.com/paper/1911.00175/) (2019)
- [A Nonlinear Model Predictive Control Scheme for Cooperative Manipulation with Singularity and Collision Avoidance](https://mlsanity.com/paper/1705.01426/) (2017)
- [Robust Decentralized Navigation of Multi-Agent Systems with Collision Avoidance and Connectivity Maintenance Using Model Predictive Controllers](https://mlsanity.com/paper/1804.09039/) (2018)

## Built on by (most cited first, 6 of 6)

- [Robust Pivoting: Exploiting Frictional Stability Using Bilevel Optimization](https://mlsanity.com/paper/2203.11412/) (2022)
- [Simultaneous Contact-Rich Grasping and Locomotion via Distributed Optimization Enabling Free-Climbing for Multi-Limbed Robots](https://mlsanity.com/paper/2207.01418/) (2022)
- [Chance-Constrained Optimization in Contact-Rich Systems for Robust Manipulation](https://mlsanity.com/paper/2203.02616/) (2022)
- [Robust Pivoting Manipulation using Contact Implicit Bilevel Optimization](https://mlsanity.com/paper/2303.08965/) (2023)
- [Constrained Dynamic Movement Primitives for Safe Learning of Motor Skills](https://mlsanity.com/paper/2209.14461/) (2022)
- [Learning robot motor skills with mixed reality](https://mlsanity.com/paper/2203.11324/) (2022)

## Abstract (arXiv)

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 .
