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

Predavanja

Izvedba

ID 127101
  Zimski semestar
2 ECTS
R0 Engleski jezik
R1 E-učenje

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan