Warning
This page is located in archive.

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.

  1. Organizace předmětu (pdf_cz, pdf_en) a Reprezentace pohybu (pdf_cz, pdf_en)
    • Oprava pdf dne 27.09.2023: algoritmus osa-úhel z R pro tr(R) = -1 byl neúplný
  2. Přímá kinematika otevřených kinematických řetězců (pdf_cz, pdf_en)
    • Oprava pdf dne 04.10.2023: nesprávná znaménka v příkladu přímé kinematiky pro prostorový manipulátor
  3. Diferenciální kinematika a statika (pdf_cz, pdf_en)
  4. Inverzní kinematika (pdf_cz, pdf_en)
  5. Základy vidění v robotice [Přednáška přesunuta do T2:C3-132] (pdf_cz, pdf_en)
  6. Generování cest a trajektorií (pdf_cz, pdf_en)
  7. Plánování pohybu (pdf_cz)
  8. 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
  9. Děkanský den
  10. Dynamika robotů (pdf_en)
  11. Metody řízení robotů (pdf_cz)
  12. Denavitova-Hartenbergova notace (Vladimír Smutný, slidy_pdf_cz, strana 7-17 handouty_pdf_cz), paralelní manipulátory (slidy_pdf_cz, handouty_pdf_cz)
  13. Úvod do umělé inteligence v robotice (pdf_en)
  14. Úvod do umělé inteligence v robotice [2. test] (pdf_en)
    • Test bude probíhat na přednášce na KN. Pro výpočty budete potřebovat pero a papír.
    • Testovaná témata:
      • Počítání DoF
      • Počítání jakobiánu planárního uzavřeného kinematického řetězce
      • Počítaní statických sil/momentů

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

  1. Představení struktury robotického toolboxu v jazyce Python a automatického testování/bodování, implementace transformací v SE2/SE3
  2. Implementace přímé kinematické úlohy pro planární manipulátor a ukázka vizualizačního nástroje v toolboxu
    • Zadání dostatečně nespecifikuje polohu s.s. “virtuálního” ramena. Počátek tohoto s.s. musí být v základně válce, který definuje geometrii druhého ramena.
    • Pro snazší ladění můžete upravit testy tak, aby zobrazovaly smysluplnější chyby, jak je uvedeno v PR5
  3. Výpočet jakobiánu pro planárního robota numericky a analyticky
  4. Ř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
  5. 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
  6. 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)
  7. Plánování pohybu
    • Chybějící skripty pro cvičení jsou k dispozici v PR6
    • Pro nalezení řešení v daném čase, je nutné implementovat vzorkovač, který s určitou pravděpodobností vybere cílový stav místo náhodného vzorku.
    • Ukázka PRM plánovače je k dispozici v PR9
  8. Konzultace pro semestrální práce (Zadání semestrální práce).
  9. Konzultace pro semestrální práce (Zadání semestrální práce).
  10. Konzultace pro semestrální práce (Zadání semestrální práce).
  11. Dynamické řízení robotů PR12
  12. Konzultace pro semestrální práce (Zadání semestrální práce).
  13. Konzultace pro semestrální práce (Zadání semestrální práce).
  14. Odevzdávání semestrálních prací (Zadání semestrální práce).

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.

  1. Všechny přednášky a cvičení vyžadují znalosti linearní algebry (B0B01LAG) a programování v jazyce Python (B3B33ALP)
  2. 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.
  3. 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
  4. 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.
  5. 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í

courses/b3b33rob1/start.txt · Last modified: 2024/01/14 19:20 by petrivl3