Kursplan
Vecka 01
Dag 01
Introduktion
- Vad gör en robot smart?
Fysiska vs Virtuella Robots
- Smarta Robots, Smarta Maskiner, Medvetna Maskiner och Robotprocessautomatisering (RPA), etc.
Rollen för Artificiell Intelligens (AI) inom Robotik
- Bortom "if-then-else" och den lärande maskinen
- Algoritmerna bakom AI
- Maskininlärning, datorseende, naturlig språkbehandling (NLP), etc.
- Kognitiv robotik
Dag 02
Rollen för Big Data i Robotik
- Beslutsfattande baserat på data och mönster
Moln och Robotik
- Kopplar samman robotik med IT
- Bygga mer funktionella robotar som får tillgång till mer information och samarbetar
Fallstudie: Industriella Robotar
- Mekaniska Robotar
- Baxter
- Robotar i kärnkraftsanläggningar
- Strålningsdetektion och skydd
- Robotar i kärnreaktorer
- Strålningsdetektion och skydd
Dag 03
Hårdvarukomponenter i en Robot
- Motorer, sensorer, mikrokontroller, kameror, etc.
Vanliga Element i Robotar
- Maskinseende, röstigenkänning, talgenerering, närhetsdetektion, tryckdetektion, etc.
Dag 04
Utvecklingsramverk för att Programmera 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 att Programmera en Robot
- C++ för lågnivåkontroll
- Python för orkestrering
- Programmering av ROS-noder i Python och C++
- Andra språk
Dag 05
Verktyg för att Simulera en Fysisk Robot
- Kommersiella och öppen källkod 3D-simulerings- och visualiseringsprogramvara
Verktyg för att Designa de Fysiska Egenskaperna hos en Robot
- Kommersiella och öppen källkod CAD-programvara
Fallstudie: Mekaniska Robotar
- Robotar inom kärnteknik
- Robotar i miljösystem
Vecka 02
Dag 06
Snabbkurs i Python
- Installation och inställning av programvara
- Användbara paket och verktyg
- Arbeta med Pythons datastrukturer, operatorer, loopar, villkor, funktioner, metoder, etc.
- Skriv ett exempelprogram
- Teamprojekt
Dag 07
Förberedelser för Robotutveckling
- Inställning av utvecklingsmiljö (t.ex. Arduino IDE)
- Utforska Arduinos språk (C/C++) syntax
- Kodning, kompilering och uppdatering till mikrokontrollern
- Montering av hårdvarukomponenter i en Arduino-robot
Dag 08
Arbeta med Arduino-Komponenter
- Analoga sensorer
- Digitala sensorer
Arbeta med Arduino Kommunikationsmoduler
- Bluetooth-moduler
- Wi-Fi-moduler
- RFID-moduler
- I2C och SPI
- Mobil internet
Dag 09
Konstruera en Robot
- Planera robotens funktioner och egenskaper
- Implementera robotrörelse
Teamprojekt
- Diskussion och granskning
Dag 10
Styra Roboten
- Implementera kontrollern
- Anslutning till roboten (trådbunden och trådlös)
Teamprojekt
- Diskussion och granskning
Vecka 03
Dag 11
Programmera Roboten
- Simulera en robot med Gazebo / ROS
- Förstå ROS-nod
- Programmera en nod i Python och C++
- Meddelanden och ämnen i ROS
- Publikation / prenumeration-paradigm
Teamprojekt
- Bump & Go med verklig robot
- Diskussion och granskning
Dag 12
Programmera Roboten (forts...)
- Ramar i ROS och referensändringar
- 2D-informationsbearbetning av kameror med OpenCV
- Informationsbearbetning av en laser
Teamprojekt
- Säker spårning av objekt efter färg
- Diskussion och granskning
Dag 13
Testa Roboten
- Verktyg för att testa din kod
- Enhetsprovning
- Skapa en testsuite
- Automatisera dina tester
- Felsökning
Teamprojekt
- Säker spårning av objekt efter färg
- Diskussion och granskning
Dag 14
Programmera Roboten (Forts...)
- Tjänster i ROS
- 3D-informationsbearbetning av RGB-D-sensorer med PCL
- Kartor och navigering med ROS
Dag 15
Programmera Roboten (Forts...)
- Fullfölja uppgifter med ActionLib
Teamprojekt
- Sök efter objekt i omgivningen
Vecka 04
Dag 16
Programmera Roboten (Forts...)
- Fullfölja uppgifter med ActionLib
Dag 17
Programmera Roboten (Forts...)
- Taligenkänning och talgenerering
- Felsökning
Teamprojekt
- Styra en robot med röst
Dag 18
Programmera Roboten (Forts...)
- Styra robotarmar med MoveIt!
- Styra robotnacke för aktiv vision
- Felsökning
Teamprojekt
- Sök och samla objekt
Dag 19
Distribuera Roboten
- Distribuera roboten i den fysiska världen
- Övervaka och serva robotar på fältet
- Använda en mobilapp för att styra en robot
Säkra Roboten
- Förhindra otillåtet ingripande
- Förhindra hackare från att se och stjäla känslig data
Dag 20
Dataanalys
- Samla in och organisera data genererat av roboten
- Förstå data genom visualiseringsverktyg och processer
Bygga en Robot Kollektivt
- Bygga en robot i molnet
- Bygga en mobilapp för att interagera med din robot
- Gå med i robotikgemenskapen
Framtidsutsikt för Robotar inom Vetenskapen och Energiområdet
Sammanfattning och Slutsats
Krav
- Programmerfärdigheter i C eller C++
- Programmerfärdigheter i Python (användbart men inte nödvändigt; kan läras som del av kursen)
- Erfarenhet av Linux kommando-rad
Målgrupp
- Utvecklare
- Ingenjörer
- Forskare
- 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.