• Nenhum resultado encontrado

RelatorioFinal TOUCA

N/A
N/A
Protected

Academic year: 2021

Share "RelatorioFinal TOUCA"

Copied!
26
0
0

Texto

(1)

UNIVERSIDADE DE PERNAMBUCO

ESCOLA POLITÉCNICA DE PERNAMBUCO

FUTEBOL DE ROBÔS

RECIFE

SETEMBRO/2008

(2)

JOSÉ CARLOS BARBOSA PEREIRA FILHO

FUTEBOL DE ROBÔS

Trabalho de iniciação científica apresentado

com o intuito de fomentar a pesquisa na área

de robótica móvel inteligente

ORIENTADOR: Profº Dr. Alcides Codeceira Neto

RECIFE

SETEMBRO/2008

(3)

RELATÓRIO FINAL DAS ATIVIDADES DO BOLSISTA

(Relatório individual por bolsista por projeto)

1. IDENTIFICAÇÃO DO PROJETO Título do Projeto:

Futebol de Robôs

Professor responsável pelo Projeto (identificar o nome do líder do grupo de pesquisa):

Alcides Codeceira Neto

Equipe Executora

Docente Departamento e-mail

2. IDENTIFICAÇÃO DO BOLSISTA

Nome do Aluno Curso Matrícula e-mail

José Carlos Barbosa Pereira Filho Eng. Mecatronica 05656945456 [email protected]

3. PERÍODO DE REALIZAÇÃO

Início ___01___ / __10____ / _2007______ Término ___30___ / ___09___ / ___2008____

(4)

3. Sobre o Projeto

3.1. Resumo do Projeto (Introdução, Objetivos)

3.1.1. Introdução:

Com a criação da robótica e o surgimento da inteligência artificial na década de 50, que tem por objetivo a busca de métodos ou dispositivos com a capacidade humana de resolver problemas, o homem vem desenvolvendo máquinas cada vez mais capazes de tomar decisões e executar tarefas. Este projeto tem o intuito de desenvolver um time de robôs jogadores de futebol da categoria F-180 para participar da competição brasileira de robótica (CBR) e o IX Simpósio Brasileiro de Automação Inteligente (SBAI). Este evento é uma ação conjunta da SBA, SBC, IEEE e RoboCup para divulgar e promover os avanços tecnológicos na área de Robótica Móvel e Mecatrônica.

3.1.2. Objetivo

 Construção de um time de robôs jogadores de futebol que recebem instruções de um PC onde as imagens enviadas de uma câmera instalada na parte superior do campo são processadas:

 Construção de hardware de movimentação omnidirecional.

 Desenvolvimento de circuitos embarcados para o controle dos movimentos do robô.  Sistema de visão computacional.

 Comunicação por radio freqüência entre o PC e os robôs através de um protocolo de comunicação.  Usar os conhecimento de Inteligência Artificial para Implementação de um algoritmo de tomada de

decisão.

3.2. Cronograma proposto

Item Atividade Geral Atividades Específicas Prof. Orientador

1 Estudar os Conceitos Básicos Envolvidos no

Projeto.

Sistemas de Locomoção, Programação Orientada a Objeto,

Inteligência Artificial e Visão Computacional.

2 Construção do Hardware do Robô

Projeta, desenha e desenvolver o sistema de locomoção e hardware do

robô. 3 Desenvolvimento dos

Circuitos Embarcados

Estuda microcontroladores para criação de um circuito para o controle do posicionamento do robô no campo. 4 Comunicação Pesquisar e implementar um sistema

de radio freqüência para a transmissão de dados do PC para os

robôs, obedecendo um protocolo de comunicação

5 Sensoriamento Estuda os tipos de sensores que possam ajuda no reconhecimento e

locomoção no campo. 6 Visão Computacional Estuda as maneiras de

reconhecimento de cores e formas, através de imagens captadas por uma

câmera.

7 Inteligência Artificial Estudar sistemas multiagentes e desenvolver um programa para a

(5)

Etapas

10/2007 11/2007 12/2007 01/2008 02/2008 03/2008 04/2008 05/2008 06/2008 07/2008 08/2008 09/2008 1 #### #### 2 #### #### 3 #### #### #### 4 #### #### 5 #### #### 6 #### #### #### #### 7 #### #### #### #### #### #### #### #### #### #### 3.3. Material de estudo

GERAÇÃO E CONTROLE DE TRAJETORIA DE ROBÔS MOVEIS OMNIDIRECIONAIS da Costa, Alexandre / Franco, Silva

3.4. Desenvolvimento e Metodologia

A metodologia empregado nesse projeto é baseada na divisão das áreas do conhecimento empregadas. Essas áreas são mecânica, eletrônica e computação que foram estudas separadamente e de forma seqüencial até o término do projeto.

A mecânica ficou encarregada de estudar a estrutura, o sistema de locomoção e os materiais dos quais as peças deveriam ser constituídos.

A eletrônica cuidava da parte dos circuitos embarcados, modo de controle do sistema, protocolo de comunicação e comunicação sem fio.

