• Nenhum resultado encontrado

11. T ESTES E R ESULTADOS

11.2. Testes e Ensaios

11.2.1. Arranque e Movimento do Robô

O desenvolvimento do Simulador RACbot permitiu a analise e estudo do movimento do robô para diferentes trajectórias. Após a implementação do Sistema de Controlo na plataforma, foi necessário analisar o seu comportamento em ambiente real, não simulado, para perceber as suas acções e melhorar o controlo efectuado. Numa primeira fase, foi analisado o comportamento no arranque e o movimento do robô de um ponto A para um ponto B. Foram utilizados diferentes pontos no campo de jogo tal como mostra a figura 11.2.1.1.

Figura 11.2.1.1 – Testes de movimento efectuados ao robô (varias direcções num raio de 1.2m).

Este conjunto de 12 pontos vai permitir analisar o comportamento do robô em várias direcções partindo do centro do terreno. Inicialmente foram marcados e medidos os pontos no campo e seguidamente foram introduzidos na aplicação de controlo. Os 12 pontos situam-se sobre uma circunferência com 1,2 metros de raio.

Pontos x (m) y (m) Pontos x (m) y (m) A 0 1.2 G -1.2 0 B 1.03923 0.6 H -1.03923 -0.6 C 0.6 1.03923 I -0.6 -1.03923 D 0 1.2 J 0 -1.2 E -0.6 1.03923 K 0.6 -1.03923 F -1.03923 0.6 L 1.03923 -0.6

Tabela 11.2.1.1 – Conjunto de pontos utilizados no ensaio do movimento do robô.

Numa primeira análise podemos concluir que o robô tem alguma dificuldade no arranque. Existe bastante atrito entre as rodas e o campo de jogo (alcatifa). Por outro lado, a plataforma ainda não foi optimizada em relação ao peso, de modo que é possível melhorar o seu desempenho. Ao ensaiar o robô fora do campo de jogo, observamos que as rodas não estão tão susceptíveis ao atrito e o seu movimento ocorre mais suavemente. O estado das baterias também influencia o movimento, à medida que se realizam os testes e as baterias se gastam, o robô vai gradualmente perdendo potência.

Em relação aos testes com os diversos pontos introduzidos, obtivemos bons resultados segundo determinadas direcções do movimento, mas os resultados não foram satisfatórios quando o movimento se realizou noutras direcções. Numa primeira fase, foi ensaiado o movimento sem velocidade angular, ou seja, a rotação do robô sobre o seu próprio eixo permaneceu igual a zero durante todo o movimento. Podemos concluir que os set-points B, F, J tiveram melhores resultados, uma vez que o robô se deslocou para as proximidades dos pontos com um desvio máximo de cerca de 10 cm. Por exemplo,

para o set-point B os motores 1 e 3 têm velocidades simétricas e o motor 2 tem velocidade igual a zero, o que vai facilitar o movimento e equilíbrio do robô. O mesmo acontece no caso do ponto F, o motor 3 fica parado e os restantes motores executam a tracção. O caso J mantém o motor 1 parado e os motores 2 e 3 em movimento.

Concluímos que os restantes set-points que colocam os três motores em movimento, vão originar grandes discrepâncias nos resultados, o robô tem tendência a desequilibrar-se e executar trajectórias incorrectas. A dificuldade de controlo do robô aumenta, quanto maior for a influencia dos três motores na trajectória.

Figura 11.2.1.2 – Posição final do robô após a introdução do set-point C [0.6 1.03923 0.1 0].

Não foi possível fazer a aquisição de dados da trajectória, no entanto, conseguimos tirar algumas conclusões com base no ponto final atingido pelo robô. De notar, que estes testes foram realizados em malha aberta, ou seja, a realimentação através do sistema de visão não foi utilizada, embora a aplicação esteja preparada para utilizar os dados da câmara na execução de trajectórias complexas, nomeadamente, através do comando setTrajectory. O controlo de movimento utiliza apenas odometria. O controlador integra a velocidade do robô ao longo do tempo para obter uma estimativa da posição final.

O robô obteve alguns resultados satisfatórios, contudo, também foram obtidos resultados menos bons. A figura 11.2.1.3 ilustra alguns resultados, através de gráficos XY, dos vários testes executados para diferentes set-points.

a) Ponto H (-1.03923, -0.6) b) Ponto L (1.03923, -0.6) Figura 11.2.1.3 – Testes de movimento efectuados ao robô para os set-points H e L (vmed=1m/s).

