õppeaine eesmärgid eesti k
Õppeaine eesmärk on anda üliõpilasele oskus kavandada, programmeerida ja katsetada autonoomse roboti tarkvara. Õppes ühendatakse andurite ja täiturite liidestamine, olekuhindamine, kaardistamine ja lokaliseerimine, liikumise planeerimine, tagasisidestatud juhtimine ning süsteemi ohutu käitumine. Kursuse lõpuks suudab üliõpilane siduda need osad ROS 2-põhiseks tervikuks ja hinnata lahenduse toimivust simulatsioonis või õpperobotil.
õppeaine eesmärgid inglise k
The aim of this course is to develop the ability to design, program and test software for an autonomous robot. It integrates sensor and actuator interfaces, state estimation, mapping and localisation, motion planning, feedback control and safe system behaviour. By the end of the course, the student can combine these components into a ROS 2-based system and evaluate it in simulation or on an educational robot
õppeaine õpiväljundid eesti k.
Õppeaine läbinud üliõpilane:
- selgitab autonoomsüsteemi tarkvaraarhitektuuri põhikomponente ning valib ülesandele sobivad andurid, täiturid ja sideviisid;
- loob Pythonis või C++-is ROS 2 sõlmi, teemasid, teenuseid ja tegevusi ning koostab neist käivitatava süsteemi;
- töötleb andurandmeid, rakendab olekuhindamise põhimõtteid
- kasutab kaardistamise ja lokaliseerimise tööriistu;
- rakendab trajektoori või teekonna planeerimist ja tagasisidestatud liikumisjuhtimist, arvestades roboti kinemaatikat ja piiranguid;
- testib autonoomset käitumist simulatsioonis ja riistvaral, kasutab logisid ning mõõdikuid vigade leidmiseks ja tulemuste võrdlemiseks;
- kavandab ohutu rikkekäitluse, arvestab küberturbe ja vastutustundliku kasutuse põhimõtteid;
- panustab meeskonnatöös autonoomse funktsiooni arendamisse, täites kokkulepitud ülesandeid ja vastutades oma panuse eest;
- haldab lähtekoodi versioonihalduses ning dokumenteerib lahenduse arhitektuuri, katsetingimused ja tulemused.
õppeaine õpiväljundid ingl k.
After completing the course the student:
- explain the main software components of an autonomous system and select suitable sensors, actuators and communication methods for a given task;
-create ROS 2 nodes, topics, services and actions in Python or C++ and integrate them into an executable system;
- process sensor data, apply state-estimation principles;
- use mapping and localisation tools;
- implement path or trajectory planning and feedback motion control while accounting for robot kinematics and constraints;
- test autonomous behaviour in simulation and on hardware, using logs and metrics to diagnose faults and compare results;
- design safe fault handling and apply basic cybersecurity and responsible-use principles;
- contributes to the development of an autonomous function as part of a team, completing agreed tasks and taking responsibility for their own contribution;
- manage source code in version control, and document the system architecture, test conditions and results.
õppeaine sisu lühikirjeldus eesti k
Autonoomsüsteemi ülesehitus ja nõuded. Linuxi, Giti ning Pythoni või C++ töövoog. ROS 2 arvutusgraaf, sõlmed, teemad, teenused, tegevused, parameetrid ja käivitusfailid. Andurite ja täiturite liidestamine, koordinaatsüsteemid ning ajasünkroonimine. Mobiilse roboti kinemaatika ja tagasisidestatud juhtimine. Andurandmete filtreerimine ja ühendamine. Odomeetria, olekuhindamine, kaardistamine ja lokaliseerimine. Keskkonna kujutamine, teekonna ja liikumise planeerimine ning takistuste vältimine. Käitumisloogika ja olekumasinad. Simulatsioon, automatiseeritud testimine, logimine ja jõudluse mõõtmine. Rikkekäitlus, funktsionaalne ohutus, küberturve ja autonoomse süsteemi vastutustundlik kasutamine. Kursus lõpeb meeskonnaprojektiga, milles valmib dokumenteeritud ja katsetatud autonoomne funktsioon.
õppeaine sisu lühikirjeldus ingl k
Autonomous-system architecture and requirements. Linux, Git, and Python or C++ development workflow. The ROS 2 computation graph, nodes, topics, services, actions, parameters and launch files. Sensor and actuator interfaces, coordinate frames and time synchronisation. Mobile-robot kinematics and feedback control. Sensor filtering and fusion. Odometry, state estimation, mapping and localisation. Environment representation, path and motion planning, and obstacle avoidance. Behaviour logic and state machines. Simulation, automated testing, logging and performance measurement. Fault handling, functional safety, cybersecurity and responsible use. The course concludes with a team project that delivers a documented and tested autonomous function.
iseseisev töö eesti k
Statsionaarses õppes on iseseisva töö maht 68 tundi ja sessioonõppes 100 tundi. Iseseisev töö hõlmab ettevalmistavat lugemist, laboriülesannete lõpetamist, lähtekoodi korrastamist ja testimist, individuaalset analüüsiülesannet, meeskonnaprojekti ning eksamiks valmistumist. Meeskonnaprojekti väljundid on versioonihalduses lähtekood, käivitus- ja seadistusfailid, automaattestid, lühike tehniline aruanne ning töötava lahenduse demonstratsioon. Projektis hinnatakse nõuetele vastavust, süsteemi töökindlust, katsete kvaliteeti, ohutust ja dokumentatsiooni.
õppekirjandus
ROS 2 Documentation. Kursuse laborikeskkonnale vastava ROS 2 väljalaske ametlik dokumentatsioon.
Corke, P., Jachimczyk, W. ja Pillat, R. Robotics, Vision and Control: Fundamental Algorithms in Python. 3. tr, Springer, 2023. Valitud peatükid.
Siegwart, R., Nourbakhsh, I. R. ja Scaramuzza, D. Introduction to Autonomous Mobile Robots. 2. tr, MIT Press, 2011. Valitud peatükid.
Thrun, S., Burgard, W. ja Fox, D. Probabilistic Robotics. MIT Press, 2005. Valitud peatükid.
LaValle, S. M. Planning Algorithms. Cambridge University Press, 2006. Veebiväljaanne ja valitud peatükid.
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):
praktikume
1.5
praktikume
6.0