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: Odevzdávácí systém BRUTE, Rozvrh, Pravidla boje proti plagiátorství
Doporučená literatura: Kevin M. Lynch and Frank C. Park: Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017, ISBN 9781107156302.
Přednášky
Zde je k dispozici více variant prezentací, včetně režimu „handout/leták“ vhodného pro vaše poznámky.
-
Přímá kinematika otevřených kinematických řetězců (
pdf_cz,
pdf_en)
Základy vidění v robotice
[Přednáška přesunuta do T2:C3-132] (
pdf_cz,
pdf_en)
Plánování úkolů a pohybu pro manipulaci
[1. test] (
pdf_cz,
pdf_en)
Test bude probíhat na přednášce na KN nebo online přes
zoom (bude nutné zapnout kameru) v čase od 13:15 do 14:15. Pro výpočty budete potřebovat pero, papír a kalkulačku. Vaše řešení mi po skončení testu buď odevzdáte osobně anebo vyfotíte a nahrajete do odevzdávácího systému BRUTE. Ukázka testu je k dispozici
zde.
Testové otázky:
Počítání s transformacemi v SO2, SE2, SO3 a SE3
Vlastnosti transformačních matic
Počítání přímé kinematiky planárního manipulátoru
Počítání jakobiánu planárního manipulátoru
Děkanský den
Úvod do umělé inteligence v robotice (
pdf_en)
Úvod do umělé inteligence v robotice
[2. test] (
pdf_en)
Videa v PDF
Chcete-li zobrazit videa v pdf prezentaci, musíte si je stáhnout z videos.zip do stejné složky jako pdf prezentaci a použít aplikaci pdfpc.
Další videa budou přidána během semestru, stáhněte si videos.zip znovu, až se objeví nová přednáška.
YouTube
Cvičení
Repozitář s šablonou robotické sady nástrojů (toolbox): https://github.com/CTURobotics/robotics_labs
Představení struktury robotického toolboxu v jazyce Python a automatického testování/bodování, implementace transformací v SE2/SE3
Implementace přímé kinematické úlohy pro planární manipulátor a ukázka vizualizačního nástroje v toolboxu
Výpočet jakobiánu pro planárního robota numericky a analyticky
Řešení inverzní kinematiky
Implementace výpočtu průsečíku dvou kružnic je numericky nestabilní, pro zvýšení přesnosti můžete zvýšit aproximaci kružnice z quad_segs=64 na 1024. Případně můžete použít numerickou stabilní implementaci z
PR8
Vylepšená implementace průsečíku přímky a kružnice je k dispozici na
PR10
Transformace mezi kamerou a robotem, ukázka homografie a kalibrace
Ukázka výpočtu homografie a kalibrace oko-ruka ze cvičení je k dispozici na
PR11
Ukázka práce s roboty v laboratoři, bezpečnost práce s roboty. Cvičení probíhá v JP-B-415 u robotů.
Prezentace (pdf, cs)
Plánování pohybu
Dynamické řízení robotů
PR12
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%). Je vyžadován minimální počet bodů, který je potřeba dosáhnout v každé z těchto části:
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.
1 bod je nutné získat z prvního testu v 8. týdnu.
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 6. 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)
5. přednáška o vidění v robotice analyzuje geometrii kamery a transformaci mezi robotem a kamerou. Neprobírá ale zpracování obrazu a detekci objektů, které jsou probírány v předmětech B3B33VIR/B3B33UROB nebo B3B33LAR.
7. 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
9. a 10. 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í