A computação abrangia a visão computacional, um algoritmo de localização e deslocamento dos robôs e um algoritmo inteligente de estratégia que decidia as melhores jogadas a serem executadas.

3.4.1. Mecânica

No futebol de robôs a parte mecânica tem uma grande importância, tanto na estrutura que vai acomodar e proteger os circuitos, baterias e motores quanto na precisão do sistema de locomoção, porque todos os robôs devem possuir as mesmas formas para não causar desvios quando estiverem se locomovendo. Estes desvios podem ser causados por uma falta de padronização na fabricação da estrutura.

Estrutura

A estrutura dos nossos robôs atendem às especificações da categoria Small Size ou comumente chamada de F-180 no futebol de robôs. A vista superior do robô tem que ter no máximo 180mm de diâmetro e a altura de 150mm.

Fizemos nossa estrutura como mostrado na figura abaixo com as seguintes especificações: altura de 140mm e um diâmetro de 174mm.

(6)

Desenvolvimento

Nossa primeira estrutura foi feita em madeira que é um material com resistência mecânica e de fácil corte, mas por ter uma estrutura fibrosa requer alguns cuidados no momento do acabamento. Isso acaba dificultando a precisão da estrutura que é fundamental para um perfeito controle no deslocamento. Para alcançar uma melhor performance utilizamos chapas acrílicas que são fáceis de usinar com equipamento convencional. No entanto, requerem ferramentas específicas para sua operação, de modo a permitir um melhor aproveitamento de corte e acabamento das peças. As figuras abaixo mostram os resultados encontrados com as chapas acrílicas.

As imagens a seguir mostram a estrutura toda montada com os motores fixados nos suportes, desenvolvidos a partir de uma cantoneira em forma de “L”, que por sua vez foram acoplados com parafusos à base. Toda essa estrutura inferior está ligada à estrutura superior por parafusos sem fim de 5mm e porcas.

Sistema de Locomoção Omnidirecional

Figura 2:

Figura 3:

Figura 4:

Figura 5:

(7)

No desenvolvimento de projetos sobre robótica móvel é fundamental estudar a área onde o robô irá se locomover e assim escolher a maneira que ele poderá se deslocar. Os sistemas de locomoção mais usados em robótica são com pernas, rodas e esteiras.

As pernas são um sistema de locomoção perfeito, mas por sua complexidade muitas vezes são substituídas por rodas. A dificuldade encontrada em um sistema com rodas é que os obstáculos na área de deslocamento do robô devem possuir altura inferior a metade do diâmetro da roda. Os sistemas com esteiras possuem as seguintes desvantagens: exigem precisão no alinhamento das roldanas para que a esteira não solte, não podem se deslocar em áreas que contenham materiais que possam entrar na esteira e provocar o descarrilhamento desta e o sistema possibilita ultrapassar obstáculos com altura superior a metade do diâmetro das rodas com algumas restrições com a angulação, para evita o capotamento.

O nosso sistema de locomoção utiliza rodas em um sistema omnidirecional que permite a translação sem perder a orientação, diferente de outros métodos de locomoção onde a translação é dependente da orientação. Alguns tipos desse sistema são mostrados abaixo.

A locomoção do sistema omnidirecional é permitida com apenas três motores com as rodas com dois graus de liberdade dispostos 120° um do outros, qualquer acréscimo é redundante, a locomoção do robô se deve ao somatório dos vetores sentido das rodas que resulta no sentido do deslocamento do robô como descrito na figura abaixo.

Rodas

As rodas para o sistema omnidirecional não são como as rodas convencionais, pois estas por terem somente um graus de liberdade dificultam o movimento da mesma no sentido paralelo ao eixo do motor, devido ao atrito com o chão.

As rodas omnidirecionais não foram encontradas comercialmente no mercado nacional, só no mercado internacional, e não atendiam as especificações exigidas pelo projeto, por este motivo projetamos a roda ilustrada abaixo.

Figura 9

Figura 7: Motor com

tração no eixo

Figura 8: Motor com

tração na traseira

(8)

3.4.2 Eletrônica Circuito Embarcado

Todos os robôs possuem uma unidade de processamento interna que manipula os dados vindos da unidade central que capta as informações da câmera escolhe a melhor jogada e envia para os robôs as suas novas posições de jogo. Cada circuito embarcado é composto por um microcontrolador da família 8051 que controla duas Ponte H situadas no CI L298 que estão ligados aos motores da Akiyama modelo AK280.

Veja o esquema do circuito abaixo.

A placa do circuito de controle também foi projetada com um gravador ISP de microcontrolador para que o CI não fosse removido durante a fase de teste a cada nova gravação.

Figura 10:

Rodas desenvolvidas no projeto

Figura 11:

Rodas encontradas comercialmente

(9)

As especificações do microcontrolador, do L298 e dos motores são mostrados abaixo: Microcontrolador da família 8051 referência: At89S52 Características: 4 portas de I/O 8Kb de ROM 256 de RAM 3 timers

