Kursplan
Vecka 01
Introduktion
- Vad gör en robot smart?
Fysiska vs virtuella robotar
- Smarta robotar, smarta maskiner, medvetna maskiner och robotprocessautomation (RPA) etc.
Rolken av artificiell intelligens (AI) i robotik
- Utöver "if-then-else" och läringsmaskiner
- Algoritmerna bakom AI
- Maskininlärning, datorseende, naturlig språkbehandling (NLP) etc.
- Kognitiv robotik
Rolken av stora data i robotik
- Beslutsmaking baserat på data och mönster
Molnet och robotik
- Koppling av robotik med IT
- Bygga mer funktionsförmående robotar som har tillgång till mer information och samarbetar
Fallstudie: Industrirobotar
-
Mekaniska robotar
- Baxter
-
Robotar i kärnanläggningar
- Stråleupptäckning och skydd
-
Robotar i kärnreaktorer
- Stråleupptäckning och skydd
Hårdvarukomponenter i en robot
- Motorer, sensorer, mikrokontroller, kameror etc.
Gemensamma element i robotar
- Maskinseende, röstigenkänning, talgenerering, närhetssensorer, trycksensorer etc.
Utvecklingsramverk för programmering av en robot
- Öppen källkod och kommersiella ramverk
-
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ågnivåkontroll
- Python för orchestration
- Programmering av ROS-noder i Python och C++
- Övriga språk
Verktyg för att simulera en fysisk robot
- Kommersiella och öppen källkod 3D-simulerings- och visualiseringsprogram
Vecka 02
Förberedelse av utvecklingsmiljön
- Programvarainstallation och konfiguration
- Användbara paket och verktyg
Fallstudie: Mekaniska robotar
- Robotar inom kärnteknikområdet
- Robotar i miljösystem
Programmering av roboten
- Programmera en nod i Python och C++
- Förstå ROS-nod
- Meddelanden och ämnen i ROS
- Publicerings-/prenumerationsparadigmat
- Projekt: Bump & Go med en riktig robot
- Felsökning
- Simulering av robotar med Gazebo/ROS
- Ramar i ROS och referensändringar
- 2D-informationssbearbetning av kameror med OpenCV
- Informationssbearbetning av en laser
- Projekt: Säkert följdobjekt efter färg
- Felsökning
Vecka 03
Programmering av roboten (Fortsätt...)
- Tjänster i ROS
- 3D-informationssbearbetning av RGB-D-sensorer med PCL
- Kartläggning och navigation med ROS
- Projekt: Sök efter objekt i miljön
- Felsökning
Programmering av roboten (Fortsätt...)
- ActionLib
- Röstigenkänning och talgenerering
- Kontroll av robotarmar med MoveIt!
- Kontroll av robottenhals för aktiv syn
- Projekt: Sök och samla objekt
- Felsökning
Testa din robot
- Enhetstestning
Vecka 04
Utöka robotens förmågor med djupinlärning
- Perception -- syn, ljud och haptik
- Kunskapsrepresentation
- Röstigenkänning genom NLP (naturlig språkbehandling)
- Datorseende
Crash Course i djupinlärning
- Artificiella neuronnät (ANNs)
- Artificiella neuronnät vs. biologiska neuronnät
- Feedforward-neuronnät
- Aktiveringsfunktioner
- Träning av artificiella neuronnät
Crash Course i djupinlärning (Fortsätt...)
-
Djupinlärningsmodeller
- Konvolutionella nätverk och återkommande nätverk
-
Konvolutionella neuronnät (CNNs eller ConvNets)
- Konvolutionslager
- Poolningslager
- Arkitektur för konvolutionella neuronnät
Vecka 05
Crash Course i djupinlärning (Fortsätt...)
-
Återkommande neuronnät (RNN)
- Träning av ett RNN
- Stabilisering av gradienter under träning
- Långtidsminnesnätverk
-
Djupinlärningsplattformar och mjukvarubibliotek
- Djupinlärning i ROS
Använda stora data i din robot
- Stora datakoncept
- Tillvägagångssätt för datanalys
- Verktyg för stordata
- Identifiera mönster i data
- Övning: NLP och datorseende på stora datamängder
Använda stora data i din robot (Fortsätt...)
- Distribuerad bearbetning av stora datamängder
- Samexistens och korsbefruktning mellan stordata och robotik
-
Robot som data generator
- Räckviddsmätande sensorer, position, visuella, taktiska sensorer och andra modaliteter
- Förstå sensoriska data (sense-plan-act loop)
- Övning: Capturing streaming data
Programmera en autonom djupinlärningsrobot
- Djupinlärningskomponenter för roboten
- Konfigurera robotsimulatorn
- Kör ett CUDA-akcelererat neuronnät med Cafe
- Felsökning
Vecka 06
Programmera en autonom djupinlärningsrobot (Fortsätt...)
- Identifiera objekt i fotografier eller videostreams
- Aktivera datorseende med OpenCV
- Felsökning
Dataanalys
- Använda roboten för att samla in och organisera ny data
- Verktyg och processer för att förstå data
Distribuera en robot
- Övergång från simulerad robot till fysisk hårdvara
- Distribuera roboten i den fysiska världen
- Övervaka och underhålla robotar på plats
Skydda din robot
- Förebygga obehörig manipulering
- Förebygga hackare från att titta på och stjäla känsliga data
Bygg en robot samlat
- Bygga en robot i molnet
- Gå med i robotikgemenskapen
Framtidsutsikt för robotar inom vetenskap och energi
Sammanfattning och slutsats
Krav
- Programmerings erfarenhet i C eller C++
- Programmerings erfarenhet i Python (användbart men inte nödvändigt; kan läras som en del av kursen)
- Erfarenhet av Linux kommandorad
Målgrupp
- Utvecklare
- Ingenjörer
- Vetenskapsmän
- Tekniker
Vittnesmål (1)
dessas kunskaper och användningen av AI för robotik i framtiden.
Ryle - PHILIPPINE MILITARY ACADEMY
Kurs - Artificial Intelligence (AI) for Robotics
Maskintolkat