• No results found

1. Sammendrag

1.4 Oppfølging av tidligere rapporterte forhold

Nesta secção é feita a descrição da Tarefa 2 e a apresentação dos resultados, onde primeiramente se começa por explicar em que consiste esta tarefa de manipulação bimanual de objetos e o seu respetivo cenário. Posteriormente, são fornecidas informações acerca do modo como se implementou toda esta tarefa no software de planeamento de movimento e os respetivos resultados. Por fim, é feita uma comparação com a forma como os humanos realizam a mesma tarefa.

Começando pela explicação da tarefa, em que esta, tal como a tarefa anterior, tem como objetivo fazer o robô executar movimentos síncronos com os dois braços, com o intuito de validar o modelo de movimento bimanual desenvolvido neste trabalho. No entanto, de forma a diferir da tarefa 1 e se poder validar o algoritmo de colisão entre os braços, propõe-se neste subcapítulo uma tarefa um pouco mais complexa que a anterior, a Tarefa 2.

O cenário para esta tarefa encontra-se ilustrado na figura 6.8a, onde o robô antropomórfico ARoS tem à sua frente peças do toy-vehicle. As duas colunas azul e vermelha encontram-se inseridas nos buracos incorretos da base, ou seja, a coluna azul no buraco vermelho e a coluna vermelha no buraco azul.

(a)Início

(b) Fim

Figura 6.8: Demonstração do cenário para a Tarefa 2. Em (a) é ilustrado o momento inicial

O que se pretende, então, com esta tarefa é que o robô proceda à correção da disposição das colunas trocando-as de lugar, como mostra a figura 6.8b. Para o sucesso desta tarefa o ARoS terá que agarrar cada uma das colunas com uma respetiva mão, proceder à troca das colunas e voltar à postura de repouso. Todos estes movimentos serão com ambos os braços em sincronia e como tal acresce dificuldade ao movimento da troca das colunas que terá que ser previamente bem definido.

De relembrar que este movimento para além de pretender validar o planeamento de movimento bimanual síncrono, pretende verificar se o algoritmo responde correta- mente à colisão entre os braços. Como tal, esta tarefa foi pensada com esse propósito pois, a troca das colunas requer que haja um cruzamento entre os braços. Por outras palavras, esta é uma tarefa espacialmente dependente.

6.2.1 Implementação da Tarefa em Software

6.2.1.1 Criação do Cenário em Simulador

De forma a se poder calcular, planear e simular toda a Tarefa 2 procede-se, primei- ramente, à criação do cenário no simulador em MATLAB R.

O cenário é desenhado consoante o cenário real que se pretende (figura 6.8a). Por isso, dispõem-se todos os objetos necessários sobre a mesa, ficando o cenário como mostra na figura 6.9. Onde cada elemento constituinte do cenário é posicionado e orientado consoante o referencial de origem do mundo, W, disposto na base do braço robótico direito.

6.2.1.2 Formulação dos Movimentos

A Tarefa 2, essencialmente, é constituída pela sequência de três movimentos: 1) da posição inicial o ARoS deve alcançar e agarrar a coluna azul com a mão direita e a coluna vermelha com a mão esquerda; agarradas as colunas 2) deve trocar as

colunas e inserir as colunas nos buracos certos, por fim 3) deve voltar à posição de descanso (posição inicial). A figura 6.10 exemplifica toda esta sequência de movimentos a partir de quatro imagens:

(a)Posição inicial

(b) Alcançar e agarrar

(c) Trocar e inserir

(d)Voltar à posição ini- cial

Figura 6.10: Sequência de movimentos bimanuais planeados para a Tarefa 2.