6 Interrupções(3 internas, 2externas e 1 serial) CI L298

Parâmetros Máximos

Os motores modelo: AK280 Fabricante: Akiyama

Modelo Tensão Sem Carga Máximo rendimento Partida

AK280/5-R193

operação nominal rotação corrente rotação corrente torque potencia corrente torque 3-12V 5V 150rpm 0.23A 135rpm 0.3A 0.35kgf.

cm 1.5W 3.0A 6Kgf.cm

(10)

Protocolo e Comunicação Wireless

A maneira que os dados são transportados e para onde são destinados é vista nessa seção. Por definição das regras da categoria a comunicação é feita por radio freqüência. Nós usamos o transmissor e o receptor fabricados pela Tato, com uma freqüência de 433MHz. A figura abaixo mostra os módulos emissor e receptor e a sua folha de dados esta disponível no site do fabricante.

Para a implementação do protocolo via hardware usamos o encoder MC145026 e o decoder MC145027 para viabilizar nossos ideais.

Os CI's mostrados acima auxiliaram no direcionamento dos dados enviados pelo computador para os robôs desejados da seguintes maneira: os pinos A1, A2, A3, A4, A5 são destinados aos endereços, onde o CI MC145026 envia o endereço que será comparados com o do CI MC145027 e se os endereços forem iguais o decoder recebe o dado enviado pelo encoder pelos pinos D6, D7, D8, D9.

O esquema abaixo descreve o envio de dados como mencionado acima.

Figura 14

Figura 15

Figura 17

(11)

Controle

Para iniciar o desenvolvimento dos softwares de controle tivemos primeiro que realizar um estudo de causa para conhecer os trabalhos já realizados na área e em cima dele desenvolver o nosso controle. Não só fizemos o estudo em cima dos controladores como também pesquisamos formas de representar a localização e orientação dos robôs e os métodos de criação de trajetória.

Métodos de Representar a localização e orientação

Para o deslocamento de robôs que interagem com outros elementos em ambientes dinâmicos ou estáticos é necessário a utilização de ferramentas matemáticas para realizar a localização dos mesmo num sistema de coordenadas qualquer. Nesta obra iremos encontrar os sistemas cartesiano, polar e cilíndrico, métodos de localização de pontos em sistemas coordenados com orientação diferentes utilizando matrizes de rotação e matrizes de transformação homogênea.

Sistema de representação

É necessário possuir um sistema de localização de pontos no espaço. O sistema mais comum de representação de pontos no plano (2D) onde possuem dois graus e duas variáveis independentes é o sistema cartesiano. E pode ser implementado no espaço (3D) com o acréscimo de mais uma variável formando o sistema com os eixos X, Y e Z.

Sistema de coordenadas polares e cilíndricas

Também existem outros métodos de localização de pontos no plano como o sistema de coordenadas polar, que também tem sua representação em 3D. Para a identificação de um vetor no plano é necessário o seguinte par de coordenadas (r,

). onde r é a distancia do ponto até o ponto de intercessão dos eixos (veja Figura 19-a). No modo de representação 3D são utilizados os seguintes pares coordenados (r,

, z), onde r e

têm o mesmo significado da representação no plano e a coordenada z seria o deslocamento do ponto em relação ao eixo Z. (veja figura 19-b).

Figura 18: Representação do vetor p no sistema a) 2D e b) 3D

Figura 19:

Representação do vetor p no sistema polar a) no plano e b) no espaço

(12)

Representação e orientação

Para representação de um ponto no espaço, as suas coordenadas, em um determinado sistema, são suficientes para localizá-lo. No nosso caso a representação de um objeto rígido com suas dimensões, como um robô do time de futebol de robôs da UPE, não é suficiente para definir sua localização, por não especificar sua orientação. Para achar a posição de um ponto em relação a um novo sistema de referência é necessário descobrir uma relação entre os dois sistemas.

Matrizes de Rotação

A relação existente entre os sistemas de orientação é chamada de matrizes de rotação. As matrizes de rotação são o método mais utilizado para a representação devido principalmente a comodidade do uso da álgebra matricial.

Suponha um sistema de eixos fixos OXY e que neste plano exista um robô da equipe de futebol de robôs da UPE com o seu próprio sistema de orientação OUV móvel (veja a figuras 20 e 21). O sistema fixo tem os seguintes vetores unitários ix e jy enquanto que no móvel os vetores unitários são iu e jv. Um vetor p pode ser escrito em ambos os sistemas da seguinte maneira:

[

]

[

]

u u v v T v u uv y y x x T y x xy

j

p

i

p

p

p

p

j

p

i

p

p

p

p

.

.

,

.

.

,

+

=

=

+

=

=

=

v u y x

p

p

R

p

p

A relação existente entre os dois sistemas é a matriz de rotação que pode ser obtida da seguinte maneira:

=

v y u y v x u x

j

j

i

j

j

i

i

i

R

