| Kods | DE1116 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nosaukums | Robotu operētājsistēmas (ROS) pamati | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Statuss | Obligātais/Ierobežotās izvēles | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Līmenis un tips | Pamatstudiju, Akadēmiskais | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tematiskā joma | Datorika | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Struktūrvienība | Datorzinātnes, informācijas tehnoloģijas un enerģētikas fakultāte | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mācībspēks | Andrejs Zujevs, Maksims Terjohins, Artūrs Ardavs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Kredītpunkti | 6.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Daļas | 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Anotācija |
Robotu operētājsistēma (Robot Operating System - ROS) ir atklātā pirmkoda programmatūras satvars, kas nodrošina komunikācijas mehānismus, rīkus un programmatūras arhitektūras standartizētas veidnes, lai izstrādātu uzticamas, mērogojamas un uzturamas robotu sistēmas. ROS nav operētājsistēma to klasiskajā nozīmē, bet ir programmatūras bibliotēku kopums, kas darbojas esošo Linux vai Windows operētājsistēmu ietvaros un nodrošina mehānismus robotu vadībai (algoritmi un metodes), savstarpējai komunikācijai, sensoru datu apstrādei un robotu izpildmehānismu vadībai. ROS savas attīstības ceļā kļuva par de-facto standartu dažāda veida robotu, t. sk. robotizēto sistēmu vadības programmatūras izstrādē.. Studiju kurss ļaus studentiem brīvi orientēties un pielietot ROS praksē dažādu robotu programmēšanai, vadībai un robotu simulācijai virtuālajā vidē. Tā kā ROS nemitīgi turpina savu attīstības ceļu, mainoties ROS versijām, arī studiju kursa saturs tiks atbilstoši atjaunots un papildināts.. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Studiju kursa saturs |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Mērķis un uzdevumi, izteikti kompetencēs un prasmēs |
Studiju kursa mērķis ir nodrošināt pamata teorētiskas zināšanas un praktiskas iemaņas darbam ar ROS. Studiju kursa uzdevumi: - veidot izpratni par ROS arhitektūru, darbības mehānismiem un rīkiem, veicināt spēju praktiski analizēt robotu sistēmu programmatūras uzbūvi un komunikācijas principus ROS satvarā; - veidot izpratni par ROS komunikācijas modeļiem (tēmas, servisi, darbības) un attīstīt prasmes datu apmaiņā starp robotu sistēmas komponentēm, nodrošinot drošu un efektīvu mezglu savstarpējo sadarbību; - veidot izpratni par ROS konkurējošo procesu pārvaldību, taimeriem, atbildes procedūrām, un ROS mezglu dzīves cikliem; - iemācīt studējošos veikt robotu modelēšanu un simulāciju ROS satvarā; - veidot izpratni par ROS augsta līmeņa programmatūras bibliotēku (navigācija, kustību plānošana, ārējās vides uztvere) integrāciju ar zema līmeņa aparatūru (motori, sensori, vadības mezgli); - iemācīt studējošiem izmantot ROS programmatūras izstrādes darbplūsmu, veikt savu ROS pakotņu izstrādi, kompilēšanu, datu vizualizāciju, robotu simulāciju, konteinerizāciju (Docker vidē), atkļūdošanu un notikumu reģistrēšanu žurnālos; - veidot izpratni par ROS programmatūras izvietošanu dažādās operētājsistēmās, par tīklu konfigurāciju, kā arī par laika sinhronizāciju daudzrobotu sistēmās; - iemācīt studējošiem orientēties ROS programmatūras veiktspējas analīzē un optimizācijā, kā arī interpretēt un uzlabot sistēmas ātrdarbību; - iemācīt studējošiem izmantot ROS satvaru robotu navigācijai, to kustību plānošanai, sensoru integrēšanai, ārējās vides kartēšanai un robotu vadības algoritmu izmantošanai; - veidot izpratni par ROS programmatūras noturību pret kļūdām, tostarp drošu ROS pakotņu palaišanas un izbeigšanas secību, arī attīstīt spēju analizēt kļūdu scenārijus. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sasniedzamie studiju rezultāti un to vērtēšana |
Izprot ROS satvara arhitektūru un datu izplatīšanas servisu. - Metodes: 1. praktiskais darbs, kursa gala projekts.
Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj darboties ar dažādiem ROS komunikācijas modeļiem. - Metodes: 2. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj pārvaldīt konkurējošo programmatūras procesus. - Metodes: 3. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj veikt robotu modelēšanu un simulāciju. - Metodes: 4. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj integrēt augsta līmeņa algoritmus ar zema līmeņa aparatūru. - Metodes: 5. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj strādāt ROS programmatūras izstrādes darbplūsmu. - Metodes: 6. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj izvietot ROS programmatūru produkcijas vidē. - Metodes: 7. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj veikt robotu navigāciju un kustību plānošanu. - Metodes: 8. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Spēj nodrošināt ROS programmatūras efektivitāti un noturību pret kļūdām. - Metodes: 9. praktiskais darbs, kursa gala projekts. Kritēriji: studējošais demonstrē savu ROS programmu (kompilēšana un palaišana notiek bez kļūdām) un tā darbojas atbilstoši nodarbības tēmai. Studējošais izprot ROS satvara arhitektūru un datu izplatīšanas servisu, ROS komunikācijas modeļus un konkurējošo procesu pārvaldību, spēj modelēt un simulēt robotus, integrēt augsta līmeņa algoritmus ar zema līmeņa aparatūru, izstrādāt ROS programmatūru atbilstoši izstrādes darbplūsmai, realizēt robotu navigāciju un kustību plānošanu, kā arī nodrošināt ROS sistēmu efektivitāti un noturību pret kļūdām. - Kursa gala projekta aizstāvēšana: a) demonstrācija, kur gala projekta kompilēšana un palaišana notiek bez kļūdām; b) projektā vienoti ir integrētas visas kursa tēmas tā, lai demonstrētu studējoša reāla/simulēta robota vai robotizētas sistēmas darbību, izmantojot ROS satvaru; c) kritēriju saraksts par gala projektu tiks nodrošināts atsevišķi. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Studiju rezultātu vērtēšanas kritēriji |
Praktiskie darbi - 50%
Kursa gala projekta aizstāvēšana - 50% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Priekšzināšanas | Programmēšanas prasmes. Ieteicamas prasmes programmēšanai ar C++/Python un iemaņas darbam ar Linux komandrindu. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Studiju kursa plānojums |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||