Para generalizar um pouco, vou reformar a pergunta um pouco.
Um corpo 2-D estriado (carro) tem uma linha que se move com ele. O carro pode ser linear transformado, desde que o centro instantâneo de rotação ao longo de mentiras l , pelo menos, a distância R de distância a partir de um ponto C que também se move com o carro.llRc
Nesse caso, o ponto fica no centro do eixo traseiro e l fica no eixo traseiro.cl
Agora imagine o domínio do carro é limitada a um plano trimestre com bordas e B . Inicialmente, ele é colocado contra A , longe de B com l perpendicular a A , e o objetivo é converter o carro de modo que fique contra B longe de A , minimizando a distância máxima da borda mais próxima.ABABlABA
( e B podem ser colocados a uma polegada das paredes reais para evitar arranhões e permitir movimento não idealizado do veículo.)AB
Reversões permitidas
A solução é avançar o carro ao longo de até que esteja uma distância infinitesimal de B (usando um raio de viragem infinito para percorrer uma linha reta). Em seguida, gire sobre o raio de viragem mais apertado até entrar em contato com B. Em seguida, gire sobre o raio de viragem mais apertado em o lado oposto até que de novo em contacto com um . Isso resulta em movimento linear na direção oposta, mas rotação na mesma direção. Esses dois passos podem ser repetidos (infinitamente) até que l seja perpendicular a B , e nesse ponto ele pode se afastar de A em uma linha reta. De uma perspectiva macro, parece que o carro desliza ao longo de A até atingirABBAlBAA , seguida de rotação, mantendo contacto com ambas as paredes e, finalmente, avançando ao longo de B . Esta solução é independente do raio de viragem, mas envolveu inversões infinitas.BB
Sem reversões
Agora vamos restringir ainda mais nossas traduções para que o centro de rotação fique mais longe de e B que c . (Isso remove a utilidade de fazer backup) Agora, o meio da estratégia ideal é óbvio: gire no raio máximo de giro, mas como você minimiza a distância até a parede que se aproxima e sai dessa estratégia?ABc
Você permanece em contato com a parede.
Ao se aproximar da parede e ver que está prestes a limpá-la, em vez de continuar a girar, você pode aumentar gradualmente o raio de viragem para permanecer em contato com a parede. Permanecer em contato com a parede significa que a linha entre o ponto de contato e o centro de rotação é perpendicular à parede.
A partir disso, podemos obter a posição do centro de rotação enquanto estiver na parte mínima do raio de virada.
Dfront=√
Drear=Orear2+(Rmin+W)2−−−−−−−−−−−−−−−−−√
Dfront=(Ofront+WB)2+(Rmin+W)2−−−−−−−−−−−−−−−−−−−−−−−−−√
Este ponto define completamente a parte mais interessante do turno, permitindo ver se algum obstáculo do outro lado seria atingido. Para limpar:
(Drear−b)2+(Dfront−a)2−−−−−−−−−−−−−−−−−−−−−−√≤Rmin
Observe que faz diferença se você está avançando ou retrocedendo. Para ver se você limpava as duas direções, teria que testar com aeb invertido.
a=5.9mb=3.3mab
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
Onde:
acheck=Dfront−OrearRminDrear
bcheck=Drear−(Ofront+WB)RminDfront
Wfront=Dfront−(Rmin+W)RminDrear−W
Wrear=Drear−(Rmin+W)RminDfront−W
Rminab
Rmina≥acheckRmin
Glossário
- W
- WB
- Ofront/rear
- Rmin
- a
- b
Conectando
Rmin6.6m
Mas talvez você precise dobrar o espelho certo.