Programa do Curso
Semana 01
Introdução
-
O que é que torna um robô inteligente?
Robôs físicos vs. virtuais
-
Smart Robots, Smart Machines, Sentient Machines e Robotic Process Automation (RPA), etc.
O papel da Inteligência Artificial (IA) em Robotics
-
Para além do "if-then-else" e da máquina de aprendizagem
Os algoritmos subjacentes à IA
Aprendizagem automática, visão computacional, processamento de linguagem natural (PNL), etc.
Robótica cognitiva
O papel dos grandes dados em Robotics
-
Tomada de decisões com base em dados e padrões
A Nuvem e Robotics
-
Ligar a robótica às TI
Construir robôs mais funcionais que acedam a mais informação e colaborem entre si
Estudo de caso: Robôs industriais
-
Robôs mecânicos
Baxter
Elements comuns dos robots
-
Visão artificial, reconhecimento de voz, síntese de voz, deteção de proximidade, deteção de pressão, etc.
Estruturas 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.
Línguas para Programming um Robô
-
C++ para controlo de baixo nível
Python para orquestração
Programação ROS de nós em Python e C ++
Outras linguagens
Ferramentas de simulação de um robô físico
-
Software de visualização e simulação 3D comercial e de fonte aberta
-
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 
-
Robots no domínio da tecnologia nuclear
Robôs em sistemas ambientais
Programming o Robô
-
Programar 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 robôs 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: Search para objectos no ambiente Resolução de problemas
Programming o Robô (Continua...)
-
ActionLib
Speech Recognition e Geração de Discurso
Controlo de braços robóticos com MoveIt!
Controlo do pescoço robótico para visão ativa
Projeto: Pesquisa e recolha de objectos
Resolução de problemas
Testar o robô
-
Testes unitários
-
Semana 04
Alargamento das capacidades de um robô com Deep Learning
Perceção - visão, áudio e háptica Representação do conhecimento Reconhecimento de voz através de PNL (processamento de linguagem natural) Computer visão
Curso intensivo em Deep Learning
-
Artificial Neural Networks (RNAs)
Artificial Neural Networks vs. Biológica Neural Networks
Alimentação Neural Networks
Funções de ativação
Treino Artificial Neural Networks
Curso intensivo em 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
Recorrente Neural Networks (RNN) Treinar uma RNN Estabilização de gradientes durante o treino Redes de memória de curto prazo
Plataformas de aprendizagem profunda e bibliotecas de software Aprendizagem profunda em ROS
Utilizar Big Data no seu robô
-
Conceitos de grandes volumes de dados
Abordagens à análise de dados
Ferramentas de Big Data
Reconhecer padrões nos dados
Exercício: PNL e Computer Vision em grandes conjuntos de dados
Dar sentido aos dados sensoriais (ciclo sentido-plano-ação)
-
Exercício: Capturar dados de streaming
Programming um robô autónomo de aprendizagem profunda
-
Deep Learning Componentes do robô
Configurar o simulador de robô
Executar uma rede neural acelerada por CUDA com o Cafe
Resolução de problemas
Reconhecimento de objectos em fotografias ou fluxos de vídeo Ativação da visão computacional com OpenCV Resolução de problemas
-
Análise de dados
Utilizar o robot 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ô
Prevenção de adulterações não autorizadas Evitar que os hackers vejam e roubem dados sensíveis
-
Construir um robô de forma colaborativa
Construir um robô na nuvem Juntar-se à comunidade de robótica
-
Futuro Outlook dos robôs no domínio da ciência e da energia
Resumo e conclusão
Requisitos
- Experiência de programação em C ou C++
- Experiência de programação em Python (útil, mas não necessária; pode ser ensinada como parte do curso)
- Experiência com a linha de comando do Linux
Público
- Desenvolvedores
- Engenheiros
- Cientistas
- Técnicos
Declaração de Clientes (1)
Good conceptual explanations followed by good example exercises