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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用 rqt_console 和 roslaunch

發(fā)布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 rqt_console 和 roslaunch 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Description: ?本教程介紹如何使用 rqt_console rqt_logger_level 進行調(diào)試,以及如何使用 roslaunch 同時運行多個節(jié)點。早期版本中的 rqt 工具并不完善,因此,如果你使用的是“ROS fuerte”或更早期的版本,請同時參考 這個頁面 學習使用老版本的“rx”工具。

Tutorial Level: ?BEGINNER

Next Tutorial: ? 如何使用rosed ?

目錄

  • 預先安裝rqt和turtlesim程序包
  • 使用rqt_console和rqt_logger_level
  • 日志等級說明
  • 使用roslaunch
  • Launch 文件
  • Launch 文件解析
  • roslaunching
  • 預先安裝rqt和turtlesim程序包

    本教程會用到rqt?和?turtlesim這兩個程序包,如果你沒有安裝,請先安裝:

    $ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim

    請使用ROS發(fā)行版名稱(比如 electric、fuerte、groovy、hydro或最新的indigo)替換掉<distro>。

    注意:?你可能已經(jīng)在之前的某篇教程中編譯過rqt和turtlesim,如果你不確定的話重新編譯一次也沒事。

    使用rqt_console和rqt_logger_level

    rqt_console屬于ROS日志框架(logging framework)的一部分,用來顯示節(jié)點的輸出信息。rqt_logger_level允許我們修改節(jié)點運行時輸出信息的日志等級(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。

    現(xiàn)在讓我們來看一下turtlesim在rqt_console中的輸出信息,同時在rqt_logger_level中修改日志等級。在啟動turtlesim之前先在另外兩個新終端中運行rqt_console和rqt_logger_level:

    $ rosrun rqt_console rqt_console

    $ rosrun rqt_logger_level rqt_logger_level

    你會看到彈出兩個窗口:

    現(xiàn)在讓我們在一個新終端中啟動turtlesim:

    $ rosrun turtlesim turtlesim_node

    因為默認日志等級是INFO,所以你會看到turtlesim啟動后輸出的所有信息,如下圖所示:

    現(xiàn)在讓我們刷新一下rqt_logger_level窗口并選擇Warn將日志等級修改為WARN,如下圖所示:

    現(xiàn)在我們讓turtle動起來并觀察rqt_console中的輸出(非hydro版):

    rostopic pub /turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 0.0

    hydro版:

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

    日志等級說明

    日志等級按以下優(yōu)先順序排列:

    Fatal Error Warn Info Debug

    Fatal是最高優(yōu)先級,Debug是最低優(yōu)先級。通過設(shè)置日志等級你可以獲取該等級及其以上優(yōu)先等級的所有日志消息。比如,將日志等級設(shè)為Warn時,你會得到Warn、Error和Fatal這三個等級的所有日志消息。

    現(xiàn)在讓我們按Ctrl-C退出turtlesim節(jié)點,接下來我們將使用roslaunch來啟動多個turtlesim節(jié)點和一個模仿節(jié)點以讓一個turtlesim節(jié)點來模仿另一個turtlesim節(jié)點。

    使用roslaunch

    roslaunch可以用來啟動定義在launch文件中的多個節(jié)點。

    用法:

    $ roslaunch [package] [filename.launch]

    先切換到beginner_tutorials程序包目錄下:

    $ roscd beginner_tutorials

    如果roscd執(zhí)行失敗了,記得設(shè)置你當前終端下的ROS_PACKAGE_PATH環(huán)境變量,設(shè)置方法如下:

    $ export ROS_PACKAGE_PATH=~/<distro>_workspace/sandbox:$ROS_PACKAGE_PATH $ roscd beginner_tutorials

    如果你仍然無法找到beginner_tutorials程序包,說明該程序包還沒有創(chuàng)建,那么請返回到ROS/Tutorials/CreatingPackage教程,并按照創(chuàng)建程序包的操作方法創(chuàng)建一個beginner_tutorials程序包。

    然后創(chuàng)建一個launch文件夾:

    $ mkdir launch $ cd launch

    Launch 文件

    現(xiàn)在我們來創(chuàng)建一個名為turtlemimic.launch的launch文件并復制粘貼以下內(nèi)容到該文件里面:

    切換行號顯示 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>

    Launch 文件解析

    現(xiàn)在我們開始逐句解析launch xml文件。

    切換行號顯示 1 <launch>

    在這里我們以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>

    在這里我們創(chuàng)建了兩個節(jié)點分組并以'命名空間(namespace)'標簽來區(qū)分,其中一個名為turtulesim1,另一個名為turtlesim2,兩個組里面都使用相同的turtlesim節(jié)點并命名為'sim'。這樣可以讓我們同時啟動兩個turtlesim模擬器而不會產(chǎn)生命名沖突。

    切換行號顯示 11 <node pkg="turtlesim" name="mimic" type="mimic"> 12 <remap from="input" to="turtlesim1/turtle1"/> 13 <remap from="output" to="turtlesim2/turtle1"/> 14 </node>

    在這里我們啟動模仿節(jié)點,并將所有話題的輸入和輸出分別重命名為turtlesim1和turtlesim2,這樣就會使turtlesim2模仿turtlesim1。

    切換行號顯示 16 </launch>

    這個是launch文件的結(jié)束標簽。

    roslaunching

    現(xiàn)在讓我們通過roslaunch命令來啟動launch文件:

    $ roslaunch beginner_tutorials turtlemimic.launch

    現(xiàn)在將會有兩個turtlesims被啟動,然后我們在一個新終端中使用rostopic命令發(fā)送速度設(shè)定消息:

    非hydro版:

    $ rostopic pub /turtlesim1/turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 -1.8

    hydro版:

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

    你會看到兩個turtlesims會同時開始移動,雖然發(fā)布命令只是給turtlesim1發(fā)送了速度設(shè)定消息。

    我們也可以通過rqt_graph來更好的理解在launch文件中所做的事情。運行rqt并在主窗口中選擇rqt_graph:

    $ rqt

    或者直接運行:

    $ rqt_graph

    到此,我們算是已經(jīng)學會了rqt_console和roslaunch命令的使用,接下來我們開始學習使用rosed——ROS中的編輯器?,F(xiàn)在你可以按Ctrl-C退出所有turtlesims節(jié)點了,因為在下一篇教程中你不會再用到它們。

    總結(jié)

    以上是生活随笔為你收集整理的使用 rqt_console 和 roslaunch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。