Aby nieco uogólnić, zmienię nieco pytanie.
Poszarpane nadwozie 2-D (samochód) ma linię która się z nim porusza. Samochód można przekształcić liniowo, o ile chwilowe centrum obrotu leży wzdłuż przynajmniej w odległości od punktu który również porusza się wraz z samochodem.llRc
W tym przypadku punkt leży na środku tylnej osi, a leży na tylnej osi.cl
Teraz wyobraź domeny samochodu jest ograniczone do płaszczyzny kwartał z krawędziami i . Początkowo jest on ustawiony względem , daleko od z prostopadłą do , a celem jest przesunięcie samochodu tak, aby był on skierowany do daleko od przy jednoczesnym zminimalizowaniu maksymalnej odległości od najbliższej krawędzi.ABABlABA
( i można umieścić o cal od rzeczywistych ścian, aby zapobiec zadrapaniom i umożliwić niezidealizowany ruch pojazdu).AB
Cofnięcia są dozwolone
Rozwiązaniem jest przesuwanie samochodu wzdłuż aż do nieskończenie małej odległości od (przy użyciu nieskończonego promienia skrętu, aby poruszać się po linii prostej), a następnie obracanie wokół najściślejszego promienia skrętu aż do zetknięcia z następnie obracanie wokół najściślejszego promienia skrętu na bok przeciwległy do czasu z powrotem w kontakcie z . Powoduje to ruch liniowy w przeciwnym kierunku, ale obrót w tym samym kierunku. Te dwa kroki można powtarzać (nieskończenie), aż będzie prostopadły do w którym to punkcie może przesunąć się od w linii prostej. Z perspektywy makro wygląda to tak, jakby samochód jechał wzdłuż aż dojedzieABBAlBAAB , a następnie obraca się stykając się z dwóch ścian, a na koniec przesunięcia wzdłuż . To rozwiązanie jest niezależne od promienia skrętu, ale wiąże się z nieskończonymi zwrotami.B
Brak cofnięć
Teraz jeszcze bardziej ogranicz nasze tłumaczenia, aby środek obrotu musiał znajdować się dalej od i niż . (To eliminuje użyteczność tworzenia kopii zapasowych). Teraz środek optymalnej strategii jest oczywisty: skręć przy maksymalnym promieniu skrętu, ale jak zminimalizować odległość do ściany zbliżającą się i wychodzącą z tej strategii?ABc
Pozostajesz w kontakcie ze ścianą.
Zbliżając się do ściany i widząc, że zaraz ją wyczyścisz, zamiast kontynuować skręcanie, możesz stopniowo zwiększać promień skrętu, aby pozostawać w kontakcie ze ścianą. Pozostawanie w kontakcie ze ścianą oznacza, że linia między punktem styku a środkiem obrotu jest prostopadła do ściany.
Z tego możemy uzyskać pozycję środka obrotu w części minimalnego promienia skrętu.
Drear=Orear2+(Rmin+W)2−−−−−−−−−−−−−−−−−√
Dfront=(Ofront+WB)2+(Rmin+W)2−−−−−−−−−−−−−−−−−−−−−−−−−√
Ten punkt w pełni określa najciekawszą część tury, pozwalając zobaczyć, czy zostanie uderzona jakakolwiek przeszkoda po drugiej stronie. Oczyścić:
(Drear−b)2+(Dfront−a)2−−−−−−−−−−−−−−−−−−−−−−√≤Rmin
Pamiętaj, że robi to różnicę, jeśli idziesz do przodu lub do tyłu. Aby sprawdzić, czy wyczyściłeś oba kierunki, musisz przetestować w odwrotnej kolejności.
Rzeczywiście w powyższym schemacie I ustawione a . W tym przypadku było tak, ponieważ chociaż gruby łuk zdefiniowany przez rysunek i równania powyżej może być najciekawszą częścią krzywej, nie będzie czynnikiem ograniczającym, gdy i nie zostaną odwrócone. Musimy więc rozszerzyć tę krzywą.a=5.9mb=3.3mab
Punkty końcowe można znaleźć za pomocą podobnych trójkątów, stamtąd krzywa będzie po prostu stycznym rozkładem wykładniczym na odległość od ściany.W
Za pomocą tych krzywych możemy zdefiniować funkcję która powie nam, czy pojazd wyczyści obiekt umieszczony w :C(a,b)
C(a,b)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪(Drear−b)2+(Dfront−a)2−−−−−−−−−−−−−−−−−−−−−−√≤RminW+Wreare(acheck−a)Orear(Rmin+W)Wrear≤bW+Wfronte(bcheck−b)(Ofront+WB)(Rmin+W)Wfront≤atrue if a≤acheck and b≤bcheck if a>acheck and b≤bcheck if a≤acheck and b>bcheck if a>acheck and b>bcheck
Gdzie:
acheck=Dfront−OrearRminDrear
bcheck=Drear−(Ofront+WB)RminDfront
Wfront=Dfront−(Rmin+W)RminDrear−W
Wrear=Drear−(Rmin+W)RminDfront−W
Teraz, aby rozwiązać ten system wstecz, aby uzyskać maksymalny , który pozwoliłby na przejście, należy dokonać kilku obserwacji i założeń. Najpierw będziemy zakładać, że chcesz, aby móc jeździć na ziemię w eterze kierunku pomocą będziemy zamienią i na dowolny scenariusz jest gorzej. Jeśli przedni narożnik znajduje się dalej od osi stałej niż tylny narożnik (jak w przypadku wszystkich znanych mi przednich pojazdów kierujących), to a <b jest scenariuszem ciasniejszym. a bRminab
Następnie można użyć metody numerycznej, aby znaleźć która dała równość dla drugiej nierówności. Jeśli to koniec. Jeśli nie, to znajdź która daje równość dla pierwszej nierówności. a ≥ a c h e c k R m i nRmina≥acheckRmin
Słownik
- W - szerokość samochodu
- WB - Rozstaw osi
- Ofront/rear - Zwis przodu / tyłu
- Rmin - minimalna odległość między środkiem obrotu a samochodem
- a - odległość od ściany zewnętrznej do narożnika wewnętrznego
- b - odległość od ściany zewnętrznej do narożnika wewnętrznego
Podłączanie
Przy podanych liczbach Okazuje się, że maksymalna jest nieco poniżej 6,6 mRmin6.6m
Ale może być konieczne złożenie prawego lustra.