Jaka jest różnica między planowaniem ścieżki a planowaniem ruchu?


16

Jakie są główne różnice między planowaniem ruchu a planowaniem ścieżki? Wyobraź sobie, że celem algorytmu jest znalezienie drogi między humanoidalnym robotem grającym w piłkę nożną a piłką, która powinna być jak najkrótsza, a jednocześnie spełniać określone bezpieczeństwo na ścieżce pod względem odległości od przeszkód.

Jaka jest lepsza terminologia? planowanie ruchu czy planowanie ścieżki?


Późno do gry, ale chciałem połączyć to pytanie
Josh Vander Hook

Odpowiedzi:


24

Porównaj następujące dwa obrazy:

wprowadź opis zdjęcia tutaj

Planowanie ścieżki jest dość trywialne. Jest tylko jedna ścieżka: lina. Z drugiej strony planowanie ruchu nie jest takie łatwe.

W labiryncie planowanie ścieżki jest trudne, a planowanie ruchu jest łatwe:

wprowadź opis zdjęcia tutaj

Oczywiście oba zadania planowania mogą być łatwe lub trudne jednocześnie lub pomiędzy nimi.

Są ze sobą powiązane

  • planowany ruch powinien podążać ścieżką lub ściśle nią podążać
  • bieżący ruch może wpływać na planowanie ścieżki. Jeśli jedziesz w jednym kierunku z dużą prędkością, nagła zmiana prędkości może nie być najlepszym pomysłem, nawet jeśli byłoby to konieczne, aby dostać się na najkrótszą drogę. Lub początkowa pozycja nieholonomicznego robota, która znacząco wpływa na możliwą ścieżkę.

Są w tym osobni

  • ruch jest związany z czasem (zmiana pozycji w czasie), ale sama ścieżka nie. Nawet jeśli ruch przebiega dokładnie wzdłuż ścieżki, może on mieć różne trajektorie prędkości i / lub przyspieszenia. Twój robot może na przykład zatrzymać się, aby pozwolić innemu robotowi przekroczyć jego ścieżkę, co jest zmianą ruchu, ale nie samą ścieżką.
  • na ruch mogą wpływać inne rzeczy, na przykład wiatr

Żadna z tych list nie jest wyczerpująca.

Które warunki są lepsze niż? planowanie ruchu czy planowanie ścieżki?

Nie ma „lepszego” terminu. To zależy od tego, co opisujesz.

Do wszystkiego, co wymaga poruszania fizycznym robotem, użyłbym planowania ruchu . Jak mogę dostać to z miejsca na miejsce? może być pytanie, na które odpowiadasz.

Jeśli sam robot jest wyabstrahowany, a planujesz tylko ścieżkę punktu przez labirynt, użyłbym planowania ścieżki . Jaka jest najkrótsza ścieżka od punktu A do B? może być przykładowym pytaniem.

Ale znowu oba zadania planowania są ze sobą powiązane. Jeśli zapytasz Jaka jest najkrótsza możliwa ścieżka? z pewnością możliwości geometrii i ruchu robota określają, co jest możliwe . Robisz jednocześnie planowanie ruchu i ścieżki . Użycie dowolnego z tych terminów powinno być w tym przypadku w porządku.

Dotyczy to również innych przypadków. Oba terminy mogą być używane zamiennie, ponieważ definicja ruchu i ścieżki nie są bardzo jasne. (ścieżka sugeruje, że ruch odbywa się wzdłuż ścieżki i ruch koniecznie dzieje się wzdłuż ścieżki). I tak zazwyczaj robisz oba do pewnego stopnia.


6

Jaka jest różnica między szczegółowym GPS a prowadzeniem samochodu?

GPS to planowanie trasy: polecenia wysokiego poziomu, takie jak „skręć w prawo za 1 milę”.

Prowadzenie pojazdu to planowanie ruchu, co oznacza podążanie trasą wyznaczoną przez planowanie trasy , przy jednoczesnym dbaniu o szczegóły: komunikowanie się z samochodem, pozostawanie na pasie ruchu, obserwowanie pieszych, przestrzeganie przepisów ruchu drogowego, łączenie się z innymi pojazdami, zmiana pasów, itp.


3