Esta tarefa pode ser resolvida de duas formas, uma que é a apresentada aqui em que inicialmente o robô opta por cruzar os braços e seguidamente proceder à troca e inserção das colunas ou, então, pode primeiramente agarrar as colunas diretamente e só depois é que cruza os braços, de forma a proceder à troca e inserção. A maneira que se optou aqui nesta tarefa deveu-se ao efeito visualizado no comportamento humano, o “end-state comfort effect” (explicado no Estado da Arte na secção 2.3.2.2), que diz que os humanos preferem optar por uma postura inicial estranha ou antes complicada para que no fim da tarefa possa finalizar com uma postura bem mais simples dos braços. O que se aplica muito bem nesta tarefa, pois a primeira postura, respetiva ao agarre das colunas na figura 6.10b, é bem complicada para os braços. No entanto, permite facilitar o resto do processo de troca e inserção das colunas na base do toy-vehicle e acabar com uma postura final dos braços simplificada, como na figura 6.10c.

A formulação de cada dos movimentos de acordo com o algoritmo de planeamento de movimento bimanual síncrono é seguidamente apresentada:

1o Movimento - Alcançar e Agarrar: Neste movimento, os braços-mãos movem-

se das suas posturas de repouso às posturas que permitam agarrar cada um dos objetos-alvo correspondente (braço direito - coluna azul e braço esquerdo - coluna vermelha), com um determinado tipo de grip. Para este caso, cada uma das mãos tem um diferente tipo de grip, a mão esquerda agarra o objeto em

side grip de precisão, enquanto a mão direita em diagonal grip1 de precisão para permitir que os braços se possam cruzar, agarrar os objetos e não colidirem. Na próxima secção 6.2.1.3 estes tipos de grip utilizados neste movimento e no resto dos movimentos são explicados em maior detalhe. Quanto à formulação deste movimento nos seus problemas de otimização, este apresenta:

• dois problemas do tipo Pa: P1a1 para a seleção de duas posturas finais,

θ1f 1 ∈ R14 (uma para o braço direito e outra para o esquerdo), que

garantam que a mão direita e esquerda agarram corretamente o objeto e

P1a2 para a seleção de duas posturas quase finais (ou muito próximas das

finais dos respetivos braços), θ1f 2∈ R14, para garantir que cada braço-mão não colida com o seu objeto-alvo antes de o agarrar. Note-se que apenas são calculadas as juntas dos braços direito e esquerdo (14 juntas: 1 a 7 braço direito, 12 a 18 braço esquerdo), visto que as juntas dos dedos das mãos já são calculadas consoante o tipo de grip escolhido;

• um problema do tipo Pb: P1b para a seleção da postura de bounce mais adequada, θ1b ∈ R18, que permita um movimento livre de colisões, da

postura inicial à postura definida por P1a2 (θ1f 2), para ambos os braços e mãos e por isso consideram-se 18 juntas, de 1 a 9 braço-mão direita e de 12 a 20 braço-mão esquerda.

Portanto, este movimento é composto por dois movimentos: um movimento

1

A diagonal grip foi desenvolvida propositadamente para esta tarefa, de forma a permitir ao braço direito do ARoS agarrar a coluna na situação em que os braços se cruzam.

composto (direto+back-and-forth) da postura de repouso à postura definida em P1a2 e um movimento direto da postura P1a2 à postura definida em P1a1.

2o Movimento - Trocar e Inserir: o movimento de trocar as colunas e inseri-las

envolve:

• três problemas do tipo Pa: P2a1 para a seleção da postura para o braço direito e esquerdo, θ2f ∈ R14, que permite retirar cada coluna do buraco

onde está inserida. P2a2 para a seleção de duas novas posturas dos braços,

θ2f 2∈ R14, que permitem levar as colunas até perto do local correto de

inserção e P2a3 para calcular as posturas para os dois braços, θ2f 3 ∈ R14, que permitem inserir cada coluna no seu buraco correto;

• um problema do tipo Pb: P2b para a seleção da postura de bounce,

θ2b ∈ R14, que permita um movimento completo livre de colisões para

cada um dos braços e mãos da postura selecionada em P2a1 à postura selecionada em P2a2. De notar que este movimento não necessita de calcular valores para as juntas dos dedos, pois como é um movimento de transporte de objetos convém que os dedos não se mexam para os objetos não caírem.

Ao todo este movimento é composto por um movimento direto da postura P1a1 à postura P2a1, um movimento composto (direto+back-and-forth) da postura P2a1 à postura P2a2 e um movimento direto da postura P2a2 a P2a3.

