Kursplan
Uke 01
Innføring
- Hva gjør en robot intelligent?
Fysiske vs Virtuelle Roboter
- Smarte roboter, smarte maskiner, bevisste maskiner og Robotic Process Automation (RPA), osv.
Rollen til kunstig intelligens (AI) innen robotteknologi
- Utover "if-then-else" og den lærende maskinen
- Algoritmene bak AI
- Maskinlæring, databehandling, naturlig språkbehandling (NLP), osv.
- Kognitiv robotteknologi
Rollen til Big Data i robotteknologi
- Beslutningsprosesser basert på data og mønstre
Skyen og robotteknologi
- Kopling av robotteknologi med IT
- Bygging av mer funksjonelle roboter som tilgjengelig mer informasjon og samarbeider
Casestudium: Industriroboter
- Mekaniske roboter
- Baxter
- Roboter i kjernefysiske anlegg
- Deteksjon og beskyttelse mot stråling
- Roboter i kjernekraftverker
- Deteksjon og beskyttelse mot stråling
Hardwarekomponenter i en robot
- Motorer, sensorer, mikrokontrollere, kameraer, osv.
Vanlige elementer i roboter
- Maskinsyn, stemmegjenkjenning, tale syntese, nærhetssensorer, trykksensorer, osv.
Utviklingsrammeverk for programmering av en robot
- Åpne og kommersielle rammeverk
- Robot Operating System (ROS)
- Arkitektur: arbeidsområde, emner, meldinger, tjenester, noder, actionlibs, verktøy, osv.
Språk for programmering av en robot
- C++ for lavnivåkontroll
- Python for orkestrering
- Programmering av ROS-noder i Python og C++
- Andre språk
Verktøy for simulering av en fysisk robot
- Kommersielle og åpne 3D-simulerings- og visualiseringsprogrammer
Uke 02
Forberedelse av utviklingsmiljø
- Installasjon og oppsett av programvare
- Nyttige pakker og verktøy
Casestudium: Mekaniske roboter
- Roboter innen kjernefysikk
- Roboter i miljøsystemer
Programmering av roboter
- Programmering av en node i Python og C++
- Forståelse av ROS-noder
- Meldinger og emner i ROS
- Publikasjon/abonnement-paradigme
- Prosjekt: Bump & Go med en virkelig robot
- Feilsøking
- Simulering av roboter med Gazebo/ROS
- Rammer i ROS og referanseendringer
- 2D-behandling av kameraer med OpenCV
- Behandling av laserdata
- Prosjekt: Sikker oppfølging av objekter etter farge
- Feilsøking
Uke 03
Programmering av roboter (fortsettelse...)
- Tjenester i ROS
- 3D-behandling av RGB-D-sensorer med PCL
- Kart og navigering med ROS
- Prosjekt: Søk etter objekter i omgivelsene
- Feilsøking
Programmering av roboter (fortsettelse...)
- ActionLib
- Stemmegjenkjenning og talegenerering
- Kontroll av robotarmer med MoveIt!
- Kontroll av robothals for aktiv visjon
- Prosjekt: Søk og samling av objekter
- Feilsøking
Testing av din robot
- Enhetstesting
Uke 04
Utvidelse av robotens evner med dyp læring
- Persepsjon - syn, lyd og haptisk feedback
- Representasjon av kunnskap
- Stemmegjenkjenning gjennom NLP (naturlig språkbehandling)
- Databehandling
Intensivkurs i dyp læring
- Kunstige neurale nettverk (ANNs)
- Kunstige neurale nettverk vs. biologiske neurale nettverk
- Feedforward neurale nettverk
- Aktiveringsfunksjoner
- Trening av kunstige neurale nettverk
Intensivkurs i dyp læring (fortsettelse...)
- Dyp læringsmodeller
- Konvolusjonsnettverk og rekursive nettverk
- Konvolusjonsnettverk (CNNs eller ConvNets)
- Konvolusjonssjikt
- Pooling-sjikt
- Arkitektur for konvolusjonsnettverk
Uke 05
Intensivkurs i dyp læring (fortsettelse...)
- Rekursive neurale nettverk (RNN)
- Trening av en RNN
- Stabilisering av gradienter under trening
- Lang korttidsminne-nettverk
- Plattformer og programvarebiblioteker for dyp læring
- Dyp læring i ROS
Bruk av Big Data i din robot
- Big Data-konsepter
- Tilnærminger til dataanalyse
- Verktøy for Big Data
- Genkjenning av mønstre i data
- Øvelse: NLP og databehandling på store datasett
Bruk av Big Data i din robot (fortsettelse...)
- Fordelt behandling av store datasett
- Samspill mellom Big Data og robotteknologi
- Roboten som datagenerator
- Avstandsmålingssensorer, posisjons-, visuelle, taktile sensorer og andre moduser
- Forståelse av sensordata (sense-plan-act-loop)
- Øvelse: Innfanging av strømmende data
Programmering av en autonom dyp læringsrobot
- Komponenter i dyp læringsroboter
- Oppsett av robotsimulator
- Kjøring av en CUDA-akselert neuralt nettverk med Café
- Feilsøking
Uke 06
Programmering av en autonom dyp læringsrobot (fortsettelse...)
- Genkjenning av objekter i fotografier eller videostrømmer
- Aktivering av databehandling med OpenCV
- Feilsøking
Dataanalyse
- Bruk av roboten til å samle og organisere nye data
- Verktøy og prosesser for å forstå dataene
Implementering av en robot
- Overføring av en simulert robot til fysisk hardvare
- Implementering av roboten i den fysiske verden
- Overvåkning og service av roboter på feltet
Sikring av din robot
- Forebygging av uautorisert manipulering
- Forebygging av at hackere ser og stjeler sensitiv data
Bygging av en robot samarbeidsmessig
- Bygging av en robot i skyen
- Tilknytting til robotteknologi-fellesskapet
Fremtidige utsikter for roboter innen vitenskap og energi
Oppsummering og konklusjon
Krav
- Programmeringserfaring i C eller C++
- Programmeringserfaring i Python (nyttig men ikke nødvendig; kan undervises som del av kurset)
- Erfaring med Linux kommando-linje
Målgruppe
- Utviklere
- Ingeniører
- Forskere
- Teknikere
Testimonials (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.