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?
mobile-robot
motion-planning
humanoid
Pooya Sagharchi
źródło
źródło
Odpowiedzi:
Porównaj następujące dwa obrazy:
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:
Oczywiście oba zadania planowania mogą być łatwe lub trudne jednocześnie lub pomiędzy nimi.
Są ze sobą powiązane
Są w tym osobni
Żadna z tych list nie jest wyczerpująca.
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.
źródło
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.
źródło
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).
źródło
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.
źródło
Tylko fragment mojej odpowiedzi na podobne pytanie:
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
źródło
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.
źródło