Kursplan
Uke 01
Dag 01
Introduksjon
- Hva gjør en robot smart?
Fysiske vs virtuelle roboter
- Smart Robots, Smart Machines, Sentient Machines og Robotic Process Automation (RPA), etc.
Rollen til Artificial Intelligence (AI) i Robotics
- Utover «hvis-så-annet» og læremaskinen
- Algoritmene bak AI
- Maskinlæring, datasyn, naturlig språkbehandling (NLP), etc.
- Kognitiv robotikk
Dag 02
Rollen til Big Data i Robotics
- Beslutningstaking basert på data og mønstre
Skyen og Robotics
- Koble robotikk med IT
- Bygge mer funksjonelle roboter som får tilgang til mer informasjon og samarbeider
Kasusstudie: Industriroboter
- Mekaniske roboter
- Baxter
- Roboter i kjernefysiske anlegg
- Strålingsdeteksjon og beskyttelse
- Robots in Nuclear Reactor
- Strålingsdeteksjon og beskyttelse
Dag 03
Maskinvarekomponenter til en robot
- Motorer, sensorer, mikrokontrollere, kameraer, etc.
Vanlige Elementer av roboter
- Maskinsyn, stemmegjenkjenning, talesyntese, nærhetsføling, trykkføling, etc.
Dag 04
Utviklingsrammer for Programming en robot
- Åpen kildekode og kommersielle rammeverk
- Robotoperativsystem (ROS)
- Arkitektur: arbeidsområde, emner, meldinger, tjenester, noder, actionlibs, verktøy, etc.
Languages for Programming en robot
- C++ for lavnivåkontroll
- Python for orkestrering
- Programming ROS noder i Python og C++
- Andre språk
Dag 05
Verktøy for å simulere en fysisk robot
- Kommersiell og åpen kildekode 3D simulering og visualisering programvare
Verktøy for å designe de fysiske egenskapene til en robot
- Kommersiell og åpen kildekode CAD programvare
Kasusstudie: Mekaniske roboter
- Roboter innen kjernefysisk teknologi
- Roboter i miljøsystemer
Uke 02
Dag 06
Hurtigkurs i Python
- Installasjon og oppsett av programvare
- Nyttige pakker og verktøy
- Arbeide med Python datastrukturer, operatorer, looper, conditionals, funksjoner, metoder, etc.
- Skrive et eksempelprogram
- Teamprosjekt
Dag 07
Forbereder for robotutvikling
- Sette opp utviklingsmiljøet (f.eks. Arduino IDE)
- Utforsker Arduino-språksyntaksen (C/C++).
- Koding, kompilering og opplasting til mikrokontrolleren
- Montering av maskinvarekomponentene til en Arduino robot
Dag 08
Arbeide med Arduino komponenter
- Analoge sensorer
- Digitale sensorer
Arbeide med Arduino Communication moduler
- Bluetooth-moduler
- Wi-Fi-moduler
- RFID-moduler
- I2C og SPI
- Mobilt internett
Dag 09
Konstruere en robot
- Planlegging av funksjonene og egenskapene til en robot
- Implementering av robotbevegelse
Teamprosjekt
- Diskusjon og gjennomgang
Dag 10
Styre roboten
- Implementering av kontrolleren
- Koble til roboten (kablet og trådløst)
Team Prosjekt
- Diskusjon og gjennomgang
Uke 03
Dag 11
Programming Roboten
- Simulering av en robot med Gazebo / ROS
- Forstå ROS node
- Programming en node i Python og C++
- Meldinger og emner i ROS
- Publikasjons- / abonnementsparadigme
Teamprosjekt
- Bump & Go med ekte robot
- Diskusjon og gjennomgang
Dag 12
Programming Roboten (fortsettelse...)
- Rammer i ROS og referanseendringer
- 2D informasjonsbehandling av kameraer med OpenCV
- Informasjonsbehandling av en laser
Team Prosjekt
- Sikker sporing av objekter etter farge
- Diskusjon og gjennomgang
Dag 13
Tester roboten
- Verktøy for å teste koden din
- Enhetstesting
- Opprette en testpakke
- Automatisering av tester
- Feilsøking
Team Prosjekt
- Sikker sporing av objekter etter farge
- Diskusjon og gjennomgang
Dag 14
Programming Roboten (Fortsettelse...)
- Tjenester i ROS
- 3D informasjonsbehandling av RGB-D sensorer med PCL
- Kart og navigasjon med ROS
Dag 15
Programming Roboten (Fortsettelse...)
- Fullføre oppgaver med ActionLib
Team prosjekt
- Søk etter gjenstander i miljøet
Uke 04
Dag 16
Programming Roboten (Fortsettelse...)
- Fullføre oppgaver med ActionLib
Dag 17
Programming Roboten (Fortsettelse...)
- Speech Recognition og Speech Generation
- Feilsøking
Team Prosjekt
- Styre en robot ved hjelp av stemmen
Dag 18
Programming Roboten (Fortsettelse...)
- Kontroller robotarmer med MoveIt!
- Kontrollerende robothals for aktivt syn
- Feilsøking
Team Prosjekt
- Søk og samling av gjenstander
Dag 19
Utplassering av roboten
- Utplassering av roboten i den fysiske verden
- Overvåking og service på roboter i felt
- Bruke en mobilapp for å styre en robot
Sikring av roboten
- Forhindre uautorisert tukling
- Hindre hackere fra å se og stjele sensitive data
Dag 20
Dataanalyse
- Samle og organisere data generert av roboten
- Å gi mening ut av dataene gjennom visualiseringsverktøy og prosesser
Bygge en robot i samarbeid
- Bygge en robot i skyen
- Bygge en mobilapp for å samhandle med roboten din
- Bli med i robotmiljøet
Fremtid Outlook for roboter innen vitenskap og energi
Oppsummering og konklusjon
Krav
- Programming erfaring i C eller C++
- Programming erfaring i Python (nyttig men ikke nødvendig; kan undervises som en del av kurset)
- Erfaring med Linux kommandolinje
Publikum
- 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.