Introdução ao LabVIEW para Robótica 2
O que faremos? LabVIEW NI Robotics Starter Kit Estudo de Caso Exercicios 3
Ambiente Gráfico de Programação LabVIEW Fácil. Poderoso. Aberto. Faça medições de modo FÁCIL com qualquer placa, instrumento ou barramento Permite usuários desenvolver PODEROSAS soluções com a tecnologia PC tradicional Integração de ferramentas externas e tecnologias com uma plataforma ABERTA 12
LabVIEW é uma linguagem de programação Programação gráfica Tipos de dados Estruturas (loops, case, event handling) Funções Padrões (Armazenameto I/O) Reuso de código externo Compila para código de máquina Multithreading automático 13
LabVIEW é um Ambiente de Desenvolvimento Ferramentas de depuração Assistentes Funçoes Configuráveis Fácil desenvolvimente da IU Ferramentas de engenharia de software Ferramentas de desempenho 14
LabVIEW Inclui bibliotecas Análise In-line e off-line e controle Processamento de sinal Análise e filtros Matemática Complexa Controle PID/Fuzzy Visão Movimento 20
NI Robotics Starter Kit Controladora NI Single-Board RIO Módulos LabVIEW Robotics, LabVIEW Real- Time e LabVIEW FPGA Sensor ultra-sônico, encoders, motores, bateria e carregador inclusos 27
Plataforma NI Single-Board RIO Processador Real-Time FPGA E/S Digital E/S Analog Outros Mod E/S
Programação Real-Time 29
LabVIEW Project Executa VI s em múltiplos targets My Computer Single-Board RIO (Processador Real-Time) Single-Board RIO (FPGA) 30
Estruturas de controle de execução While Loop Executa até atingir condição de parada For Loop Executa N vezes Permite que a mesma parte do código execute múltiplas vezes Condições de saída diferentes para cada um 31
Estruturas Timed Loop Multi-taxa Dinâmico Prioridade Configurável Período = 100 ms, Acquisição = 50 ms, Tempo de espera = 50 ms LabVIEW executa tarefas de baixa prioridade durante o tempo de espera. 32
Interface com o FPGA Carrega e executa o VI de FPGA da Single-Board RIO Ler e escrever dados para o VI de FPGA Finaliza a comunicação com o VI de FPGA 34
Programação FPGA 35
O que é um FPGA? O que é Matriz de portas programáveis Chip de silício com portas desconectadas Usuário pode definir e redefinir como funciona Como funciona Comportamento definido em software Compila e carrega o código em hardware Hardware executa o código 36
Exemplo Simplificado de FPGA Implementing Logic on FPGA: F = {(A+B)CD} E E F LabVIEW FPGA Code A B C D 37
Exemplo Simplificado de FPGA E F A B C D Z W X Y 38
Importância de sistema FPGA Alta confiabilidade Projetos tornam-se circuitos personalizados Alto determinismo Executa código de forma deterministica a taxas inferiores a 25 ns (mais rápido em muitos casos) Paralelismo real Executa tarefas em paralelo e pipelining Reconfigurável Cria novas ou altera tarefas existentes 39
Juntando tudo 40
Resumo da plataforma robótica NI Pensa Varre o sensor ultra-sônico Gera Histograma de Vetor de Campo (VFH) Identifica Analisa Histograma de Vetor de Campo Desvia de obstáculos Age 41
Histograma de Vetor de Campo (VFH) Função pronta em LabVIEW Constrói um mapa da área visível pelo sensor Determina a maior área que não ocupada Determinar se existe regiões de risco robô 42
Módulo LabVIEW Robotics IP para sensoriamento, navegação, controle de movimento e mais Ambiente de programação gráfico de alto-nível Execução em hardware Real-Time e FPGA Conectividade a sensores e atuadores mais comuns no mercado Ferramentas que integram à linguagem de programação estruturada Exemplos de aplicações do mundo real 43
46
Desafio urbano DARPA Percorrer de maneira autonôma 97Km dentro de um ambiente urbano Respeitar todas as leis de trânsito Com segurança passar por obstáculos e barreiras De maneira segura atuar com outros veículos, tripulados ou não, quando em estacionamentos ou paradas Odin 3º Lugar Virginia Tech Desenvolvido com LabVIEW e CompactRIO 47
Mais informações sobre ferramentas NI para robótica ni.com/robotics ni.com/code/robotics ni.com/labview ou Barbara.pracek@ni.com (11)3149-3149 55