====== B3B33ROB1 – Robotika ====== Předmět je úvodem do manipulační robotiky a jeho cílem je seznámit studenty s typickými úkoly, které je potřeba vyřešit před nasazením robotů do reálného provozu. Takovým úkolem je například nalezení takové trajektorie svařovacího robota, aby během svého pohybu nástrojem sledoval zadanou hranu svařované součástky a zároveň svým tělem nenarazil do překážek ve svém okolí. Hlavní část předmětu je věnována kinematickému popisu robotického manipulátoru a řešení odpovídajících kinematických úloh: řešení přímé/inverzní kinematické úlohy, plánování pohybu a výpočet trajektorie. Na jednoduchých příkladech je ale ukázán také dynamický popis manipulátorů a způsoby jejich řízení. V závěru jsou demonstrovány jednoduché aplikace metod strojového učení pro manipulační robotiku. V rámci cvičení si studenti naprogramují sadu nástrojů pro manipulační robotiku, kterou následně využijí při řešení semestrální práce na průmyslových robotech. Relevantní odkazy: [[https://cw.felk.cvut.cz/brute/|Odevzdávácí systém BRUTE]], [[http://www.feld.cvut.cz/cz/education/rozvrhy-ng.B241/public/html/predmety/66/51/p6651706.html|Rozvrh]], [[:help:common:plagiaty_opisovani|Pravidla boje proti plagiátorství]] /* Odkazy na [[https://cw.felk.cvut.cz/forum|diskusní fórum]], */ Doporučená literatura: [[http://hades.mech.northwestern.edu/images/2/25/MR-v2.pdf|Kevin M. Lynch and Frank C. Park: Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017, ISBN 9781107156302.]] ===== Přednášky ===== [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/|Zde]] je k dispozici více variant prezentací, včetně režimu „handout/leták“ vhodného pro vaše poznámky. - Organizace předmětu [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/00_course_introduction_cz.pdf|pdf]] a Reprezentace pohybu [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/01_rigid_body_motion_cz.pdf|pdf]] - Přímá kinematika otevřených kinematických řetězců [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/02_forward_kinematics_cz.pdf|pdf]] - Denavitova-Hartenbergova notace [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/03a_dh_cz.pdf|pdf]] a Diferenciální kinematika a statika [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/03_differential_kinematics_cz.pdf|pdf]] * Oprava ze dne 8.10.2024: Úprava DH tabulky - Inverzní kinematika [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/04_ik_cz.pdf|pdf]] - Základy vidění v robotice [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/05_perception_cz.pdf|pdf]] - // Děkanský den // - Kalibrace v robotice [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/05a_calibration_cz.pdf|pdf]] a semestrální projekt [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/00a_final_project_cz.pdf|pdf]] **[1. test]** * Test bude probíhat na přednášce na KN. Pro výpočty budete potřebovat pero. * Testovaná témata: * Otázky z prvních tří přednášek * SE2 a SE3 transformace a vlastnosti * Přímá kinematika a DH notace * Jakobián, jeho vlastnosti a použití - Plánování pohybu [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/07_plan_cz.pdf|pdf]] - Generování cest a trajektorií [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/06_path_cz.pdf|pdf]] a TAMP [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/08_tamp_cz.pdf|pdf]] - Dynamika robotů [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/09_dynamics_en.pdf|pdf]] - Metody řízení robotů [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/11_control_cz.pdf|pdf]] - Paralelní manipulátory [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/12_closed_chains_cz.pdf|pdf]] - Úvod do umělé inteligence v robotice [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/13a_info_en.pdf|organizace]][[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/rob_exam_example.pdf|vzor zkoušky]][[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/13a_ai1_en.pdf|pdf]] [[https://docs.google.com/presentation/d/1WMyU60KdyxeWa-1ObXhbvVf33Bx9zq6rj4_kbJ2FAyc/edit#slide=id.g31e34591ed3_1_67|6D pose estimation]] [[https://onedrive.live.com/view.aspx?resid=1C515DB97D644CEB%2192031&authkey=!AK_74v4ucrA07HI|6D pose estimation without model]] [[https://docs.google.com/presentation/d/1OR1AI3KFc33-eXFtFTsyVWUKBJu10nSSnnNmb0AFF2Y/edit#slide=id.p|Robotics manipulation with VLM]] - Úvod do umělé inteligence v robotice **[2. test]** [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/14_ai2_en.pdf|pdf]] * Testovaná témata: * Kinematika uzavřeného kinematického řetězce * Dynamika otevřeného kinematického řetězce ==== Videa v PDF ==== Chcete-li zobrazit videa v pdf prezentaci, musíte si je stáhnout z [[https://data.ciirc.cvut.cz/public/projects/2023CTURoboticsData/videos.zip|videos.zip]] do stejné složky jako pdf prezentaci a použít aplikaci [[https://pdfpc.github.io/|pdfpc]]. Další videa budou přidána během semestru, stáhněte si prosím videos.zip znovu, až se objeví nová přednáška. ==== Přednášky z minulých let ==== Přednášky z roku 2023/2024 jsou k dispozici zde: [[https://data.ciirc.cvut.cz/public/projects/2023CTURoboticsData/|PDF a videa]] a [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQkR0rpbJj79Aov-dFvohmM-|Záznam přednášek na YouTube]] ==== YouTube ==== [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQkqF6KkcZZDi2KFwky9SQpq|Online přenos přednášek]] [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQnu_Z26P5OcBSkULQnC4oQ3|Záznam přednášek]] ===== Cvičení ===== Repozitář s šablonou robotické sady nástrojů (toolbox): [[https://github.com/CTURobotics/robotics_labs | https://github.com/CTURobotics/robotics_labs]] a online dokumentace toolboxu [[https://robotics-labs.readthedocs.io/en/latest/index.html | ReadTheDocs Robotics Toolbox ]] - Představení struktury robotického toolboxu v jazyce Python a automatického testování/bodování, implementace transformací v SE2/SE3 (Martin Cífka ) - Implementace přímé kinematické úlohy pro planární manipulátor a ukázka vizualizačního nástroje v toolboxu (Petr Vanc ) * V [[https://github.com/CTURobotics/robotics_labs/pull/25|PR25]] naleznete opravený test pro úkol URDF, a to pro platformy Windows a macOS. * V [[https://github.com/CTURobotics/robotics_labs/pull/26|PR26]] naleznete upravené obrázky pro úkol URDF. * V [[https://github.com/CTURobotics/robotics_labs/pull/27|PR27]] naleznete opravu animace. - Výpočet jakobiánu pro planárního robota numericky a analyticky (Petr Vanc ) - Řešení inverzní kinematiky (Martin Cífka ) - Transformace mezi kamerou a robotem, ukázka homografie a kalibrace (Martin Cífka ) * V [[https://github.com/CTURobotics/robotics_labs/pull/28|PR28]] naleznete novou verzi cvičení, také k dispozici jako zip [[https://people.ciirc.cvut.cz/~cifkamar/lab05_perception.zip|zde]]. - //Výuka odpadá// - Ukázka práce s roboty v laboratoři, bezpečnost práce s roboty (Pavel Krsek ). **Cvičení je povinné** a probíhá v JP:B-633 a JP:B-415 u robotů. {{ :courses:b3b33rob1:krsek_rob24_robots_cs.pdf | Prezentace ve formátu pdf.}} - Plánování pohybu (Petr Vanc ) - Konzultace pro semestrální práce (Pavel Krsek /Vladimír Smutný ) - Konzultace pro semestrální práce (Pavel Krsek /Vladimír Smutný ) - Dynamické řízení robotů (Vladimír Petrík ) - Konzultace pro semestrální práce (Pavel Krsek /Vladimír Smutný ) - Konzultace pro semestrální práce (Pavel Krsek /Vladimír Smutný ) - Odevzdávání semestrálních prací (Pavel Krsek /Vladimír Smutný ) * Testovací desky (9–10, 11–12) jsou k dispozici zde: [[https://data.ciirc.cvut.cz/public/projects/2024CTURoboticsData/final_project/ | testovací desky]] ===== Hodnocení ===== Celkové hodnocení bude složeno z následujících částí: implementace domácích úkolů - robotického toolboxu (20%), semestrální práce (20%), testy v semestru (20%) a zkouška (40%). * 10 bodů je nutné získat pomocí povinných domácích úkolů. * Semestrální práce je povinná; je potřeba získat alespoň 1 bod za tuto část. * První i druhý test je dobrovolný; není nutné získat žádný bod pro získání zápočtu. * Ze zkoušky je potřeba získat alespoň 10 bodů z 40. Na zkoušku se lze přihlásit až po získání zápočtu (tj. získání povinných bodů). Účast na přednáškách a cvičeních je doporučována, ale není povinná vyjma cvičení v 7. týdnu, ve kterém budete proškoleni o bezpečnosti práce s roboty. Bez tohoto školení nemůžete s roboty v laboratoři pracovat. ===== Návaznost na ostatní předměty ===== * Všechny přednášky a cvičení vyžadují znalosti linearní algebry (B0B01LAG) a programování v jazyce Python (B3B33ALP) * Přednáška o vidění v robotice analyzuje geometrii kamery a transformaci mezi robotem a kamerou. Neprobírá ale do detailu zpracování obrazu a detekci objektů, které jsou probírány v předmětech B3B33VIR/B3B33UROB nebo B3B33LAR. * Přednáška o plánování navazuje na znalosti B3B33KUI a ukáže aplikace algoritmů prohledávání pro plánování pohybu robota * 10. a 11. přednáška navazuje na znalosti o zpětnovazebném řízení, získané v B3B35ARI. Přednáška ukáže, jak navrhnout regulátor specifický pro manipulátory při znalosti jejich dynamických modelů. Výpočet dynamického modelu si ukážeme na jednoduchém planárním manipulátoru. Detailnější přehled o modelování dynamického modelu lze získat v předmětu B3B35MSD. * 13. a 14. přednáška navazuje na B3B33KUI a B3B33VIR/B3B33UROB se zaměřením na manipulační robotiku. Jejich cílem je ukázat rozdíl mezi plánováním, řízením a učením (posilované učení, učení z demonstrací) pro manipulaci. Zároveň budou ukázány aplikace UI pro predikci úchopů (GraspIt, GraspNet). ===== Vyučující ===== [[https://petrikvladimir.github.io/|Vladimír Petrík]] , Vladimír Smutný , Pavel Krsek , Petr Vanc , Martin Cífka