Moduł 17 · Rozszerzenia

Tematy specjalistyczne dla manipulacji

Integrated grasp-and-motion, TAMP, bimanual/multi-arm (2 Pandy), mobile manipulation, human-aware planning, social force.

TL;DR

Wszystkie moduły 1-16 traktują manipulator jako abstrakcyjny układ kinematyczny. Praktyczna manipulacja wymaga specjalizowanych narzędzi:

  • Integrated grasp + motion planning — chwyt ZALEŻY od pozy, pose zależy od planu, plan zależy od chwytu.
  • TAMP(moduł 16) — long-horizon: pick & place z wieloma obiektami.
  • Bimanual / multi-arm — 2+ ramiona koordynowane. 14+ DOF, redundancja, constraints kolizji wzajemnej.
  • Mobile manipulation — base (mobile robot) + ramię. Whole-body planning z dodatkowymi 3 DOF mobilności.
  • Human-aware planning — robot w obecności ludzi: predykcja ruchu człowieka, kompromis efektywność vs komfort.
  • Social force — mobile robots w tłumie ludzi.

Integrated grasp and motion planning

Naivnie: najpierw IK dla grasp pose → potem RRT do tej pozy. Problemy:

  • Wybrany grasp może być kinematycznie nieosiągalny (wymaga konfiguracji blokującej inne joints).
  • Może wymagać przeciskania się przez wąskie korytarze, gdy inny grasp ten sam obiekt podawałby się dużo prostszą trajektorią.
  • Symetryczne obiekty mają nieskończenie wiele grasps — który wybrać?

Integrated approach (Berenson 2009, Vahrenkamp 2010): zbuduj zbiór dopuszczalnych chwytów GSE(3)\mathcal{G} \subset SE(3), planuj do najbliższego osiągalnego (RRT z task-space sampling z G\mathcal{G}). Efekt: wybór grasp + ruch razem optymalizowane.

GraspNet (Mousavian 2019), GraspNet-1B (Fang 2020) — uczone z dużych datasetów grasp poses dla różnych obiektów. Inference ~ms, działa zero-shot na nowe obiekty.

TAMP — Task and Motion Planning

Patrz moduł 16 dla podstaw TAMP. Specyfika manipulacji:

  • Object stacking: jaki order kładzenia klocków, żeby końcowy stos był stabilny?
  • Tool use: planuj jak użyć narzędzia (młotek, szczypce) — z dodatkową kinematyką tool.
  • Disassembly / assembly: których części przesunąć żeby odsłonić docelowe (pre-conditions).

Frameworki produkcyjne

  • PDDLStream + STRIPS — gdy zadanie ma jasne symboliczne predykaty.
  • LGP (Logic-Geometric Programming, Toussaint) — kontinuum optimization z dyskretnymi modes.
  • LLM-based TAMP (PaLM-E, RT-1, Code as Policies) — language model jako planer wysokiego poziomu.

Bimanual / multi-arm manipulation

Dwa ramiona Pandy = 14 DOF + 2 grippery. Zadania:

  • Cooperative carrying — duży przedmiot wymaga obu rąk. Constraints: stała odległość chwytaków (rigid object).
  • Handover — obiekt przekazywany z jednej ręki do drugiej. Z koordynowaniem fazy chwytania.
  • Asymetryczne zadania — jedna ręka trzyma, druga manipuluje (np. otwórz słoik).

Constraint-based formulation: ćwiczenia w module 11 (null-space) uogólniają się — dual-arm ma relative pose constraint między chwytakami. Pozostała redundancja (14 − 6 = 8 DOF) dla optymalizacji secondary objectives.

Stack of Tasks (LAAS): cooperative-task jako primary, manipulability/postura jako secondary w null-space.

Mobile manipulation

Base mobilny (np. omnidirectional platform) + ramię. Stan robota: x=(xb,yb,θb,qarm)R3×R7x = (x_b, y_b, \theta_b, q_{\text{arm}}) \in \mathbb{R}^3 \times \mathbb{R}^7 = 10 DOF (Panda na mobile base).

