Skip to content

Commit

Permalink
Update paper
Browse files Browse the repository at this point in the history
  • Loading branch information
dmronga committed Feb 27, 2024
1 parent cc1a5b0 commit 955c8ee
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 1 deletion.
108 changes: 108 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
@@ -1 +1,109 @@
@INPROCEEDINGS{Sentis2006,
author={Sentis, L. and Khatib, O.},
booktitle={Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006.},
title={A whole-body control framework for humanoids operating in human environments},
year={2006},
volume={},
number={},
pages={2641-2648},
keywords={Humans;Kinematics;Monitoring;Runtime;Force control;Humanoid robots;Jacobian matrices;Artificial intelligence;Null space;Collaboration},
doi={10.1109/ROBOT.2006.1642100}}
@article{delprete2016,
TITLE = {{Implementing Torque Control with High-Ratio Gear Boxes and without Joint-Torque Sensors}},
AUTHOR = {del Prete, Andrea and Mansard, Nicolas and Ramos Ponce, Oscar Efrain and Stasse, Olivier and Nori, Francesco},
URL = {https://hal.science/hal-01136936},
JOURNAL = {{International Journal of Humanoid Robotics}},
HAL_LOCAL_REFERENCE = {Rapport LAAS n{\textdegree} 15104},
PUBLISHER = {{World Scientific Publishing}},
VOLUME = {13},
NUMBER = {1},
PAGES = {1550044},
YEAR = {2016},
MONTH = Mar,
KEYWORDS = {torque control ; force control ; inverse dynamics},
PDF = {https://hal.science/hal-01136936v2/file/paper_201403_hal.pdf},
HAL_ID = {hal-01136936},
HAL_VERSION = {v2},
NOTE = {Software Repository: \url{https://github.com/stack-of-tasks/tsid}}
}
@INPROCEEDINGS{Posa2016,
author={Posa, Michael and Kuindersma, Scott and Tedrake, Russ},
booktitle={2016 IEEE International Conference on Robotics and Automation (ICRA)},
title={Optimization and stabilization of trajectories for constrained dynamical systems},
year={2016},
volume={},
number={},
pages={1366-1373},
keywords={Manifolds;Robot kinematics;Heuristic algorithms;Trajectory optimization;Legged locomotion},
doi={10.1109/ICRA.2016.7487270},
note={Software Repository: \url{https://github.com/DAIRLab/dairlib/blob/main/systems/controllers/constrained_lqr_controller.h}}
}
@article{Koolen2016,
author = {Koolen, Twan and Bertrand, Sylvain and Thomas, Gray and De Boer, Tomas and Wu, Tingfan and Smith, Jesper and Englsberger, Johannes and Pratt, Jerry},
year = {2016},
month = {03},
pages = {1650007-1},
title = {Design of a Momentum-Based Control Framework and Application to the Humanoid Robot Atlas},
volume = {13},
journal = {International Journal of Humanoid Robotics},
doi = {10.1142/S0219843616500079},
note = {Software Wiki: \url{https://bitbucket.org/ihmcrobotics/ihmc_ros/wiki/whole-body-controller}}
}
@INPROCEEDINGS{Mronga2022,
author={Mronga, Dennis and Kumar, Shivesh and Kirchner, Frank},
booktitle={2022 International Conference on Robotics and Automation (ICRA)},
title={Whole-Body Control of Series-Parallel Hybrid Robots},
year={2022},
volume={},
number={},
pages={228-234},
keywords={Legged locomotion;Automation;Humanoid robots;Computer architecture;Topology;Computational efficiency;Behavioral sciences},
doi={10.1109/ICRA46639.2022.9811616}
}
@article{Mronga2021,
title = {Learning context-adaptive task constraints for robotic manipulation},
journal = {Robotics and Autonomous Systems},
volume = {141},
pages = {103779},
year = {2021},
issn = {0921-8890},
doi = {https://doi.org/10.1016/j.robot.2021.103779},
url = {https://www.sciencedirect.com/science/article/pii/S0921889021000646},
author = {Dennis Mronga and Frank Kirchner},
keywords = {Context-adaptive control, Constraint-based robot control, Programming-by-demonstration, Gaussian mixture regression, Dual-arm manipulation},
abstract = {Constraint-based control approaches offer a flexible way to specify robotic manipulation tasks and execute them on robots with many degrees of freedom. However, the specification of task constraints and their associated priorities usually requires a human-expert and often leads to tailor-made solutions for specific situations. This paper presents our recent efforts to automatically derive task constraints for a constraint-based robot controller from data and adapt them with respect to previously unseen situations (contexts). We use a programming-by-demonstration approach to generate training data in multiple variations (context changes) of a given task. From this data we learn a probabilistic model that maps context variables to task constraints and their respective soft task priorities. We evaluate our approach with 3 different dual-arm manipulation tasks on an industrial robot and show that it performs better than comparable approaches with respect to reproduction accuracy in previously unseen contexts.}
}
@article{Mronga2020,
author = {Mronga, Dennis and Knobloch, Tobias and de Gea Fernández, José and Kirchner, Frank},
title = {A Constraint-Based Approach for Human-Robot Collision Avoidance},
year = {2020},
pages = {1--17},
journal = {Advanced Robotics},
publisher = {Taylor & Francis Online}
}
@Article{Popescu2022,
AUTHOR = {Popescu, Mihaela and Mronga, Dennis and Bergonzani, Ivan and Kumar, Shivesh and Kirchner, Frank},
TITLE = {Experimental Investigations into Using Motion Capture State Feedback for Real-Time Control of a Humanoid Robot},
JOURNAL = {Sensors},
VOLUME = {22},
YEAR = {2022},
NUMBER = {24},
ARTICLE-NUMBER = {9853},
URL = {https://www.mdpi.com/1424-8220/22/24/9853},
PubMedID = {36560239},
ISSN = {1424-8220},
ABSTRACT = {Regardless of recent advances, humanoid robots still face significant difficulties in performing locomotion tasks. Among the key challenges that must be addressed to achieve robust bipedal locomotion are dynamically consistent motion planning, feedback control, and state estimation of such complex systems. In this paper, we investigate the use of an external motion capture system to provide state feedback to an online whole-body controller. We present experimental results with the humanoid robot RH5 performing two different whole-body motions: squatting with both feet in contact with the ground and balancing on one leg. We compare the execution of these motions using state feedback from (i) an external motion tracking system and (ii) an internal state estimator based on inertial measurement unit (IMU), forward kinematics, and contact sensing. It is shown that state-of-the-art motion capture systems can be successfully used in the high-frequency feedback control loop of humanoid robots, providing an alternative in cases where state estimation is not reliable.},
DOI = {10.3390/s22249853}
}
66 changes: 65 additions & 1 deletion paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,70 @@ authors:
affiliations:
- name: Dennis Mronga, Post-doctoral researcher, German Research Center for Artificial Intelligence (DFKI), Bremen, Germany
index: 1
---
date: 23 February 2024
bibliography: paper.bib

---

# Summary

ARC-OPT (Adaptive Robot Control using Optimization) is a C++ library for Whole-Body Control (WBC) [@Sentis2006] of complex robotic systems, such as humanoids, quadrupedal robots, or mobile manipulators with one or two arms.

WBC aims to describe a robot control problem in terms of costs and constraints of a quadratic program (QP) and design a set of feedback controllers around it, each dedicated to a specific robot tasks. In every control cycle, the QP is solved and the solution is applied to the robot's actuators. WBC is a reactive control approach, which targets redundant robots and is able to control multiple tasks simultaneously, like, e.g., grasping and balancing on a humanoid robot.

# Statement of need

ARC-OPT supports the software developer in designing robot controllers by providing configuration options for different pre-defined Whole-Body Control problems. In contrast to existing libraries for Whole-Body Control [@delprete2016],[@Posa2016] it provides unified interfaces for WBC problems on velocity, acceleration and torque level, as well as options to benchmark different QP solvers and robot model libraries on these problems. Finally, it provides an approach for solving WBC problem on robots with parallel kinematic loops, as described in [@Mronga2022].

# Description

![ARC-OPT library overview](wbc_overview.svg)

ARC-OPT separates the implementation of controllers, robot models, solvers, and scenes, which allows a modular composition of the Whole-Body Control problem.

## Controller

A controller implements a function in the robot's task space, e.g., 'maintain balance', 'avoid obstacle', or 'follow trajectory'. ARC-OPT provides various controllers in joint or Cartesian space, like PD-Controllers, or repulsive potential fields.

## Scene
The scene sets up the QP, where the costs can be configured at runtime, and the constraints are specific for the implemented scene. Different QPs are currently implemented in ARC-OPT, for example:

### Velocity-level
Tasks are formulated within the cost function. Rigid and joint velocity limits are used as constraints. The decision
variables are the joint velocities $\dot{q}$:


### Acceleration-level [@delprete2016]
Tasks are formulated within the cost function. Equations of motion, rigid contacts and joint torque limits serve as constraints. The decision variables are the joint accelerations $$\ddot{q}$$, joint torques $\tau$ and contact wrenches $$f$$:


## Robot Model
The robot model computes the kinematic and dynamic information that the scene requires to set up the QP, like Jacobians, mass-inertia matrices, and gravity terms. ARC-OPT implements various robot models based on Pinocchio [], RBDL [], KDL [], and Hyrodyn [].

## Solver
The solver solves the QP set up by the scene. ARC-OPT provides various QP solvers based on open-source implementation using qpOASES [], eiquadprog [], proxQP, and qpSwift [].

# Example

Acceleration/torque-level QP:

$$\begin{array}{cc}
\underset{\ddot{\mathbf{q}}, \boldsymbol{\tau}, \mathbf{f}}{\text{min}} & \|\mathbf{J}\ddot{\mathbf{q}} + \dot{\mathbf{J}}\dot{\mathbf{q}} - \dot{\mathbf{v}}_d\|_2 \\
\text{s.t.} & \mathbf{H}\ddot{\mathbf{q}} + \mathbf{h} = \mathbf{S}\boldsymbol{\tau} + \mathbf{J}_c\mathbf{f} \\
& \mathbf{J}_{c}\ddot{\mathbf{q}} = -\dot{\mathbf{J}}_c\dot{\mathbf{q}} \\
& \boldsymbol{\tau}_m \leq \boldsymbol{\tau} \leq \boldsymbol{\tau}_M \\
\end{array}$$

here ${\mathbf{J}$ is the robot Jacobian, $\mathbf{v}_d$ the desired task space velocity, $\dot{\mathbf{q}}_m$ and $\dot{\mathbf{q}}_M$ the minimal and maximal robot joint velocity.

with Cartesian position control:

$$
\dot{v}_d = \dot{v}_r + k_d(v_r-v) + k_p(x_r-x)
$$

The ARC-OPT library for Whole-Body Control has been used in various scientific works [@Mronga2022],[@Mronga2021],[@Mronga2020],[@Popescu2022].

# Acknowledgements

ARC-OPT is supported through grants from the German Federal Ministry of Education and Research (BMBF), grant numbers 01IW21002 (M-Rock project) and 01IW20004 (VeryHuman project).
Binary file added wbc_overview.pptx
Binary file not shown.
1 change: 1 addition & 0 deletions wbc_overview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 955c8ee

Please sign in to comment.