• Nenhum resultado encontrado

DESENVOLVIMENTO DE SISTEMA DE ESTIMATIVA DE ORIENTAÇÃO PARA ROBÓTICA MÓVEL

N/A
N/A
Protected

Academic year: 2021

Share "DESENVOLVIMENTO DE SISTEMA DE ESTIMATIVA DE ORIENTAÇÃO PARA ROBÓTICA MÓVEL"

Copied!
6
0
0

Texto

(1)

DESENVOLVIMENTO DE SISTEMA DE ESTIMATIVA DE ORIENTAÇÃO PARA

ROBÓTICA MÓVEL

Mateus Soares Rodrigues

1

, Lucas de Oliveira

1

e Eduardo Bento Pereira

1 1 Universidade Federal de São João del-Rei

Praça Frei Orlando, 170 - Centro 36307-352 – São João del-Rei – Minas Gerais

Resumo Neste trabalho apresenta-se o desenvolvimento de um

sistema de baixo custo que utiliza sensores inercias para estimar a orientação de robôs móveis. O modelo matemático utiliza do filtro Complementar e todo processamento computacional é embarcado em um microcontrolador ATmega328.

Palavras Chaves: Sensores inercias, filtro complementar,

microcontrolador.

Abstract: This paper presents the development of a low cost

system that uses inertial sensors to measure the orientation of moving robots. The mathematical approach is based on complementary filtering and all computation processing is embedded on the microcontroller ATmega328.

Keywords: Inertial sensors, complementary filtering, microcontroller.

1

INTRODUÇÃO

A orientação compõe a descrição de como um corpo rígido está localizado no espaço, é definida como a rotação que é necessário ser realizada para mover um objeto de uma dada referência fixa para sua posição angular atual.

A orientação em sido objeto de estudo e pesquisa recorrente nos últimos anos. Tal tendência de pesquisa decorre do fato da orientação ser um fator chave para vários campos da ciência e terem ocorrido enormes avanços na produção de sensores e hardwares que podem ser utilizados para detectar e processar dados de orientação.

Dentre as várias áreas da ciência onde o estudo da orientação tem sido amplamente explorado, podemos destacar robótica móvel [Neto, Macharet e Campos (2008); Iscold et.al (2007)]. Para locomover um robô ao longo de um ambiente com o solo perfeitamente nivelado, na maioria das vezes, é necessário conhecer apenas sua posição, no entanto, quando o ambiente apresenta inclinações e depressões é extremamente necessário conhecer a orientação do mesmo, pois assim pode-se melhor gerir sua movimentação e ter um controle mais eficiente de seus atuadores.

Desta forma, últimos anos, tem sido proposto diversos sistemas eletrônicos capazes de medir a orientação de robôs e diversas técnicas capazes de processar os dados provenientes dos mesmos, tornando-os mais precisos.

Sistemas baseados em imagens são formados por um conjunto de câmeras fotográficas convencionais ou infravermelha que realizam o monitoramento do robô e do ambiente onde ele está localizado. Apesar desse tipo de técnica alcançar ótimos resultados, tais sistemas necessitam que os corpos a serem detectados estejam relativamente próximos as câmeras e também exigem alto processamento computacional [Foster and Sanderson (1984) ].

Outra técnica que tem sido utilizada para obter a orientação de robôs moveis é conhecida como SLAM. Nessa, um sistema de lasers coleta informações a respeito dos arredores do robô, sendo essas informações processadas e comparadas com as obtidas no instante anterior, obtendo assim a variação da orientação entre os dois instantes [Muller et. al (2006)]. Todavia, essa técnica possui elevada custo de implementação e demanda elevado processamento computacional.

Em outra vertente estão as técnicas que utilizam sensores inercias para a obtenção de medidas de orientação. Nessa, acelerômetros, giroscópios são utilizados para obter medidas de orientação, além disso, esses sensores possuem baixo peso e baixo consumo de potência, o que torna está tecnologia adequada ao monitoramento de longo prazo.