Whole-body planning — wszystkie 10 DOF razem. Wyzwania:

  • Base nieholonomiczna (samochodowa) — constraint y˙b=x˙btanθb\dot y_b = \dot x_b \tan \theta_b.
  • Stability: kiedy bazę można ruszać a kiedy nie (np. ramię wyciągnięte → ryzyko przewrócenia).
  • Coupling: szybkie ruchy bazy wpływają na precyzję chwytaka.

Solving strategies:

  • Decomposition: najpierw planuj base do „grasp-region" (gdzie obiekt w reach), potem ramię — proste ale suboptymalne.
  • Coupled: jeden NLP / RRT nad 10 DOF — duża przestrzeń.
  • Hierarchical Tasks: primary = TCP, secondary = base pose, terciary = arm posture. HQP framework (moduł 11).

Klasyczne platformy: HSR (Toyota), TIAGo (PAL Robotics), Spot Arm (Boston Dynamics).

Human-aware planning

Robot w obszarze pracy człowieka. Wymagania:

  • Bezpieczeństwo: ISO/TS 15066 (moduł 12) — SSM, PFL.
  • Komfort psychologiczny: nie podchodź zbyt blisko, nie wykonuj raptownych ruchów.
  • Predykcja: gdzie człowiek będzie za 2s?
  • Legibility (Dragan 2013) — robot pokazuje swoje intencje przez ruch (np. wyraźnie sięga TYLKO po obiekt X).

Predykcja ruchu człowieka

  • HMM / GMM nad sekwencjami pose (z motion capture).
  • Social-LSTM, Social-GAN — uczone na pedestrian datasets.
  • IRL (Inverse RL) — odkryj funkcję kosztu ludzkiego ruchu z obserwacji.

Legibility (Dragan)

Funkcja kosztu maksymalizuje P(goaltrajectory so far)P(\text{goal} | \text{trajectory so far}) dla obserwatora. Robot „wybiera" trajektorię, która jednoznacznie wskazuje cel — wcześniej, nie tylko na końcu.

Formalnie (Dragan, Lee & Srinivasa 2013): obserwator modelowany rozkładem softmin po koszcie:

P(gξ0:t)exp ⁣([C(ξ0:t)+V(xt,g)]/λ)P(g \mid \xi_{0:t}) \propto \exp\!\Big(-\big[C(\xi_{0:t}) + V^\star(x_t, g)\big] / \lambda\Big)

gdzie V(x,g)V^\star(x, g) = optymalny koszt-to-go z xx do gg. Optymalny predictable trajektoria minimalizuje C(ξ)C(\xi) — wynik to po prostu najkrótsza ścieżka. Optymalny legible trajektoria maksymalizuje całkę 0TP(gtrueξ0:t)dt\int_0^T P(g_{\text{true}} \mid \xi_{0:t})\, dt — celowo odchyla się od dystraktorów na początku.

Demo: predictable vs legible (2D top-down)

Legibility (Dragan 2013) — predictable vs legible trajectory

Predictable (optymalna, prosta linia)
G_trueG_distrS
długość: 349.9 · P(G_true|ξ_0:t) = 50.0%
Legible (komunikuje intencję wcześnie)
G_trueG_distrS
długość: 363.4 · P(G_true|ξ_0:t) = 54.6%
P(G_true | ξ_0:t) vs czas — obserwator zewnętrzny
1.00.50.0predictablelegible
Eksperymenty: (1) legibility = 0 → trajektoria = linia prosta S→G_true, najkrótsza. Obserwator pozostaje 50/50 prawie do końca — niemożność rozróżnienia celów dopóki robot nie zbliży się do jednego z nich. (2) zwiększ legibility — trajektoria wygina się od G_distractor. Posterior P(Gtrueξ0:t)P(G_{\text{true}} | \xi_{0:t}) rośnie szybciej kosztem dłuższej ścieżki. (3) λ (temperatura obserwatora) — wysoka = obserwator wybacza odchylenia (rozróżnia powoli), niska = szybko konwerguje do pewności (bardzo wrażliwy na koszt).

