PyRoboCOP: Python-Based Robotic Control and Optimization Package for Manipulation and Collision Avoidance
Contacts are central to most manipulation tasks as they provide additional dexterity to robots to perform challenging tasks. However, frictional contacts leads to complex complementarity constraints. Planning in the presence of contacts requires robust handling of these constraints to find feasible...
Saved in:
| Published in | IEEE transactions on automation science and engineering Vol. 22; pp. 1435 - 1450 |
|---|---|
| Main Authors | , , |
| Format | Journal Article |
| Language | English |
| Published |
IEEE
2024
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 1545-5955 1558-3783 |
| DOI | 10.1109/TASE.2024.3365637 |
Cover
| Abstract | Contacts are central to most manipulation tasks as they provide additional dexterity to robots to perform challenging tasks. However, frictional contacts leads to complex complementarity constraints. Planning in the presence of contacts requires robust handling of these constraints to find feasible solutions. This paper presents PY ROBO COP which is a lightweight Python-based package for control and optimization of robotic systems described by nonlinear Differential Algebraic Equations (DAEs). In particular, the proposed optimization package can handle systems with contacts that are described by complementarity constraints. We also present a general framework for specifying obstacle avoidance constraints using complementarity 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. PY ROBO COP provides automatic reformulation of the complementarity constraints that enables NLP solvers to perform optimization of robotic systems. The package is interfaced with ADOL-C for obtaining sparse derivatives by automatic differentiation and IPOPT for performing optimization. We provide extensive numerical examples for various different 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. The code is open sourced and available at https://github.com/merlresearch/PyRoboCOP . Note to Practitioners-PY ROBO COP is intended to be an easy-to-use software package written in Python which can be used for optimization, estimation and control for a large class of robotic systems. Including, in particular, contact-rich applications to deal with complex scenarios that arise when making and breaking contacts during a task. Typical problems that can be solved with our work are trajectory and control sequence optimization, parameter estimation. To make the proposed software package easier for practitioners, the paper provides access to the package and a large number of example problems. Furthermore, the package also provides a guide describing the details of all the methods a user might have to implement for their own system. Compared to some of the other packages, PY ROBO COP works with NumPy object arrays which is the native computing package in Python. We believe that this will make it much easier to learn and use compared to some of the other optimal control packages. |
|---|---|
| AbstractList | Contacts are central to most manipulation tasks as they provide additional dexterity to robots to perform challenging tasks. However, frictional contacts leads to complex complementarity constraints. Planning in the presence of contacts requires robust handling of these constraints to find feasible solutions. This paper presents PY ROBO COP which is a lightweight Python-based package for control and optimization of robotic systems described by nonlinear Differential Algebraic Equations (DAEs). In particular, the proposed optimization package can handle systems with contacts that are described by complementarity constraints. We also present a general framework for specifying obstacle avoidance constraints using complementarity 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. PY ROBO COP provides automatic reformulation of the complementarity constraints that enables NLP solvers to perform optimization of robotic systems. The package is interfaced with ADOL-C for obtaining sparse derivatives by automatic differentiation and IPOPT for performing optimization. We provide extensive numerical examples for various different 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. The code is open sourced and available at https://github.com/merlresearch/PyRoboCOP . Note to Practitioners-PY ROBO COP is intended to be an easy-to-use software package written in Python which can be used for optimization, estimation and control for a large class of robotic systems. Including, in particular, contact-rich applications to deal with complex scenarios that arise when making and breaking contacts during a task. Typical problems that can be solved with our work are trajectory and control sequence optimization, parameter estimation. To make the proposed software package easier for practitioners, the paper provides access to the package and a large number of example problems. Furthermore, the package also provides a guide describing the details of all the methods a user might have to implement for their own system. Compared to some of the other packages, PY ROBO COP works with NumPy object arrays which is the native computing package in Python. We believe that this will make it much easier to learn and use compared to some of the other optimal control packages. |
| Author | Raghunathan, Arvind U. Romeres, Diego Jha, Devesh K. |
| Author_xml | – sequence: 1 givenname: Arvind U. orcidid: 0000-0003-3173-3875 surname: Raghunathan fullname: Raghunathan, Arvind U. email: raghunathan@merl.com organization: Mitsubishi Electric Research Laboratories (MERL), Cambridge, MA, USA – sequence: 2 givenname: Devesh K. surname: Jha fullname: Jha, Devesh K. email: jha@merl.com organization: Mitsubishi Electric Research Laboratories (MERL), Cambridge, MA, USA – sequence: 3 givenname: Diego orcidid: 0000-0002-8603-2438 surname: Romeres fullname: Romeres, Diego email: romeres@merl.com organization: Mitsubishi Electric Research Laboratories (MERL), Cambridge, MA, USA |
| BookMark | eNp9kMtOwzAQRS1UJNrCByCx8A-k2PGbXYnKQypqBGUdOY4DhtSuEoMUvp6GdoFYsJoZ-57R6EzAyAdvATjHaIYxUpfr-dNilqKUzgjhjBNxBMaYMZkQIclo6ClLmGLsBEy67g3tklKhMXB5_xjKkK3yK5j38TX45Fp3toLDa3QGZsHHNjRQ-wquttFt3JeOLniYa_OuXyysQwsftHfbj2b_MSSz0DSuG6b5Z3CV9saeguNaN509O9QpeL5ZrLO7ZLm6vc_my8SknMekYmVFuZSC1CkuDTOCE4tkRVmpuJWIEVFzymuslMS0xqWiKsUU41KkTKeCTIHY7zVt6LrW1oVx8eey2GrXFBgVg7FiMFYMxoqDsR2J_5Db1m102__LXOwZZ639lacUMYXIN0oqeQ4 |
| CODEN | ITASC7 |
| CitedBy_id | crossref_primary_10_1109_ACCESS_2025_3547537 |
| ContentType | Journal Article |
| DBID | 97E RIA RIE AAYXX CITATION |
| DOI | 10.1109/TASE.2024.3365637 |
| DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005–Present IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering |
| EISSN | 1558-3783 |
| EndPage | 1450 |
| ExternalDocumentID | 10_1109_TASE_2024_3365637 10440590 |
| Genre | orig-research |
| GroupedDBID | -~X 0R~ 29I 4.4 5GY 5VS 6IK 97E AAJGR AARMG AASAJ AAWTH ABAZT ABQJQ ABVLG ACGFO ACGFS ACIWK AENEX AETIX AGQYO AGSQL AHBIQ AIBXA AKJIK AKQYR ALMA_UNASSIGNED_HOLDINGS ATWAV BEFXN BFFAM BGNUA BKEBE BPEOZ CS3 DU5 EBS EJD F5P HZ~ H~9 IFIPE IPLJI JAVBF LAI M43 O9- OCL PQQKQ RIA RIE RNS AAYXX CITATION |
| ID | FETCH-LOGICAL-c266t-d5bd468873f21bc5c763e08d45b96e80537f646f199814f1b94921411b725a273 |
| IEDL.DBID | RIE |
| ISSN | 1545-5955 |
| IngestDate | Thu Apr 24 22:57:32 EDT 2025 Wed Oct 01 03:35:46 EDT 2025 Wed Aug 27 01:52:48 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html https://doi.org/10.15223/policy-029 https://doi.org/10.15223/policy-037 |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c266t-d5bd468873f21bc5c763e08d45b96e80537f646f199814f1b94921411b725a273 |
| ORCID | 0000-0003-3173-3875 0000-0002-8603-2438 |
| PageCount | 16 |
| ParticipantIDs | crossref_primary_10_1109_TASE_2024_3365637 crossref_citationtrail_10_1109_TASE_2024_3365637 ieee_primary_10440590 |
| ProviderPackageCode | CITATION AAYXX |
| PublicationCentury | 2000 |
| PublicationDate | 2024-00-00 |
| PublicationDateYYYYMMDD | 2024-01-01 |
| PublicationDate_xml | – year: 2024 text: 2024-00-00 |
| PublicationDecade | 2020 |
| PublicationTitle | IEEE transactions on automation science and engineering |
| PublicationTitleAbbrev | TASE |
| PublicationYear | 2024 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0024890 |
| Score | 2.365815 |
| Snippet | Contacts are central to most manipulation tasks as they provide additional dexterity to robots to perform challenging tasks. However, frictional contacts leads... |
| SourceID | crossref ieee |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1435 |
| SubjectTerms | Collision avoidance Finite element analysis Optimal control Optimization Optimization methods planning Robots Task analysis Trajectory optimization |
| Title | PyRoboCOP: Python-Based Robotic Control and Optimization Package for Manipulation and Collision Avoidance |
| URI | https://ieeexplore.ieee.org/document/10440590 |
| Volume | 22 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVIEE databaseName: IEEE Electronic Library (IEL) customDbUrl: eissn: 1558-3783 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0024890 issn: 1545-5955 databaseCode: RIE dateStart: 20040101 isFulltext: true titleUrlDefault: https://ieeexplore.ieee.org/ providerName: IEEE |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEA7akx58VnyTgychdR9JdtdbLYoI1UVb6G3JE4q6K9IK-uvNZLe6CIq3ECYQmGRmMpnvG4RObKhZokVKEud7CFUsIiK2hqRKR4Kn0N0cwMnDW349pjcTNmnA6h4LY4zxxWemB0P_l68rNYdUmbvhlAJYchktJymvwVrfxHqpT6hASEBYxljzhRkG2dmo_3DpnoIR7cWxi1-g53nLCbW6qnincrWObhfbqWtJHnvzmeypjx9Mjf_e7wZaa8JL3K_PwyZaMuUWWm2RDm6jaf5-X8lqcJef4_wdqAPIhXNlGsOsW4YHdfU6FqXGd86iPDdQTZwL9ejMD3ZxLh6Kcrpo_eUlIQPhceq4_1ZNNRymLhpfXY4G16RpuECU89MzopnUlDuzE9solIopZ3xMkGrKZMZNCtQvllNuAZcXUhvKjGZRSMNQJhETLhDaQZ2yKs0uwu5mU80FD4y1VIgkS5k1lFmZAJY3tnsoWGigUA0bOTTFeCr8qyTIClBaAUorGqXtodOvJS81Fcdfwl3QR0uwVsX-L_MHaAWW18mVQ9SZvc7NkQs3ZvLYH7NP3kXPgw |
| linkProvider | IEEE |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LTxsxELZaemg5QHkJKC0-cEJy2Md4H9zSKFEKSYhKkHJb-SlFtLsIJUjw6_F4NxAhUfW2suyVpRnPjMfzfUPIiQ01T7XIWOp8DwPFIyZia1imdCSSDLubIzh5OEr6N3Ax5dMGrO6xMMYYX3xmWvjp3_J1pRaYKnMnHADBkh_JJw4AvIZrvVLrZT6lgkEB4znnzSNmGORnk_Z1110GI2jFsYtgsOv5ihta6avi3Upvk4yWG6qrSW5bi7lsqac3XI3_veOvZKMJMGm71ogt8sGU22R9hXZwh8zGj78rWXWuxud0_IjkAeync2aa4qhbRjt1_ToVpaZXzqb8bcCadCzUrTNA1EW6dCjK2bL5l5-JOQiPVKfth2qmUZ12yU2vO-n0WdNygSnnqedMc6khcYYntlEoFVfO_Jgg08BlnpgMyV9sAolFZF4INpQ55FEIYSjTiAsXCu2RtbIqzT6h7myDTkQSGGtBiDTPuDXArUwRzRvbAxIsJVCoho8c22L8Kfy9JMgLFFqBQisaoR2Q05cldzUZx78m76I8VibWojh8Z_yYfO5PhoNi8Gt0-Y18wV_VqZYjsja_X5jvLviYyx9e5Z4B6O7S0A |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=PyRoboCOP%3A+Python-Based+Robotic+Control+and+Optimization+Package+for+Manipulation+and+Collision+Avoidance&rft.jtitle=IEEE+transactions+on+automation+science+and+engineering&rft.au=Raghunathan%2C+Arvind+U.&rft.au=Jha%2C+Devesh+K.&rft.au=Romeres%2C+Diego&rft.date=2024&rft.pub=IEEE&rft.issn=1545-5955&rft.volume=22&rft.spage=1435&rft.epage=1450&rft_id=info:doi/10.1109%2FTASE.2024.3365637&rft.externalDocID=10440590 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1545-5955&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1545-5955&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1545-5955&client=summon |