Tak naprawdę nie ma różnicy. „Planowanie ścieżki” może być częściej używane do prostego opisu problemu znalezienia pożądanej ścieżki z jednego stanu (lub podzestawu stanów) do drugiego. Podczas gdy „planowanie ruchu” może być użyte do opisania tego samego problemu, ale dokładniej rzeczywistych poleceń, których robot używa do śledzenia szeregu pożądanych stanów na ścieżce.

Na przykład planowanie ścieżki wytworzy pożądaną trajektorię dla rakiety, podczas gdy planowanie ruchu wygeneruje szereg poleceń dla silników, płetw itp.

Dlatego w przypadku wspomnianego problemu musisz zaplanować ścieżkę, którą podąży robot. Następnie należy go rozszerzyć na trajektorie dla wszystkich stawów nóg i ramion robota. Następnie musisz przekonwertować te trajektorie na nieprzetworzone polecenia do silników (lub dowolne wejście sterujące akceptowane przez robota).


2

W przypadku robotów najczęściej stosowanymi terminami są planowanie ścieżki i planowanie trajektorii. Podczas gdy ruch jest najczęściej używany w połączeniu nie z planowaniem, ale z kontrolą jak w kontroli ruchu.

W większości przypadków przy planowaniu ścieżki brany jest pod uwagę aspekt planowania przestrzennego, podczas gdy planowanie trajektorii (ponownie, w większości przypadków) obejmuje również komponenty prędkości i przyspieszenia. W przypadku robotów przemysłowych i maszyn CNC punktami nawigacyjnymi są programista, a kontroler ruchu (kontroler robota, CNC) planuje i wykonuje trajektorie. Na podstawie ograniczeń dynamiki (systemu lub pochodzących z programatora) kontroler ruchu oblicza plan, jak dotrzeć do następnego punktu i dotrzeć tam z pożądaną prędkością i przyspieszeniem (zero, jeśli chcesz pozostać w następnym punkcie)

W kolejności zdarzeń normalnie planuje się ścieżkę w postaci waypointów, a następnie planuje trajektorie (w tym prędkości i przyspieszenia) łączące te punkty. W zależności od używanego systemu może to zrobić kontroler ruchu.


2

Tylko fragment mojej odpowiedzi na podobne pytanie:

Planowanie ścieżki to proces, którego używasz do budowania ścieżki od punktu początkowego do punktu końcowego, biorąc pod uwagę pełną, częściową lub dynamiczną mapę. Planowanie ruchu to proces definiowania zestawu działań, które należy wykonać, aby podążać zaplanowaną ścieżką.

Mogę również dodać, że nawigację można wykonywać tylko przy użyciu planowania ruchu, ale wymaga to planowania w nieskończonej ciągłej wielowymiarowej przestrzeni, która musi uwzględniać model ruchu robota (sterowanie poślizgowe, różnicowy, nieholonomiczny ...) i zmiany w prędkość i przyspieszenie.

Najczęstszą metodą w robotyce jest rozwiązanie problemu z nawigacją za pomocą planowania ścieżki (czyste geometryczne planowanie od A do B), a następnie zastosowanie planowania ruchu na górze, aby ocenić wykonalność ścieżki.

Jest bardzo mało prawdopodobne, aby roboty stosowały się do dokładnego planu ruchu ze względu na niepewność uruchomienia (poślizg, kumulują się błędy kontroli prędkości, kumulują się błędy pozycji ...). Zwykle rozwiązuje to online planista wysokiego poziomu, który monitoruje postępy po drodze i odpowiednio dostosowuje polecenia ruchu.

Szczegóły są znacznie bardziej złożone, ale starałem się to streścić w prosty sposób. Mam nadzieję że to pomoże.

Odwołaj się do mojej starej odpowiedzi: /programming//a/19749176


2

Planowanie ścieżki zasadniczo polegałoby na wytyczeniu ścieżki na określonym terenie, w której robot będzie mógł nawigować, przede wszystkim automatycznie, w połączeniu z wykrywaniem najkrótszej trasy omijającej przeszkody.

Planowanie ruchu można nazwać procedurą, dzięki której robot może się poruszać - jakiego rodzaju czujników użyć, jakiego rodzaju koła się poruszać, automatycznego lub RC itp.

Planowanie ścieżki można również nazwać nieodłącznym ćwiczeniem programowym, a planowanie ruchu - ćwiczeniem sprzętowym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.