====== 2D Simulatsioon ====== Simulatsioonide kasutamine on hea viis ROSi õppimiseks ilma, et peaks füüsilist robotit omama. Selles peatükis kasutame lihtsalt 2D simulatsiooni nimega Turtlesim. Esmalt käivitame //roscore//: $ roscore Käivitame sõlme nimega //turtlesim//_node teegist //turtlesim//: $ rosrun turtlesim turtlesim_node Kui sõlm käivitada avaneb simulatsioon graafilise kasutajaliisedega. Teek sisaldab ka sõlme, mille abil saab klaviatuuriga robotile liikumise sõnumeid saata. Käivitame uues terminali aknas roboti kaugjuhtimise sõlme: $ rosrun turtlesim turtle_teleop_key Kui nüüd selles terminalis nooleklahve vajutada, saame robotit simulatsioonis liigutada: {{:et:ros:turtle_key-290x300.png?400|}} ====== Rqt_graph ====== Vaatame kuidas see töötab, kasutades tööriista //rqt_graph//, mis visualiseerib sõlmede ja teemade suhteid: $ rqt_graph {{:et:ros:rqt_graph_turtle.png?800|}} Käsu käivitades avaneb graafiline kasutajaliides. Näeme, et sõlm ///teleop_turtle// loeb noolteklahvide vajutusi ja teeb nendest roboti kiiruse //geometry_msgs/Twist//. See saadetakse teemasse ///turtle1/command_velocity//, mida kuulab roboti simulatsioon. Kui samad sõlmed jooksutada erinevate arvutite peal, siis saame robotit teisest arvutist juhtida. Sarnast konfiguratsiooni kasutatakse tihti päris robotite kaugjuhtimiseks. ====== Juhtimine käsurealt ====== Roboti juhtimiseks kasutatakse sõnumi tüüpi //geometry_msgs/Twist//, mis koosneb lineaar- ja nurkkiirusest. Proovime ise käsurea pealt kiiruse avaldada. //TAB// klahvi saab kasutada käsu automaatseks lõpetamiseks. Kasutame tööriistal //rostopic pub// argumenti //-r 1//, mis saadab ette antud sõnumit 1 Hz sagedusega: $ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]' {{:et:ros:turtlerostopicpub.png?400|}} Näeme, et robot liigub simulatsioonis ringjoonelisest. ====== Rqt_plot ====== Teemas olevate andmete visualiseerimiseks ajas kasutatakse tööriista //rqt_plot//. Selle tööriista abil on võimalik kuvada sõnumite väärtusi graafikuna. Seda tööriista saab kasutada näiteks andurite väärtuste visualiseerimiseks. Turtlesim simulaator avaldab roboti x ja y kordinaadid teemasse ///turtle1/pose/x// ja ///turtle1/pose/y//. Proovime neid teemasid graafikul kuvada. Käivita //rqt_plot//: $ rqt_plot Kui lisada graafikule teemad ///turtle1/pose/x// ja ///turtle1/pose/y// näeme reaalajas roboti asukohta x ja y teljel: {{:et:ros:rqt_plot.png?400|}}