Programa do Curso
Semana 01
Introdução
- O que Torna um Robô Inteligente?
Robôs Físicos vs Virtuais
- Robôs Inteligentes, Máquinas Inteligentes, Máquinas Cognitivas e Automação de Processos Robóticos (RPA), etc.
O Papel da Inteligência Artificial (IA) na Robótica
- Para além do "if-then-else" e a máquina de aprendizado
- Os algoritmos por trás da IA
- Aprendizado de máquina, visão computacional, processamento de linguagem natural (PLN), etc.
- Robótica cognitiva
O Papel do Big Data na Robótica
- Tomada de decisões baseadas em dados e padrões
A Nuvem e a Robótica
- Integrando robótica com TI
- Construindo robôs mais funcionais que acessam informações adicionais e colaboram
Estudo de Caso: Robôs Industriais
- Robôs Mecânicos
- Baxter
- Robôs em Instalações Nucleares
- Detecção e proteção contra radiação
- Robôs em Reatores Nucleares
- Detecção e proteção contra radiação
Componentes de Hardware de um Robô
- Motores, sensores, microcontroladores, câmeras, etc.
Elementos Comuns dos Robôs
- Visão de máquina, reconhecimento de voz, síntese de fala, sensores de proximidade, sensores de pressão, etc.
Frameworks de Desenvolvimento para Programar um Robô
- Quadros abertos e comerciais
- Sistema Operacional de Robô (ROS)
- Arquitetura: workspace, tópicos, mensagens, serviços, nós, actionlibs, ferramentas, etc.
Linguagens para Programar um Robô
- C++ para controle de baixo nível
- Python para orquestração
- Programando nós ROS em Python e C++
- Outras linguagens
Ferramentas para Simular um Robô Físico
- Software de simulação e visualização 3D comercial e open source
Semana 02
Preparando o Ambiente de Desenvolvimento
- Instalação e configuração do software
- Pacotes e utilitários úteis
Estudo de Caso: Robôs Mecânicos
- Robôs no campo da tecnologia nuclear
- Robôs em sistemas ambientais
Programando o Robô
- Programar um nó em Python e C++
- Compreendendo os nós ROS
- Mensagens e tópicos no ROS
- Paradigma de publicação/subscrição
- Projeto: Bump & Go com robô real
- Solução de problemas
- Simulação de robôs com Gazebo/ROS
- Frames no ROS e mudanças de referência
- Processamento de informações 2D de câmeras com OpenCV
- Processamento de informações de um laser
- Projeto: Rastreamento seguro de objetos por cor
- Solução de problemas
Semana 03
Programando o Robô (Continuação...)
- Serviços no ROS
- Processamento de informações 3D de sensores RGB-D com PCL
- Mapas e Navegação com ROS
- Projeto: Busca por objetos no ambiente
- Solução de problemas
Programando o Robô (Continuação...)
- ActionLib
- Reconhecimento e geração de fala
- Controle de braços robóticos com MoveIt!
- Controle do pescoço robótico para visão ativa
- Projeto: Busca e coleta de objetos
- Solução de problemas
Testando seu Robô
- Testes unitários
Semana 04
Ampliando as Capacidades de um Robô com Aprendizado Profundo
- Percepção -- visão, áudio e haptics
- Representação do conhecimento
- Reconhecimento de voz através de PLN (processamento de linguagem natural)
- Visão computacional
Curso Intensivo de Aprendizado Profundo
- Redes Neurais Artificiais (ANNs)
- Redes Neurais Artificiais vs. Biológicas
- Redes Neurais Feedforward
- Funções de Ativação
- Treinamento de Redes Neurais Artificiais
Curso Intensivo de Aprendizado Profundo (Continuação...)
- Modelos de Aprendizado Profundo
- Redes Convolutivas e Recorrentes
- Redes Neurais Convolucionais (CNNs ou ConvNets)
- Camada de Convolução
- Camada de Pooling
- Arquitetura das Redes Neurais Convolucionais
Semana 05
Curso Intensivo de Aprendizado Profundo (Continuação...)
- Redes Neurais Recorrentes (RNN)
- Treinando uma RNN
- Estabilização de gradientes durante o treinamento
- Redes de memória a longo prazo e curto prazo (LSTM)
- Plataformas e Bibliotecas de Software para Aprendizado Profundo
- Aprendizado Profundo no ROS
Usando Big Data em seu Robô
- Conceitos de Big Data
- Abordagens para análise de dados
- Ferramentas de Big Data
- Reconhecimento de padrões nos dados
- Exercício: PLN e visão computacional em conjuntos de dados grandes
Usando Big Data em seu Robô (Continuação...)
- Processamento distribuído de conjuntos de dados grandes
- Coexistência e sinergia entre Big Data e robótica
- O robô como gerador de dados
- Sensores de medição de alcance, posição, visuais, táteis e outras modalidades
- Interpretando os dados sensoriais (laço sense-plan-act)
- Exercício: Captura de dados em fluxo
Programando um Robô Autônomo com Aprendizado Profundo
- Componentes do robô com aprendizado profundo
- Configurando o simulador de robôs
- Executando uma rede neural acelerada por CUDA com Caffe
- Solução de problemas
Semana 06
Programando um Robô Autônomo com Aprendizado Profundo (Continuação...)
- Reconhecimento de objetos em fotografias ou fluxos de vídeo
- Habilitação da visão computacional com OpenCV
- Solução de problemas
Análise de Dados
- Usando o robô para coletar e organizar novos dados
- Ferramentas e processos para interpretar os dados
Implantação de um Robô
- Transição de um robô simulado para hardware físico
- Implantação do robô no mundo físico
- Monitoramento e manutenção de robôs em campo
Segurança do seu Robô
- Prevenção de interferências não autorizadas
- Proteção contra hackers visualizando e roubando dados sensíveis
Construindo um Robô em Colaboração
- Construção de robôs na nuvem
- Participação da comunidade robótica
Perspectivas Futuras para Robôs no Campo de Ciências e Energia
Resumo e Conclusão
Inteligência Artificial e Robótica para Nuclear - Estendido A robótica e a inteligência artificial (IA) são ferramentas poderosas para o desenvolvimento de sistemas de segurança em instalações nucleares. Neste treinamento dirigido pelo instrutor (online ou presencial), os participantes aprenderão as diferentes tecnologias, frameworks e técnicas para programar diferentes tipos de robôs a serem usados no campo da tecnologia nuclear e sistemas ambientais. O curso de 6 semanas é realizado 5 dias por semana. Cada dia tem 4 horas e consiste em palestras, discussões e desenvolvimento de robôs práticos em um ambiente de laboratório ao vivo. Os participantes completarão vários projetos do mundo real aplicáveis a seu trabalho para praticar o conhecimento adquirido. O hardware-alvo deste curso será simulado em 3D através de software de simulação. O quadro de código aberto ROS (Robot Operating System), C++ e Python serão usados para programar os robôs. Ao final deste treinamento, os participantes serão capazes de: Compreender os conceitos-chave utilizados em tecnologias robóticas. Compreender e gerenciar a interação entre software e hardware em um sistema robótico. Compreender e implementar os componentes de software que sustentam a robótica. Construir e operar um robô mecânico simulado que possa ver, sentir, processar, navegar e interagir com humanos através da voz. Compreender os elementos necessários de inteligência artificial (aprendizado de máquina, aprendizado profundo, etc.) aplicáveis à construção de um robô inteligente. Implementar filtros (Kalman e Partícula) para permitir ao robô localizar objetos em movimento no ambiente. Implementar algoritmos de busca e planejamento de movimento. Implementar controles PID para regular o movimento de um robô dentro do ambiente. Implementar algoritmos SLAM para permitir que o robô mapeie um ambiente desconhecido. Ampliar a capacidade de um robô para realizar tarefas complexas através de Aprendizado Profundo. Testar e solucionar problemas em cenários realistas. Formato do Curso Palestra interativa e discussão. Muitos exercícios e prática. Implementação prática em um ambiente de laboratório ao vivo. Opções de Personalização do Curso Para personalizar qualquer parte deste curso (linguagem de programação, modelo de robô, etc.), entre em contato conosco para agendar. Experiência com programação em C ou C++ Experiência com programação em Python (útil, mas não necessária; pode ser ensinada como parte do curso) Experiência com linha de comando Linux Público Alvo Desenvolvedores Engenheiros Cientistas Técnicos Neste treinamento dirigido pelo instrutor em <loc> (online ou presencial), os participantes aprenderão as diferentes tecnologias, frameworks e técnicas para programar diferentes tipos de robôs a serem usados no campo da tecnologia nuclear e sistemas ambientais. O curso de 6 semanas é realizado 5 dias por semana. Cada dia tem 4 horas e consiste em palestras, discussões e desenvolvimento de robôs práticos em um ambiente de laboratório ao vivo. Os participantes completarão vários projetos do mundo real aplicáveis a seu trabalho para praticar o conhecimento adquirido. O hardware-alvo deste curso será simulado em 3D através de software de simulação. O quadro de código aberto ROS (Robot Operating System), C++ e Python serão usados para programar os robôs. Ao final deste treinamento, os participantes serão capazes de: Compreender os conceitos-chave utilizados em tecnologias robóticas. Compreender e gerenciar a interação entre software e hardware em um sistema robótico. Compreender e implementar os componentes de software que sustentam a robótica. Construir e operar um robô mecânico simulado que possa ver, sentir, processar, navegar e interagir com humanos através da voz. Compreender os elementos necessários de inteligência artificial (aprendizado de máquina, aprendizado profundo, etc.) aplicáveis à construção de um robô inteligente. Implementar filtros (Kalman e Partícula) para permitir ao robô localizar objetos em movimento no ambiente. Implementar algoritmos de busca e planejamento de movimento. Implementar controles PID para regular o movimento de um robô dentro do ambiente. Implementar algoritmos SLAM para permitir que o robô mapeie um ambiente desconhecido. Ampliar a capacidade de um robô para realizar tarefas complexas através de Aprendizado Profundo. Testar e solucionar problemas em cenários realistas.Requisitos
- Experiência em programação em C ou C++
- Experiência em programação em Python (útil, mas não obrigatório; pode ser ensinado como parte do curso)
- Experiência com a linha de comando Linux
Público-alvo
- Desenvolvedores
- Engenheiros
- Cientistas
- Técnicos
Declaração de Clientes (1)
Sinto que adquiri as habilidades essenciais para entender como o ROS se integra e como estruturar projetos nele.
Dan Goldsmith - Coventry University
Curso - ROS: Programming for Robotics
Máquina Traduzida