A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comando e Monitoração de um Robô Móvel usando Tecnologia Internet Aluno: Helder Oliveira de Castro Orientador: Cairo Lúcio Nascimento Júnior Co-orientador:

Apresentações semelhantes


Apresentação em tema: "Comando e Monitoração de um Robô Móvel usando Tecnologia Internet Aluno: Helder Oliveira de Castro Orientador: Cairo Lúcio Nascimento Júnior Co-orientador:"— Transcrição da apresentação:

1 Comando e Monitoração de um Robô Móvel usando Tecnologia Internet Aluno: Helder Oliveira de Castro Orientador: Cairo Lúcio Nascimento Júnior Co-orientador: Jeeves Lopes dos Santos Aluno: Helder Oliveira de Castro Orientador: Cairo Lúcio Nascimento Júnior Co-orientador: Jeeves Lopes dos Santos Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Apresentação final do Trabalho de Graduação Computação

2 Introdução O projeto REALabs – Uma Federação de WebLabs Cooperativos, é um projeto da Fapesp integrado por UNICAMP, ITA, UFU, PUC-RS e o CTI. Este projeto define uma interface Web para que as instituições possam compartilhar recursos de seus laboratórios entre si através de experiências realizadas remotamente. O ITA é representado pelo LMI, que disponibilizará, inicialmente, dois robôs móveis para experiências remotas: o ROMEO e o Trekker. Cada laboratório precisa configurar dois serviços básicos: i) como a requisição web vai chegar ao servidor local e como essa requisição vai interagir com o recurso do laboratório. Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

3 Este trabalho tem dois objetivos básicos: Definir um conjunto de experiências que serão realizadas pelo robô Trekker, do LMI. Disponibilizá-lo para ser comandado e monitorado remotamente, usando tecnologia Internet. Objetivo Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

4 Tópicos Serão apresentados os seguintes tópicos: Visão geral do robô Trekker O microcontrolador OOPic Descrição do funcionamento do sistema Comunicação usuário remoto - servidor Comunicação servidor – Trekker Experiências Conclusão Demonstração Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

5 O Trekker possui os seguintes subsistemas: Sistema de propulsão: 2 servomecanismos CC. Sistema de energia: 8 baterias tamanho AA de 1,5 V. Sistema de sensoriamento: 1 sensor de ultra-som (1 transmissor, 1 receptor) e 1 sensor de infravermelho para medição de distância montados em torre giratória, 1 bússola eletrônica, 2 encoders ópticos (1 em cada roda), 4 pares de foto-sensores usados para leitura de faixas de navegação no solo, 1 sensor de contato frontal. Sistema de computação: 1 placa com microcontrolador OOPic II e uma placa de expansão. Sistema de comunicação externa: comunicação sem fio com computador base usando módulos Serial - ZigBee, câmera embarcada sem fio. Visão geral do robô Trekker Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

6 O Trekker montado Visão geral do robô Trekker Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

7 O OOPic é o primeiro PIC a ter um sistema operacional que usa uma abordagem orientada a objetos para fazer controle do hardware. O conceito é bem simples: Ele usa objetos pré-programados e multi-tarefas de uma biblioteca de objetos altamente otimizada para fazer o interfaceamento com o hardware. O programador escreve programas em Basic, C ou Java para controlar os objetos. Durante a operação, os objetos rodam continuamente e simultaneamente por trás enquanto os scripts rodam por cima dizendo aos objetos o que fazer. Cada aspecto dos objetos pode ser controlado pelos scripts enquanto os objetos se comunicam com o hardware. A biblioteca de objetos do OOPIC contém objetos que conhecem como interagir com os sensores e servos mais populares do mercado. O microcontrolador OOPic Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

8 Outro ponto importante é a capacidade de criar Circuitos Virtuais (CV) com o OOPic. Um CV é um processo que roda por trás da execução do programa principal. Num CV, um conjunto de objetos interagem entre si, através do comando de linking. Para cada CV, o sistema operacional cria uma thread responsável pela sua execução. Uma aplicação importante é para a leitura dos encoders das rodas: deseja-se que toda a vez que uma certa linha de IO digital passe pelo nível lógico 1 um contador seja incrementado. Cria-se então um CV que usa um contador linkado à DIO, logo na inicialização do programa. O encoder está montado e nenhuma preocupação adicional precisará ser despendida. O microcontrolador OOPic Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