3o Movimento - Retornar à Postura de Repouso: de forma a retornar à pos-

tura de repouso (uma postura já conhecida), as mãos do ARoS devem largar os objetos nos seus locais e voltar. Este movimento envolve:

• um problema do tipo Pa: P3a1 para selecionar duas posturas para os braços próximas do local onde cada um dos objetos está inserido,

θ3f 1∈ R14, para assim evitar qualquer colisão com o objeto no momento

• um problema do tipo Pb: P3b para calcular a postura de bounce, θ3b∈ R18,

mais adequada ao movimento de retorno. Como este movimento de retorno requer que os dedos se movam, então a postura de bounce é calculada com base em 18 juntas (respetivas aos dois braços e mãos).

Essencialmente, este movimento é composto por um movimento direto da postura definida em P2a3 à postura P3a1 e um movimento composto de P3a1 à postura de repouso.

A tabela 6.5 apresenta, de um modo mais resumido, tudo o que foi dito acima, relativamente, à composição de cada um dos três movimentos constituintes da

Tarefa2.

Movimento Braço-Alvo Braço-Tipo de Seleção Seleção Postura

Grip Postura Final de Bounce

1 Alcançar e direito-Coluna direito-Diagonal P1a1+P1a2 P1b

agarrar Azul nj: 14 14 18 esquerdo-Coluna esquerdo-Side Vermelha 2 Trocar e - - P2a1+P2a2+P2a3 P2b inserir - - nj:14 14 14 14 3 Retornar à - - P3a1 P3b postura inicial - - nj: 14 18

Tabela 6.5: Formulação dos movimentos que compõem a Tarefa 2.

6.2.1.3 Tipos de Grip

O modo como o robô agarra e pega nas colunas é fundamental para a correta inserção destas nos buracos da base do toy vehicle. Como já dito anteriormente, nesta Tarefa

2 a mão direita agarra a coluna em modo diagonal grip e a mão esquerda em side

grip, ambas de precisão. Os modos são escolhidos de modo a permitir facilitar todo

o processo, quer de agarre quer de inserção das duas colunas.

Na figura 6.11 é demonstrada a relação de orientação entre as mãos e os seus objetos-alvo, determinada pelo tipo de grip escolhido para cada mão.

(a)Mão direita: diagonal grip (b)Mão esquerda: side grip

Figura 6.11: Demonstração da orientação (a) da mão direita com a coluna azul nas duas

fases da Tarefa 2 e (b) da mão esquerda com a coluna vermelha.

Consoante estas relações é estabelecida uma expressão matemática para formular a restrição não-linear do problema de otimização do tipo Pa, respetiva à orientação da mão em relação ao objeto-alvo (restrição essa definida em 4.29). Assim, na tabela 6.6 são apresentadas as expressões que definem a orientação da mão robótica direita e esquerda:

Tipo de Grip Restrição Não-Linear Mão direita - Diagonal Grip yR7(θR,f) − ˆxtarR(θR,f)k2 ≤ δ

Mão esquerda - Side Grip xL18(θL,f) + ˆztarL(θL,f)k2 ≤ δ

Tabela 6.6: Descrição dos tipos de grip da Tarefa 2

6.2.2 Desempenho do Planeamento da Tarefa - Resultados

Neste ponto, são apresentados os resultados do planeamento da tarefa bimanual 2. Estes resultados foram obtidos usando um computador Intel R CoreTMi7-4770 CPU@

3.40GHz a correr no Windows 8 de 64-bits, com uma placa gráfica AMD Radeon HD 6570 e 8GB de memória RAM. Todos os problemas de otimização do tipo Pa e Pb, apresentados na tabela 6.5, foram codificados em AMPL e calculados usando o IPOPT 3.11, fornecido pela toolbox gratuita do MATLAB R, a OPTI Toolbox.

Para esta Tarefa 2, composta por três movimentos: (movimento 1) alcançar e agarrar, (movimento 2) trocar e inserir as colunas e (movimento 3) retornar à

