Programa do Curso
Semana 01
Dia 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
Dia 02
O papel de Big Data 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
- 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
Dia 03
Componentes de hardware de um robô
- Motores, sensores, microcontroladores, câmaras, etc.
Elements comuns dos robôs
- Visão artificial, reconhecimento de voz, síntese de voz, deteção de proximidade, deteção de pressão, etc.
Dia 04
Estruturas de desenvolvimento para Programming um robô
- Estruturas 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
Dia 05
Ferramentas para simular um robô físico
- Software de visualização e simulação 3D comercial e de código aberto
Ferramentas para projetar as caraterísticas físicas de um robô
- Software comercial e de código aberto CAD
Estudo de caso: Robôs mecânicos
- Robôs no domínio da tecnologia nuclear
- Robôs em sistemas ambientais
Semana 02
Dia 06
Curso intensivo em Python
- Instalação e configuração de software
- Pacotes e utilitários úteis
- Trabalhar com Python estruturas de dados, operadores, loops, condicionais, funções, métodos, etc.
- Escrever um programa de exemplo
- Projeto de equipa
Dia 07
Preparação para o desenvolvimento do robô
- Configurar o ambiente de desenvolvimento (por exemplo, Arduino IDE)
- Explorar a sintaxe da linguagem Arduino (C/C++)
- Codificação, compilação e carregamento para o microcontrolador
- Montagem dos componentes de hardware de um robô Arduino
Dia 08
Trabalhar com componentes Arduino
- Sensores analógicos
- Sensores digitais
Trabalhar com Arduino Communication Módulos
- Módulos Bluetooth
- Módulos Wi-Fi
- Módulos RFID
- I2C e SPI
- Internet móvel
Dia 09
Construção de um robô
- Planear as funcionalidades e caraterísticas de um robô
- Implementação do movimento do robô
Projeto de equipa
- Debate e revisão
Dia 10
Controlar o robô
- Implementar o controlador
- Ligação ao robô (com e sem fios)
Projeto de equipa
- Discussão e revisão
Semana 03
Dia 11
Programming O robô
- Simular um robô com o Gazebo / ROS
- Compreender o nó ROS
- Programming um nó em Python e C ++
- Mensagens e tópicos em ROS
- Paradigma de publicação / subscrição
Projeto de equipa
- Bump & Go com um robot real
- Discussão e revisão
Dia 12
Programming o Robô (continuação...)
- Quadros em ROS e mudanças de referência
- Processamento de informação 2D de câmaras com OpenCV
- Processamento de informação de um laser
Projeto de equipa
- Seguimento seguro de objectos por cor
- Discussão e revisão
Dia 13
Testar o robô
- Ferramentas para testar o código
- Testes unitários
- Criando um conjunto de testes
- Automatizando seus testes
- Resolução de problemas
Projeto de equipa
- Seguimento seguro de objectos por cor
- Discussão e revisão
Dia 14
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
Dia 15
Programming o Robô (Continua...)
- Realização de tarefas com a ActionLib
Projeto de equipa
- Procurar objectos no ambiente
Semana 04
Dia 16
Programming o Robô (Continua...)
- Realizar tarefas com a ActionLib
Dia 17
Programming o Robô (Continua...)
- Speech Recognition e Geração de fala
- Resolução de problemas
Projeto de equipa
- Controlar um robô utilizando a voz
Dia 18
Programming o Robô (Continua...)
- Controlo de braços robóticos com MoveIt!
- Controlar o pescoço robótico para visão ativa
- Resolução de problemas
Projeto de equipa
- Procura e recolha de objectos
Dia 19
Implementar o robô
- Implementar o robô no mundo físico
- Monitorização e manutenção de robôs no terreno
- Utilizar uma aplicação móvel para controlar um robô
Proteger o robô
- Prevenir a manipulação não autorizada
- Evitar que os hackers vejam e roubem dados sensíveis
Dia 20
Análise de dados
- Recolher e organizar os dados gerados pelo robô
- Dar sentido aos dados através de ferramentas e processos de visualização
Construir um robô de forma colaborativa
- Construir um robô na nuvem
- Criar uma aplicação móvel para interagir com o seu robô
- 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.