Zastosowanie dla manipulacji: jeśli Panda wybiera między dwoma obiektami na stole (np. czerwoną i niebieską kostką), legible trajectory wskaże intencję obserwującemu człowiekowi w pierwszych ~30% ruchu, zamiast zaskoczyć go w ostatniej chwili. Krytyczne dla human-robot collaboration — pozwala człowiekowi proaktywnie się usunąć z drogi lub zaprzeczyć (zatrzymać robota). Predictability vs legibility to kompromis, nie jedność: ta sama trajektoria nie może być oba jednocześnie.

Social force i mobile robot w tłumie

Mobile robot nawigujący między ludźmi (sklep, lotnisko). Nie można traktować ludzi jak statyczne obstacles — oni też się poruszają i reagują.

Social Force Model (Helbing & Molnár 1995): ludzie jako particle z siłami:

  • Attractive: do swojego goal.
  • Repulsive: od innych ludzi (komfort).
  • Repulsive: od ścian.

Robot planuje w tej dynamicznej scenie z predykcją. Klasycznie: ORCA (Optimal Reciprocal Collision Avoidance, van den Berg 2011) — założenie, że WSZYSTKIE agenty mają symetryczną chęć unikania kolizji.

Learned: CADRL (Chen 2017), SARL (Chen 2019) — RL agents trenowane w multi-agent simulation.

Ściąga

Integrated grasp + motion

Sample task-space \mathcal{G}, RRT do najbliższego achievable. GraspNet zero-shot dla nowych obiektów.

TAMP

PDDLStream, LGP, LLM-based (Code as Policies, PaLM-E).

Bimanual

14 DOF + relative pose constraint. Null-space dla secondary (manipulability, posture).

Mobile manipulation

  • 10 DOF whole-body
  • Strategie: decomposition / coupled / hierarchical tasks
  • Platformy: HSR, TIAGo, Spot Arm

Human-aware

  • Safety: ISO/TS 15066 (moduł 12)
  • Comfort: distance + smooth velocity
  • Prediction: HMM, Social-LSTM, IRL
  • Legibility (Dragan): max P(goal | trajectory)

Crowd navigation

  • Social Force (Helbing 1995)
  • ORCA (van den Berg 2011)
  • CADRL / SARL — learned

Referencje

  • Berenson, Srinivasa, Ferguson, Kuffner, „Manipulation Planning with Workspace Goal Regions" (ICRA 2009).
  • Mousavian, Eppner & Fox, „6-DOF GraspNet: Variational Grasp Generation for Object Manipulation" (ICCV 2019).
  • Garrett et al., „Integrated Task and Motion Planning" (Annu. Rev. Control 2021).
  • Toussaint, „Logic-Geometric Programming" (IJCAI 2015).
  • Driess, Xia, Sajjadi, et al., „PaLM-E: An Embodied Multimodal Language Model" (ICML 2023).
  • Brohan, Brown, Carbajal, et al., „RT-1: Robotics Transformer for Real-World Control at Scale" (RSS 2023).
  • Dragan, Lee & Srinivasa, „Legibility and Predictability of Robot Motion" (HRI 2013).
  • Helbing & Molnár, „Social force model for pedestrian dynamics" (Phys. Rev. E 1995).
  • van den Berg, Guy, Lin & Manocha, „Reciprocal n-body collision avoidance" (Robotics Research 2011) — ORCA.
  • Chen, Liu, Kreiss & Alahi, „Crowd-Robot Interaction: Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning" (ICRA 2019) — SARL.
  • Mainprice & Berenson, „Human-Robot Collaborative Manipulation Planning Using Early Prediction of Human Motion" (IROS 2013).