Wprowadzenie i kontekst
Pipeline od mapy do momentu napędowego: path vs motion vs trajectory planning vs control. Klasyfikacja problemów, krótka historia, demo pick&place na Pandzie.
TL;DR
Planowanie ścieżki i trajektorii to wyznaczenie i sparametryzowanie ruchu robota między dwiema konfiguracjami przy jednoczesnym poszanowaniu geometrii (unikanie kolizji) i dynamiki (limity prędkości, przyspieszeń, jerk, momentów napędowych). W tym kursie patrzymy na problem z perspektywy redundantnego manipulatora Franka Emika Panda (7 stopni swobody), gdzie:
- przestrzeń konfiguracyjna jest 7-wymiarowa — , więc nie wizualizuje się jej bezpośrednio,
- zadanie zwykle żyje w 6-wymiarowej przestrzeni operacyjnej (pose narzędzia w ) — manipulator jest redundantny, czyli ten sam cel można osiągnąć nieskończenie wieloma konfiguracjami,
- algorytmy muszą jednocześnie unikać kolizji (zewnętrznych i self-collision), szanować joint limits Pandy i być wystarczająco szybkie (online ≥ 10–100 Hz dla MPC).
Cztery bliskie pojęcia — różne odpowiedzialności
Społeczność robotyczna używa tych terminów wymiennie, ale w literaturze technicznej mają ostre granice. Kurs zakłada znajomość tych granic.
Path planning — geometria, bez czasu
Wyznaczenie ciągłej krzywej łączącej z , omijającej kolizje. Parametr nie ma jednostek czasu — to tylko parametryzacja krzywej.
Typowy wynik A*, RRT, PRM. Nie ma jeszcze prędkości ani przyspieszeń.
Motion planning — geometria + ograniczenia kinodynamiczne
Rozszerzenie path planning o ograniczenia różniczkowe — np. limity prędkości w przegubach albo nieholonomiczne (auto, łódź, podwozie kołowe). Wynik ma sens czasowy, ale nadal niekoniecznie pełną parametryzację .
Charakterystyczne metody: kinodynamic RRT, SST, AO-RRT (moduł 06).
Trajectory planning — pełna sparametryzowana funkcja czasu
Otrzymujemy trajektorię klasy co najmniej (dla momentów napędowych — często wymagana klasa , czyli ciągłość jerk). Dla każdego wiemy nie tylko , ale również i .
Wejście dla sterownika. Metody: spline'y wielomianowe, B-spline, TOTG, Ruckig (moduł 08); CHOMP, TrajOpt, STOMP gdy jednocześnie optymalizujemy ścieżkę (moduł 07); MPPI, iLQR online (moduł 10).
Control — śledzenie trajektorii momentami napędowymi
Sterownik realizuje w robocie fizycznym przez generację momentów napędowych . Najprostsza forma: PD z feedforward z modelu dynamiki Pandy .
Sterowanie nie jest planowaniem, ale jest jego klientem: zła trajektoria czyni dobry sterownik bezsilnym. Granica: ten kurs kończy się na wyjściu ; sterowanie pojawia się tylko jako kontekst w modułach 10, 11, 12.
Pełny pipeline w działaniu — pick & place
Poniżej kanoniczne zadanie: Panda pobiera obiekt z prawej strony stanowiska i odkłada na lewą. Kliknij bloki pipeline'u, żeby zobaczyć które algorytmy z kursu realizują daną fazę. Naciśnij ▶ — przed ruchem fazy planowania „myślą" sekwencyjnie, w trakcie ruchu aktywne jest sterowanie.
Planowanie
input → output- A*, D*, Theta* (grafowe)
- RRT*, BIT*, PRM (próbkowe)
- CHOMP, TrajOpt (optymalizacja)
- MPPI, DDP (online)
- Diffusion Policy, MπNets (uczone)
Klasyfikacja problemów planowania
Cztery niezależne osie. Kombinacja zwykle wskazuje na konkretną rodzinę metod. Wybierz wartości — lista pasujących algorytmów zaktualizuje się natychmiast.
Filtr klasyfikacji
- M05A*— ekspansja grafu z heurystyką f = g + h
- M05D* Lite— inkrementalny A* dla zmian w mapie
- M06RRT— drzewo rozrastające się przez sampling
- M06RRT*— asymptotycznie optymalna wersja RRT (rewire)
- M06BIT*— batch informed trees — heuristic + sampling razem
- M06Kinodynamic RRT— RRT z modelem dynamiki — szanuje constraints na q̇
- M07CHOMP— gradient descent na trajektorii z kosztem SDF
- M07TrajOpt (SCO)— SQP z linearyzacją constraintów kolizji
- M09Pola potencjałowe— ruch wzdłuż -∇U; problem minimów lokalnych
- M09Geometric Fabrics— energy-conserving uogólnienie RMPflow
- M10MPC liniowy— QP nad horyzontem N, predykcja z modelu
- M10MPPI— K rolloutów ważonych eksponencjalnie
- M10iLQR / DDP— Riccati backward sweep z linearyzacją wokół trajektorii
- M14Diffusion Policy— denoising losowej trajektorii uczonym modelem
- M14MπNets— sieć neuronowa generuje sample dla planera
Klasyfikacja jest orientacyjna. Wiele algorytmów mieści się w więcej niż jednej kategorii (np. MPPI w trybie single-shot jest „offline", ale projektowany do pętli online). Dla studenta sednem jest: gdy w papierze przeczytasz „local online dynamic", spodziewaj się sterownika typu MPC lub fabric'a, nie globalnego planera grafowego.
Krótka historia — cztery papery, które zdefiniowały dziedzinę
Rozszerzona timeline (od Shakey 1966 do diffusion policy 2023) — moduł 20.
Sformułował planowanie ścieżki jako geometryczne zadanie w przestrzeni konfiguracyjnej (C-space) — pierwszy systematyczny opis.
Spatial Planning: A Configuration Space Approach (IEEE Trans. Comput., 1983)Wprowadził pola potencjałowe i operational space control — reaktywne planowanie ruchu manipulatora w czasie rzeczywistym.
Real-Time Obstacle Avoidance for Manipulators and Mobile Robots (Int. J. Robotics Research, 1986)Probabilistic Roadmap (PRM) — pierwszy próbkowy planer skalowalny na wysokie wymiary; otworzyła epokę sampling-based motion planning.
Probabilistic Roadmaps for Path Planning in High-Dim. Config. Spaces (IEEE Trans. Robotics, 1996)Rapidly-exploring Random Tree (RRT) — drzewo zbiegające do całej przestrzeni, fundament wszystkich późniejszych wariantów (RRT*, Informed RRT*, BIT*).
Rapidly-Exploring Random Trees: A New Tool for Path Planning (TR 98-11, 1998)Mapa kursu — które moduły dotyczą której fazy pipeline'u
Ściąga
Trzy definicje (zapamiętaj rozróżnienie)
- Path: — krzywa w C-space, bez czasu.
- Trajectory: — funkcja czasu klasy lub , znamy .
- Control: — moment napędowy realizujący trajektorię.
Cztery osie klasyfikacji
- Kiedy planuje: offline / online
- Zasięg: globalne / lokalne
- Świat: statyczny / dynamiczny
- Kinematyka: holonomiczna / nieholonomiczna
Pipeline (kierunek przepływu)
percepcja → reprezentacja sceny → planowanie → generacja trajektorii → sterowanie
Referencje do dalszej lektury
- LaValle, Planning Algorithms(Cambridge University Press, 2006) — kanoniczny podręcznik, dostępny za darmo online: lavalle.pl/planning.
- Lynch & Park, Modern Robotics: Mechanics, Planning, and Control (Cambridge, 2017) — silne wprowadzenie matematyczne (Lie groups), wykłady i ćwiczenia na Northwestern.
- Siciliano et al., Robotics: Modelling, Planning and Control (Springer, 2009) — pełna dynamika i sterowanie.
- OMPL — Open Motion Planning Library, referencyjne implementacje wszystkich klasycznych próbkowych algorytmów: ompl.kavrakilab.org.
- MoveIt2— ROS2 stack do planowania manipulatorów (w tym Pandy): moveit.ai.
- Franka Robotics docs — parametry DH, limity, FCI: frankaemika.github.io/docs.