Programa do Curso
Semana 01
Introdução
- O que é que torna um robô inteligente?
Robôs físicos vs virtuais
- Smart Robots, Máquinas Inteligentes, Máquinas Sencientes e Robotic Process Automation (RPA), etc.
O papel de Artificial Intelligence (AI) em Robotics
- Para além do "se-então-então" e da máquina de aprendizagem
- Os algoritmos subjacentes à IA
- Aprendizagem automática, visão computacional, processamento da linguagem natural (PNL), etc.
- Robótica cognitiva
O papel da Big Data in Robotics
- Tomada de decisões com base em dados e padrões
A nuvem e Robotics
- Ligação da robótica às TI
- Construir robôs mais funcionais que acedam a mais informação e colaborem
Estudo de caso: Robôs industriais
- Robôs mecânicos
- Baxter
- Robôs em instalações nucleares
- Deteção e proteção contra radiações
- Robots em instalações nucleares Reactors
- Deteção e proteção contra radiações
Componentes de hardware de um robô
- Motores, sensores, microcontroladores, câmaras, etc.
Elements comuns dos robots
- Visão artificial, reconhecimento de voz, síntese de voz, deteção de proximidade, deteção de pressão, etc.
Quadros de desenvolvimento para Programming um robô
- Quadros de código aberto e comerciais
- Sistema operativo do robô (ROS)
- Arquitetura: espaço de trabalho, tópicos, mensagens, serviços, nós, actionlibs, ferramentas, etc.
Languages para Programming um Robô
- C++ para controlo de baixo nível
- Python para orquestração
- Programming ROS nós em Python e C ++
- Outras linguagens
Ferramentas para simular um robô físico
- Software de simulação e visualização 3D comercial e de código aberto
Semana 02
Preparando o ambiente de desenvolvimento
- Instalação e configuração de software
- Pacotes e utilitários úteis
Estudo de caso: Robôs mecânicos
- Robôs no domínio da tecnologia nuclear
- Robôs em sistemas ambientais
Programming o Robô
- Programming um nó em Python e C ++
- Compreender o nó ROS
- Mensagens e tópicos em ROS
- Paradigma de publicação / subscrição
- Projeto: Bump & Go com um robot real
- Resolução de problemas
- Simulação de robots com Gazebo / ROS
- Quadros em ROS e alterações de referência
- Processamento de informação 2D de câmaras com OpenCV
- Processamento de informação de um laser
- Projeto: Seguimento seguro de objectos por cor
- Resolução de problemas
Semana 03
Programming o Robô (Continua...)
- Serviços em ROS
- Processamento de informação 3D de sensores RGB-D com PCL
- Mapas e navegação com ROS
- Projeto: Procura de objectos no ambiente
- Resolução de problemas
Programming o Robô (Continua...)
- ActionLib
- Speech Recognition e Geração de Fala
- Controlo dos braços robóticos com o MoveIt!
- Controlo do pescoço robótico para visão ativa
- Projeto: Pesquisa e recolha de objectos
- Resolução de problemas
Testar o robô
- Teste de unidade
Semana 04
Ampliando as Capacidades de um Robô com Deep Learning
- Perceção -- visão, áudio e háptica
- Representação de conhecimento
- Reconhecimento de voz através de NLP (processamento de linguagem natural)
- Visão computacional
Curso rápido de Deep Learning
- Artificial Neural Networks (RNAs)
- Artificial Neural Networks vs. Biológico Neural Networks
- Funções de ativação Neural Networks
- Funções de ativação
- Treinamento Artificial Neural Networks
Curso Rápido de Deep Learning (Continuação...)
- Deep Learning Modelos
- Redes Convolucionais e Redes Recorrentes
- Convolucional Neural Networks (CNNs ou ConvNets)
- Camada de convolução
- Camada de Pooling
- Arquitetura Convolucional Neural Networks
Semana 05
Curso intensivo em Deep Learning (Continuação...)
- Recorrente Neural Networks (RNN)
- Treinando um RNN
- Estabilizando gradientes durante o treinamento
- Redes de memória de longo prazo
- Deep Learning Plataformas e bibliotecas de software
- Deep Learning em ROS
Utilizar Big Data no seu robô
- Conceitos de grandes volumes de dados
- Abordagens à análise de dados
- Ferramentas Big Data
- Reconhecer padrões nos dados
- Exercício: PNL e Computer Vision em grandes conjuntos de dados
Utilizar Big Data no seu robô (continuação...)
- Processamento distribuído de grandes conjuntos de dados
- Coexistência e fertilização cruzada de Big Data e Robotics
- O robô como gerador de dados
- Sensores de medição de alcance, posição, visuais, tácteis e outras modalidades
- Dar sentido aos dados sensoriais (ciclo sentido-plano-ação)
- Exercício: Capturar dados em fluxo contínuo
Programming um robô Deep Learning autónomo
- Componentes do robô Deep Learning
- Configurar o simulador de robô
- Executando uma rede neural acelerada por CUDA com o Cafe
- Resolução de problemas
Semana 06
Programming um robô Deep Learning autónomo (Continuação...)
- Reconhecendo objetos em fotografias ou fluxos de vídeo
- Habilitando a visão computacional com OpenCV
- Resolução de problemas
Análise de dados
- Utilizar o robô para recolher e organizar novos dados
- Ferramentas e processos para dar sentido aos dados
Implementação de um robô
- Transição de um robô simulado para hardware físico
- Implementação do robô no mundo físico
- Monitorização e manutenção de robôs no terreno
Proteger o seu robô
- Prevenir a manipulação não autorizada
- Evitar que os hackers vejam e roubem dados sensíveis
Construir um robô de forma colaborativa
- Construir um robô na nuvem
- Juntar-se à comunidade robótica
Futuro Outlook dos robôs no domínio da ciência e da energia
Resumo e conclusão
Requisitos
- Programming experiência em C ou C++
- Programming experiência em Python (útil, mas não necessário; pode ser ensinado como parte do curso)
- Experiência com Linux linha de comando
Público
- Desenvolvedores
- Engenheiros
- Cientistas
- Técnicos
Declaração de Clientes (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.