A matriz de rotação também é conhecida como matriz dos cossenos diretos e é ela que permite fazer a troca das coordenadas de um sistema para outro qualquer. Essa matriz tem a seguinte propriedade R-1=RT, ou seja, uma matriz ortonormal. Como num sistema de duas dimensões a orientação só gera uma

única variável independente, e se considerarmos o sistema OUV girando um ângulo

em relação ao sistema OXY teremos a seguinte matriz de rotação:

=

α

α

α

α

cos

cos

sen

sen

R

Figura 20

Figura 21

(13)

Para o caso de

= 0 a matriz se torna uma matriz identidade e prova que os sistemas coincidem. O sistema tridimensional é similar ao bidimensional, tendo como única diferença o acréscimo de mais um eixo que resultará em mais uma coordenada na representação do vetor no sistema. Tendo o sistema de coordenadas OXYZ com os vetores unitários ix jy kz e o sistema OUVW com os vetores unitários iu jv kw representa-se um vetor p da seguinte maneira:

[

]

[

]

x x y y z z T z v x xyw w w v v u u T w v u uvw

k

p

j

p

i

p

p

p

p

p

k

p

j

p

i

p

p

p

p

p

.

.

.

,

,

.

.

.

,

,

+

+

=

=

+

+

=

=

A relação entre os dois sistemas é a matriz de rotação.

=

w v u z y x

p

p

p

R

p

p

p

onde

=

w z v z u z w y v y u y w x v x v x

k

k

j

k

i

k

k

j

j

j

i

j

k

i

j

i

i

i

R

e tem as mesma propriedades existente no sistema 2D. A matriz é denominada ortonormal, pois R-1=RT.

Composição de rotações

A composição de matrizes de rotação serve para expressar as várias rotações contínuas numa rotação resultante. Suponha o sistema OUVW com uma rotação de ângulo

no eixo X, seguida de um rotação de angulo

no eixo Y, seguida de uma rotação de angulo

no eixo Z. Essas rotações podem ser expressas em uma rotação resultante pela multiplicação das matrizes de rotação dos eixos denominadas de matrizes de rotação básicas.

( ) ( ) ( )

+

+

+

+

=

=

=

=

α

φ

α

φ

φ

α

φ

θ

α

θ

α

φ

θ

α

θ

φ

θ

α

φ

θ

α

θ

α

φ

θ

α

θ

φ

θ

α

α

α

α

φ

φ

φ

φ

θ

θ

θ

θ

α

φ

θ

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

cos

0

cos

0

0

0

1

cos

0

0

1

0

0

cos

1

0

0

0

cos

0

cos

,

,

,

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

sen

x

R

y

R

z

R

T

É importante observa a ordem das rotações, pois o produto entre matrizes não é comutativo. Ângulos de Euler

É uma maneira de representa um sistema tridimensional do tipo OUVW em relação ao sistema OXYZ através de ângulos de rotação denominados ângulos de Euler.

(14)

Existem varias formas de representação, mas só iremos utilizar as três mais conhecidas que serão mostradas a seguir.

Representação ZXZ

Essa representação pode ser facilmente observada numa configuração em que os eixos OXYZ coincidam com os eixos OUVW e siga os seguintes passos.

1 - Girar o sistema OUVW com um angulo

em relação ao eixo OZ, e convertendo no sistema OU'V'W'

2 - Girar o sistema OU'V'W' com um angulo

em relação ao eixo OX, e convertendo no sistema OU"V"W"

3 - Girar o sistema OU"V"W" com um angulo

em relação ao eixo OZ, e convertendo no sistema OU"'V"'W"'

Representação ZYZ

Essa representação pode ser facilmente observada numa configuração em que os eixos OXYZ coincidam com os eixos OUVW e siga os seguintes passos.

1 - Girar o sistema OUVW com um angulo

em relação ao eixo OZ, e convertendo no sistema OU'V'W'

2 - Girar o sistema OU'V'W' com um angulo

em relação ao eixo OY, e convertendo no sistema

OU"V"W"

3 - Girar o sistema OU"V"W" com um angulo

em relação ao eixo OZ, e convertendo no sistema OU"'V"'W"'

Diferenciando do sistema ZXZ a troca do segundo giro.

Figura 23

Figura 22

(15)

Representação Yaw, Picth e Roll

Essa representação é muito utilizada na aeronáutica e se popularizou na língua inglesa, E é mais habitual na aplicação de giros sobre sistemas fixos.

1 - Girar o sistema OUVW com um ângulo

em relação ao eixo OX, É o denominado Yaw; 2 - Girar o sistema OUVW com um ângulo

em relação ao eixo OY, É o denominado Picth; 3 - Girar o sistema OUVW com um ângulo

em relação ao eixo OZ, É o denominado Roll.

Igual aos casos anteriores para rotações sucessivas é necessário conhecer a ordem das rotações, pois a multiplicação de matrizes não é comutativa.

Matrizes de Transformação Homogênea

No estudo feito até agora nós vimos métodos de localização e orientação feitos individualmente, para resolver esse problema será introduzido agora um método de representação que junta a localização e a orientação chamado de matrizes de transformação homogênea.

Coordenadas e matrizes homogêneas

A representação em coordenadas homogêneas de um sólido no espaço com n dimensões é representado um vetor com n+1 dimensões, ou seja, um vetor P(x,y,z) é representado como P(wx,wy,wz,w), onde w tem um valor arbitrário e representa o fator da escala.

O vetor nulo é representado da seguinte maneira [0,0,0,n]T e os vetores que representam direções, pois

tem longitude infinita é representado da seguinte maneira [a,b,c,0]T.

Matriz de Transformação Homogênea

As matrizes de transformação homogênea são matrizes de 4ª ordem e servem para transforma um par de coordenadas de um sistema para um outro qualquer.

=

=

Escala

a

Perspectiv

Translação

Rotação

w

f

p

R

T

x x x x 1 1 3 1 1 3 3 3

As matrizes de transformação homogênea são compostas por sub-matrizes de tamanhos distintos: uma delas é a matriz de rotação R3x3; uma outra é um vetor de translação p3x1; e uma matriz f1x3 que

representa uma transformação de perspectiva e uma matriz w1x1 que é a escala global.

(16)

Modelagem Cinemática

O modelo cinemático é descrito a partir das velocidades desenvolvidas pelos rodas do robô e despreza as forças que atua no mesmo.

A figura acima mostra os sistemas de orientação das rodas denominado de Sci, onde i varia de 1 á 3 e representa o número de rodas, o sistema Sr que é o de orientação do robô e o sistema cartesiano de referência Si. A figura também mostra a distância entre os motores e o centro de massa do robô que é localizado no centro do circulo que representa a base do robô. Algumas condições são estabelecidas para o estudo cinemático como, as rodas só tocam em um ponto do plano e coeficiente de atrito estático é suficiente para que não haja deslizamento entre as rodas e o campo.

[

x

y

θ

]

T

ξ =

Epsilon representa o vetor postura do robô em relação ao sistema Si, onde x e y representam as coordenadas e teta a orientação. Para ter o vetor postura retirado do sistema inercial com referencia ao sistema Sr, devemos aplicar a equação abaixo.

( )

R

R

θ

ξ

ξ =

1 Onde

( )

=

1

0

0

0

cos

0

cos

θ

θ

θ

θ

θ

sen

sen

R

As componentes da velocidade do sistema de orientação do robô são resultantes da somas das componentes das rodas. A equação mostrada abaixo mostra a relação das velocidades no sistema Sr e no sistema Sci.

( )

( )

( )

( )

( )

( )

=

'

1

0

0

cos

cos

cos

'

θ

φ

φ

φ

φ

φ

φ

θ

ci Ci R R Y X i i i i i i Y X

v

v

l

sen

lsen

sen

v

v

Modelagem Dinâmica

A modelagem dinâmica diferente da modelagem cinemática usa as forças que interagem com o robô para descrever os seus movimentos. As equações abaixo descrevem os movimentos de translação e rotação do robô levando em consideração a física clássica.

F

=

m

.

a

e

M

o

=

I

Z

.

θ

(17)

Onde F, m, a, M, I e teta representam respectivamente o somatório das forças, m a massa do robô, a aceleração, somatório dos momentos angulares, o momento de inércia e a aceleração angular.

(

)

(

)

=

+

+

=

+

=

"

'

'

3 2 1

θ

θ

θ

z X Y Y Y X X

I

l

f

l

f

l

f

v

a

m

F

v

a

m

F

R R R R R R

Sendo f1, f2 e f3 as forças de tração das rodas e

l

a distância entre as rodas e o centro de massa.

A figura acima mostra a relação das forças resultantes do robô no sistema Sr e justifica as equações mostradas abaixo.



=

+

+

=

δ

δ

δ

δ

sen

f

sen

f

F

f

f

f

F

R R Y X 3 2 3 2 1

cos

cos

Sigma representa o ângulo entre as forças f1 e f3 em relação ao eixo x do sistema Sr como a

figura acima.

Substituindo os valores de

F

Xe

F

Y nas equações anteriores encontraremos as acelerações.

Z X Y Y X

I

l

f

l

f

l

f

v

m

sen

f

sen

f

a

v

m

f

f

f

a

R R R R 3 2 1 3 2 3 2 1

"

'

'

cos

cos

+

+

=

=

+

+

=

θ

θ

δ

δ

θ

δ

δ

Trajetórias

Em robótica a trajetória por onde um robô ira se locomover descrita por um ponto inicial e final podendo ter ou não pontos intermediários e restrições entre esses pontos. Esse trajeto tem que ser percorrido de maneira suave para não causar os seguintes problemas citados:

Ilimitada potencia fornecida pelos atuadores, que não podem fornecer devido as suas limitações físicas. Mudanças bruscas de velocidade podem causar deslizamento no contato do chão com as rodas.

(18)

Movimentos bruscos também podem causar vibrações que prejudicar o desempenho dos elementos de fixação.

