2 Trabalhos Relacionados: Redes Elásticas e Travessia no Espaço de
2.2 Método de Travessia no Espaço de Configuração (C-Space)
Em (WEAVER; DERBY, 1992), é apresentado um método de planejamento de caminho para o caso de dois braços robóticos cooperativos em um ambiente estático e previamente co- nhecido. O algoritmo utiliza uma representação no espaço de configuração e, já que possui conhecimento prévio do ambiente, é capaz de determinar, sempre que necessário, se um dado ponto está em um espaço livre ou ocupado por um obstáculo. Os obstáculos também são previ- amente conhecidos e estáticos.
Na Figura 2.5, é possível observar a representação 2D da ideia originalmente proposta para braços robóticos em um espaço de trabalho 3D. O primeiro passo do algoritmo é gerar um caminho reto entre os pontos de origem xoe destino xf, como é possível notar na Figura 2.5-a.
Com isso, o algoritmo passa a realizar uma busca na linha por regiões proibidas. Quando se encontra tal região, é definido um ponto em espaço livre xaimediatamente anterior a tal região,
bem como um ponto em espaço livre xbapós tal região, como exposto na Figura 2.5-b. No caso
em que xb não é alcançável a partir de xa, o algoritmo realiza uma busca por um ponto seguro
seguro escolhido xcé aquele mais próximo a tal ponto médio, como destacado na Figura 2.5-c.
Em seguida, o algoritmo conecta xaa xc (Figura 2.5-d) e xc a xb(Figura 2.5-e), caso não haja
regiões proibidas entre tais pontos. Caso haja, o algoritmo executa uma nova busca por um novo ponto seguro sobre a reta perpendicular, até que o obstáculo seja superado. Com tal caminho global gerado, o braço robótico realiza a tarefa e alcança seu objetivo.
Figura 2.5: Algoritmo de Travessia no Espaço de Configuração (C-Space) (WEAVER; DERBY, 1992).
Além dos passos anteriores, o algoritmo também possui algumas otimizações, como a verificação de direções adotadas com sucesso anteriormente, utilizando-as quando possível. Quando o algoritmo não encontra nenhum ponto seguro, ele reinicia e executa novamente. Caso execute duas vezes seguidas considerando os mesmos pontos de início e de objetivo, o algoritmo falha.
O algoritmo definido por Weaver e Derby (1992) também possui um critério de avaliação de qualidade, onde é calculada a soma das distâncias dos caminhos, para que se tente encur- tar os tamanhos de trechos, porém, mantendo os pontos de início e partida. Essa estratégia, denominada “String Tightening”, pode encontrar caminhos finais mais curtos, como é possível constatar nas Figuras 2.6-a 2.6-b. Mesmo assim, não há garantias de que o algoritmo sempre
Figura 2.6: Estratégia de otimização “String Tightening” (WEAVER; DERBY, 1992).
encontre o caminho mais curto, como se verifica na Figura 2.6-c.
O algoritmo de Travessia no Espaço de Configuração (C-Space) segue passos em um pro- cedimento recursivo, como disposto a seguir:
1. Assume-se que são conhecidos os pontos de partida e de destino Xoe Xf, respectivamente.
2. Calcula-se o vetor direção do início ao fim e, em seguida, normaliza-o: D = Xf− Xo
kXf− Xok
.
3. Calcula-se o número de passos discretos ao longo de D, do início ao fim: n= ckXf− Xok,
onde c é a constante que determina o tamanho da discretização.
4. Discretiza-se de Xo a Xf, na direção de D, até que o primeiro ponto na região proibida
seja encontrado. Define-se o último ponto seguro como XA:
XA= Xo+ j
D c,
onde j é o último inteiro no intervalo [1, 2, ..., n] antes que um ponto em região proibida seja encontrado.
5. Prossegue-se com a discretização pela região proibida até que o próximo ponto seguro XB
seja encontrado:
XB= Xo+ k
D c,
onde k é o primeiro inteiro no intervalo [ j + 2, j + 3, ..., n] que leva a um ponto seguro. 6. Define-se um conjunto de nSDdireções de busca, XSD, ortogonal a D:
XSDi• D = 0,
para i no intervalo [1, 2, ..., nSD]. Além disso, normaliza-se XSDpara todo i.
7. Se esta for uma busca subsequente, priorizam-se as direções escolhendo-as de acordo com seu produto vetorial com a última direção adotada com sucesso. Essa abordagem favorece a escolha de direções com uma componente na direção da última estratégia de sucesso.
8. Busca-se, a partir do ponto médio da região proibida, (xA+ xB)/2, em direções possivel-
mente priorizadas, por um ponto situado em região segura. Tal ponto é denominado XC.
Se nenhum ponto seguro é encontrado, o algoritmo é reiniciado a partir do último ponto navegado de forma segura. O algoritmo falha para o caso de dois a reinícios sucessivos do algoritmo para os mesmo par (origem, destino) no C-Space.
9. Discretiza-se o caminho entre XA e XC. Se o segmento pode ser atravessado de forma
segura, prossegue-se ao passo 10. Caso contrário, prossegue-se ao passo 11.
10. Escolhe-se quaisquer pontos seguros intermediários encontrados, se possível, na ordem contrária à qual tais pontos foram encontrados. Então, define-se o ponto Xocomo o último
ponto seguro nessa progressão, Xf como sendo XC e retorna-se ao passo 1. O algoritmo
para quando o objetivo é alcançado.
11. Define-se Xocomo sendo o último ponto seguro, Xf como sendo XC, e retorna-se ao passo
1.
Somente após a execução do algoritmo, caso um caminho seja definido, o robô segue até que atinja o objetivo final previamente definido.
Weaver e Derby (1992) citam algumas vantagens do método, como a utilização não-exaus- tiva do mapeamento em C-Space, a utilização de uma abordagem global com análise local de obstáculos, possuir diversas aplicações (de braços robóticos a robôs móveis) e otimização dos caminhos gerados. Algumas desvantagens observadas são a falta de uma prova de convergência,
já que se trata de uma heurística, caminhos desnecessariamente longos (mesmo após a otimiza- ção) e a necessidade prévia de definição de ângulos de junta, no C-Space, para as configurações de partida e chegada. Além disso, o algoritmo foi projetado para o caso de ambientes previ- amente conhecidos, inclusive porque o algoritmo depende da alocação de xb em um espaço
previamente conhecido como livre, mesmo que tal ponto encontre-se fora da região de alcance dos sensores.
Embora tenha sido sugerido por Weaver e Derby (1992) que a ideia pode ser estendida para o caso de robôs móveis, tal abordagem seria apenas válida para planejamento em ambientes previamente conhecidos. Também não é discutido nada sobre configurações de mínimos locais, especialmente para robôs móveis.