Programiranje za Robotski operacijski sustav

Opis predmeta

Velika složenost zadataka koji se postavljaju pred moderne robote zahtijeva korištenje programske infrastrukture koja omogućuje efikasno povezivanje nezavisno razvijenih podsustava u jedinstveni sustav koji može omogućiti autonomno djelovanje robota. Robotski operacijski sustav (ROS) pruža okolinu za razvoj modularne upravljačke programske podrške, komunikacijsku infrastrukturu koja povezuje programske komponente, te otvorenu biblioteku implementiranih algoritama. U posljednjih 5 godina, ROS je postao de facto standard za upravljanje robotima unutar akademske zajednice, te se njegova primjena širi i na industriju. U okviru ove vještine, na praktičan će način biti obrađen razvoj programskih modula u ROS okolini i njihova integracija u potpuno funkcionalan sustav upravljaja autonomnim robotom.

Opće kompetencije

Osnovna znanja o korištenju operacijskog sustava Linux i programiranju u jeziku Python. Osnovno razumijevanje arhitekture i implementacije Robotskog operacijskog sustava (ROS). Sposobnost pisanja ROS čvorova: aplikacija koje komuniciraju kroz ROS infrastrukturu. Osnovna znanja o rješavanju problema autonomne navigacije mobilnih robota i podešavanju ROS navigacijskog paketa.

Ishodi učenja

  1. Koristiti osnovne naredbe operacijskog sustava Linux.
  2. Koristiti Linux alate za instalaciju dodatne programske podrške.
  3. Koristiti programski jezik Python za rješavanje jednostavnih problema.
  4. Objasniti arhitekturu i ulogu Robotskog operacijskog sustava u upravljanju autonomnim robotima.
  5. Napisati ROS čvor: aplikaciju koja izmjenjuje podatke kroz ROS komunikacijsku infrastrukturu.
  6. Primijeniti ROS navigacijski paket za autonomnu navigaciju mobilnog robota.

Oblici nastave

Predavanja

Interaktivna predavanja s primjerima i praktičnim zadacima za samostalno rješavanje.

Laboratorijske vježbe

Praktični zadaci u okviru predavanja.

Programske vježbe

Praktični projekt na robotu.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Domaće zadaće 50 % 100 % 0 % 0 %

Tjedni plan nastave

  1. Osnove rada u Linux operacijskom sustavu.
  2. Osnove programiranja u programskom jeziku Python.
  3. Uvod u Robotski operacijski sustav (ROS). Programiranje ROS čvorova u programskom jeziku Python (1. dio).
  4. Programiranje ROS čvorova u programskom jeziku Python (2. dio).
  5. Spremanje i obrada podataka pomoću alata rosbag.
  6. Izgradnja karte prostora i navigacija robota u ROS-u
  7. Programiranje u programskom jeziku C++ na Linuxu.
  8. Programiranje ROS čvorova u programskom jeziku C++.
  9. Napredne teme ROS programiranja. Završni projekt: upravljanje robotom kroz ROS.
  10. Nema aktivnosti.
  11. Nema aktivnosti.
  12. Nema aktivnosti.
  13. Nema aktivnosti.
  14. Nema aktivnosti.
  15. Nema aktivnosti.

Studijski programi

Sveučilišni preddiplomski
[FER2-HR] Automatika - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Bežične komunikacijske tehnologije - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Elektroenergetika - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Elektroničko i računalno inženjerstvo - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Elektronika - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Elektrotehnika i informacijska tehnologija - studij
Vještine - 3. semestra (3. semestar)
[FER2-HR] Obradba informacija - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računalno inženjerstvo - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računarska znanost - modul
Vještine - 5. semestra (5. semestar)
[FER2-HR] Računarstvo - studij
Vještine - 3. semestra (3. semestar)
[FER2-HR] Telekomunikacije i informatika - modul
Vještine - 5. semestra (5. semestar)
Sveučilišni diplomski
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)
[FER2-HR] Automatika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Bežične komunikacijske tehnologije - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektroenergetika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektroničko i računalno inženjerstvo - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektronika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Elektrotehnički sustavi i tehnologija - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Obradba informacija - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Računalno inženjerstvo - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Računarska znanost - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)
[FER2-HR] Telekomunikacije i informatika - profil
Vještine - dipl.studij - 1. semestar (1. semestar)
Vještine - dipl.studij - 3. semestar (3. semestar)

Literatura

J. M. O'Kane (2013.), A Gentle Introduction to ROS, CreateSpace

Za studente

Izvedba

ID 127101
  Zimski semestar
2 ECTS
R0 Engleski jezik
R1 E-učenje
9 Predavanja
0 Seminar
0 Auditorne vježbe
9 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan