Both sides previous revisionPrevious revisionNext revision | Previous revision |
et:ros:turtlesim [2019/05/24 05:05] – ingmar05 | et:ros:turtlesim [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
Simulatsioonide kasutamine on hea viis ROSi õppimiseks ilma, et peaks füüsilist robotit omama. Selles peatükis kasutame lihtsalt 2D simulatsiooni nimega Turtlesim. | 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: | Esmalt käivitame //roscore//: |
| |
$ roscore | $ roscore |
| |
Käivitame sõlme nimega turtlesim_node teegist turtlesim: | Käivitame sõlme nimega //turtlesim//_node teegist //turtlesim//: |
| |
$ rosrun turtlesim turtlesim_node | $ rosrun turtlesim turtlesim_node |
Kui sõlm käivitada avaneb simulatsioon graafilise kasutajaliisedega. | Kui sõlm käivitada avaneb simulatsioon graafilise kasutajaliisedega. |
| |
Teek sisaldab ka sõlme, mille abil saab klaviatuuriga robotile liikumis sõnumeid saata. | Teek sisaldab ka sõlme, mille abil saab klaviatuuriga robotile liikumise sõnumeid saata. |
| |
Käivitame uues teminali aknas roboti kaugjuhtimise sõlme: | Käivitame uues terminali aknas roboti kaugjuhtimise sõlme: |
| |
$ rosrun turtlesim turtle_teleop_key | $ rosrun turtlesim turtle_teleop_key |
Kui nüüd terminals nooleklahve vajutada, saame robotit simulatsioonis liigutada: | |
| Kui nüüd selles terminalis nooleklahve vajutada, saame robotit simulatsioonis liigutada: |
| |
{{:et:ros:turtle_key-290x300.png?400|}} | {{:et:ros:turtle_key-290x300.png?400|}} |
====== Rqt_graph ====== | ====== Rqt_graph ====== |
| |
Vaatame kuidas see töötab kasutades tööriista rqt_graph, mis visualiseerib sõlmede ja teemade suhteid: | Vaatame kuidas see töötab, kasutades tööriista //rqt_graph//, mis visualiseerib sõlmede ja teemade suhteid: |
| |
$ rqt_graph | $ rqt_graph |
{{:et:ros:rqt_graph_turtle.png?800|}} | {{: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. Sellist konfiguratsiooni kasutatakse ka tihti päris robotites, kus ROS töötab robotis ja kaugjuhtimiseks mõeldud arvuti peal. | 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 ====== | ====== Juhtimine käsurealt ====== |
| |
Roboti juhtimiseks kasutatakse sõnumi tüüpi geometry_msgs/Twist, mis koosneb lineaarsest ja nurgelisest kiirusest. Proovime ka 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: | 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]' | $ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]' |
====== Rqt_plot ====== | ====== Rqt_plot ====== |
| |
Teemas olevate andmete visualiseerimiseks ajas kasutatakse tööriista rqt_plot. Selle tööriista abil on võimalik kuvada sõnumite väärtusi graafikus. Seda tööriista saab kasutada näiteks sensorite väärtuste visualiseerimiseks. Turtlesim simulaator avaldab roboti x ja y kordinaadid teemasse /turtle1/pose/x ja /turtle1/pose/y. Proovime neid teemasid graafikul kuvada. | 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: | Käivita //rqt_plot//: |
| |
$ rqt_plot | $ rqt_plot |
| |
Kui lisada graafikule teemad /turtle1/pose/x ja /turtle1/pose/y näeme reaalajas roboti asukohta x ja y teljel: | 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|}} | {{:et:ros:rqt_plot.png?400|}} |
| |
| |
| |
| |