Kursplan
Vecka 01
Introduktion
- Vad gör en robot smart?
Fysiska vs Virtuella Robotar
- Smarta robotar, smarta maskiner, medvetna maskiner och Robotic Process Automation (RPA), etc.
KI:s Roll inom Robotik
- Utöver "if-then-else" och den lärande maskinen
- Algoritmerna bakom KI
- Maskininlärning, datorseende, bearbetning av naturligt språk (NLP), etc.
- Kognitiv robotik
Big Data:s Roll inom Robotik
- Beslutsfattande baserat på data och mönster
Molnet och Robotik
- Anslutning av robotik med IT
- Skapa mer funktionella robotar som har tillgång till mer information och samarbetar
Fallstudie: Industrirobotar
- Mekaniska robotar
- Baxter
- Robotar i kärnkraftsanläggningar
- Detektion och skydd mot strålning
- Robotar i kärnreaktorer
- Detektion och skydd mot strålning
Hårdvarukomponenter i en Robot
- Motorer, sensorer, mikrokontrollrar, kameror, etc.
Gemensamma Element i Robotar
- Maskinseende, röstigenkänning, tal syntes, närhetsskanning, tryckskanning, etc.
Utvecklingsramar för Programmering av en Robot
- Öppen källkod och kommersiella ramar
- Robot Operating System (ROS)
- Arkitektur: arbetsyta, ämnen, meddelanden, tjänster, noder, actionlibs, verktyg, etc.
Språk för Programmering av en Robot
- C++ för låg nivå kontroll
- Python för orkestrering
- Programmering av ROS noder i Python och C++
- Andra språk
Verktyg för Simulering av en Fysisk Robot
- Kommersiell och öppen källkod 3D simulerings- och visualiseringsprogramvara
Vecka 02
Förberedelse av Utvecklingsmiljö
- Installering och inställning av programvara
- Användbara paket och verktyg
Fallstudie: Mekaniska Robotar
- Robotar inom kärnkraftsteknik
- Robotar i miljösystem
Programmering av Robot
- Programmering av en nod i Python och C++
- Förståelse av ROS nod
- Meddelanden och ämnen i ROS
- Publikation / prenumerationsparadigm
- Projekt: Bump & Go med en riktig robot
- Felsökning
- Simulering av robotar med Gazebo / ROS
- Ramar i ROS och referensändringar
- 2D-bearbetning av kamerainformation med OpenCV
- Bearbetning av laserinformation
- Projekt: Säker följning av objekt efter färg
- Felsökning
Vecka 03
Programmering av Robot (Fortsättning...)
- Tjänster i ROS
- 3D-bearbetning av RGB-D-sensorer med PCL
- Kartor och navigation med ROS
- Projekt: Sökning efter objekt i miljön
- Felsökning
Programmering av Robot (Fortsättning...)
- ActionLib
- Röstigenkänning och röstgenerering
- Kontroll av robotarmar med MoveIt!
- Kontroll av robotnacke för aktiv syn
- Projekt: Sökning och insamling av objekt
- Felsökning
Testning av Din Robot
- Enhetstestning
Vecka 04
Utöka en Robot:s Förmåga med Djupinlärning
- Perception -- syn, ljud och haptik
- Kunskapsrepresentation
- Röstigenkänning genom NLP (naturlig språkbehandling)
- Datorseende
Djupinlärning: Snabbkurs
- Artificiella Neurala Nätverk (ANN)
- Artificiella Neurala Nätverk vs. Biologiska Neurala Nätverk
- Feedforward Neurala Nätverk
- Aktiveringsfunktioner
- Träning av Artificiella Neurala Nätverk
Djupinlärning: Snabbkurs (Fortsättning...)
- Djupinlärningsmodeller
- Konvolutionella nätverk och återkommande nätverk
- Konvolutionella Neurala Nätverk (CNNs eller ConvNets)
- Konvolutionslager
- Poolinglager
- Konvolutionella Neurala Nätverksarkitektur
Vecka 05
Djupinlärning: Snabbkurs (Fortsättning...)
- Återkommande Neurala Nätverk (RNN)
- Träning av en RNN
- Stabilisering av gradienter under träning
- Långt korttidsminne-nätverk
- Djupinlärningsplattformar och programbibliotek
- Djupinlärning i ROS
Användning av Big Data i Din Robot
- Big Data begrepp
- Metoder för dataanalys
- Big Data verktyg
- Upptäcka mönster i data
- Övning: NLP och datorseende på stora datamängder
Användning av Big Data i Din Robot (Fortsättning...)
- Fördelad bearbetning av stora datamängder
- Samlevnad och korsbefruktning av Big Data och Robotik
- Robot som data-genererare
- Avståndsmätande sensorer, position, visuella, taktila sensorer och andra modaliteter
- Förståelse av sensorisk data (sense-plan-act loop)
- Övning: Fånga strömmande data
Programmering av en Autonom Djupinlärningsrobot
- Djupinlärningsrobotkomponenter
- Inställning av robotsimulator
- Körning av en CUDA-accelererad neural nätverks med Cafe
- Felsökning
Vecka 06
Programmering av en Autonom Djupinlärningsrobot (Fortsättning...)
- Genkänning av objekt i foton eller videoströmmar
- Aktivering av datorseende med OpenCV
- Felsökning
Dataanalys
- Användning av robot för insamling och organisation av ny data
- Verktyg och processer för att förstå data
Utplacering av en Robot
- Övergång från en simulerad robot till fysisk hårdvara
- Utplacering av robot i den fysiska världen
- Övervakning och underhåll av robotar i fält
Säkerhet för Din Robot
- Förhindra otillåtet ingripande
- Förhindra hackare från att se och stjäla känslig data
Byggande av en Robot Kollektivt
- Byggande av en robot i molnet
- Ansluta till robotiksamhället
Framsyn för Robotar inom Vetenskap och Energi
Sammanfattning och Avslutning
Krav
- Programmerfärdigheter i C eller C++
- Programmerfärdigheter i Python (användbart men inte nödvändigt; kan läras ut som en del av kursen)
- Erfarenhet av Linux kommandorad
Målgrupp
- Utvecklare
- Ingenjörer
- Vetenskapsmän
- Tekniker
Vittnesmål (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.