Entretanto, os dados provenientes desses sensores geralmente são corrompidos por ruídos e por drifts de medição, assim sé necessário projetar filtros que minimizem o erro contido nesses dados.

Uma das técnicas amplamente utilizadas para a filtragem de dados de sensores inercias é o filtro de kalman [Sabatini (2006); Luinge e Veltink (2004)] Apesar de demandar menor processamento computacional do que a obtenção da orientação por sistemas óticos ou a laser, o filtro de kalman ainda é uma técnica inviável de se implementar em microcontroladores de baixo custo [Neto, Macharet e Campos (2008)].

Outra técnica que tem sido proposta para filtragem de sensores inerciais é chamada filtragem complementar, que apesar de sua baixa complexidade matemática e baixo demanda de processamento computacional, tem levado a estimativas de orientação de alta precisão. Porém, a maioria dos trabalhos que utilizam essa alternativa, o processamento dos dados ainda é realizado em computadores [Neto, Macharet e Campos (2008); Reis, G. et al (2014) ] o que eleva o custo de implementação e dificulta a mobilidade do sistema.

(2)

Assim, nesse trabalho é mostrado o desenvolvimento de um sistema de estimativa de orientação de robôs utilizando sensores inerciais, sendo embarcado todo o processamento no microcontrolador ATmega328 de apenas 16 MHz através de um Arduino UNO. Para tanto, foi construído um shield para conectar os sensores e transmitir a orientação do robô de modo sem fio. Também foi programada uma biblioteca para realizar o processamento de dados.

Com todo o processamento embarcado em um microcontrolador e com o desenvolvimento do shield, o sistema de medição de orientação pode ser facilmente acoplado a qualquer robô. E com a implementação da biblioteca construída, qualquer usuário do sistema pode utilizar os dados de orientação provenientes da mesma de maneira simples e intuitiva, e programar seu robô para qualquer função desejada.

2

O TRABALHO PROPOSTO

O trabalho aqui apresentado consiste no desenvolvimento de sistema de estimativa de orientação para robôs móveis completamente embarcado, wirelles e de fácil utilização. Foi construído um shield para Arduino Uno composto pela unidade inercial AltIMU e por um Xbee, conforme mostrado na Figura 1. A unidade inercial é montada e distribuida pela Polulo® e é composta por circuito integrado LSM303D que contém um acelerômetro e um magnetômetro triaxiais e por um circuito integrado L3GD20H que contém um giroscópio triaxial. Vale lembrar que no presente não são utilizados os dados provenientes do magnetômetro, pois no mesmo não são captadas variações na guinada do robô.

Figura 1 - Shield construído encaixado em Arduino Uno.

Para processar os dados provenientes dos sensores no microncontrolador ATmega328 que é embarcado na placa de desenvolvimento Arduino Uno foi construido, em liguagem C++, a biblioteca CyrosIMU que realiza a amostragem dos sinais de saída desses sensores via comunicação I2C, processa os dados e exporta, para o algoritmo cuja a biblioteca é anexada, os dados de posição angular.

Para testar seu funcionamento, o shield CyrosIMU foi acoplado a um robô, como mostrado na Figura 2. Tal robô é construído com 2 plataformas de acrílico, 4 motores CC e um shield motor. Os comandos de direção do robô são inseridos pelo “Serial Monitor” da Arduino IDE e enviados ao robô por comunicação serial através do sistema de comunicação Xbee.

Figura 2- Robô utilizado nos testes.

O robô foi então colocado para percorrer caminhos previamente definidos em uma plataforma construída para realização dos testes de orientação.

De posse da planta das plataformas, do conhecimento da dimensão dos obstáculos colocados na mesma e das dimensões do robô foi calculado o deslocamento angular que o robô sofreu ao longo dos percursos, sendo esses dados comparados com os estimados pelo sistema desenvolvido.

