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...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on automation science and engineering Vol. 22; pp. 1435 - 1450
Main Authors Raghunathan, Arvind U., Jha, Devesh K., Romeres, Diego
Format Journal Article
LanguageEnglish
Published IEEE 2024
Subjects
Online AccessGet full text
ISSN1545-5955
1558-3783
DOI10.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