posição de repouso; o sistema de planeamento de movimento bimanual síncrono propõe movimentos dos dois braços-mãos sincronizados no tempo, livres de colisões, suaves e semelhantes aos movimentos realizados pelos braços humanos. O resultado de cada um dos movimentos encontra-se ilustrado na figura 6.12, onde é possível visualizar as trajetórias tal como a velocidade linear de cada uma das duas mãos, obtidas no Simulador do ARoS em MATLAB.

(a) Movimento 1

(b) Movimento 2

(c) Movimento 3

Figura 6.12: Representação da sequência e caraterísticas dos movimentos da Tarefa 2

obtidos no simulador do ARoS. Em (a) é demonstrada as trajetórias dos dedos da mão direita e esquerda e a velocidade linear de cada mão para o movimento 1. Em (b) são representadas as trajetórias dos dedos das duas mãos e a velocidade linear de cada mão no movimento 2. Por fim, em (c) é demonstrada a trajetória dos dedos de ambas as mãos e a velocidade linear das mãos para o movimento 3.

De acordo com a figura 6.12 é possível verificar que os picos de velocidade da mão direita e esquerda são atingidos quase ao mesmo tempo (o que era esperado para este planeamento de movimento bimanual síncrono) e ambas as mãos começam e terminam o movimento ao mesmo tempo, com velocidade e aceleração inicial e final igual zero, ou seja, na equação do movimento direto (equação presente em 4.13) é definido ω0 = 0, ωf = 0, α0 = 0 e αf = 0. De salientar que o último pico de

velocidade presente nas figuras 6.12a e 6.12b é correspondente ao movimento direto da posição próxima da final à final do movimento 1 e 2, respetivamente. Por outro lado, para o movimento 2, na figura 6.12b, e movimento 3, na figura 6.12c, o primeiro pico de velocidade é correspondente ao movimento direto da posição inicial a uma próxima.

Quanto às trajetórias, estas são livres de colisões, pois em toda a Tarefa 2 os braços do ARoS não colidem nem com o seu corpo, nem entre os braços e mãos, nem com os obstáculos, que neste caso, são apenas a mesa e a base do toy-vehicle. Para tal, os braços-mãos do ARoS são modelados com 10 esferas como está representado na figura 6.13. As esferas representam não todo o braço, mas sim apenas a partir do pulso pois para esta tarefa não existe a necessidade de se verificar se todo o braço colide com obstáculos. Porém as mãos robóticas são apenas representadas por duas esferas nos dedos e isto para exigir uma menor carga computacional ao sistema de otimização. Apesar desta redução de esferas para se verificarem colisões, o resultado permanece aceitável para os objetivos deste trabalho.

Figura 6.13: Modelação dos braços robóticos para a Tarefa 2, com 10 esferas representando

o pulso, mão e dedos.

Na implementação dos problemas do tipo Pa e Pb, de cada um dos três mo- vimentos, os valores de certos parâmetros usados nos problemas de otimização (nomeadamente na secção 4.5.2) encontram-se dispostos na tabela 6.7. Para além dos parâmetros dos problemas do tipo Pb definidos nesta tabela faltam especificar as funções no tempo de algumas das suas restrições, como: tar(t) que diminui ao longo

coluna-alvo do braço oposto, obs(t) que aumenta de forma a garantir uma trajetória

sem colisões, à medida que se aproxima dos obstáculos e ψobs(t) que diminui ao longo do tempo para o caso do planeamento do movimento de alcançar e agarrar as colunas (objetos-alvo), de forma a permitir que os braços e mãos possam estar próximos um do outro. Por outro lado, ψobs(t) permanece com um valor constante,

valor esse mínimo no movimento anterior, para o movimento de troca (ou transporte) das colunas.

Movimento Problemas de Parâmetros Problemas de Parâmetros

otimização Pa otimização Pb β δ ζtar ζobs λk T tb λk Alcançar e P1a1 1 10−4 10 5 1 P1b 1 0.5 1 agarrar P1a2 1 10−4 10 5 1 Trocar e P2a1 1 10−5 10 5 1 P2b 1 0.5 1 inserir P2a2 1 10−5 10 5 1 Trocar e P2a3 1 10−5 10 5 1 Retornar à P3a1 1 10−3 10 5 1 P3b 1 0.5 1 postura inicial

