The ARC-OPT Library for Whole-Body Control of Robotic Systems
The ARC-OPT Library for Whole-Body Control of Robotic Systems - Published in JOSS (2024)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
15 of 17 committers (88.2%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords from Contributors
Scientific Fields
Repository
C++ library for optimization-based control of redundant robots
Basic Info
- Host: GitHub
- Owner: ARC-OPT
- License: bsd-3-clause
- Language: C++
- Default Branch: master
- Homepage: https://arc-opt.github.io/Documentation/
- Size: 24.5 MB
Statistics
- Stars: 63
- Watchers: 2
- Forks: 17
- Open Issues: 10
- Releases: 5
Metadata Files
README.md
WBC - Whole-Body Control
Code API | Full Documentation | Scientific Paper | ROS 2 Interface
WBC is C++ library for optimization-based control of redundant robots. The idea of WBC is to describe a control problem as costs and constraints of an optimization problem (typically a quadratic program or QP) and design a set of feedback controllers around it. The QP minimizes the control errors, trading off the different objectives and produces a joint space command on velocity, acceleration or torque level, which is applied to the robot actuators. WBC is meant for * Controlling redundant robots, particularly floating base systems like humanoids or quadrupeds * Controlling multiple tasks simultaneously * reactive robot control, i.e. it does not plan ahead the next robot control actions
WBC was initiated and is currently developed at the Robotics Innovation Center of the German Research Center for Artificial Intelligence (DFKI) in Bremen. Also see the ARC-OPT website of the Robotics Innovation Center.

How does it compare to other WBC libraries?
There are multiple other libraries for Whole-Body Control, e.g., TSID or ControlIt!. Compared to these, the ARC-OPT Whole-Body Control library provides various WBC implementations on velocity, acceleration, and torque level. It is modular as it separates modeling, QP problem specification, and solving, allowing to evaluate and benchmark different robot models, QP solvers, and various WBC implementations. Furthermore, it implements a WBC approach for robots with closed-loop structures as described in this paper (will be made open-source soon).
Requirements / Dependencies
Currently supported OS: Ubuntu20.04, Ubuntu22.04, Ubuntu24.04
See the manifest.xml for required and optional dependencies.
ROS 2 Interface
ROS 2 support for the WBC library can be found here
Installation
Basic Install
This will install the WBC core library with a single robot model (pinocchio) and QP solver (qpoases) respectively. Download this install script, store it in a folder of your choice (e.g., arc-opt) and execute it:
mkdir ~/arc-opt && cd ~/arc-opt
wget https://raw.githubusercontent.com/ARC-OPT/wbc/master/scripts/install.sh
sh install.sh
Full Install
This will install the WBC core library plus multiple robot models and solvers. Download this install script, store it in a folder of your choice (e.g., arc-opt) and execute it:
mkdir ~/arc-opt && cd ~/arc-opt
wget https://raw.githubusercontent.com/ARC-OPT/wbc/master/scripts/full_install.sh
sh full_install.sh
Testing
To execute unit tests for the WBC library, run
make test
from the library's build folder. This will execute unit tests for all installed components, e.g. solvers, robot models, etc...
Examples
You can also check the tutorials to for some comprehensive examples.
Contributing
Please use the issue tracker to submit bug reports and feature requests. Please use merge requests as described here to add/adapt functionality.
License
WBC is distributed under the 3-clause BSD license.
Acknowledge WBC
If you want to use WBC within your scientific work, please cite this paper or direcly use the following BibTex entry:
@article{Mronga2024,
author = {Dennis Mronga and Frank Kirchner},
title = {The ARC-OPT Library for Whole-Body Control of Robotic Systems},
journal = {Journal of Open Source Software},
year = {2024},
doi = {10.21105/joss.06696}
}
Funding
WBC has been developed in the research projects TransFit (Grant number 50RA1701) and BesMan (Grant number 50RA1216) funded by the German Aerospace Center (DLR) with funds from the German Federal Ministry for Economic Affairs and Climate Action (BMWK). It is further developed in the M-Rock (Grant number 01IW21002) and VeryHuman (Grant number 01IW20004) projects funded by the German Aerospace Center (DLR) with federal funds from the German Federal Ministry of Education and Research (BMBF).
Maintainer / Authors / Contributers
Dennis Mronga, dennis.mronga@dfki.de
Copyright 2017, DFKI GmbH / Robotics Innovation Center
Owner
- Name: ARC-OPT
- Login: ARC-OPT
- Kind: organization
- Website: https://dfki-ric.github.io/
- Repositories: 4
- Profile: https://github.com/ARC-OPT
Adaptive Robot Control using Optimization
JOSS Publication
The ARC-OPT Library for Whole-Body Control of Robotic Systems
Authors
Tags
robotics control Whole-Body ControlGitHub Events
Total
- Create event: 6
- Release event: 1
- Issues event: 8
- Watch event: 25
- Delete event: 2
- Issue comment event: 11
- Push event: 67
- Pull request event: 7
- Fork event: 4
Last Year
- Create event: 6
- Release event: 1
- Issues event: 8
- Watch event: 25
- Delete event: 2
- Issue comment event: 11
- Push event: 67
- Pull request event: 7
- Fork event: 4
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| dmronga | d****a@d****e | 858 |
| ibergonzani | i****i@d****e | 36 |
| Dennis Mronga | d****a@D****e | 19 |
| Sebastian Kasperski | s****i@d****e | 7 |
| Dennis Mronga | d****a@D****3 | 4 |
| rh5user | r****r@d****e | 2 |
| Malte Wirkus | m****s@d****e | 2 |
| Steffen Planthaber | S****r@d****e | 2 |
| Dennis Mronga | d****a@D****e | 1 |
| Dennis Mronga | d****a@D****8 | 1 |
| Bob the Builder | b****b@d****e | 1 |
| Janosch Machowinski | j****i@d****e | 1 |
| dmronga | s****r@d****e | 1 |
| rh5user | r****t@d****e | 1 |
| Vinzenz Bargsten | v****n@d****e | 1 |
| Pierre Willenbrock | p****k@d****e | 1 |
| Christoph Hertzberg | c****g@d****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 36
- Total pull requests: 83
- Average time to close issues: 4 months
- Average time to close pull requests: 22 days
- Total issue authors: 9
- Total pull request authors: 8
- Average comments per issue: 1.08
- Average comments per pull request: 0.53
- Merged pull requests: 74
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 5
- Average time to close issues: 5 days
- Average time to close pull requests: 16 minutes
- Issue authors: 3
- Pull request authors: 2
- Average comments per issue: 1.33
- Average comments per pull request: 0.4
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mhubii (14)
- dmronga (12)
- sea-bass (4)
- kassasin (1)
- maltewi (1)
- dbdxnuliba (1)
- chhtz (1)
- pierrewillenbrockdfki (1)
- ibergonzani (1)
Pull Request Authors
- dmronga (62)
- skasperski (7)
- ibergonzani (4)
- maltewi (3)
- chhtz (2)
- moooeeeep (2)
- pierrewillenbrockdfki (2)
- planthaber (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- mattnotmitt/doxygen-action v1.1.0 composite
- peaceiris/actions-gh-pages v3 composite
