Kursplan
Uke 01
Dag 01
Innledning
- Hva gjør en robot smart?
Fysiske vs Virtuelle Roboter
- Smarte Roboter, Smarte Maskiner, Bevisste Maskiner og Robotisk Prosessautomatisering (RPA), etc.
Rollen til Kunstig Intelligens (AI) i Robotikk
- Utenfor "hvis-det-eller" og læringsmaskinen
- Algoritmene bak AI
- Maskinlæring, databehandling, naturlig språkbehandling (NLP), etc.
- Kognitiv robotikk
Dag 02
Rollen til Big Data i Robotikk
- Beslutningstaking basert på data og mønstre
Skyen og Robotikk
- Kobling av robotikk med IT
- Bygging av mer funksjonelle roboter som tilgjengelig informasjon og samarbeider
Tilfelleundersøkelse: Industrielle Roboter
- Mekaniske Roboter
- Baxter
- Roboter i Kerneteknologianlegg
- Stråledeteksjon og beskyttelse
- Roboter i Kjernekraftverk
- Stråledeteksjon og beskyttelse
Dag 03
Hardwarekomponentene til en Robot
- Motorer, sensorer, mikrokontrollere, kameraer, etc.
Vanlige Elementer i Robotene
- Maskinsyn, stemmegjenkjenning, tale-syntese, nærhetssensor, trykksensor, etc.
Dag 04
Utviklingsrammeverk for Programmering av en Robot
- Åpen kildekode og kommersielle rammeverk
- Robot Operating System (ROS)
- Arkitektur: arbeidsområde, emner, meldinger, tjenester, noder, actionlibs, verktøy, etc.
Språk for Programmering av en Robot
- C++ for lavnivåstyring
- Python for orkestrasjon
- Programmering av ROS-noder i Python og C++
- Andre språk
Dag 05
Verktøy for Simulering av en Fysisk Robot
- Kommersielle og åpne kildekode 3D-simulering og visualiseringsprogramvare
Verktøy for Design av de Fysiske Egenskapene til en Robot
- Kommersielle og åpne kildekode CAD-programvare
Tilfelleundersøkelse: Mekaniske Roboter
- Robotene i kjernekraftfeltet
- Robotene i miljøsystemer
Uke 02
Dag 06
Grunnleggende Python
- Programvareinstallasjon og oppsett
- Nyttige pakker og verktøy
- Arbeid med Python-data-strukturer, operatører, løkker, betingelser, funksjoner, metoder, etc.
- Skriving av et eksemplarprogram
- Lagprosjekt
Dag 07
Forberedelse for Robotutvikling
- Oppsett av utviklingsmiljøet (for eksempel Arduino IDE)
- Undersøkelse av Arduino-språk (C/C++) syntaks
- Koding, kompilering og opplasting til mikrokontroller
- Montering av hardwarekomponentene til en Arduino-robot
Dag 08
Arbeid med Arduino-Komponenter
- Analogsensorer
- Digitale sensorer
Arbeid med Arduino Kommunikasjonsmoduler
- Bluetooth-moduler
- Wi-Fi-moduler
- RFID-moduler
- I2C og SPI
- Mobil internet
Dag 09
Bygging av en Robot
- Planlegging av egenskapene og karakteristikkene til en robot
- Implementering av robotbevegelse
Lagprosjekt
- Diskusjon og gjennomgang
Dag 10
Styring av Roboten
- Implementering av styringssystem
- Kopling til roboten (med ledning og trådløst)
Lagprosjekt
- Diskusjon og gjennomgang
Uke 03
Dag 11
Programmering av Roboten
- Simulering av en robot med Gazebo / ROS
- Forståelse av ROS-noder
- Programmering av en node i Python og C++
- Meldinger og emner i ROS
- Publiserings-/abonnement-paradigme
Lagprosjekt
- Bump & Go med en virkelig robot
- Diskusjon og gjennomgang
Dag 12
Programmering av Roboten (fortsatt)
- Rammer i ROS og referanseendringer
- 2D informasjonsbehandling av kameraer med OpenCV
- Informasjonsbehandling av en laser
Lagprosjekt
- Sikker sporing av objekter etter farge
- Diskusjon og gjennomgang
Dag 13
Testing av Roboten
- Verktøy for testing av din kode
- Enhetstesting
- Opprettelse av et testsett
- Automatisering av tester
- Feilsøking
Lagprosjekt
- Sikker sporing av objekter etter farge
- Diskusjon og gjennomgang
Dag 14
Programmering av Roboten (fortsatt)
- Tjenester i ROS
- 3D-informasjonsbehandling av RGB-D-sensorer med PCL
- Kartlegging og navigasjon med ROS
Dag 15
Programmering av Roboten (fortsatt)
- Utførelse av oppgaver med ActionLib
Lagprosjekt
- Søk etter objekter i omgivelsene
Uke 04
Dag 16
Programmering av Roboten (fortsatt)
- Utførelse av oppgaver med ActionLib
Dag 17
Programmering av Roboten (fortsatt)
- Stemmegjenkjenning og stemmegenerering
- Feilsøking
Lagprosjekt
- Styring av en robot med stemme
Dag 18
Programmering av Roboten (fortsatt)
- Styring av robothender med MoveIt!
- Styring av robothals for aktiv syn
- Feilsøking
Lagprosjekt
- Søk og samling av objekter
Dag 19
Distribuering av Roboten
- Distribuering av roboten i den fysiske verden
- Overvåking og vedlikehold av robotene på feltet
- Bruk av en mobilapplikasjon for å kontrollere en robot
Sikring av Roboten
- Forebygging av uautorisert manipulasjon
- Forebygging av hackere fra å se og stjele følsomme data
Dag 20
Datanalyse
- Innsamling og organisering av data generert av roboten
- Forståelse av data gjennom visualiseringsverktøy og prosesser
Bygging av en Robot i Samarbeid
- Bygging av en robot i skyen
- Bygging av en mobilapplikasjon for interaksjon med din robot
- Gå med i robotteknologifellesskapet
Fremtidsutsikt for Roboter i Vitenskap og Energi
Oppsummering og Konklusjon
Krav
- Erfaring med programmering i C eller C++
- Erfaring med programmering i Python (nyttig men ikke nødvendig; kan lære som del av kurset)
- Erfaring med Linux kommando-linje
Målgruppe
- Utviklere
- Ingeniører
- Vitenskapsfolk
- 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.