9 O microcontrolador OOPic Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Uma interessante alternativa de comunicação externa com o OOPic é usar o protocolo SCP, ou Serial Control Protocol, que possui as seguintes características: O sistema operacional possui uma thread só para escutar e interpretar comandos da porta serial. A execução desse comandos não interfere no fluxo normal do programa embarcado, a não ser que isso seja explicitamente pedido. É possível alterar e ler diretamente valores da RAM, pausar e reiniciar a execução do programa, pedir o modo single step e ainda o reset da aplicação. É possível dar saltos incondicionais ( Branch ) para regiões do programa, interrompendo o fluxo normal (para voltar somente no RET) É possível ainda escrever diretamente na EEPROM, permitindo que programas inteiros sejam enviados para o OOPic pela porta serial – bootstrap mode.

10 O microcontrolador OOPic Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Branch visto no código compilado

11 O sistema proposto para comando e monitoração do robô Trekker consistiu de uma adaptação do sistema de controle do robô ROMEO proposto pelo co-orientador do Trabalho de Graduação Jeeves Lopes dos Santos. Esse sistema é constituído por: Robô Trekker. Computador local servidor (AMD Sempron 1.6GHz, 512MB RAM). Navegador de internet. Página web escrita em HTML. Câmera embarcada sem fio. Câmera panorâmica (Axis 214 PTZ da Axis Communications). Descrição do funcionamento do sistema Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

12 Comunicação usuário remoto - servidor Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes O usuário conectado a internet acessa à página HTML e dela solicita a realização da experiência remota. No servidor roda o programa CGI de interface, que captura as informações solicitadas pelo usuário e, como proposto pelo Jeeves no controle do ROMEO, escreve três arquivos: status.txt – arquivo que armazena o status do robô Trekker. log.txt – cadastra o IP do usuário que solicitou alguma experiência. prog.txt – arquivo criado assim que o usuário solicita a experiência e contém os dados entrados pelo usuário na página.

13 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

14 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

15 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

16 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

17 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

18 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

19 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

20 Comunicação servidor - Trekker Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes O servidor, por sua vez, possui um script MatLab, que continuamente checa a existência do arquivo prog.txt. Assim que o encontra, decodifica as informações e, conforme o movimento solicitado pelo usuário, faz a comunicação com o robô. A arquitetura do sistema embarcado do Trekker foi desenhada de maneira que o processamento ficasse todo concentrado no servidor. O servidor solicita a realização das experiências através de saltos incondicionais (comando Branch ) para as rotinas que efetivamente fazem o tratamento do movimento desejado.

21 Comunicação servidor - Trekker Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Durante a operação do robô é passada ao arquivo status.txt a atual ação do robô, o que troca a página vista pelo usuário. Por fim, quando a experiência termina o servidor altera o conteúdo do arquivo status.txt informando ao usuário que o robô está disponível e aguardando comandos, e o usuário volta ao formulário inicial.

22 Função Main() do programa embarcado Comunicação servidor - Trekker Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

23 Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Descrição do funcionamento do sistema Arquitetura proposta para o controle web do ROMEO adaptada para o robô Trekker

24 Foi proposta a seguinte configuração para as experiências com o Trekker: Translação para frente e para trás: Usuário define tempo de translação e velocidade. Rotação de 45° e 90° no sentido horário e anti-horário. Varredura do Sonar e do Infravermelho: Usuário define início, Passo e Fim da varredura Estimativa da trajetória do Trekker, com base na leitura dos Encoders e da Bússola eletrônica. A arquitetura no programa do servidor é sempre a mesma: Configura alguma variável de controle, conforme necessário. Envia o comando de Branch. Lê o valor pedido, se o comando requisitar leitura. Experiências Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes

25 A arquitetura proposta usa o SCP para simplificar a comunicação com o robô. Uma série de funções são criadas para definir os movimentos, e desta forma toda a lógica interna fica simplificada. Memória RAM do robô é poupada, pois não é necessário definir variáveis internas de controle. O programa embarcado fica mais simples e menor (código limpo). O programa do servidor usa mensagens muito simples, e a estrutura do código é sempre a mesma. Entretanto, performance é perdida nos comandos de varredura – cada vez que o sensor faz uma leitura ele tem que enviar o valor lido para o servidor, o que torna esses comandos um pouco mais lentos. Conclusão Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes Instituto Tecnológico de Aeronáutica Laboratório de Máquinas Inteligentes


Carregar ppt "Comando e Monitoração de um Robô Móvel usando Tecnologia Internet Aluno: Helder Oliveira de Castro Orientador: Cairo Lúcio Nascimento Júnior Co-orientador:"

Apresentações semelhantes


Anúncios Google