- Sõlm (node) - konkreetsele ülesandele pühendatud programm. Need on protsessid, mis teevad ROSi süsteemis arvutusi. Tavaliselt toimetavad sõlmed paralleelselt ja saadavad üksteisele info vahetamiseks sõnumeid.
- Sõnum (message) - edastatav struktureeritud info
- Rubriik (topic) - nimeline suhtluskanal, mille kaudu saavad sõlmed omavahel sõnumeid vahetada.
- Kuulutaja (publisher) - sõlme osa, mis kuulutab sõnumeid kindlas rubriigis
- Tellija (subscriber) - sõlme osa, mis jälgib ja reageerib sõnumitele kindlas rubriigis
- Kimp (package) - funktsionaalne kogum sõlmi
- Tuum (roscore) - alati taustal viib sõlmi omavahel kokku
- Liigendi vabadusaste - Erinevate viiside hulk, kuidas liigend võib liikuda (pöördliigendil on näiteks vaid üks vabadusaste- pöörleb ümber oma telje, hõljuval liigendil aga 6)
- Kinemaatiline ahel - Süsteem, mis tekib järjestikku üksteisega ühendatud lülidest ja liigenditest
- Jadamanipulaator (serial manipulator) - lülid, mis on omavahel ühendatud pöördliigenditega, üks kinemaatilise ahela vormidest.
- Lüli positsioon - lüli asukoht ruumis
- Lüli orientatsioon - lüli pööratuse suund ja kaugus
- Lüli asend - positsioon + orientatsioon
- Liigendi olek (joint state) - Liigendite nurkade kogum, mille abil saab kirjeldada üheselt roboti iga osa asendit ja seeläbi taasluua kogu roboti asendi.
- Liigendiruum (joint space) - kõigi võimalike liigendiolekute kogum
- Pärikinemaatika (forward kinematics) - Info viimine liigendiruumist koordinaatruumi. Protsess, millega tuvastada liigendite nurkade ja nurkade muutumise andmete põhjal mõjuri asend ja liikumine. Vastab küsimusele "kuhu jõuab robotkäe haarats ruumis, kui sean liigendid etteantud nurkade alla?".
- Pöördkinemaatika (inverse kinematics) - Info viimine koordinaatruumist liigendiruumi. Protsess, mis aitab lahendada pärikinemaatikale vastupidist ülesannet: "kuidas viia robotkäe mõjur ruumis kirjeldatud koordinaadile". Teisisõnu vastab pöördkinemaatika küsimusele "milliste nurkade alla kõik liigendid seada, et robotkäsi jõuaks laual oleva õunani?".
- URDF (Unified Robot Description Format) - Andmestruktuur, mille abil kirjeldada, millistest lülidest robot koosneb ning kuidas need lülid teineteise suhtes liiguvad. URDF on ülesehitatud XML-i formaadile.
- XACRO (XML macros) - XML-põhine makrokeel, millega saab ROSi robotitele luua parametriseeritud mudeleid. Pm võtab aluseks URDF-failis defineeritud low-level klotsid ja žongleerib nendega kõrgemal tasemel.
- Kõigi kimpude kuvamine, mis süsteemi on installitud:
rospack list-names
Alamkäskude kohta saab kuvada terminalist otse ka infolehte. Näiteks rosnode -h
, rostopic -h
või rosmsg -h
.
- Tuuma käivitamine:
roscore
- Sõlmede kuvamine:
rosnode list
- Sõlme info kuvamine (näiteks
/fake_driver_node
):rosnode info <sõlme nimi>
- Rubriikide kuvamine:
rostopic list
- Rubriigi info kuvamine (näiteks
/cmd_vel
):rostopic info <rubriigi nimi>
- Sõnumi tüübi info kuvamine (näiteks
geometry_msgs/Twist
):rosmsg info <sõnumi tüübi nimi>
- Rõnumite jälgimine kindlast rubriigist reaalajas (näiteks rubriigist
/cmd_vel
):rostopic echo /cmd_vel
- Sõlmede käivitamine (eeldab, et kusagil on roscore käivitatud):
rosrun <kimbu nimi> <sõlme faili nimi>
- Käivitusfailiga kimbu käivitamine (käivitab automaatselt ka roscore):
roslaunch <kimbu nimi> <käivitusfaili nimi
- Kimpude kompileerimine:
catkin build
võicatkin_make
- Kompileeritud catkin tööruumi laadimine aktiivsesse terminalisessiooni (käivita, olles ise catkini kaustas):
source devel/setup.bash
- Robotondi digikaksiku käivitamine füüsikasimulaatoris:
roslaunch robotont_gazebo gazebo.launch
- Füüsikasimulaatoris robotiga sõitmine (robot liigub vaid siis, kui selle käsu terminaliaken on aktiivne):
roslaunch robotont_demos teleop_keyboard.launch
- Robotondi käivitamine visualiseerimistööriistas:
roslaunch robotont_driver fake_driver.launch
- Rubriigi nime muutmine, kui näiteks Kuulutaja kuulutab rubriigis, mille nimi ei klapi sellega, millest Tellija peaks kuulama:
rosrun <tellija kimbu nimi> <tellija sõlme nimi> <tellija kuulatava rubriigi nimi>:=<kuulutaja rubriigi nimi>
. Näiteksrosrun turtlesim turtlesim_node turtle1/cmd_vel:=cmd_vel
. NB! Täpselt sama saab teha ka vastupidiselt kuulutaja rubriigi ümbernimetamiseks- peaasi, et kuulutamine ja tellimine toimuks samanimelises rubriigis. - ROSi kimbu loomine:
catkin create pkg
- URDF-mudeli visualiseerimine (urdf-faili kaustast käivitatuna):
roslaunch urdf_tutorial display.launch model:=fourwheeler.urdf
cd ~/catkin_wd # Liigu catkini kausta
catkin build # Kompileeri
source devel/setup.bash # Lae kompileeritud muudatus terminali sessiooni (kui kasutad mitut terminali korraga, pead seda kõigis neis käivitama)
- RVizi aknas on vasakul paneelil seaded, mille hulgas "Fixed Frame". Määra selle väärtuseks
odom
(kui väärtuseks on jubaodom
, siis on kõik hästi). - Määra "Frame Rate" väärtuseks
10
- nii on süsteem kiirem.
roscore->kimp->sõlm alias roscore->package->node
cmd_vel = rubriik e. topic