Skip to main content

Szarpanie na rozmaitości — dlaczego złączone geodezyjne tworzą kink

·3 mins

Wyobraź sobie robota który ma dojść z punktu A do punktu B, mijając punkt pośredni W. Najprostsze rozwiązanie: zaplanować dwie osobne geodezyjne — A→W i W→B — i połączyć je w W. Robot dotrze do celu. Ale w punkcie W coś nieprzyjemnego się wydarzy: gwałtowna zmiana kierunku ruchu. W praktyce oznacza to szarpanie — nagłe przyspieszenie, które obciąża silniki, powoduje drgania i może zniszczyć precyzję wykonania zadania.

Skąd to szarpanie? Odpowiedź leży w geometrii rozmaitości.

Geodezyjna jest „prosta" — ale tylko lokalnie #

Geodezyjna na rozmaitości to uogólnienie prostej. Na sferze S² to łuk koła wielkiego. Jej kluczowa własność: zerowa kowariantna druga pochodna wzdłuż siebie samej. Innymi słowy, obiekt poruszający się po geodezyjnej nie odczuwa żadnego przyspieszenia — z punktu widzenia rozmaitości idzie „prosto".

To brzmi doskonale. Problem pojawia się, gdy łączymy dwie geodezyjne.

Kink — geometria nieciągłości #

Każda geodezyjna ma w każdym punkcie dobrze określony wektor prędkości — element przestrzeni stycznej T_p M. Gdy dochodzimy do punktu W wzdłuż geodezyjnej A→W, mamy wektor prędkości v⁻. Gdy wyruszamy z W wzdłuż geodezyjnej W→B, mamy wektor v⁺.

Jeśli W nie leży na geodezyjnej prostej A→B, to v⁻ ≠ v⁺. Dwa wektory styczne w tym samym punkcie, wskazujące w różnych kierunkach. W punkcie W prędkość skacze — jest nieciągła. To właśnie kink.

Złączone geodezyjne (niebieski): wektory prędkości v⁻ i v⁺ rozchodzą się pod kątem 73.8° w punkcie W — to kink. Splajn de Casteljau (pomarańczowy): wektory prędkości są zgodne, brak szarpania.

Kąt między v⁻ a v⁺ mierzy „siłę" kinku. Im bardziej W odchyla się od geodezyjnej A→B, tym większy kąt, tym gwałtowniejsze szarpanie.

Dlaczego to ma znaczenie inżynierskie #

W przestrzeni euklidesowej R³ analogia jest prosta: dwie proste złączone w punkcie tworzą łamaną. Robot który jedzie wzdłuż łamanej musi w wierzchołku zatrzymać się lub gwałtownie zmienić kierunek. Inżynierowie od dekad rozwiązują ten problem splajnami sześciennymi.

Na rozmaitości problem jest identyczny, tylko „proste" zastępują geodezyjne. Konkretne przykłady z praktyki:

Robotyka i nawigacja. Trajektoria końcówki ramienia robotycznego żyje na SE(3) — grupie Liego sztywnych przekształceń. Złączone geodezyjne na SE(3) dają kinki, które przekładają się na szarpanie fizyczne. Zbyt silne szarpanie niszczy precyzję pozycjonowania i mechanikę.

Sterowanie silnikiem — FOC. Profil prędkości kątowej wału żyje na S¹ (okrąg). Naiwne przełączanie między stałymi wartościami prędkości to złączone geodezyjne na S¹ — prędkość skacze, prąd dq skacze, sterownik traci punkt pracy. Profilowanie prędkości z zaokrąglonymi narożnikami to splajn sferyczny na S¹.

Numeryczna optymalizacja trajektorii. Gdy szukamy optymalnej trasy jako ciągu punktów dyskretnych, każdy krok między sąsiednimi punktami to lokalna geodezyjna. Minimalizowanie szarpania jako członu funkcji kosztu — obok długości trasy i omijania przeszkód — to dokładnie problem splajnu sferycznego, tyle że sformułowany jako optymalizacja na produkcie rozmaitości.

Czym różni się splajn sferyczny od geodezyjnej #

Splajn sferyczny przez punkt W nie porzuca geometrii rozmaitości — nadal porusza się po jej powierzchni. Różni się od geodezyjnej tym, że minimalizuje całkę z kwadratu kowariantnej drugiej pochodnej, zamiast minimalizować długość:

geodezyjna:      min ∫ ‖γ'(t)‖ dt        (długość)
splajn sfery:    min ∫ ‖D²γ/dt²‖² dt    (przyspieszenie)

Efekt: splajn „wchodzi" w W z prędkością zgodną z kierunkiem z jakiego wychodzi — wektory v⁻ i v⁺ są zgodne. Kink znika. Trajektoria jest dłuższa niż dwie geodezyjne, ale gładka i bez szarpania.

Algorytm de Casteljau na rozmaitości to elegancki sposób konstruowania takich splajnów — uogólnienie klasycznych krzywych Béziera z przestrzeni euklidesowej na dowolną rozmaitość Riemannowską. Zamiast interpolacji liniowej między punktami kontrolnymi używa się lokalnych geodezyjnych.

Podsumowanie #

Szarpanie na rozmaitości ma konkretną przyczynę geometryczną: nieciągłość wektora prędkości w punkcie złączenia dwóch geodezyjnych. To kink — skok w przestrzeni stycznej. Splajn sferyczny eliminuje kink przez minimalizację kowariantnego przyspieszenia, zachowując gładkość trajektorii na całej długości.

W następnym artykule pokażemy jak zaimplementować ten splajn w bibliotece geomstats i zwizualizować różnicę między kinkiem a gładką trajektorią na sferze S².