3

MATERIAIS E MÉTODOS

Nessa seção será detalhado o sistema proposto no trabalho para medição de orientação de robôs em movimento. Será mostrado o funcionamento dos sensores utilizados, os modelos matemáticos aplicados e o processo de implementação.

3.1 Sensores

No presente trabalho optou-se por utilizar sensores inerciais baseados na tecnologia Micro-Electro-Mechanical System (MEMS). Tal tecnologia é extremamente vantajosa para o trabalho em questão devido ao seu reduzido peso e tamanho, baixo consumo de potência, ser de fácil acesso e baixo custo. O sistema de coordenadas North, East, Down (NED) foi adotado para toda a modelagem matemática descrita no presente A Figura 3 mostra em sistema de coordenadas e os nomes atribuídos ao deslocamento angular de cada eixo.

Figura 3- Arfagem, rolagem e guinada.

Também considerou-se que os três eixos de cada sensor estão perfeitamente perpendiculares entre si, que os eixos semelhantes de cada sensor estão perfeitamente alinhados e que os sensores são sempre fixados no centro de massa do corpo no qual será mensurado a orientação.

(3)

3.1.1 Acelerômetro

Acelerômetros do tipo MENS são caracterizados como sensores inerciais devido a maioria das vezes serem constituídos por conjuntos de capacitores posicionados ao redor de estruturas que resistem, devido a sua inercia, às acelerações aplicadas a ela. Assim, tais acelerações promovem o deslocamento dessas estruturas, e esse deslocamento é sentido pelos capacitores supracitados devido aos mesmos terem alterações entre a distância de suas placas e, logo, de sua capacitância. Sendo assim, os acelerômetros são capazes de medir indiretamente a gravidade e a aceleração nos seus três eixos.

3.1.2 Giroscópio

O giroscópio tipo MEMS também é considerado um sensor inercial. Seu funcionamento é parecido com o acelerômetro, entretanto, seus capacitores variam sua capacitância de acordo com a variação da força Coreolis da massa que eles rodeiam. Dessa forma, seu sinal elétrico de saída é proporcional a velocidade angular detectada pelos seus elementos sensores.

3.2 Modelo matemático

3.2.1 Orientação através do vetor gravidade

Se a aceleração linear que age sobre o acelerômetro tiver um pequeno módulo em relação ao vetor gravidade e considerarmos a aceleração angular nula, podemos utilizar o acelerômetro para mensurar a arfagem(

𝜑

𝑎

)

e rolagem(

𝜃

𝑎) [Neto, Macharet e Campos (2008); Iscold et.al (2007)] do corpo em que ele é fixado por meio de uma equação trigonométrica que relaciona seus dados de saída, conforme mostradas na Equações 1 e 2 , em que Gx é aceleração medida no eixo x do a acelerômetro, Gy é aceleração medida no eixo y e Gz é aceleração medida no eixo z.

𝜑𝑎(𝑡)= 𝑎𝑟𝑐𝑡𝑎𝑛 ( 𝐺𝑦 √𝐺𝑥2+ 𝐺𝑧2 ) (1) 𝜃𝑎(𝑡) = 𝑎𝑟𝑐𝑡𝑎𝑛 ( 𝐺𝑥 √𝐺𝑦2+ 𝐺𝑧2 ) (2)

Vemos assim, que a medida de orientação realizada por esse processo é confiável quando o corpo está em estado estático ou realizando movimentos de baixa aceleração, ou seja, medições por esse método são contaminadas em seu espectro de alta frequência [Iscold et.al (2007)].

Vale ressaltar que para que o acelerômetro funcione a melhor forma possível, é necessário que ele passe por um procedimento de calibração. No procedimento de calibração escolhido [Tuck (2007) ], o acelerômetro é colocado paralelo ao solo e são coletados amostras do sinal de saída dos seus três eixos. A média das amostras do eixo x e y nessas condições é o próprio offset dos eixos x e y, respectivamente. Já no eixo z, a média dessas amostras é igual ao offset mais a gravidade. Logo, para obter o offset nesse eixo deve-se subtrair 9.81 m/s do valor da média dos valores coletados.

3.2.2 Orientação através da integração da velocidade angular

Se o período de amostragem (∆𝑡) dos dados de saída do giroscópio for relativamente baixo, podemos obter a arfagem (𝜑𝑔) e rolagem (𝜃𝑔) por meio da integração discreta dos dados

de velocidade angular (𝜔𝜑

, 𝜔

𝜃) provenientes do mesmo, como

mostrado nas Equações 3, 4:

𝜑𝑔(𝑡)= 𝜔𝜑(𝑡)∆𝑡 + 𝜑(𝑡−1) (3)

𝜃𝑔(𝑡)= 𝜔𝜃(𝑡)∆𝑡 + 𝜃(𝑡−1) (4)

Entretanto, suas medições ele possuem elevado drift devido a flutuações de sua tensão de offset, assim seus componentes de baixa frequência da orientação proveniente do giroscópio são comprometidos [ Iscold et.al (2007)].

3.3 Filtro Complementar

Afim de obter uma medição confiável utilizando os dados de orientações dos sensores supracitados foi utilizado o filtro complementar. O filtro complementar é baseado na disponibilidade de diferentes medições da mesma grandeza física, sendo que tais possuem ruídos independentes e localizados em faixas distintas de frequência [Bachmamn (2000)]. Como mostrado anteriormente, as estimativas de posição angular provenientes do acelerômetro são confiáveis em baixas frequência, logo, se constrói um filtro passa-baixa para sd mesmas. Já as estimativas provenientes do giroscópios são confiáveis em alta frequência, o que gera a necessidade de um filtro passa-alta. Para que as filtragens sejam complementares, a funções de transferência do passa-baixa (

𝐻

𝐵 ) e passa-alta (

𝐻

𝐴

)

) devem respeitar a Equação 5.

𝐻𝐵 (𝑠) + 𝐻𝐴(𝑠) = 1 (5)

Tal equação gera as seguintes saída no domínio da frequência, sendo 𝐹𝐶 a frequência de corte dos filtros:

𝜑(𝑠) = 𝐹𝐶𝑠 1+𝐹𝐶𝑠𝜑𝑔+ 1 1+𝐹𝐶𝑠𝜑𝑎 (6) 𝜃(𝑠) = 𝐹𝐶𝑠 1+𝐹𝐶𝑠𝜃𝑔+ 1 1+𝐹𝐶𝑠𝜃𝑎 (7)

As Equações 8 e 9,definem o filtro complementar no domínio do tempo discreto e a Equação 10 exibe a relação entre 𝛼, a frequência de corte e o período de amostragem.

𝜑(𝑡)= 𝛼(𝜔𝜑(𝑡)∆𝑡 + 𝜑(𝑡−1)) + (1 − 𝛼)𝜑𝑎 (8) 𝜃(𝑡)= 𝛼(𝜔𝜃(𝑡)∆𝑡 + 𝜃(𝑡−1)) + (1 − 𝛼)𝜃𝑎 (9) 𝛼 = 𝐹𝐶 ∆𝑡 1+ 𝐹𝐶∆𝑡 (10)

O diagrama de blocos mostrado na Figura 4 detalha o processo de implementação do sistema de filtragem.

(4)

Figura 4-Diagrama de blocos do sistema filtragem.

Para embarcar o filtro complementar utilizou-se a frequência de corte de 1.2 Hz conforme sugerido por Iscold et.al (2007). Como foi utilizado uma frequência de amostragem de 50 ms, utilizando a Equação 10, temos um valor de 𝛼 igual a 0,96.

4

RESULTADOS E DISCUSSÃO