Tabela 6.7: Valores dos parâmetros envolvidos nos problemas de otimização da Tarefa 2.

O IPOPT é invocado através da OPTI Toolbox usando os seus parâmetros por defeito, à exceção da informação das derivadas de segunda ordem, que são aproximadas usando o método quasi-Newton BFGS de memória limitada e uma tolerância relativa de convergência da função objetivo igual a 10−2. A tabela 6.8

Movimento 1 Movimento 2 Movimento 3

P1a1 P1a2 P1b P2a1 P2a2 P2a3 P2b P3a1 P3b

N 14 14 18 14 14 14 14 14 18 NT - - 20 - - - 10 - 10 Mineq 63 63 661 63 63 28 900 28 230 Obj 15.886 0.102 0.137 0.102 1.40 0.124 0.028 0.024 0.145 CP U 0.23 s 0.31 s 0.68 s 0.58 s 0.20 0.16 s 1.40 s 0.14 s 0.19 s Tempo Total 1.22 s 2.34 s 0.33 s

mostra os resultados numéricos para todos os problemas do tipo Pa e Pb da Tarefa

2, onde N é o número de variáveis (ou antes o número de juntas nj), NT o número de steps do movimento, Mineq é o número de restrições de desigualdade, Obj é o

valor da função objetivo e CP U é o tempo computacional em segundos.

De acordo com os resultados da tabela anterior, é evidente que o IPOPT é capaz de encontrar uma solução ótima para cada um dos problemas num tempo menor que 0.7 segundos. O tempo maior para um movimento é de 2.34 segundos e quanto ao tempo de espera aproximado entre o inicio do planeamento de movimento e a execução do movimento pelo robô ARoS tem-se o tempo do primeiro movimento, que neste caso é de 1.22 segundos.

6.2.3 Comparação com o Desempenho Humano

De forma a se poder comparar o desempenho do ARoS na execução desta Tarefa 2 com o desempenho dos Humanos, realizaram-se alguns testes com um grupo de alunos. Os alunos foram dispostos no mesmo cenário proposto ao robô e foi-lhes pedido para arranjarem maneira de corrigir a disposição das colunas nos seu buracos de cores correspondentes. Para além disto, o importante é realizarem todos os movimentos necessários com as duas mãos ao mesmo tempo.

Os resultados a esta tarefa (e como era de esperar!) foram dois. Num dos resultados um conjunto de alunos optou por, inicialmente, agarrar diretamente as colunas, isto é, com o braço do lado da coluna, e só depois com as colunas já agarradas é que pensou em cruzar os braços para trocar as colunas. A figura 6.14 apresenta a sequência de movimentos captados por algumas fotos tiradas aos alunos que optaram por esta solução. Relativamente a estas fotos é possível verificar que eles agarram as colunas mas depois aquando do processo de troca este é um pouco dificultado, as colunas colidem uma com a outra e o momento da inserção é bem mais complicado, pois com os braços cruzados acresce a dificuldade na precisão da inserção das colunas. No entanto, um outro grupo de alunos opta por cruzar, primeiramente, os braços no agarre das colunas e depois na troca descruza os braços e insere, como ilustrado na figura 6.15. Este grupo de alunos ao preferir uma postura inicial desconfortável,

Figura 6.14: Versão 1 do comportamento humano para a realização da Tarefa 2.

consequentemente, terá uma postura final facilitada - “end-state-comfort effect”. Pelas imagens da figura 6.15 é possível visualizar que a inserção das colunas é bem mais precisa que a anterior e é efetuada ao mesmo tempo pelos braços.

Figura 6.15: Versão 2 do comportamento humano para a realização da Tarefa 2.

versão da execução da tarefa pelos alunos. De forma a comparar os movimentos veja-se na figura 6.16 a sequência de movimentos captados aquando da execução real da tarefa pelo robô. No entanto, para assistir ao vídeo completo segue-se o seguinte link: http://marl.dei.uminho.pt/public/videos/ARoS_bim_syn_task2.html.

Figura 6.16: Demonstração da execução real da Tarefa 2 pelo ARoS.