Para isso o uso de interpolação com funções polinomiais ajudam a suavizar as trajetórias. O uso de interpolação linear é a maneira mais simples de gerar trajetórias, mas esse tipo de interpolação gera descontinuidades nos pontos de intercessão da primeira derivada,ou seja causa mudanças bruscas na velocidade. Para resolver este problemas de descontinuidades na velocidade usaremos a interpolação cúbica que garante o valor zero nas velocidades inicial e final. A interpolação cúbica resolve o problema de descontinuidade da velocidade mas não garante continuidade na aceleração, para isso é usado

interpolação polinomial de grau cinco, onde são definidas as acelerações com valor nulo nos pontos iniciais e finais. Nas figuras abaixo ilustram as diferenças encontradas na posição, a velocidade e na aceleração do robô usando interpolação cubica e de grau cinco.

A criação de pontos intermediários entre a posição inicial e a posição final usando qualquer um dos métodos descritos acima não é viável, pois não há uma evolução na velocidade e aceleração pois a cada novo ponto as medidas de velocidade e aceleração se anulam.

Via points

Uma maneira que resolver o fato dos valores de velocidade e aceleração caírem sempre para zero é usar

um método chamado de via points que consiste em introduzir pontos intermediários entre os pontos inicial e final e interpolar tudo em um único polinômio interpolador. O único problema para esse método é que

(19)

quando maior o número de pontos intermediários inseridos na trajetória maior é o numero de equações e variáveis no sistema que leva a um custo computacional alto para encontrar a solução do sistema.

Cubicas Spline

Funções cubicas spline são compostas por um conjunto de polinômios interpoladores de grau m, sendo m pequeno. Estes polinômios atendem as exigências de continuidades nos pontos de conexão. Deste modo as funções spline não tornam-se mais complexas com o aumento de pontos a serem interpolados possibilitando a interpolação de ilimitados pontos sem ter problemas com resoluções matemáticas.

Vejamos agora como a interpolação com funções spline com N pontos

P

k

(

t

k

,

s

k

)

,onde k é igual a

1 ,2 ,3...,N e gerando N-1 polinômios.

Supondo

P

k

(

t

k

,

s

k

)

e

P

k+1

(

t

k+1

,

s

k+1

)

pontos consecutivos sobre a função S(t), o k-ésimo polinômio é dado por

s

k

( )

t

k .

( )

k k

(

k

)

k

(

k

)

k

(

k

)

k

k

t

A

t

t

B

t

t

C

t

t

D

s

=

3

+

2

+

+

(1)

Para

t

k

<

t

<

t

k+1 Os coeficientes

A

k,

B

k,

C

ke

D

k, devem ser encontrados através das derivadas

primeira e segunda nos pontos

t

k e

t

k+1.

( )

k k

(

k

)

k k k k

t

A

t

t

B

t

t

C

s

'

=

3

2

+

2

(

)

+

(2)

( )

k k

(

k

)

k k

t

A

t

t

B

s

"

=

6

+

2

(3)

Os coeficientes

B

k,

C

ke

D

kpodem ser encontrados com as equações acima apenas fazendo

t

k tender a

t.

( )

k k k

s

t

B

"

2

1

=

(4)

( )

k k k

s

t

C

=

'

(5)

( )

k k k

s

t

D

=

(6)

mantendo as condições de continuidade nos pontos podemos afirma que

( )

( )

( )

( )

( )

1 1

( )

1 1 1 1 1 1 1

"

"

'

'

+ + + + + + + + +

=

=

=

k k k k k k k k k k k k

t

s

t

s

t

s

t

s

t

s

t

s

(8)

para encontrar o valor de

A

ksubstituiremos o valor da equação 4 em 3 e obteremos.

k k k k

A

t

B

B

6

2

2

+1

=

+

(9) onde

t

k

=

(

t

k+1

)

t

k Achando

B

k na equação (4)

( )

( )

(

k k k k

)

k k

s

t

s

t

t

A

"

"

6

1

1

=

+ (10)

(20)

Resolvendo a equação (1)para

s

k

( )

t

k+1

( )

( )

( )

1 2 3 +

=

+

+

+

k k k k k k k k k

t

B

t

C

t

D

s

t

A

(11)

Isolando

C

k da equação acima

A

k,

B

k e

D

k

( )

( )

(

k k k k

)

k k k k

t

s

t

s

t

t

s

C

"

2

"

6

1

1

+

=

+ (12) onde

( )

k k

( )

k k k

s

t

s

t

s

=

+1

De acordo com a condição de continuidade da primeira derivada de

s

k em

t

k+1, expressa pela segunda equação de 8 e de acordo com a equação 2, a seguinte expressão é obtida:

( )

1

2

2

3

A

k

t

k

+

B

k

t

k

+

C

k

=

C

k+ (13)

ou deslocando o polinômio acima para o instante anterior,

(

k

)

k k k k k

t

B

t

C

C

A

+

1

1

+

1

=

2 1 1

2

3

(14)

Substituindo as expressões 10, 4 e 12 na expressão acima, um sistema linear indeterminado com N − 2 equações para N variáveis s”k é obtido. Este sistema é

