日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用rqt_console和roslaunch---ROS学习第7篇

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用rqt_console和roslaunch---ROS学习第7篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. 準備工作
  • 2.使用rqt_console和rqt_logger_level
    • 2.1 日志記錄器級別
    • 2.2 使用roslaunch
    • 2.3 launch文件
    • 2.4 launch解析
    • 2.5 使用roslaunch

本篇介紹在ROS中使用rqt_console和rqt_logger_level進行調試,以及使用roslaunch同時啟動多個節點

1. 準備工作

本篇會用到rqt和turtlesim這兩個軟件包,需要先安裝:

$ sudo apt-get install ros-noetic-rqt ros-noetic-rqt-common-plugins ros-noetic-turtlesim

這里是基于noetic版本。

2.使用rqt_console和rqt_logger_level

rqt_console連接到了ROS的日志框架,以顯示節點的輸出信息。rqt_logger_level允許我們在節點運行時改變輸出信息的詳細級別,包括Debug、Info、Warn和Error。

現在我們來看一下turtlesim在rqt_console中輸出的信息,同時在使用turtlesim時切換rqt_logger_level中的日志級別。在啟動turtlesim之前先在兩個新終端中運行rqt_console和rqt_logger_level:

$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level



現在在另一個新終端中啟動turtlesim

$ rosrun turtlesim turtlesim_node

默認的日志級別是Info,啟動turtlesim后沒有看到console中中有打印信息,我移動turtle碰墻后看到了Warn信息,如下:

可以通過在console中顯示不同level的信息,比如:

還可以通過LoggerLevel的設置來輸出不同level的信息

2.1 日志記錄器級別

日志級別的優先級按以下順序排列:

Fatal (致命)
Error (錯誤)
Warn (警告)
Info (信息)
Debug (調試)

Fatal是最高優先級,Debug是最低優先級。通過設置日志級別,你可以獲得所有優先級級別,或只是更高級別的消息。比如,將日志級別設為Warn時,你會得到Warn、Error和Fatal這三個等級的日志消息。

現在按Ctrl+C退出turtlesim節點。接下來我們將使用roslaunch來啟動多個turtlesim節點和一個模仿者節點,來讓一個烏龜模仿另一個烏龜。

2.2 使用roslaunch

roslaunch可以用來啟動定義在launch(啟動)文件中的節點。
用法:

$ roslaunch [package] [filename.launch]

先切換到我們之前創建和構建的study軟件包目錄下,對應目錄是~/catkin_ws/src/study,在此目錄下創建launch目錄下:

$ mkdir launch
$ cd launch

注意:存放launch文件的目錄不一定非要命名為launch,事實上都不用非得放在目錄中,roslaunch命令會自動查找經過的包并檢測可用的啟動文件。然而,這種推薦的標準做法被認為是“最佳實踐”。

2.3 launch文件

現在一起創建一個名為study.launch的launch文件并復制粘貼以下內容進去:

<launch><group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><node pkg="turtlesim" name="mimic" type="mimic"><remap from="input" to="turtlesim1/turtle1"/><remap from="output" to="turtlesim2/turtle1"/></node></launch>

2.4 launch解析

下面我們開始拆解launch XML文件

<launch>

首先用launch標簽開頭,以標明這是一個launch文件

<group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group>

此處創建了兩個分組,并以命名空間(namespace)標簽來區分,其中一個名為turtulesim1,另一個為turtlesim2,兩個分組中都有相同的名為simde turtlesim節點。這樣可以讓我們同時啟動兩個turtesim模擬器,而不會產生命名沖突。

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

在這里啟動模仿節點,話題的輸入和輸出分別重命名為turtlesim
1和turtlesim2,這樣就可以讓turtlesim2模仿turtlesim1了。

</launch>

這行使得launch文件的XML標簽閉合。

2.5 使用roslaunch

現在通過launch命令運行launch文件

$ roslaunch study study.launch

現在將會會有兩個turtlesim被啟動,然后我們一個新終端發送命令


我們還可以用rqt_graph來更好地理解launch文件所做的事情。運行rqt_graph

到此,我們已經學會了rqt_console和roslaunch命令的使用。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的使用rqt_console和roslaunch---ROS学习第7篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。