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 04:48] – 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 installida | + | Teeke saab paigaldada |
| - | Installi | + | Paigalda |
| $ 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 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 50: | 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 67: | 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 83: | 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 |
| - | rostopic käsu saatmisel | + | Esimene tööriist, mida vaatame on //rostopic//. // |
| + | |||
| + | // | ||
| $ rostopic | $ rostopic | ||
| Line 106: | 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 118: | 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 126: | 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 141: | 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 163: | 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 // | ||
| + | |||
| + | Näide graafikust keerukama roboti peal: | ||
| + | |||
| + | {{: | ||
| ====== Rosnode ====== | ====== Rosnode ====== | ||
| - | Kasutame käsku rosnode list, et kuvada kõik hetkel töötavad sõlmed. | + | Kasutame käsku |
| $ rosnode list | $ rosnode list | ||
| Line 180: | Line 189: | ||
| / | / | ||
| / | / | ||
| - | Kasutame käsku rosnode info, et kuvada sõlme kohta vajalikku informatsiooni: | + | Kasutame käsku |
| $ rosnode info / | $ rosnode info / | ||