7.1 先安裝

sudo apt-get install ros-indigo-rqt ros-indigo-rqt-common-plugins ros-indigo-turtlesim

7.2 一些命令

  • rqt_console: 顯示node的輸出訊息
  • rqt_logger_level: 改變rqt_console輸出的logger levels, 包含DEBUG, INFO, WARN, ERROR等, 優先度為:
    Fatal
    Error
    Warn
    Info
    Debug
    
  • roslaunch: 用來啟動定義在launch文件中的多個node

7.3 使用rqt_console和rqt_logger_level

首先, 將之前的視窗關一關, 留著roscore就好

接下來在啟動turtlesim前, 先分別用兩個terminal啟動rqt_console和rqt_logger_level

此時會看到兩個window, 接下來再啟動turtlesim(另一個terminal)

rosrun turtlesim turtlesim_node

由於rqt_logger_level的default為INFO, 因此在rqt_console中可以看到啟動後輸出的information

接下來我們將rqt_logger_level的window中將level修改為WARN

接下來我們讓烏龜去撞牆壁以觸發這個訊息

rostopic pub /tutle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2,0,0]' '[0,0,0]'

等到烏龜撞牆後應會看到一連串的警告訊息

我們在上面提過優先等級, 設置level代表在其以上的訊息我們都會顯示, 也就是當我們把level設為WARN時, 我們會得到Warn, Error, Fatal這三個level的訊息

7.4 利用roslaunch啟動多個node

roscd beginner_tutorials
mkdir launch
cd launch
vim turtlemimic.launch

將以下內容寫到turtlemimic.launch中

1 <launch>
2 
3   <group ns="turtlesim1">
4     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
5   </group>
6 
7   <group ns="turtlesim2">
8     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
9   </group>
10 
11   <node pkg="turtlesim" name="mimic" type="mimic">
12     <remap from="input" to="turtlesim1/turtle1"/>
13     <remap from="output" to="turtlesim2/turtle1"/>
14   </node>
15 
16 </launch>

接下來解釋一下這篇文件

1 <launch>

表示了此為一個launch文件

3   <group ns="turtlesim1">
4     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
5   </group>
6 
7   <group ns="turtlesim2">
8     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
9   </group>

此處產生兩個node group, 並用不同的ns(namespace)區隔, 分別為turtlesim1和turtlesim2, 兩個group都使用node turtlesim並命名為sim, 如此可以產生兩個turtlesim模擬器而不產生命名衝突

11   <node pkg="turtlesim" name="mimic" type="mimic">
12     <remap from="input" to="turtlesim1/turtle1"/>
13     <remap from="output" to="turtlesim2/turtle1"/>
14   </node>

這邊我們啟動一個節點, 他的任務是將topic的輸入和輸出分別命名為turtlesim1和turtlesim2, 如此可以讓turtlesim2模仿turtlesim1

16 </launch>

此為結束標籤

現在透過roslaunch來啟動launch文件並輸入

rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

此時會看到兩個turtle都在移動

也可以透過

rqt_graph

來理解發生什麼事

results matching ""

    No results matching ""