desenvolvimento de um robô autônomo do tipo sumo através do

Propaganda
DESENVOLVIMENTO DE UM ROBÔ AUTÔNOMO DO TIPO SUMO ATRAVÉS
DO MÉTODO DE CAMADAS
Francisco Marcelino Almeida de Araújo1; Ricardo de Andrade Lira Rabêlo2; Carlos Erlan Olival Lima1;
Antônio Edson Rocha Filho1; Mário Bibiano da Silva Júnior1
1.
LABIRAS, Departamento de Indústria, IFPI
Endereço: Praça da Liberdade, 1597 Bairro Centro CEP:64000-040, Teresina - Piauí
E-mails: [email protected], [email protected], [email protected], [email protected]
2.
LABIRAS, Departamento de Computação, UESPI
Endereço: Rua João Cabral, Bairro Pirajá CEP: 64001-150, Teresina - Piauí
E-mails: [email protected]
Resumo Este artigo tem como objetivo mostrar o
desenvolvimento de um projeto de robótica a partir do método
de camadas focando-se nas camadas eletrônica e
computacional. Na camada eletrônica é apresentado os
sensores utilizados, a placa de controle e o circuito que permite
a inversão do sentido de rotação do motor. Quanto à camada
computacional, é apresentado o método utilizado para realizar
o planejamento de velocidade e direção do robô, que será o
campo potencial. Este método de planejamento de caminhos
pode ser utilizado tanto em ambientes estáticos quanto
completamente dinâmicos. Neste trabalho o ambiente é
parcialmente dinâmico, pois é considerado que o alvo está em
movimento enquanto o obstáculo está estático. Para demonstrar
a eficiência deste método de planejamento de caminhos, foi
realizada uma simulação no software MATLAB.
Palavras Chaves: Método de Camadas, Planejamento de
Direção, Planejamento de Velocidade, Robôs Autônomos.
Abstract: This paper has the objective of shows the
development of a robotics project through of the layered
approach. The paper is focus in the electronic and
computational layers. In the electronic layer is presented the
sensors by using, the control board and the circuit which
enables the reverse current direction. In the computational
layer is presented the potential field method. The potential field
method is used for velocity and direction planning. The
potential field can be used in static and dynamic environments.
In this work, the environment is partially dynamic, therefore
the target is in movement and the obstacle is static. For
demonstrating the efficiency of this path planning method, a
simulation has been done in the MATLAB software.
Keywords: Layered approach, Direction Planning, Velocity
Planning, Autonomous Robots.
1
INTRODUÇÃO
A robótica móvel segue três ramos: terrestre, aérea e
subaquática, porém o princípio de construção do robô é o
mesmo para as três ramificações. Um dos métodos aplicados
no desenvolvimento de robôs móveis é o de distribuição em
camadas. Este método consiste na organização do robô em
camadas, que são: a camada mecânica, a camada eletrônica e a
camada computacional (PEREIRA, 2010).
A camada mecânica engloba os atuadores e a estrutura do robô.
A camada eletrônica é onde está incluído todo o circuito,
sensoriamento e comunicação do robô. Já a camada de
computação é responsável pelo controle autônomo ou guiado
do robô, através de sua programação (PEREIRA, 2010).
Devido à elevada complexidade do desenvolvimento de um
projeto de robótica, este artigo irá se focar apenas no
desenvolvimento das camadas computacional e eletrônica.
Com relação à camada computacional, se terá como ênfase o
método de planejamento de caminho utilizado, que foi o campo
potencial. O campo potencial vem sendo bastante utilizado na
robótica para a geração de caminhos. Neste método é
considerado que a meta a ser alcançada corresponde a uma
força de atração e os obstáculos correspondem a uma força de
repulsão (FARIA et al, 2006). Com relação à direção a ser
seguida pelo robô para desviar dos obstáculos e encontrar o seu
alvo é considerada como sendo um vetor resultante da soma de
todos os vetores de força envolvidos (FARIA et al, 2006).
O método de camadas foi utilizado para a construção de um
robô autônomo, com objetivo de participar da competição de
guerra de robôs. A categoria escolhida foi a sumo. Nesta
categoria o objetivo é empurrar o oponente para fora da arena
para que se conquiste a vitória. Para realizar a navegação do
robô é considerado que a borda da arena irá equivaler ao
obstáculo e estará em movimento estacionário, e o oponente é
o alvo em movimento.
Este artigo utiliza o método de camadas e o campo potencial
para robôs da classe sumô, mas a sua utilização pode ser
estendida para outros tipos de robôs terrestres como os
seguidores de linha e os robôs utilizados para competições de
futebol. Outra implementação para este método é na indústria,
pois o método de camadas permite que o desenvolvimento do
projeto seja mais rápido e eficiente. Isto é possível devido à
divisão das tarefas de construção, o que proporciona que cada
parte da equipe se foque em uma camada distinta.
1
2
DEFINIÇÃO DO PROJETO
2.2
Camada Eletrônica
O primeiro passo que deve ser seguido na construção de um
robô móvel, ou de qualquer projeto que se deseja realizar, é a
determinação da sua utilização. Neste projeto pretende-se obter
um robô móvel com as dimensões e peso máximo estabelecido
pelas regras da competição. Além disso, pretende-se que o robô
tenha um elevado torque e seja capaz de detectar o oponente.
A camada eletrônica envolve todo o circuito, sensoriamento e
comunicação do robô. Quanto ao circuito eletrônico, foi
utilizada a Ponte H apresentada na figura 1. Este circuito é
utilizado para fazer a inversão do sentido de rotação do motor.
Este circuito utiliza semicondutores do tipo Mosfet e um
circuito dobrador de tensão para que os semicondutores sejam
acionados. O esquema do dobrador de tensão é apresentado na
figura 2.
A partir desse pressuposto se estabelece o modo de locomoção
mais adequado e o tipo de comunicação que será feito. Além
disto, se estabelece a forma de aquisição de dados para o
posicionamento do robô em relação ao ambiente. Por último
deverá ser escolhido o microcontrolador que irá atender as
necessidades do projeto (PEREIRA, 2010).
Para o robô construído pela Equipe Labiras, foi preciso
construir uma ponte H capaz de suportar elevada potência,
usando, para isso, os transistores de efeito de campo – FET. O
FET usado na ponte H foi o IRF3205, que, segundo seu
fabricante,
suporta
até
±75A
(INTERNATIONAL
RECTIFIER).
Mas como foi dito anteriormente, este artigo terá como foco
apenas as camadas eletrônica e computacional, que serão
relatadas com mais detalhes a partir do próximo item.
O transistor FET é um dispositivo controlado por tensão e
como no robô existe apenas uma fonte de tensão para os
motores, foi preciso construir um circuito capaz de dobrar a
tensão da bateria para que os transistores FET fossem
habilitados (FILHO, 2013). A figura 2 representa o esquema do
dobrador de tensão utilizado.
2.1
Iniciando o Projeto
VCC
R7
1
Chave 1
Q7
2
Q1(G)
BC558
Q3
10k
1
R2
Q1
Q6
2
BC548
1
1K
1
1
R12
R11
10k
IRF3205
R1
2
100
Q1(S)
Q3(S)
2
IRF3205
2
10k
Chave 2
R8
1
Q8
2
Q4
BC558
10k
1
R10
2
Q4(G)
Q2
Q5
1
BC548
1k
IRF3205
R9
2
100
IRF3205
1
R3
2
1
10k
R4
2
10k
DOBRADOR
PIN
Figura 1. Esquema da Ponte H
VCC
PIN
J3
VCC
PIN
R2
D2(K)
4
R
VCC
8
2k2
C2
Q
DC
5
CV
3
7
C1
GND
TR
1
2
1N4007
C3
U1
R1
GRND
PIN
10u
D1 D2
1N4007
10u
15k
TH
6
555
0.022u
Figura 2 – Esquema do Dobrador de Tensão
transistores Q1, Q2, Q3 e Q4 são os FETs responsáveis pelo
Por causa do alto custo dos FETs tipo P, foi construída uma
funcionamento da ponte h.
ponte H numa configuração que usa apenas FETs tipo N. No
esquema da Figura 2, os transistores Q5, Q6, Q7 e Q8 são
Quanto ao sensoriamento, são utilizados sensores ultrassom
usados para amplificar o sinal enviado pelo arduino, que é o
para detectar o oponente e sensores de linha para detectar a
circuito responsável pelo controle dos movimentos do robô. Os
borda da arena. O sensor ultrassom utilizado foi o HC-SRF04,
2
o qual possui um pino que é utilizado como entrada e outra
como saída. O alcance é de até 4 metros e o erro é no máximo
3 milímetros.
O sensor de linha consiste no emprego de um fototransistor
infravermelho e um diodo emissor de luz (LED). Como o
ringue é preto e a borda do ringue é branca, este sensor pode
ser utilizado para verificar a mudança de cor.
Para realizar o controle do robô foi utilizado o Arduino Due, o
qual foi escolhido devido a capacidade de processamento do
microcontrolador ARM Cortex M3 32 bits. Este
microcontrolador é suficiente para processar as funções
matemáticas requeridas.
2.3
Camada Computacional
Para realizar o planejamento da velocidade e da direção do
robô é utilizado o campo potencial. O método campo potencial
é o único método empregado atualmente que pode ser utilizado
em ambientes completamente dinâmicos, que são ambientes
onde o alvo e o obstáculo estão em movimento. O campo
potencial é um dos métodos mais empregados para
planejamento de caminhos, pois pode ser utilizado tanto com
ambientes estáticos como ambientes dinâmicos. Apesar disso,
o campo potencial possui uma grande desvantagem, que é o
elevado número de entradas necessárias. O campo potencial
precisa de uma grande quantidade de recursos computacionais
devido a esta elevada dimensionalidade do número de entradas
e a complexidade das suas equações. Esta desvantagem pode
tornar o método inviável devido à necessidade de hardware
mais robusto e oneroso.
Neste artigo, o campo potencial é apresentado de forma
simplificada, pois se considera que apenas o alvo esteja em
movimento. Na figura 3 é apresentada a trajetória do robô,
assim como todas as variáveis necessárias para a determinação
da velocidade e direção do robô. Na figura 3 temos que os
vetores relativos à velocidade e as posições relativas entre o
robô e o alvo correspondem as variáveis utilizadas nas
equações 1 e 2. Para simplificar o modelamento será
considerado nos cálculos apenas um alvo a ser atingido. Para
descrever o sistema são utilizadas as seguintes notações:
XOY: coordenadas globais no plano de trabalho;
palvo ε R2: posição do alvo;
valvo ε R2: velocidade do alvo;
p ε R2: posição do robô;
v ε R2: velocidade do robô;
pra = palvo - p: Posição relativa do robô ao alvo;
Ψ: ângulo of pra;
θalvo: ângulo of valvo;
θ: ângulo of v.
2.3.1 Planejamento de Velocidade do Robô
Como o planejamento de velocidade está sendo feito para
um robô da categoria sumo, foi considerado que a influência do
obstáculo é baixa. Portanto, é considerado que não há força de
repulsão, consequentemente somente o potencial de atração é
utilizado para planejar a velocidade do robô.
Na figura 3 são apresentados os ângulos formados entre o
robô e o eixo horizontal e entre o eixo horizontal e a trajetória
projetada pelo alvo. Além disso, é apresentado o ângulo entre o
alvo e o eixo horizontal e os vetores velocidade de cada
elemento participante.
Considerando que os vetores v, vtar e prt, apresentados na
figura 3 formam um triângulo, teremos a partir da lei dos
cossenos, que:
|| ||
||
(||
||
||
||||
||
)
||
(1)
Nesta equação, se deve assumir que vtar e ||prt|| são
diferentes de zero.
A direção do robô, segundo (L. HUANG, 2009) é dada
pela equação 2, sendo que esta representa o ângulo que o robô
faz com o eixo x.
|| ||
(2)
Nas equações 1 e 2 temos que ε1 é uma constante empírica
que corresponde ao fator de escala do potencial atrativo, e
quanto maior o seu valor maior será a velocidade determinada
para o robô.
2.4
Simulações da Trajetória de um Robô da
classe Sumô Autônomo
Foi realizada uma simulação no software MATLAB para
validar o método de planejamento de caminhos utilizado. Nesta
simulação foi estabelecido um ambiente que representa o
deslocamento do objeto e do robô dentro de um círculo com
diâmetro de 152 centímetros, como é apresentado na figura 5.
Nesta representação o alvo primeiramente move-se em linha
reta com uma aceleração de 8 m/s2. Isto ocorre até que o robô
encontre o alvo.
No momento que o alvo alcança a sua velocidade máxima,
o movimento torna-se linear com velocidade constante até que
encontre um determinado ponto no espaço. A partir desse
ponto o alvo começa a escapar do robô em vez de tentar
encontrar ele, se movimentando de forma sinodal, com uma
aceleração de 8 m/s2.
Na simulação o alvo é inicialmente colocado na posição [50
114] enquanto o robô está na posição [50 38]. Estas posições
foram escolhidas, pois a mínima distância entre o robô e o alvo
no inicio do combate é de 24 centímetros. Portanto, a
simulação foi inicializada com o robô e o alvo colocados em
lados contrários no centro do raio do círculo.
A máxima velocidade estabelecida para o alvo é de 20
cm/s, que é a velocidade média alcançada pela maioria dos
robôs usados na competição. O obstáculo é representado pela
borda do círculo e a velocidade dele é zero (ROBOCORE).
Figura 3. Representação do Posicionamento do Robô em Relação ao Alvo
(L.HUANG, 2009)
Este movimento do alvo foi designado de forma que se
obtivessem algumas possibilidades de movimento do robô
oponente durante a partida. O robô oponente é considerado
como sendo o alvo nesta simulação. No primeiro momento, o
alvo está se movimentando na direção do robô, o que ocorre
3
enquanto o movimento do alvo é em linha reta. Quando o alvo
começa a se movimentar de forma sinodal corresponde ao
momento em que o robô oponente está tentando escapar. Neste
momento o alvo tenta dificultar a percepção do robô que está
tentando encontrá-lo, realizando seu movimento na forma de
parábola.
Na figura 5 é apresentado o movimento que o robô
descreve para encontrar o alvo. Para melhor ilustrar o
movimento que o alvo descreve, é apresentado na figura 6 o
movimento do alvo de forma ampliada.
Figura 8. Velocidade do robô com o alvo se movimentando com velocidade
variável.
Robô
Alvo
Figura 5. Trajetória descrita pelo robô até encontrar o alvo
A partir deste ambiente foram gerados dois gráficos, o
primeiro relativo à posição entre o robô e o alvo e o segundo
correspondente a velocidade do robô. Estes gráficos são
gerados em relação ao tempo e são representados nas figuras 7
e 8, respectivamente.
Figura 6. Trajetória descrita pelo alvo
A maior velocidade que o robô poderá ter será de 51 cm/s,
portanto foi estabelecido o valor de 0,5 para o fator de escala.
Este valor foi estabelecido, pois um valor maior que 0,5 faria
com que o robô tivesse que se movimentar com uma
velocidade superior a máxima velocidade estabelecida. Isto
pode ocasionar danos nos motores impossibilitando o
movimento do robô. Com os valores estabelecidos para a
velocidade e o fator de escala tem-se que o tempo necessário
para encontrar o alvo é de 2,261 segundos.
O torque máximo do robô com estes parâmetros é de 4,52
N.m, o que permite ao robô carregar um objeto com um peso 5
vezes superior ao seu. Portanto, este robô poderá carregar até
15 quilogramas, já que a sua massa é de 3 quilogramas.
Com relação à figura 8, esta mostra a variação da
velocidade do robô durante o movimento, que é dividida em
três partes. A primeira parte do movimento corresponde ao
momento em que apenas o alvo está se deslocando. A segunda
parte do movimento corresponde ao instante em que o robô
começa a se deslocar, e termina apenas no momento que o robô
alcança a sua velocidade máxima. Quanto à terceira parte do
movimento, corresponde ao momento em que o robô se
deslocará de acordo com as diretrizes estabelecidas pelo campo
potencial. Cada parte do movimento será descrita mais
detalhadamente a partir da análise dos gráficos das figuras 9,
10 e 11.
Na figura 9 é apresentada a primeira parte do movimento,
no qual as rodas do robô estão deslizando, sendo que nesse
momento o robô não realiza nenhum deslocamento no espaço.
O robô fica com as rodas derrapando durante um intervalo de
tempo de 0.015 segundos, sendo que a sua velocidade final
durante esse primeiro momento será de 0.1766 cm/s. Esta será
a velocidade na qual o robô começará a se deslocar.
X: 0.015
Y: 0.1766
Figura 7. Distância relativa entre o robô e o alvo, com o alvo se movimentando
com velocidade variável.
Com relação ao tempo que leva para o robô encontrar o
alvo, este depende do fator de escala para potencial atrativo
(ε1), sendo que quanto maior o seu valor maior será a
velocidade do robô. Entretanto, o valor desta constante é
limitado pelo motor utilizado para locomoção do robô, pois há
uma velocidade limite que o robô pode alcançar. O motor
utilizado para determinar a velocidade máxima do robô foi o
PITTMAN (PITTMANEXPRESS, 2013) com uma razão de
redução de 29,5:1. Portanto, de acordo com as equações
apresentadas por (MEGGIOLARO, 2006), a maior velocidade
permitida para o robô será de 51 cm/s.
4
Figura 9. Representação do intervalo de tempo no qual as rodas do robô ficam
derrapando
O movimento que o robô realiza é uniformemente
acelerado, e sua aceleração inicial é dada pela equação
apresentada por (MEGGIOLARO, 2006). Esta aceleração
corresponde ao momento onde o robô fica derrapando, sendo
que o valor determinado foi de 11.772 m/s2.
A segunda parte do movimento ocorre desde o momento
em que as rodas pararam de deslizar até o momento em que o
robô alcança uma velocidade superior a velocidade que é
estabelecida pelo campo potencial. O intervalo de tempo em
que isto ocorre é de 0.036 segundos.
Durante este momento, o robô estará acelerando de acordo
com a equação apresentada por (MEGGIOLARO, 2006) para
aceleração sem escorregamento. O valor obtido foi de 12.5
m/s2.
A terceira parte do movimento é dividida em duas, sendo
que ambas correspondem ao momento em que o robô atua
sobre as condições impostas pelo campo potencial. A diferença
entre elas é que primeiramente o alvo está se movimentando
com velocidade constante, e depois com velocidade variável,
como é apresentado nas figuras 10 e 11.
A terceira parte do movimento inicia-se quando o robô
alcança a sua velocidade máxima, que é de 51 cm/s, o mesmo
alcança esta velocidade em um intervalo de tempo de 0.041
segundos. A partir desse instante o robô passa a ter a sua
velocidade e direção definidas pelo método de campo
potencial.
Figura 10. Velocidade do Robô quando o Alvo está se Movimentando com
Velocidade Constante
Figura 11. Velocidade do Robô quando o Alvo está se Deslocando com
Velocidade Variável
3
APLICAÇÃO
Como já foi comentado anteriormente, este método será
aplicado em um robô da categoria sumo, de forma que se possa
aprimorar a percepção do mesmo em relação ao ambiente e o
oponente.
O robô possuirá treze sensores ultrassom dispostos lado a
lado com um ângulo de inclinação de 15°, o que é definido
devido ao ângulo de abertura do sinal emitido pelo sensor, que
é de 15°. Esta configuração será utilizada para cobrir os 180°
da visão frontal do robô, e os sensores com este ângulo de
abertura foram escolhidos devido a granulometria ser menor. A
granulometria menor do ângulo de abertura permite uma
percepção mais acurada do ambiente. A localização do sensor
que detectou algum objeto será adicionada ou subtraída do
ângulo ψ.
Na figura 12 é apresenta uma representação de como estes
sensores ficarão dispostos. O sensor ultrassônico utilizado é o
HC – SR04 (ULTRASONIC RANGING MODULE HC SR04), o qual tem um alcance de até 4 metros.
1
1
Figura 12. Representação da Disposição dos Sensores; 1 – Ângulo de Abertura
dos Sensores
4
CONCLUSÃO
Este artigo apresentou o método de camadas, que foi o
método utilizado para a construção do robô. Neste artigo foram
enfatizadas somente as camadas eletrônica e computacional.
Na camada computacional apresentada foi enfatizado o método
de campo potencial. O método do campo potencial foi utilizado
para planejar a velocidade e a direção do robô. O método do
campo potencial foi investigado através de uma simulação do
ambiente da competição. A simulação foi desenvolvida no
software MATLAB.
Através da simulação realizada nota-se que o método é
bastante efetivo, pois mesmo com uma velocidade relativa
pequena, o robô consegue encontrar o seu alvo em apenas
2,261 segundos. Isto ocorre mesmo se considerando que o alvo
está em movimento e tentando fugir de seu perseguidor, que no
caso, é o robô.
Este método pode ser utilizado em qualquer tipo de robô,
independentemente do ambiente onde esteja, já que leva em
consideração o coeficiente de atrito entre o pneu e a superfície
em contato assim como o torque necessário para a
movimentação do robô.
Futuramente espera-se implementar na indústria, em
ambientes desestruturados ou semiestruturados, dos quais
temos informações limitadas quanto à disposição estática ou
dinâmica dos objetos, através da combinação desta técnica com
redes neurais.
AGRADECIMENTOS
Agradecemos a Dra. Ranoyca Nayana Alencar Leão e Silva e
aos alunos de Engenharia Elétrica da UFPI pelo apoio na
confecção da ponte H elaborada pelo grupo de pesquisa
LABIRAS.
REFERÊNCIA BIBLIOGRÁFICA
FARIA, Gedson; MARTINS, Priscila da Silva; PEREIRA,
Mauro Conti. Time de Robôs controlado por Campos
Potenciais.Anais do XXVI Congresso da SBC, pág.
443-448, (2006).
5
FILHO, Daniel O. Basconcello. “Pont-H 12V 40 Amperes”.
Disponível
em
<http://www.robotizando.com.br/artigo_ponte_h_pg1.
php> Acessado em 3 de Março de 2013.
GILAT, Amos. MATLAB com Aplicações em Engenharia.
2ª ed, Bookman, (2006).
INTERNATIONAL RECTIFIER. “irf3205.PDF, IRF 3205
HEXFET® Power MOSFET”.
L. HUANG, Velocity planning for a mobile robot to track a
moving target — a potential field approach, Robotics
and Autonomous Systems 57 (2009) 55–63.
MATLAB.
Disponível
em
<http://www.mathworks.com/products/matlab/index.ht
ml> Acessado em 29 de março de 2013.
MEGGIOLARO, Marco Antônio. Tutorial em Robôs de
Combate. Equipe RioBotz, UFRJ, 2006.
PEREIRA, Levi C.A; SOBRINHO, Elionai G.A.; CHASE,
Otávio A. Método de Desenvolvimento de um Robô
Móvel Diferencial Didático. UFPA, 2010.
PITTMANEXPRESS.
(2013,
July)
Disponível
em
<http://www.ametektip.com/Ametek/PublicPDF/Pittma
nExpress.pdf> Acessado em Julho de 2013.
ROBOCORE.
Disponível
em
<
http://www.robocore.net/modules.php?name=Forums&f
ile=viewtopic&t=3979> Acessado em 03 de junho de
2013.
ULTRASONIC RANGING MODULE HC – SR04. Disponível
em < http://www.micropik.com/PDF/HCSR04.pdf>
Acessado em 20 de maio de 2013.
6
Download