Robocikowo>ROBOCIKOWO
Robotyka

WBC

2004AktywnyOpublikowano: 22 września 2026Aktualizacja: 22 września 2026Opublikowany
Framework sterowania robotami wieloczłonowymi (humanoidy, roboty kroczące), który jednocześnie koordynuje wszystkie stopnie swobody, godząc wiele zadań o różnych priorytetach z ograniczeniami dynamiki, kontaktów i równowagi.
Kluczowa innowacja
Jednoczesna koordynacja wszystkich stopni swobody redundantnego robota w ramach hierarchii zadań z ograniczeniami dynamiki, kontaktu i równowagi — zamiast sterowania każdą kończyną czy zadaniem osobno.
Kategoria
Robotyka
Poziom abstrakcji
Paradygmat
Poziom operacji
Sterowanie robotem
Zastosowania
Jednoczesna lokomocja i manipulacja w humanoidach (loco-manipulation)Utrzymanie równowagi i odzyskiwanie po zaburzeniu (push recovery)Sterowanie robotami kroczącymi z wieloma kontaktami (multi-contact)Śledzenie trajektorii środka masy i pozy tułowiaRealizacja i śledzenie polityk wyuczonych przez uczenie ze wzmocnieniemTeleoperacja i retargeting ruchu człowieka na robota

Jak działa

W każdym kroku sterowania WBC buduje i rozwiązuje problem optymalizacji, którego zmiennymi decyzyjnymi są zwykle przyspieszenia stawów, siły kontaktu i momenty w stawach. (1) Definiuje się zbiór zadań, każde jako funkcja w przestrzeni operacyjnej (np. pozycja środka masy, orientacja tułowia, pozycja dłoni), wyrażona przez jakobian zadania i pożądane przyspieszenie. (2) Zadaniom nadaje się priorytety lub wagi: w podejściu ścisłej hierarchii zadania niższego rzędu są rozwiązywane w przestrzeni zerowej zadań wyższego rzędu (rzutowanie null-space), a w hierarchicznym QP kolejne QP są rozwiązywane kaskadowo. (3) Ograniczenia obejmują równania dynamiki (M·q̈ + h = Sᵀ·τ + Jcᵀ·f), stożki tarcia i jednostronność kontaktu, oraz limity momentów i pozycji. (4) Solver QP wyznacza optymalne momenty w stawach, które są wysyłane do napędów. Formułowanie zadań w przestrzeni operacyjnej wywodzi się z operational space formulation Khatiba, a rzutowanie null-space zapewnia dynamiczną spójność między priorytetami.

Rozwiązany problem

Roboty humanoidalne i kroczące mają dużą liczbę stopni swobody, są redundantne i muszą jednocześnie realizować sprzeczne cele (równowaga, lokomocja, manipulacja) przy zachowaniu kontaktów i ograniczeń fizycznych. Sterowanie poszczególnymi stawami lub kończynami osobno nie gwarantuje spójności całego układu ani stabilności. WBC rozwiązuje problem spójnej, jednoczesnej koordynacji wszystkich DoF z priorytetyzacją zadań i twardymi ograniczeniami.

Komponenty

Hierarchia zadańDefiniuje zbiór zadań i ich priorytety/wagi

Zbiór zadań (równowaga, lokomocja, manipulacja, poza) uporządkowanych ściśle hierarchicznie lub ważonych; określa, które cele mają pierwszeństwo w razie konfliktu.

Model dynamiki całego ciałaWiąże momenty, przyspieszenia i siły kontaktu

Pełny model dynamiki układu wieloczłonowego (M·q̈ + h = Sᵀ·τ + Jcᵀ·f) używany jako twarde ograniczenie w optymalizacji.

Sformułowanie w przestrzeni operacyjnejOpisuje zadania w przestrzeni zadaniowej, nie stawowej

Formalizm Khatiba wyrażający dynamikę i sterowanie w przestrzeni zadania (np. dłoni, środka masy) za pomocą jakobianów zadań i bezwładności operacyjnej.

Oficjalna

Model kontaktu i tarciaWymusza fizycznie realizowalne siły kontaktu

Ograniczenia jednostronności kontaktu i stożków tarcia (często linearyzowanych do piramid) zapewniające, że siły reakcji podłoża są wykonalne.

Oficjalna

Solver optymalizacji (QP)Rozwiązuje problem sterowania w czasie rzeczywistym

Solver programowania kwadratowego (lub kaskada QP w hierarchicznym QP) wyznaczający optymalne momenty/siły spełniające zadania i ograniczenia w każdym kroku pętli.

Oficjalna

Rzutowanie w przestrzeni zerowejRealizuje zadania niższego priorytetu bez zaburzania wyższych

Mechanizm wykorzystujący redundancję robota: zadania niższego rzędu są rzutowane do przestrzeni zerowej zadań wyższego rzędu, gwarantując ścisłą hierarchię priorytetów.

Oficjalna

Implementacja

Pułapki implementacyjne
Niewykonalność QPWysoka

Sprzeczne zadania i ograniczenia (kontakt, limity) mogą uczynić QP niewykonalnym, powodując brak rozwiązania w kroku sterowania.

Rozwiązanie:Stosuj miękkie ograniczenia/slacki, hierarchię priorytetów i regularyzację; zapewnij fallback przy niewykonalności.
Opóźnienie solvera w czasie rzeczywistymWysoka

Przy wysokich częstotliwościach sterowania czas rozwiązania QP musi mieścić się w budżecie kroku; przekroczenie destabilizuje robota.

Rozwiązanie:Wykorzystaj ciepły start, rzadkość, wydajne solvery i ograniczenie liczby zmiennych/poziomów hierarchii.
Niedokładny model dynamiki i kontaktuŚrednia

Błędy w modelu masy, inercji, tarcia lub geometrii kontaktu przekładają się na błędy śledzenia i utratę równowagi.

Rozwiązanie:Kalibracja modelu, estymacja stanu i sił, oraz zapasy bezpieczeństwa w ograniczeniach.
Nieciągłości przy zmianie priorytetów/kontaktówŚrednia

Aktywacja lub dezaktywacja zadań i zmiana kontaktów mogą powodować skokowe zmiany momentów.

Rozwiązanie:Płynne przejścia (smooth transitions), interpolacja wag i ciągłe rzutowanie null-space.

Ewolucja

Oryginalny paper · 2004 · International Journal of Humanoid Robotics · Oussama Khatib
Whole-body dynamic behavior and control of human-like robots
Oussama Khatib, Luis Sentis, Jaeheung Park, James Warren
1987
Operational space formulation (Khatib)
Punkt przełomowy

Khatib wprowadza sformułowanie w przestrzeni operacyjnej — fundament dla sterowania zadaniowego i późniejszego WBC.

2004
Whole-body control robotów humanoidalnych
Punkt przełomowy

Khatib i współpracownicy formalizują sterowanie całym ciałem dla robotów przypominających człowieka.

2005
Hierarchiczna synteza zachowań całego ciała

Sentis i Khatib przedstawiają syntezę zachowań całego ciała przez hierarchiczne sterowanie prymitywami behawioralnymi.

2014
Hierarchiczne QP w czasie rzeczywistym
Punkt przełomowy

Escande, Mansard i Wieber pokazują hierarchiczne programowanie kwadratowe do szybkiego, online generowania ruchu humanoidów — kluczowe dla współczesnego, opartego na QP WBC.

2015
WBC w Atlasie (DARPA Robotics Challenge)

Kuindersma i in. opisują opartą na optymalizacji lokomocję, estymację i sterowanie humanoida Atlas — dojrzałe wdrożenie WBC na sprzęcie.

2023
Integracja WBC z uczeniem ze wzmocnieniem

Rozpowszechnienie wyuczonych polityk sterowania całym ciałem oraz łączenie WBC z RL i MPC w komercyjnych humanoidach.

Hiperparametry (konfigurowalne osie)

Częstotliwość sterowaniaKrytyczna

Częstotliwość pętli WBC (typowo setki Hz do 1 kHz); wpływa na stabilność i responsywność.

Struktura priorytetów zadańKrytyczna

Liczba i kolejność poziomów priorytetów (ścisła hierarchia vs. wagi w jednym QP).

Wagi zadańWysoka

Wagi w ważonym WBC (soft priorities) determinujące kompromis między zadaniami.

Aproksymacja stożka tarciaŚrednia

Liczba boków piramidy linearyzującej stożek tarcia; kompromis dokładność–koszt QP.

RegularyzacjaŚrednia

Regularyzacja zmiennych (np. minimalizacja momentów) zapewniająca dobrze uwarunkowany QP.

Złożoność obliczeniowa

Złożoność czasowa: O(n³) na krok sterowania.

Wymagania sprzętowe

Podstawowe

WBC działa jako pętla sterowania czasu rzeczywistego na pokładowym CPU; solvery QP są zoptymalizowane pod wektoryzację CPU i niskie opóźnienia.

Możliwe

Sama formuła optymalizacji jest niezależna od sprzętu; wybór solvera i platformy zależy od wymagań czasu rzeczywistego.