Este projeto desenvolveu um software de alto nível para que um robô pudesse se movimentar de forma autônoma para patrulhar grandes áreas, como prédios, indústrias, fazendas, etc. O Ofro”, que foi utilizado na Copa do Mundo da Alemanha, conseguiu avançar por difíceis terreno, suba escadas e detecte explosivos, armas e pessoas.
PROBLEMATIZAÇÃO
OBJETIVOS
Objetivo Geral
Objetivos Específicos
METODOLOGIA
ESTRUTURA DO TRABALHO
ROBÓTICA
Definições
Máquinas automáticas são aquelas cuja energia provém de uma fonte externa, por exemplo energia elétrica, térmica, etc. As máquinas automáticas também podem ser classificadas de diferentes maneiras, de acordo com o tipo de energia, características construtivas, peso e tamanho.
Tipos de robôs
A terceira classe são as máquinas-ferramentas, ou robôs cuja finalidade é processar determinada matéria-prima, aumentando seu valor agregado, como os robôs de soldagem (PAZOS, 2002). Existem também robôs que não se enquadram nas classificações anteriores, como robôs de uso geral.
Mapeamento espacial
As funções potenciais podem ser vistas como paisagens onde os robôs se movem de locais de “alto valor” para locais de baixo valor, conforme ilustrado na Figura 3. As rotas locais podem ser armazenadas no roteiro, mas isso aumentaria os requisitos de armazenamento do roteiro.
AUTOMAÇÃO E CONTROLE DE SISTEMAS
- Controladores
- Sensores
- Atuadores
- Sistemas Embarcados
Os principais sensores de temperatura são: (i) par bimetálico; (ii) sensores de resistência elétrica; (iii) termistores; (iv) junções semicondutoras; (v) termopares ou termopares. Sensores de posição são usados para determinar a posição de um objeto em relação ao dispositivo.
SIMULADORES DE ROBÔS
Simulador Khepera
Sistemas embarcados, de acordo com Wayne Wolf (2001), são definidos como “qualquer dispositivo que inclua um computador programável, mas não seja ele próprio um computador de uso geral”. Hoje, os sistemas embarcados podem ser encontrados em quase todas as áreas da atividade humana, como aeronaves, indústria, celulares, impressoras, eletrodomésticos, etc. um robô também é um sistema embarcado e, portanto, seu desenvolvimento deve seguir algum método de desenvolvimento de sistema embarcado.
O simulador já possui diversos ambientes de simulação disponíveis em seus diretórios que podem ser utilizados para executar simulações. O robô móvel simulado pelo simulador Khepera possui oito sensores infravermelhos para detectar objetos e medir os níveis de luz ambiente.
Robocode
Robôs comuns executam apenas uma coisa por vez, mas é possível criar robôs mais avançados nos quais ações assíncronas são definidas e executadas e continuam a ser executadas em paralelo com outras ações possíveis. Existe também a possibilidade de criação de uma equipe de bots colaborativa, na qual os bots podem trocar mensagens entre si utilizando os métodos de transmissão Message (msg serializável) e onMessageReceived (MessageEvent).
Simulador Simbad
O pacote Simbad possui um simulador de robô móvel com modelagem complexa de cenas 3D (simbad), uma biblioteca de redes neurais (NN feed-forward, NN recorrente), bem como uma biblioteca completa de algoritmos evolutivos (algoritmo genético, estratégia evolutiva, programação genética com árvores ou gráficos). Simbad está disponível no site http://simbad.sourceforge.ner/ sob os termos da GLP (GNU General Public License) e requer a plataforma Java (versão 1.4.2 ou posterior) e Sun Java 3D (versão 1.3.1 ou superior). Após instalar e configurar o Java de acordo com o sistema operacional e instalar o Java 3D, basta executar o comando java –jar simbad-[versão].bin.jar para rodar o simulador (SIMBAD, 2007).
Esses recursos não estão presentes no Simulador Khepera, pois requer sistema operacional Unix; Seu código-fonte não está disponível, não sendo possível adaptá-lo a outros tipos de robôs ou incluir novas funções, estando necessariamente vinculado ao próprio robô Khepera. Isso motivou a escolha do Simbad Simulator, que possui as mesmas funcionalidades do Robocode, mas possui recursos avançados para simular o ambiente utilizando a plataforma Java 3D e um maior número de sensores disponíveis em sua biblioteca.
TEORIA DOS GRAFOS
- Definições
- Representação para Grafos
- Tipos de Grafos
- Caminhamento em Grafos
- Caminho Crítico
Uma grade produz um gráfico onde cada vértice corresponde a um pixel e uma aresta conecta um vértice aos pixels vizinhos. Um grafo G (V,E) é dito conectado se existir pelo menos uma cadeia conectando cada par de vértices deste grafo, conforme mostra a Figura 11 (MARIANI, 2007). Um grafo desconectado G (V,E) é formado por pelo menos dois subgrafos conectados, disjuntos em relação aos vértices e máximos em relação à inclusão.
Um grafo disjunto G (V,E) é formado por pelo menos dois subgrafos conectados, disjuntos em relação aos vértices e máximos em relação à inclusão. Em um grafo G (V, E), que não é fortemente conectado, ele é formado por pelo menos dois subgrafos fortemente conectados, disjuntos em relação aos vértices e máximos em relação à inclusão.
LÓGICA NEBULOSA
O controle desses projetos pode ser feito através do PERT (Program Evaluation and Review Technique), que leva em consideração o risco de não concluir as diversas atividades no prazo ou de nenhuma forma (RABUSQUE, 1992). Segundo Silva (2003), algumas vantagens da utilização deste tipo de abordagem são: (i) conjuntos fuzzy podem ser construídos de forma muito mais intuitiva e natural sem conhecimento matemático completo do sistema em questão; (ii) trabalhar com informações imprecisas; (iii) uma solução pode ser alcançada por diferentes caminhos; (iv) é mais robusto, pois a falta de regras não torna necessariamente o resultado impossível. Além disso, destaca também, no caso dos controles automáticos, as seguintes vantagens: (i) ajustes podem ser feitos tanto nos conjuntos quanto nas funções relevantes (ajustes finos); (ii) a transição entre um nível de produção e outro é gradual e suave; (iii) apresentar bons resultados em processos não lineares, entradas irregulares e restrições conflitantes; (iv) mudanças futuras podem ser facilitadas alterando as regras do sistema fuzzy. i) dificuldades em desenvolver um modelo a partir de um modelo fuzzy; (ii) não existe uma definição matemática precisa como em outros sistemas.
De acordo com Lopes (1999), os especialistas podem expressar até os sistemas mais complexos na forma de regras suaves e verificações de adequação. A lógica fuzzy tenta aumentar essa precisão com um algoritmo baseado na experiência do operador humano e utilizando um conjunto de regras linguísticas para descrever a estratégia de controle a ser utilizada.
TRABALHOS RELACIONADOS
Possui também um sistema de navegação completo, incluindo sensores laser, sonar, codificadores no eixo, sensores de colisão e sistemas de correção giroscópica. Para perceber a localização dos robôs autônomos, uma das soluções mais fáceis é a utilização do GPS (Global Positioning System), através do qual pode ser obtida a posição absoluta do robô em relação à Terra. Já a bússola digital é uma alternativa mais acessível, mas, no entanto, por si só não permite a criação de um sistema de orientação, pois fornece apenas informações de azimute e é sensível a interferências externas.
Outra solução utilizada pelos pesquisadores é a utilização de um sistema de visão computacional, que consiste em uma câmera digital que capta imagens do ambiente e as envia para um computador que as analisa, que determina a posição do robô e de outros objetos estranhos ao ambiente. por radiofrequência. Com ele é possível criar um mapa virtual da localização do robô e encontrar obstáculos a serem superados.
PROJETO
- Análise de Requisitos
- Especificação dos Requisitos Funcionais
- Arquitetura do Sistema
- Modelagem UML
- Diagrama de Componentes
- Diagrama de Caso de Uso
- Diagrama de Classes
- Diagrama de Seqüência
- Controlador Fuzzy
A Figura 23 ilustra a classe Strategist e sua interação com as classes Route Planner, Communication Engine e Fuzzy Controller. O Planejador de Rota aciona então o mecanismo de locomoção que processa as coordenadas recebidas e aciona os Atuadores, que movimentam o robô. O Estrategista pode optar por enviar ou receber uma mensagem, para enviar o Estrategista ativa o Mecanismo de Comunicação e envia uma mensagem para ele, que pega essa mensagem e salva em um arquivo de texto.
Para receber mensagens, o estrategista verifica junto ao mecanismo de comunicação se há mensagem, que então lê o arquivo de texto e processa essas informações e devolve a mensagem para. Se DISTÂNCIA for MÉDIA e VELOCIDADE BAIXA, retorne “ACCELERATE”; e se DISTÂNCIA for MÉDIA e VELOCIDADE for alta, você retorna “FREIO”.
IMPLEMENTAÇÃO
Execução do Sistema
- Testes de validações
A Figura 29 ilustra o log obtido quando o robô verifica uma variação muito grande no ambiente, já que por exemplo neste caso capturou pequenos valores nos sensores. Este valor é então passado para o Controlador Fuzzy, que realiza os cálculos e retorna a ação Check, para que o robô possa verificar o motivo de tal variação e, como no caso anterior, o Estrategista então chama o Planejador de Rota, que é responsável para levar o robô ao local. Onde, (i) a primeira tela ilustra o ambiente visto pelo robô através dos sensores; (ii) a segunda tela mostra o robô em sua posição inicial; (iii) a terceira tela mostra o momento em que o robô encontra uma parede e muda sua trajetória; (iv) a quarta tela ilustra o movimento do robô após evitar a parede; v) a quinta tela mostra o momento em que o robô identifica o tipo de terreno como água; vi) a sexta tela mostra o momento em que o robô evita a água; (vii) a sétima tela mostra o momento em que o robô encontra uma inclinação no terreno que não consegue superar; e (viii) a oitava tela, ilustrando o momento em que o robô evita o buraco.
A Figura 32 mostra o robô quando encontra uma mudança no ambiente e comunica essa mudança ao centro de controle. Portanto (i) a primeira tela mostra o robô em seu estado inicial; ii) a segunda tela ilustra o momento em que o robô encontra uma parede e a evita indo na direção oposta; (iii) a terceira tela mostra o momento em que é detectada uma alteração no ambiente durante o patrulhamento através do sensor de temperatura, que determina que a temperatura naquele local está muito elevada e envia uma mensagem para informar a central sobre a alteração detectada no ambiente . ; ; (iv) a quarta tela ilustra o momento em que a Central confirma o recebimento da mensagem enviada pelo robô; (v) a quinta tela mostra o momento em que o robô sai do local para manter sua integridade. Onde (i) a primeira tela mostra o robô na posição inicial; (ii) a segunda tela mostra o robô patrulhando o entorno; (iii) a terceira tela mostra o momento em que o robô recebe uma mensagem da central de controle comandando-o para se deslocar até determinado ponto; (iv) a quarta tela mostra o robô confirmando o recebimento.
Portanto (i) a primeira tela mostra o robô em seu estado inicial; (ii) a segunda tela mostra o robô durante o patrulhamento; (iii) a terceira tela mostra o momento em que o robô detecta a presença de outro robô e o identifica como central e que tem permissão para estar naquele setor; (iv) a quarta tela mostra o momento em que o robô retorna ao patrulhamento; (v) a quinta tela ilustra o momento em que o robô encontra um intruso; vi) a sexta tela ilustra o momento em que o robô envia uma mensagem ao centro de controle sobre a presença de um intruso; (vii) a sétima tela mostra o momento em que a central confirma o recebimento da mensagem; (viii) a oitava tela mostra o robô retornando para patrulhar; (ix) a nona tela ilustra o momento em que o robô encontra um funcionário da empresa e, ao ser identificado, verifica se ele não possui autorização de permanência neste setor; (x) a décima tela mostra o momento em que o robô envia uma mensagem sobre sua presença para o painel de controle; (xi) a décima primeira tela mostra a central confirmando o recebimento da mensagem.