This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| et:ros:subscribepublish [2019/05/17 16:28] – tekitatud raivo.sell | et:ros:subscribepublish [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | ====== 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, |
| - | ====== Teegi installimine ====== | + | Teeke saab paigaldada kasutades Linuxi paketihaldajat //apt-get// või paigutades need oma tööruumi //src// kataloogi. Pakett nimega // |
| - | Teeke saab installida kasutades linuxi paketi haldajat või paigutades need oma tööruumi src kataloogi. Pakett nimega ros-tutorials sisaldab teeke, mille abil on võimalik demonstreerida ROSi võimalusi ja mis on vajalikud selle õpetuse järgimiseks. | + | Paigalda |
| - | + | ||
| - | Installi | + | |
| $ sudo apt-get install ros-kinetic-ros-tutorials | $ sudo apt-get install ros-kinetic-ros-tutorials | ||
| - | asenda ‘kinetic’ endale installitud ROSi jaotuse nimega (näiteks: indigo, jade, kinetic) | ||
| - | Kui pakett on edukalt | + | Kui pakett on edukalt |
| $ 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 | + | 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 52: | 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 | + | 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 |
| - | Ava uus terminali aken(Ctrl+Alt+T) ja käivita seal sõlm nimega | + | Kasutame käsku //rosrun//, et käivitada sõlm. |
| + | |||
| + | 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 69: | 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 85: | 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, |
| - | rostopic | + | {{: |
| - | Esimene tööriist, mida vaatame on rostopic. Rostopic on tööriist, mille abil on võimalik ROSi teemasid jälgida ja haldada. | + | |
| - | rostopic käsu saatmisel | + | ===== Rostopic ===== |
| + | |||
| + | Esimene tööriist, mida vaatame on //rostopic//. // | ||
| + | |||
| + | // | ||
| $ rostopic | $ rostopic | ||
| - | rostopic bw | + | rostopic bw |
| - | rostopic echo print messages to screen | + | |
| - | rostopic hz | + | |
| - | rostopic list print information about active topics | + | |
| - | rostopic pub publish data to topic | + | |
| - | rostopic type print topic type | + | |
| Veendu, et taustal töötavad roscore, talker ja listener. | Veendu, et taustal töötavad roscore, talker ja listener. | ||
| Line 104: | Line 106: | ||
| $ rostopic list | $ rostopic list | ||
| - | /chatter | + | /chatter |
| - | /rosout | + | |
| - | / | + | |
| - | /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 119: | 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 127: | 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 142: | 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/ |
| - | publishing and latching message. Press ctrl-C to terminate | + | |
| Kui samal ajal teemat kuulata näeme, et meie saadetud sõnum avaldati: | Kui samal ajal teemat kuulata näeme, et meie saadetud sõnum avaldati: | ||
| Line 161: | Line 163: | ||
| --- | --- | ||
| data: "hello world 1542817788.41" | data: "hello world 1542817788.41" | ||
| - | ROSiga kaasnevad ka mõningad graafilised tööriistad. Rqt_graph kujutab graafiliselt, | + | |
| + | ====== Rqt_graph ====== | ||
| + | |||
| + | ROSiga kaasnevad ka mõningad graafilised tööriistad. | ||
| + | |||
| + | 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 // | ||
| + | |||
| + | Näide graafikust keerukama roboti peal: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ====== Rosnode ====== | ||
| - | ROS sõlmed | + | Kasutame käsku |
| - | Kasutame käsku rosnode list, et kuvada kõik hetkel töötavad sõlmed. | + | |
| $ rosnode list | $ rosnode list | ||
| Line 175: | Line 189: | ||
| / | / | ||
| / | / | ||
| - | Kasutame käsku rosnode info, et kuvada sõlme kohta vajalikku informatsiooni: | + | Kasutame käsku |
| $ rosnode info / | $ rosnode info / | ||