This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:ros:subscribepublish [2019/05/24 05:33] – ingmar05 | et:ros:subscribepublish [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== ROS kontseptsioon ====== | ====== ROS kontseptsioon ====== | ||
| - | ====== ROSi teegid | + | ===== ROSi teegid ===== |
| - | ROSis on tarkvara organiseeritud teekidesse. Teek võib sisalsada ROSi sõlmi, andmetekogu, | + | ROSis on tarkvara organiseeritud teekidesse. Teek võib sisalsada ROSi sõlmi, andmetekogu, |
| - | Teeke saab paigaldada kasutades Linuxi | + | Teeke saab paigaldada kasutades Linuxi |
| - | Paigalda pakett nimega ros-tutorials: | + | Paigalda pakett nimega |
| $ sudo apt-get install ros-kinetic-ros-tutorials | $ sudo apt-get install ros-kinetic-ros-tutorials | ||
| - | Kui pakett on edukalt paigaldatud tuleb ka töökeskkond uuesti kompileerida: | + | Kui pakett on edukalt paigaldatud tuleb töökeskkond uuesti kompileerida: |
| $ catkin_make #kompileeri töökeskkond | $ catkin_make #kompileeri töökeskkond | ||
| - | ====== Roscore | + | ===== Roscore ===== |
| - | Roscore on kogumik sõlmedest ja programmidest, | + | //Roscore// on kogumik sõlmedest ja programmidest, |
| - | Ava uus terminali aken(Ctrl+Alt+T) ja käivita roscore: | + | Ava uus terminali aken(Ctrl+Alt+T) ja käivita |
| $ roscore | $ roscore | ||
| - | Kui kõik on õigesti | + | Kui kõik on õigesti |
| ... logging to ~/ | ... logging to ~/ | ||
| Line 49: | Line 49: | ||
| | | ||
| - | Korraga | + | Korraga |
| - | ====== Avaldaja ja Tellija | + | ===== Avaldaja ja Tellija ===== |
| - | Kogu ROSi süsteem on üles ehitatud sõlmedele ja teemadele. Sõlm on konkreetsele ülesandele pühendatud programm. Sõlmed saavad omavahel suhelda läbi erinevate teemade. Sõlmed saavad teemadesse sõnumeid avaldada ja teemasid tellida, et nendest sõnumeid lugeda. Eespool paigaldasid sa paketi nimega ros-tutorials. See pakett sisaldab kahte sõlme. Esimese sõlme nimi on ‘talker’, mis avaldab teksti “hello world” teemasse /chatter. | + | Kogu ROSi süsteem on üles ehitatud sõlmedele ja teemadele. Sõlm on konkreetsele ülesandele pühendatud programm. Sõlmed saavad omavahel suhelda läbi erinevate teemade. Sõlmed saavad teemadesse sõnumeid avaldada ja teemasid tellida, et nendest sõnumeid lugeda. Eespool paigaldasid sa paketi nimega |
| - | Kasutame käsku rosrun, et käitada | + | Kasutame käsku |
| - | Ava uus terminali aken(Ctrl+Alt+T) ja käivita seal sõlm nimega | + | Ava uus terminali aken(Ctrl+Alt+T) ja käivita seal sõlm nimega |
| $ rosrun rospy_tutorials talker | $ rosrun rospy_tutorials talker | ||
| - | Veendu, et roscore käib, ilme selleta ei saa sõlme käivitada. Kui sõlme | + | Veendu, et //roscore// käib, ilme selleta ei saa sõlme käivitada. Kui sõlme |
| | | ||
| Line 68: | Line 68: | ||
| | | ||
| | | ||
| - | Avaldaja käib ja avaldab sõnumeid teemasse /chatter, nüüd on vaja tellijat, mis antud sõnumeid loeb. | + | Avaldaja käib ja avaldab sõnumeid teemasse |
| - | Teise sõlme nimi on “listener” ja see tellib teema /chatter ning hakkab sellesse teemasse saadetud sõnumeid ekraanile kuvama. | + | Teise sõlme nimi on //listener// ja see tellib teema ///chatter// ning hakkab sellesse teemasse saadetud sõnumeid ekraanile kuvama. |
| - | Ava uus terminali aken(Ctrl+Alt+T) ja käivita tellija nimega | + | Ava uus terminali aken(Ctrl+Alt+T) ja käivita tellija nimega |
| $ rosrun rospy_tutorials listener | $ rosrun rospy_tutorials listener | ||
| - | Kui terminali ilmuvad | + | Kui terminali ilmuvad |
| | | ||
| Line 84: | Line 84: | ||
| | | ||
| | | ||
| - | ROSi baasil töötaval robotil on tavaliselt väga palju sõlmi, millest igal on oma eraldi ülesanne. Sõlmed võivad | + | ROSi baasil töötaval robotil on tavaliselt väga palju sõlmi, millest igal on oma eraldi ülesanne. Sõlmed võivad paikneda erinevates arvutites ja suhelda läbi erinevate protokollide. Nüüd tutvume aga ROSiga kaasnevate tööriistatega, |
| - | {{:et:ros:talklist.png?600|}} | + | {{:et:ros:ros_pubsub_2_.png?700|}} |
| - | ====== Rostopic | + | ===== Rostopic ===== |
| - | Esimene tööriist, mida vaatame on rostopic. Rostopic on tööriist, mille abil on võimalik ROSi teemasid jälgida ja haldada. | + | Esimene tööriist, mida vaatame on //rostopic//. //Rostopic// on tööriist, mille abil on võimalik ROSi teemasid jälgida ja hallata. |
| - | rostopic käsu saatmisel | + | //rostopic// käsu sisestamisel |
| $ rostopic | $ rostopic | ||
| Line 109: | Line 109: | ||
| / | / | ||
| / | / | ||
| - | /chatter on teema, mille kaudu suhtlevad talker ja listener | + | ///chatter// on teema, mille kaudu suhtlevad |
| - | kasutame käsku rostopic info, et kuvada teema kohta vajalikku informatsiooni: | + | kasutame käsku |
| $ rostopic info /chatter | $ rostopic info /chatter | ||
| Line 121: | Line 121: | ||
| | | ||
| * / | * / | ||
| - | Kuvatakse, millised sõlmed on teemat tellinud ja millised teemasse avaldavad, lisaks näeme ka sõnumi tüüp, milleks on std_msgs/ | + | Kuvatakse, millised sõlmed on teemat tellinud ja millised teemasse avaldavad, lisaks näeme ka sõnumi tüüp, milleks on //std_msgs/ |
| - | kasutame rostopic hz, et näha sõnumite sagedust: | + | kasutame |
| $ rostopic hz / | $ rostopic hz / | ||
| Line 129: | Line 129: | ||
| | | ||
| min: 0.100s max: 0.100s std dev: 0.00017s window: 10 | min: 0.100s max: 0.100s std dev: 0.00017s window: 10 | ||
| - | Näeme, et sõnumite keskmine sagedus on umbes 10 Hz. (Ctrl+C | + | Näeme, et sõnumite keskmine sagedus on umbes 10 Hz. (Ctrl+C |
| - | Kasutame käsku echo, et kuvada teemasse saadetud sõnumid ekraanile: | + | Kasutame käsku |
| $ rostopic echo / | $ rostopic echo / | ||
| Line 144: | Line 144: | ||
| data: "hello world 1542817744.31" | data: "hello world 1542817744.31" | ||
| --- | --- | ||
| - | Kasutame käsku pub, et avaldada sõnum teemasse: | + | Kasutame käsku |
| $ rostopic pub /chatter std_msgs/ | $ rostopic pub /chatter std_msgs/ | ||
| Line 166: | Line 166: | ||
| ====== Rqt_graph ====== | ====== Rqt_graph ====== | ||
| - | ROSiga kaasnevad ka mõningad graafilised tööriistad. Rqt_graph kujutab graafiliselt, | + | ROSiga kaasnevad ka mõningad graafilised tööriistad. |
| - | käivita rqt_graph: | + | käivita |
| $ rqt_graph | $ rqt_graph | ||
| {{: | {{: | ||
| - | Käsu käivitamisel avaneb graafiline kasutajaliides. Näeme, et talker avaldab sõnumeid teemasse /chatter ja listener kuulab neid. | + | Käsu käivitamisel avaneb graafiline kasutajaliides. Näeme, et //talker// avaldab sõnumeid teemasse |
| - | Keerukamate ülesannetega robotite peal töötab tavaliselt palju erinevaid sõlmi, mis suhtlevad mitmete teemade kaudu. Käsurea pealt on raske üldist pilti näha ja selleks kasutataksegi | + | Keerukamate ülesannetega robotite peal töötab tavaliselt palju erinevaid sõlmi, mis suhtlevad mitmete teemade kaudu. Käsurea pealt on raske üldist pilti näha ja selleks kasutataksegi |
| Näide graafikust keerukama roboti peal: | Näide graafikust keerukama roboti peal: | ||
| Line 183: | Line 183: | ||
| ====== Rosnode ====== | ====== Rosnode ====== | ||
| - | Kasutame käsku rosnode list, et kuvada kõik hetkel töötavad sõlmed. | + | Kasutame käsku |
| $ rosnode list | $ rosnode list | ||
| Line 189: | Line 189: | ||
| / | / | ||
| / | / | ||
| - | Kasutame käsku rosnode info, et kuvada sõlme kohta vajalikku informatsiooni: | + | Kasutame käsku |
| $ rosnode info / | $ rosnode info / | ||