a) Ponto B (1.03923, 0.6) b) Ponto C (0.6, 1.03923) Figura 11.2.1.4 – Testes de movimento efectuados ao robô para os set-points B e C (vmed=1m/s).

Ponto B Distância aoPonto B Ponto C Distância aoPonto C

1.03923 0.6 0.6 1.03923 1 0.5 0.10742 0.45 1.02 0.151228 1.04 0.7 0.100003 1.1 1.3 0.563916 1.07 0.6 0.03077 0.65 0.97 0.085398 1.065 0.5 0.103267 0.4 0.6 0.482621 0.085365 0.320791

Tabela 11.2.1.2 – Cálculo da média das distancias das varias amostras aos pontos B e C.

Na tabela 11.2.1.2 é evidente a eficácia do comportamento do robô na execução do set-point B em relação ao set-point C. O set-point C obriga o funcionamento dos três motores, enquanto que o set-point B apenas coloca em funcionamento os motores 1 e 3 com velocidades simétricas, o motor 2 fica parado.

O possível peso excessivo e a dificuldade no arranque foram iminentes nos testes efectuados. O comportamento dos motores difere bastante entre vazio e carga, provando mais uma vez que diversos factores (peso, atrito, desfasamentos, etc.) influenciam bastante a trajectória do robô.

Nos vários testes efectuados podemos tirar as seguintes conclusões:

v A execução dos movimentos para os pontos B, F e J, obtiveram resultados satisfatórios;

v O aumento e diminuição da velocidade do robô influencia muito a trajectória, Para velocidades pequenas, os motores não conseguem vencer as forças de inércia e atrito. Para velocidades elevadas é difícil manter o equilíbrio dinâmico da plataforma, causando uma trajectória muito diferente da esperada. Um bom compromisso obtido foi: vmed= 1m/s;

v O valor da aceleração introduzido na aplicação de controlo deve ser o mais elevado possível. v As trajectórias em que os três motores estão pleno funcionamento têm piores performances

comparadas com as trajectórias em que apenas actuam dois motores.

Como foi referido, as trajectórias B, F e J obtiveram bons resultados devido à forma simplificada da cinemática, assim, concluímos que devemos valorizar este comportamento e adoptá-lo na movimentação do robô. O movimento deve sempre ser realizado no sentido da frente de ataque, ou seja, deve sempre utilizar as rodas 1 e 3 adjacentes ao kicker para tracção principal e utilizar a roda 2 apenas para mudança de direcção, só assim se consegue uma trajectória bastante próxima do esperado.

Figura 11.2.1.5 – Frente de ataque do robô.

A introdução de velocidade angular diferente de zero em simultâneo com o movimento de translação do robô, não obtém resultados satisfatórios. Para cada intervalo t é calculada uma rotação dos eixos no referencial do robô o que origina a actuação dos três motores em simultâneo, como foi analisado na secção 8.3. Nestas circunstâncias, o robô sofre um desequilíbrio de forças o que origina uma trajectória incorrecta muito longe da esperada. Chegámos à conclusão que a utilização de controlo realimentado pelos dados de posição e orientação da câmara é essencial para corrigir os desvios que ocorrem durante o movimento de translação e rotação simultâneo. A frequência de actualização dos dados da câmara terá que ser superior à frequência de execução do controlador de rotação para que se obtenham bons resultados. O controlador realiza actualizações 40 ciclos por segundo, no entanto, foi confirmado que o sistema de processamento de visão apenas consegue um máximo de 15 ciclos por segundo. Será possível alcançar uma solução de compromisso, mas todos os grupos de trabalho envolvidos no projecto RAC, conjuntamente, terão realizar testes de interoperabilidade. Tal não aconteceu, pois o desenvolvimento das aplicações de controlo sofreram atrasos, em todos os níveis da arquitectura de controlo da RAC.

Outro dos problemas identificados envolve o controlador PID de cada motor, este utiliza controlo realimentado para manter a posição actual do motor igual a posição pretendida, no entanto, a posição actual tende a atrasar-se ao longo do tempo, o controlador tenta compensar este atraso, mas os motores não conseguem desenvolver potência suficiente para compensar o atraso de posição. Neste contexto, podemos concluir que o controlo do robô por comandos de posição é bastante difícil, a abordagem mais correcta para esta versão da plataforma é o controlo por velocidade.

Documentos relacionados