Praktikum 8 - Simulatsioon

Enne praktikumi juurde asumist

  1. Mine lehele https://github.com/sinu kasutajanimi/robotont_blank_scripts, kus asenda sinu kasutajanimi oma kasutajanimega.
  2. Vajuta rohelist nuppu “Clone or download”
  3. Kopeeri sealt aadress
  4. Ava terminal ning trüki sinna cd catkin_ws/src
  5. Seejärel sisesta git clone -sinu-kopeeritud-link-
  6. Nüüd trüki terminali catkin build
  7. Kui see protsess on lõpetanud edukalt, sulge terminal ja oled valmis praktikumiga jätkama.

Selles praktikumis teeme tutvust robootika simulatsiooniga. Kui varasemalt oleme töötanud füüsilise robotitega, siis tihti on otstarbekam kõigepealt testida oma koodi simulaatoris. Käesolevas praktikumis testime oma kolme varasemat lahendust kasutades simuleeritud robotit ja maailma. Järgnevalt on ette on antud mõned näited, kuid tegelikult võib ise valida need varasemad ülesanded, mida simuleeritud roboti peal katsetada. Selles praktikumis pole päris robotit vaja kasutada.

Ülesanne 1

Käita simulaatori abil oma P-kontrolleriga kaugusehoidmist (7. praktikumi 2. ülesannet).

  1. Selleks ava simulaator käsuga

    roslaunch robotont_description gazebo_teleop_keyboard.launch world:=$(rospack find robotont_description)/worlds/bangbang.world

  2. Ava uus terminaliaken ning trüki sinna

    rosrun robotont_blank_scripts praktikum3_bangbang.py

  3. Kui robot ei tööta nii nagu peaks, siis ava praktikum3_bangbang.py ja seadista kontrollerit nii, et see ka simulaatoris töötaks.

  4. Demonstreeri töötavat kontrollerit juhendajale.

Ülesanne 2

Proovime nüüd simulaatoris seinte vahelt läbi sõita.

  1. Ava terminaliaken ning trüki sinna

    roslaunch robotont_description gazebo_teleop_keyboard.launch world:=$(rospack find robotont_description)/worlds/between.world

  2. Avanenud aknas saad liigutada robotit lineaarselt soovitud kohta, klikkides robotil ning vajutades vasakul üleval nuppu “Translate mode” või vajutades klahvi “T”. Seejärel tekivad nooled, mida tõmmates liigub robot maailmas.

    ../_images/gazebotranslate.png
  3. Vajutades vasakul üleval nuppu “Rotation Mode” või klahvi “R”, saab robotit pöörata. Pööramiseks tiri hiirega värvilisi ringe soovitud suunas.

    ../_images/gazeborotate.png
  4. Roboti liigutamiseks võid ka kasutada klaviatuuri abil juhtimist. Selleks peab aktiivne olema terminaliaken, kus käitasid Gazebo. Kui roboti juhtimiseks kasutavad klahvid on meelest läinud, vaata esimese praktikumijuhendi lõppu.

  5. Kui robot on paigas, käita oma kolmanda praktikumi kood

    rosrun robotont_blank_scripts praktikum3_betweenposts.py

  6. Kui robot ei käitu nii nagu peab, proovi muuta oma algoritmi praktikum3_betweenposts.py failis.

  7. Demonstreeri töötavat seinte vahelt sõitvat robotit juhendajale.

Ülesanne 3

Proovime koostada simulaatoris 2D kaarti ja seal navigeerida nagu viiendas praktikumis.

  1. Ava simulaator käsuga

    roslaunch robotont_description gazebo_teleop_keyboard.launch world:=$(rospack find robotont_description)/worlds/mapping.world

  2. Ava kaardistamislõim käsuga

    roslaunch robotont_teleop teleop_carto_with_navstack_gazebo.launch

  3. Ava RViz käsuga

    roslaunch robotont_description display_2dmapping.launch

  4. Sõida ringi (aktiivne peab olema terminaliaken, kus avasid Gazebo) ning kaardista maailm. Seejärel proovi autonoomselt navigeerida kaardi abil nagu viiendas praktikumis.

  5. Demonstreeri juhendajale.

Enne praktikumi lõpetamist

  1. Ava uus terminal
  2. Sisesta sinna cd catkin_ws/src/robotont_blank_scripts
  3. Seejärel git add .
  4. Seejärel git config user.email „YOUR-EMAIL-HERE“
  5. Seejärel git config user.name „YOUR-NAME-HERE“
  6. Seejärel git commit -m „kommentaar mis praktikum oli“
  7. Seejärel git push
  8. Siin sisesta oma githubi kasutajanimi ja parool. Kontrolli, kas sinu github.com lehel uuenesid failid.
  9. Kui uuenesid, siis loo ssh-ühendus robotisse ning sisesta käsureale sudo poweroff.