Praktická robotika - cvičení (zima 2024/25)

Organizace cvičení

  • Na začátku semestru budou studenti rozděleni do dvoučlenných skupin.
  • Každá skupina bude implementovat aplikaci realizující úlohu explorace neznámého prostředí (viz zadání).
  • Jednotlivé podsystémy realizovaného klienta (v rámci samostatných úloh) budou studenti zkoušet nejprve na simulátoru Gazebo a poté na reálných robotech TurtleBot.

Zápočet bude udělen na základě následujících kritérií:

  • chování robotu při závěrečném předvedení cvičícím,
  • ústní prezentace funkčního algoritmu klienta cvičícímu,
  • znalost předloženého kódu klienta
  • K získání zápočtu je nutná pravidelná účast studenta na cvičení (povoleny jsou dvě absence).
  • Hodnocení ze cvičení je jedinou součástí celkového hodnocení studenta (známky z předmětu).

 Lab

ex1.zip

Úloha 1 - Obstacle avoidance

  • Cílem cvičení je seznámit se se základní robotickou smyčkou, vyčitání senzorů a řízení robotu na úloze vyhýbání se překážkám (obstacle avoidance).
  • Modely gazebo - extrahujte do složky ~/.gazebo/ ve vašem domovském adresáři. Pokud neexistuje tak ji vytvořte, nebo se vytvoří sama po prvním spuštění gazebo.
  • Pro použití s reálným robotem:
zaměňte v kódu při inicializaci robotu příkaz "robot.enableRequestResponseServices();" za příkaz "robot.setAsyncMode();"

a v terminálu exportujte proměnnou "IGN_PARTITION=bridge"

Úloha 2 - Plánování na binární mřížce

  • Videa

Úloha 3 - Prohledávání neznámého prostředí

  • Prohledávání neznámého prostředí je komplexní úloha zahrnující řadu základních robotických dovedností – tvorbu mapy, plánování, řízení, lokalizaci a vyšší plánování. S některými těmito dovednostmi jste se již seznámili na předchozích cvičeních, další budete v rámci této úlohy implementovat. Výstupem by pak měl být algoritmus navigující robot v neznámém prostředí za účelem vytvoření mapy tohoto prostředí. V této úloze se předpokládá, že pozice robotu je známá.
  • Prohledávání neznámého prostředí
    • Modifikujte mapu prostředí na základě aktuálních dat z laserového dálkoměru.
    • Najděte v mapě tzv. frontiers a vyberte z nich následující cíl.
    • K vybranému cíli naplánujte cestu a tuto cestu realizujte driverem SND.
    • Proveďte experimenty v simulátoru i na reálném systému.
  • V novějších verzích Ubuntu může být nutné změnit v soboru student/ex3/CMakeLists.txt verzi kompilátoru z -std=c++11 na -std=c++17

Úloha 4 - Manipulace s objektem (bonusová úloha)

  • V této bonusové úloze využijete kódy pro mapování, plánování a navigaci z předchozích úloh. Vaším úkolem bude detekovat pozici objektu (válce) v prostředí a za pomoci vašeho robotu válec přemístit na určenou lokaci.
  • Postup řešení:
    • Využijte kód z úlohy č. 3
    • Naimplementujte funkci pro detekci válce v laserových datech
    • Vytvořte si zjednodušený stavový automat ve kterém budete přepínat mezi funkcemi hledání, přesouvání, a tlačení
    • Vaším úkolem bude
      • Hledání: Najděte pozici válce
      • Přesouvání: Navigujte robota do optimální pozice, ze které může začít tlačit válec směrem k cíli
      • Tlačení: Řiďte robota tak, aby dotlačil válec na vámi požadovanou pozici

Zpět na stránky předmětu.

courses/a0m33par/cviceni.txt · Last modified: 2025/12/09 12:34 by kozakvik