mostrado em (15)

( ) (

) ( )





=

+

+

+

− − − − − − + 1 1 1 1 1 1 1

2

"

"

"

6

"

k k k k k k k k k k k k k k

t

s

t

s

s

s

t

t

s

t

t

t

s

t

(15) para k = 2, 3 ..., N-1

Para que o sistema (15) seja determinado é necessário acrescentar duas novas equações a ele, de acordo com algumas condições. Essas condições dependem das restrições que se deseja impor à função interpoladora, representando o tipo de spline a ser usado. Por exemplo, se s”1(t1) e s”N−1(tN) forem definidas como zero, a spline obtida será chamada de spline cúbica natural. Este tipo de spline define que as acelerações nos pontos extremos da trajetória s(t) serão nulas.

Tipos de Controle Controle Cinemático

O controle cinemático só leva em consideração a modelagem cinemática do robô considerando que o controle de velocidade seja perfeito. Na realidade isso não pode ser alcançado por causa do momento de inercia e da massa do robô e pelas características físicas e elétricas dos seus atuadores. Esse tipo de controle é inviável em robôs de grande porte, podendo ser utilizado em alguns robôs de pequeno porte e baixa velocidade.

Controle Dinâmico

O controle dinâmico diferente do cinemático é aconselhado para ser usado em robôs de grande porte com alta velocidade e aceleração. No controle dinâmico a velocidade e controlada a partir do torque empregado nos atuadores. O que prejudica esse tipo de controle é a falta de linearidade do atrito da superfície de contato com as rodas.

(21)

Controle em Cascata

O controle em cascata foi a melhor forma escolhida por nós, pois usa os dois tipos de controle mencionados acima ligados em cascata. O controlador dinâmico gera uma malha interna que gera um torque ligado a uma velocidade de referencia (Vr) da malha externa constituída pelo controlador cinemático que por sua vez recebe o sinal de entrada E e compara com o erro e.

O diagrama de bloco abaixo descreve o controle em cascata utilizado em nosso projeto.

Sistema de Visão

Nosso sistema de visão representa uma parte muito importante em nosso projeto ele consiste na captura das imagens que nos revelam as posições e orientações de cada robô do nosso time, a posição do time adversário e da bola e a região do campo onde cada jogador se encontra. Para conseguir que o sistema de visão consiga esses objetivos primeiramente o sistema tem que passar por uma calibragem para detectar as cores das marcações colocadas em cima de cada jogador, como manda a regra da competição, e a cor da bola.

O Sistema de visão funciona da seguintes maneira mostrada logo abaixo.

Figura 29

Aquisição da

Imagem

Pré-processamento

Segmentação

Estratégia

Robô

Câm

era

Câm

era

Figura 28:

Controle baseado

na dinâmica

Robô

Cinemática inversa

Controle baseado

na cinemática

Malha de Controle Dinâmico

Malha de Controle Cinemático

Vf

torque

V

E

(22)

As imagens foram capturadas por uma webcam instalada no computador como descrito nas regras da competição. A partir das imagens adquiridas o algoritmo de processamento fazia uma subtração entre a imagem do campo sem os jogadores e da imagem com os jogadores para economizar processamento e em seguida entregar a imagem subtraída ao algoritmo de localização, que encontra as coordenadas da bola e as coordenadas e orientações dos jogadores do time e as coordenadas dos jogadores do time adversário. Um exemplo do algoritmo que encontra a posição e orientação esta ilustrado abaixo, a marca azul no centro do robô indica a coordenada onde ele esta e a marca vermelha indica a frente do robô. Achando o centro de cada marca o robô traça um vetor entre os pontos que será o vetor posição no sistema de referência global.

Após o pré-processamento as imagens são segmentadas, armazenadas e depois destruídas um exemplo de imagem segmenta é mostrado na próxima ilustração.

Ilustração 30

(23)

3.5 Conclusão

A construção do time de robôs jogadores de futebol teve uma metodologia que facilitou o desenvolvimento tanto da parte eletrônica, mecânica e computacional.

Nosso estudo sobre os tipos de sistemas de representação e localização no espaço e o controle de trajetória com funções cubicas spline não só se aplica a o futebol de robôs mas também a diversas áreas como automação industrial controle de manipuladores.

Os robôs do projeto possuem o um sistema de locomoção omnidirecional que é ideal para sistemas robóticos móveis que necessitem ter independência entre a translação e a rotação, possibilitando um maior mobilidade dos movimentos realizados durante a trajetória.

O sistema mecânico mesmo tendo apresentado exito, mas buscando um melhor acabamento e desenvolvimento do projeto precisa ser todo desenvolvido em uma peça única metálica para base que será ligada para parte superior através de elementos de fixação, com isso diminuiria a quantidade de partes conectadas a base expostas a vibrações que podem causar folgas para as partes ligadas.

O circuito embarcado, mesmo tendo funcionado como esperado, pode ser melhorado e implementado um controle de uma quarta roda para obter melhor performance nas trajetórias.

