View on GitHub

Documentation

ARC-OPT Documentation - https://arc-opt.github.io/Documentation

Introduction

Whole-Body Control

Whole Body Control (WBC), also referred to as constraint-based or optimization-based control, is an approach for specifying and controlling complex robotic tasks. The term was coined by Luis Sentis in his work Synthesis and Control of Whole-Body Behaviors in Humanoid Systems.

drawing

Image Credits: Dennis Mronga, DFKI

The idea is define a set of feedback controllers around an optimization problem. Each controller regulates a certain task, the control output is fed into the cost function of the optimization problem, typically a quadratic program, and thus minimized during execution. In each control cycle …

WBC is used for…

ARC-OPT: Motivation

ARC-OPT is a framework for optimization-based control of redundant robots. It contains various implementations of whole-body feedback control approaches on velocity-, acceleration- and force/torque-level. The core WBC library is written in C++, with Python bindings for most functionalilities. It aims at facilitating the specification and benchmarking of whole-body controllers for redundant robots, i.e., the target user group are software developers and control engineers. Compared to existing frameworks for optimization-based robot control, ARC-OPT provides

Concepts

The design of WBC library separates the whole-body controller into 4 main building blocks, namely controllers(s), robot model, scene and solver. Robot models, scenes and solvers are implemented as plugins, which can be exchanged.

wbc_overview

Installation

Testing

To execute unit tests for the WBC library, run

sh scripts/run_tests.sh

from the library’s root folder. This will execute unit tests for all installed components, e.g. solvers, robot models, etc…

WBC Library Tutorials

Velocity-based WBC

  1. Introductory example
  2. Using a different solver
  3. Adapting task and joint weights
  4. Task hierarchies
  5. Serial vs. Hybrid robots
  6. Floating base robots

Acceleration-based WBC

  1. Serial Robot
  2. Hybrid Robot

ROS2 Tutorials

  1. Introduction
  2. Cartesian Space Example
  3. Joint Space Example
  4. Nullspace Example

Publications

D. Mronga, S. Kumar and F. Kirchner, “Whole-Body Control of Series-Parallel Hybrid Robots”, 2022 International Conference on Robotics and Automation (ICRA), 2022, pp. 228-234

D. Mronga and F. Kirchner, “Learning context-adaptive task constraints for robotic manipulation”, Robotics and Autonomous Systems, Volume 141, 2021

D. Mronga, T. Knobloch, J. de Gea Fernández & F. Kirchner, “A constraint-based approach for human–robot collision avoidance”, Advanced Robotics, Volume 34, Issue 5, pp. 265-281, 2020

D. Mronga, “Learning Task Constraints for Whole-Body Control of Robotic Systems”, PhD Thesis, 2022, University of Bremen