====== Turtlebot ====== TurtleBot on paindlik robotplatvorm, mis on mõeldud töötama ROSiga. TurtleBot on koostatud levinud komponentidest on modulaarne ja võimaldab seetõttu kasutajal luua palju erinevaid konfiguratsioone. Turtlebot on ideaalne platvorm ROSiga eksperimenteerimiseks ja selle tundma õppimiseks. Turtleboti kasutajaid on väga palju, mis tähendab seda, et paljud funktsioonid on ROSi sõlmede kujul internetis vabalt saadaval. Selleks, et saada Turtlebot automaatselt ruumis navigeerima ei ole vaja kirjutada ühtegi rida koodi. Tuleb ainult internetist õiged sõlmed leida ja need tööle panna. {{:et:ros:simulations:turtlebot1.png?400|}} {{:et:ros:simulations:turtlebot2.jpg?400|}} ===== 3D kaamera ===== {{:et:ros:simulations:opecastra.png?500|}} Turtleboti peamine andur on 3D kaamera. 3D kaamera on üks universaalsemaid roboti andureid. 3D kaamera üheks väljundiks on 2D kaamera pilt, mis tähendab, et on võimalik kasutada erinevaid objektituvastus algoritme. ROSi jaoks on saadaval paljud masinnägemise teegid. Üks enim kasutatavaid ja universaalsemaid on [[https://opencv.org/|OpenCV]]. Lisaks on saadaval näiteks kõige kaasaegsem tehisintellekti kasutav teek [[https://pjreddie.com/darknet/yolo|You only look once (YOLO)]]. Sama teeki kasutab ka [[http://iseauto.ttu.ee/|Iseauto]] objektituvastuseks. Objektid tuvastatakse ja nende ümbes joonistatakse kast koos tuvastatud objekti tüübi nimega: {{:et:ros:simulations:maxresdefault.jpg?500|}} 3D kaamera eeliseks tavalise kaamera ees on sügavuse dimensioon. Selle abil on robotil võimalik tajuda objektide kaugust. See funktsioon võimaldab robotile arendada autonoomset navigatsiooni. {{:et:ros:simulations:3dcam.gif?500|}} ===== Turtleboti simuleerimine ===== Turtleboti simuleerimiseks on internetis vabalt saadaval kõik vajalik roboti Gazebos simuleerimiseks. Laeme alla vabalt saadaval olevad teegid Turtleboti simuleerimiseks: $ sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-rocon-remocon ros-kinetic-rocon- qt-library ros-kinetic-ar-track-alvar-msgs Käivitame roboti simulatsiooni: $ roslaunch turtlebot_gazebo turtlebot_world.launch {{:et:ros:simulations:gazebo.png?700|}} Gazebo simulaatoris on võimalik menüüst simulatsiooni objekte lisada kõpsates soovitud objekti peale. Samast kohast leiab ka objektide liigutamise, suurendamise ja pööramise tööriistad. {{:et:ros:simulations:gazebogui.png?700|}} Edasi proovime robotit kaugjuhtida. Lae alla turtleboti kaugjuhtimise teegid: $ sudo apt-get install ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-rviz-launchers Käivitame roboti juhtimise sõlme: $ roslaunch turtlebot_teleop keyboard_teleop.launch Klaviatuuri kasutades peaksime nüüd nägema, kuidas Turtlebot simulatsioonis liigub. ===== RVIZ ===== Selleks, et me ei peaks andurite väärtusi käsurea pealt lugema kasutame visualiseerimise tööriista. Palju lihtsam on robotit mõista, kui me näeme sama pilti mida näeb robot. Kasutame ROSi võimsat visualiseerimise tööriista nimega //Rviz//. //Rviz// toetab paljude erinevate andurite visualiseerimist. Saame erinevate teemade visualiseerimist sisse ja välja lülitada. Erinevatel paneelidel on võimalik kuvada ka kaamera pilte või graafikuid. Võimalik on ka funktsionaalsst ise lisada pistikprogrammide kujul. Käivita turtleboti visualiseerimine //Rvizi//: $ roslaunch turtlebot_rviz_launchers view_robot.launch //Rviz// on algselt seadistatud näitama 3D kaamera pilti ja roboti mudelit (URDF). Vasakul all näeme lisaks kahe dimensioonilist kaamera pilti. {{:et:ros:simulations:turtlebot_gazebo_rviz.png?800|}}