Para averiguar se o sistema implementado apresenta algum tipo de drift, elaborou-se o primeiro experimento, Nesse o robô permanece em estado estacionário e paralelo ao solo, tendo assim os valores de arfagem (

𝜑

) e rolagem(

𝜃

) assumidos como zero.

As Figuras 5 e 6 apresenta os resultados do primeiro experimento para arfagem, rolagem, nelas pode-se observar um erro máximo de arfagem de 0,230 º e um erro máximo de rolagem de 0,210 º. Foram calculadas também a média de erro para cada medição ao longo do experimento, obtendo-se 0,056 º para arfagem e 0,051 º para rolagem.

Figura 5-Estimativa de arfagem, primeiro experimento.

Figura 6-Estimativa de rolagem, primeiro experimento.

No segundo experimento o robô percorre um trajeto previamente determinado em uma plataforma composta por três estágios, conforme visto na Figura 7. No estágio 1 a plataforma não possui variação de nível, já no estágio 2 é composto por uma rampa de 9 º e no estágio 3 a plataforma volta a ficar plana. O circulo vermelho mostra o início do percurso, a trilha em azul representa o caminho que o robô percorreu e o circulo preto mostra o fim do percurso.

Figura 7- Plataforma de testes.

A Figura 8, mostra os valores de estimativa de arfagem (

𝜑

) para o segundo experimento,. Observa-seque as estimativas de arfagem se aproximam, conforme esperado, de zero nos estágios nivelados da plataforma e de +9 º e -9 (valores das linhas pontilhadas em vermelh) durante a subida e descida do estágio 2. A Tabela 1 mostra os valores de errom médio e máximo de estimativa de arfagem para cada estágio.

Tabela 1-Erro da estimativa de arfagem, 2º experimento.

Estágio Erro médio Erro máximo

Estágios nivelados 0,178 0,64 Estágio 2 - subida 0,303 0,875 Estágio 2 - descida 0,431 0,69

Figura 8-Estimativa de arfagem, segundo experimento.

A Figura 9 exibe as estimativas de rolagem para o segudo experimento, como no mesmo o robô não possui variações de rolagem, a estimativa desse deve-se aproximar de 0 º para todo o percurso. Observa-se na figura um erro máxmo de 0,596 º, o erro médio calculado foi de 0,079.

(5)

Figura 9-Estimativa de rolagem, segundo experimento.

No terceiro experimento manteve-se a mesma plataforma do segundo experimento, entretanto, acrescentou-se no estágio 2 e 3 obstáculos, conforme mostrado na Figura 10. Nesse experimentou o robô teve que passar com as rodas da direita sobre o caminho previamente delimitado em azul, como o obstáculo foi colocado sobre esse caminho, apenas as rodas da direita do robô passaram sobre os obstáculos e as duas rodas da esquerda continuam em contato com a plataforma, o que faz o robô realizar um movimento de rolagem. De posse da altura do obstáculo e das dimensões do robô calculou-se que o mesmo deve realizar um movimento de rolagem de -5,3 º.

Figura 10-Plataforma de testes com obstáculos.

A Figura 11 exibe as estimativas de arfagem para o terceiro experimento e a Tabela 2 mostra os o erro médio e erro máximo de arfagem para cada etapa do mesmo. Observa-se que, como se manteve as mesmas variações de arfagem do experimento anterior, os resultados obtidos são extremamente similares.

Tabela 2-Erro da estimativa de arfagem, 3º experimento.

Estágio Erro médio Erro máximo

Estágios nivelados 0,279 0,684 Estágio 2 - subida 0,354 0,683 Estágio 2 - descida 0,599 0,696

Figura 11- Estimativa de arfagem, terceiro experimento.

A Figura 12 contém os valores da estimativa de rolagem para o terceiro experimento e Tabela 3 exibe os valores do erro médio e do erro máximo de rolagem em cada etapa. Como espera dos valores de rolagem tendem para -5,3 (linha pontilhada em vermelho) º quando o robô passa pelos obstáculos colocados na plataforma.

Tabela 3- Erro da estimativa de rolagem, 3º experimento.

Estágio Erro médio Erro máximo

Estágios nivelados 0,202 0,214

Obstáculo 1 0,107 0,23

Obstáculo 1 0,135 0,512

Figura 12-Estimativa de rolagem, terceiro experimento.

5

CONCLUSÕES

O filtro complementar implementado no sistema de estimativa de orientação apresentou-se efciente, atingindo valores muito próximos dos valores esperados.

O shield e a biblioteca construídas geram um sistema de utilização fácil e intuitiva, e propiciam alta versátilidade, sendo possível acoplar rapidamente o sistema a qualquer robô. A biblioteca criada permite que qualquer usuário acesse facilmenteas estimativas de orientação, e utiliza-las oara qualquer aplicação que desejar.

Em trabalhos futuros prentende-se utilizar os dados provenientes do magnetômetro presente na unidade inercial ALtIMU para se obter estimativas da guinada do robô.

Também será investigado a utilização do sistema em robótica áerea.

REFERÊNCIAS BIBLIOGRÁFICAS

Bachmamn, E. R (2000). Inertial and Magnetic Tracking of Limb Orientatio for Humans Into Synthetic Enviroments. Tese (Doutorado) — Naval Posgraduate School. Iscold, P. et al (2007). Desenvolvimento de horizonte artifificial

para aviação geral baseado em sensores mems. In: Anais do V Simpósio Brasileiro de Engenharia Inercial, Rio de Janeiro, RJ.

Foster, N.J and Sanderson, A.C (1984). Determining Object Orientation from a Single Image Using Multiple

(6)

Information Sources. Carnegie-Mellon University. Pittsburgh, Pennsylvania.

Luinge, H. J and Veltink, P. H (2004). Inclination measurement of human movement using a 3-d accelerometer with autocalibration. IEEE Transactions On Neural Systems and Rehabilitation Engineering, Vol. 12, No. 1, pp 112-121.

Muller, M., Surmann, H., Pervolz, K. and May, S. (2006). The accuracy of 6d slam using the ais 3d laser scanner, IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, Heidelberg, Germany.

Neto, A. A.; Macharet, D. G.; Campos, M (2008). Estimativa de Orientação 3D Para Robos Móveis Utilizando Filtragem Complementar,.In: XVII Congresso Brasileiro de Automática, Juiz de Fora – MG.

Reis, G. et al (2014). Controle de posição de um manipulador robótico utilizando sensores inerciais e eletromiografia. In: XX Congresso Brasileiro de Automática, Belo Horizonte – MG.

Sabatini, A. M (2006). Quaternion-based extended kalman filter for determining orientation by inertial and magnetic sensing. IEEE Transactions On Biomedical Engineering, Vol. 53, No. 7, pp 1346-1356.

Tuck, K (2007). Freescale Semiconductor - Application Note: Implementing Auto-Zero Calibration Technique for Accelerometers. [S.l.].

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

1.1 A presente licitação tem por objeto o registro de preços para Aquisição de Materiais (Vidrarias e Reagentes) para os Laboratórios de Química do

Este estudo, assim, aproveitou uma estrutura útil (categorização) para organizar dados o que facilitou a sistematização das conclusões. Em se tratando do alinhamento dos

Somente na classe Aberta Jr e Sr, nas modalidades de Apartação, Rédeas e Working Cow Horse, que será na mesma passada dessas categorias e os resultados serão separados. O

Verificada a efetividade da proposta, a Comissão de Licitações declarou vencedor o licitante Francisco Souza Lima Helm, sendo o total do item 14 licitado o valor de

For additional support to design options the structural analysis of the Vila Fria bridge was carried out using a 3D structural numerical model using the finite element method by

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos