Kursplan
Vecka 01
Dag 01
Introduktion
- Vad gör en robot smart?
Fysiska vs virtuella robotar
- Smarta robotar, smarta maskiner, känsliga maskiner och processrobotisering (RPA), etc.
Rollen av artificiell intelligens (AI) i robotteknik
- Utöver "if-then-else" och den lärbara maskinen
- Algoritmer bakom AI
- Maskininlärning, datorseende, naturligt språkbehandling (NLP), etc.
- Kognitiv robotik
Dag 02
Rollen av stora data i robotteknik
- Beslutsgörande baserat på data och mönster
Molnet och robotteknik
- Länka robotar med IT
- Bygga mer funktionsdiga robotar som har tillgång till fler information och samarbetar
Fallstudie: Industrirobotar
-
Mekaniska robotar
- Baxter
-
Robotar i kärnanläggningar
- Strålningssökning och skydd
-
Robotar i kärnreaktorer
- Strålningssökning och skydd
Dag 03
Hårdvarukomponenter i en robot
- Motorer, sensorer, mikrokontroller, kameror, etc.
Gemensamma element i robotar
- Maskinseende, röstigenkänning, talgenerering, närhetssökning, trycksökning, etc.
Dag 04
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åstyrning
- Python för orkestrering
- Programmering av ROS-noder i Python och C++
- Andra språk
Dag 05
Verktyg för simulering av en fysisk robot
- Kommersiella och öppen källkodade 3D-simulerings- och visualiseringsprogramvara
Verktyg för design av fysiska egenskaper hos en robot
- Kommersiella och öppen källkodade CAD-programvara
Fallstudie: Mekaniska robotar
- Robotar inom kärnteknikfältet
- Robotar i miljösystem
Vecka 02
Dag 06
Kort introduktion till Python
- Programvaruinstallation och installation
- Användbara paket och verktyg
- Arbeta med Pythons datastrukturer, operatorer, loopar, villkor, funktioner, metoder, etc.
- Skriva ett exempelprogram
- Gruppprojekt
Dag 07
Förberedelser inför robotutveckling
- Ställa in utvecklingsmiljön (t.ex., Arduino IDE)
- Utforska Arduinos språksyntax (C/C++)
- Koda, kompilera och ladda upp till mikrokontrollern
- Sammansätta hårdvarukomponenterna i en Arduino-robot
Dag 08
Arbeta med Arduinos komponenter
- Analoga sensorer
- Digitala sensorer
Arbeta med Arduinos kommunikationsmoduler
- Bluetooth-moduler
- Wi-Fi-moduler
- RFID-moduler
- I2C och SPI
- Mobilinternet
Dag 09
Bygga en robot
- Planera egenskaper och karaktäristik för en robot
- Implementera robots rörelse
Gruppprojekt
- Diskussion och granskning
Dag 10
Styrning av roboten
- Implementera styrningen
- Anslut till roboten (drad och dradröd)
Gruppprojekt
- Diskussion och granskning
Vecka 03
Dag 11
Programmering av roboten
- Simulera en robot med Gazebo/ROS
- Förstå ROS-nod
- Programmera en nod i Python och C++
- Meddelanden och ämnen i ROS
- Publikation/subskriberingsparadigm
GruppProjekt
- Bump & Go med en verklig robot
- Diskussion och granskning
Dag 12
Programmering av roboten (fortsättnings...)
- Ramar i ROS och referensändringar
- 2D-informationssökning med kameror med OpenCV
- Informationssökning av en laserradar
GruppProjekt
- Säker sökning av objekt efter färg
- Diskussion och granskning
Dag 13
Testa roboten
- Verktyg för testning av din kod
- Enhetstestning
- Skapa en testsamling
- Automatisera dina tester
- Felsökning
GruppProjekt
- Säker sökning av objekt efter färg
- Diskussion och granskning
Dag 14
Programmering av roboten (Fortsättnings...)
- Tjänster i ROS
- 3D-informationssökning med RGB-D-sensorer med PCL
- Kartläggning och navigering med ROS
Dag 15
Programmering av roboten (Fortsättnings...)
- Slutföra uppgifter med ActionLib
GruppProjekt
- Sökning av objekt i miljön
Vecka 04
Dag 16
Programmering av roboten (Fortsättnings...)
- Slutföra uppgifter med ActionLib
Dag 17
Programmering av roboten (Fortsättnings...)
- Röstigenkänning och talgenerering
- Felsökning
GruppProjekt
- Styrning av robot med röst
Dag 18
Programmering av roboten (Fortsättnings...)
- Styrning av robotarmar med MoveIt!
- Styrning av robotens hals för aktivt seende
- Felsökning
GruppProjekt
- Söka och samla in objekt
Dag 19
Distribuera roboten
- Distribuera robot i den fysiska världen
- Övervakning och underhåll av robotar på plats
- Använda en mobilapp för att styra en robot
Skydda roboten
- Förhindra obehörig inblandning
- Förhindra hackare från att se och stjäla känsliga data
Dag 20
Dataanalys
- Samla och organisera data genererade av roboten
- Förstå data genom visualiseringsverktyg och processer
Bygga en robot samverkande
- Bygg en robot i molnet
- Bygg en mobilapp för att interagera med din robot
- Bli medlem av 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-kommandoraden
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