O algoritmo de visão, assim como a estratégia, tem de ser desenvolvidos com tecnologia de software de computação inteligente para obter resultados mais rápidos e precisos.

3.6 Dificuldades Encontradas

Espaço físico

As regras da competição definem a área do campo com as seguintes dimensões 4,20m X 6,10m e a câmera situada a 4 m da superfície do campo. Essas especificações dificultaram a montagem de toda a estrutura para testes tornando ineficaz a calibração da câmera e os testes para o controle da trajetória para evitar colisões.

Eletrônica

Na eletrônica os circuitos embarcados obtiveram os resultados esperados, mas o envio e recebimento de dados via RF causa muitos ruídos que foram minimizados com o uso de encoder e decoder.

Financiamento e Equipamentos

Tivemos dificuldade para fazer teste com o circuito embarcado por que faltava de um gravador de microcontrolador de família 8051 no laboratório de eletrônica e uma câmera de filmagem digital . Logo tivemos que projetar um gravador para realizar os testes e agora este projeto esta sendo realizado para suprir a falta que existia no laboratório.

A foto do gravador e o layout estão mostrados abaixo.

(24)

Rodas

Pela falta de rodas omnidirecionais no mercado tivemos que projetar as nossas e em seguida usinar em uma empresa já que a escola não dispunha de uma fresa. A empresa solicitada cobrou R$ 1800 para usinar 15 rodas, como os recursos financeiros são limitados este custo se tornou inviável.

Chutador

Um driver de dribnig não pode ser instalado pela falta de equipamentos mecânicos que nos proporciona-se precisão nos furos na hora da instalação e os custos que ele iria gerar pela compra dos motores e componentes.

O chutar foi projetado e esta ilustra do abaixo:

O chutador funciona com um circuito de elevação de tensão que é armazenado em um capacitor e quando acionado descarrega em um solenóide que provoca uma força com sentido para o centro do solenóide em um núcleo de ferro situado na sua extremidade acionando assim um sistema de alavancas que dispara a bola.

3.7 Referencias Bibliográficas

Microcontrolador 8051 - Detalhado Denys Emílio Campion Nicolosi

MICROCONTROLADORES PIC - PROGRAMAÇAO EM C PEREIRA, FABIO

DISPOSITIVOS ELETRONICOS E TEORIA DE CIRCUITOS NASHELSKY, LOUIS / BOYLESTAD, ROBERT L.

ENGENHARIA DE CONTROLE MODERNO OGATA, KATSUHIKO

C++ COMO PROGRAMAR - 5º EDIÇAO DEITEL, PAUL J. / DEITEL, HARVEY M INTELIGENCIA ARTIFICIAL

RUSSELL, STUART J. / NORVIG, PETER PRINCIPIOS DE CIENCIAS DOS MATERIAIS

VLACK, LAWRENCE H. VAN / FERRAO, LUIZ PAULO CAMARGO Embedded Robotics – 2° Edição

Bräunl, Thomas

(25)

Intelligent Autonomous Robotics

Stone, Peter

Curve and Sufaces for computer aided geometric design – 4° Edição Farin, Gerald

(26)

Declaro que as informações prestadas no relatório sobre o Projeto:

_________________________________________________________________________ são verdadeiras.

Local Data Assinatura do Bolsista

Declaro que as informações prestadas no relatório sobre o Projeto:

_________________________________________________________________________ são verdadeiras.

Local Data Assinatura / carimbo do Coordenador do Projeto

Assinatura dos demais docentes da equipe executora:

(acrescente mais linhas, se necessário)

Declaro ter tido participação ativa no Projeto:

_________________________________________________________________________

Data Assinatura

Data Assinatura

Referências

Documentos relacionados

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA

Varr edura TCP Window ( cont inuação) ACK- win manipulado Não Responde ACK- win manipulado ICMP Tipo 3 Firewall Negando Firewall Rejeitando Scanner de Porta... Var r edur a FI N/

A Consultoria de imagem e o Teste de Maquiagem serão feitos no mesmo dia!. No dia apresentarei á você uma proposta de maquiagem de acordo com o que

Acessórios ilustrados em fotos não acompanham necessariamente os produtos, verifique a descrição do item.. Fica ressalvada eventual retificação das ofertas aqui veiculadas sem

Robôs ou equipamentos robóticos – Requisitos de segurança para robôs industriais – Parte 2: Sistemas robotizados e integração. ANSI/ RIA

No 8º dia após o último comprimido de DELLAX 20 e DELLAX 30 (ou seja, após os 7 dias da semana de intervalo), inicie a fita seguinte, mesmo que a hemorragia não tenha parado.

• Se o dispositivo a trocar de piconet for o próprio master então o passo 1 não se aplica e o tráfego da piconet inicial fica suspenso para todos os dispositivos

- Se tiver quaisquer efeitos secundários, incluindo possíveis efeitos secundários não indicados neste folheto, fale com o seu médico ou farmacêutico.. - Se não se sentir melhor ou