描述:這篇教程介紹ROS系統(tǒng)中rqt_console和rqt_logger_level的調(diào)試方式,利用roslaunch一次啟動(dòng)多個(gè)節(jié)點(diǎn);如果采用早期的版本(fuerte及以前的版本),rqt也許并不能用,可以采用基于rx的相關(guān)工具。
1. rqt的前期準(zhǔn)備和turtlesim功能包
這篇教程同時(shí)用到了rqt和turtlesim功能包。為了完成這部教程,請(qǐng)安裝這兩個(gè)功能包,可以通過如下命令安裝:
$ sudo apt-get install ros-
替換命令中的
注意:你也許已經(jīng)在前面的教程中編譯過rqt和turtlesim了,如果你不確定,可以重新安裝一下,不會(huì)有任何影響。
2. rqt_console和rqt_logger_level的用法
rqt_console依附于ROS系統(tǒng)的日志框架,用于顯示節(jié)點(diǎn)的輸出信息。通過rqt_logger_level可以調(diào)整當(dāng)前運(yùn)行節(jié)點(diǎn)輸出信息的顯示級(jí)別(DEBUG,WARN,INFO和ERROR);
現(xiàn)在我們利用rqt_console查看一下turtlesim的輸出信息,同時(shí)用rqt_logger_level調(diào)整一下日志級(jí)別。在啟動(dòng)turtlesim前,重新打開兩個(gè)命令終端,分別啟動(dòng)rqt_console和rqt_logger_level:
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level
這時(shí)會(huì)彈出兩個(gè)窗口信息:
這時(shí)我們?cè)谛碌拿罱K端啟動(dòng)turtlesim:
$ rosrun turtlesim turtlesim_node
因?yàn)槟J(rèn)的logger級(jí)別為INFO,我們可以看到turtlesim啟動(dòng)時(shí)發(fā)布出的任何信息,輸出信息會(huì)如下所示:
我們?cè)趓qt_logger_level窗口調(diào)整一下日志級(jí)別到Warn級(jí)別,如下所示,選擇Warn:
此時(shí)我運(yùn)行小烏龜,讓它碰到墻壁(注:窗口邊緣),查看一下rqt_console里的輸出信息:
rostopic pub /turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 0.0
2.1 Quick Note about logger levels
日志級(jí)別的優(yōu)先級(jí)順序如下所示:
Fatal
Error
Warn
Info
Debug
Fatal優(yōu)先級(jí)最高級(jí)別,Debug優(yōu)先級(jí)最低。通過設(shè)置日志級(jí)別,你可以得到同級(jí)及更高級(jí)的所有輸出信息,如果設(shè)置級(jí)別為Warn,你將會(huì)得到Warn,Error及Fatal級(jí)別的日志輸出信息;
輸入Crtl+C結(jié)束turtlesim,通過roslaunch產(chǎn)生多個(gè)turtlesim節(jié)點(diǎn),并讓其中的一個(gè)節(jié)點(diǎn)模仿另一個(gè)節(jié)點(diǎn)運(yùn)行:
3 Using roslaunch
Roslaunch會(huì)按照啟動(dòng)文件描述的方式啟動(dòng)節(jié)點(diǎn):
用法:
$ roslaunch [package] [filename.launch]
首先進(jìn)入beginner_tutorials功能包:
$ roscd beginner_tutorials
如果roscd失敗,可以在命令終端設(shè)置ROS_PACKAGE_PATH的變量,命令如下所示:
$ export ROS_PACKAGE_PATH=~/
$ roscd beginner_tutorials
如果仍然無法找到beginner_tutorials,則需要按照前面的課程重新創(chuàng)建這個(gè)功能包了。
然后我們需要?jiǎng)?chuàng)建一個(gè)啟動(dòng)目錄:
$ mkdir launch
$ cd launch
3.1 The Launch File
現(xiàn)在我們創(chuàng)建名字為turtlemimic.launch的啟動(dòng)文件,并在里面粘貼如下內(nèi)容:
3.2 The Launch File Explained
現(xiàn)在我們分開介紹一下launch的內(nèi)容:
啟動(dòng)配置文件利用launch作為開始標(biāo)簽,這樣這個(gè)文件就被標(biāo)識(shí)為啟動(dòng)文件。
這里配置兩個(gè)組,分別命名為turtlesim1和turtlesim2,這兩個(gè)組,功能源于同樣的功能包turtlesim,同樣的名字sim及同樣的類型turtlesim_node,這樣啟動(dòng)兩個(gè)模擬器可以避免名字方面的沖突。
接著我們啟動(dòng)模擬節(jié)點(diǎn),并把輸入話題及輸出話題分別命名為turtlesim1和turtlesim2,重命名之后,將會(huì)讓turtlesim2模仿turtlesim1運(yùn)行。
這個(gè)xml標(biāo)簽作為啟動(dòng)文件配置的結(jié)束。
3.3 roslaunching
現(xiàn)在通過roslaunch啟動(dòng)launch文件:
$ roslaunch beginner_tutorials turtlemimic.launch
兩個(gè)turtlesims已經(jīng)啟動(dòng)了,在新的命令終端發(fā)送rostopic命令如下:
$ rostopic pub /turtlesim1/turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 -1.8
可以看到,即使命令發(fā)給了turtlesim1,但兩個(gè)烏龜均開始運(yùn)動(dòng),
我們可以借助于rqt_graph來更好的理解launch文件做了什么,啟動(dòng)rqt的主窗口然后選擇rqt_graph:
$ rqt
或者簡(jiǎn)單的輸入:
$ rqt_graph
我們成功的采用rqt_console和roslaunch,下一步我們了解一下ROS系統(tǒng)中的編輯選項(xiàng),F(xiàn)在可以通過Ctrl-C終止所有的turtlesims了,下一個(gè)教程中我們并不需要他們了。
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |