[ROS-Beginner]8.使用 rqt_console 和 roslaunch
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ROS-Beginner]8.使用 rqt_console 和 roslaunch相关的知识,希望对你有一定的参考价值。
1. 本文要求装有rqt 和 turtlesim packages,安装代码:
$ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim
2. 使用rqt_console和rqt_logger_level
rqt_console与ROS的日志框架(logging framework)有关,可以显示节点的输出。
rqt_logger_level可以在节点运行的时候改变他们的verbosity level。
在开始turtlesim之前,我们在两个terminal中运行rqt_console和rqt_logger_level
$ rosrun rqt_console rqt_console
3. 在新的terminal运行turtlesim
4. 默认的logger level是INFO,因此可以看到有关turtlesim发布的任何信息,如:
5. 将logger level改成Warn,输入以下代码,让让乌龟碰上墙:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- ‘{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}‘
得到以下结果:
6. logger levels的优先级顺序
Fatal Error Warn Info Debug
logger level选了Warn之后会得到Warn, Error和 Fatal的logging messages.(相同以及更高)
7. 使用roslaunch
(1)roslaunch按照launch文件中的定义来启动nodes
(2)进入此前的package文件夹
$ cd ~/catkin_ws $ source devel/setup.bash $ roscd beginner_tutorials
(3)创建launch文件夹
$ mkdir launch $ cd launch
注意:文件夹并不是一定要名称为launch,甚至不需要这个文件夹,roslaunch会自动搜索package中的launch文件。
(4)roslaunch的用法
$ roslaunch [package] [filename.launch]
8. launch文件的写法
(1)创建文件turtlemimic.launch
(2) 复制以下内容:
<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>
(3)launch文件讲解: <launch>确保文件被识别为launch文件,接下来有两个组,namespace tag是turtlesim1 和 turtlesim2,并且有turtlesim节点的名字,这可以使我们在启用两个simulator时不冲突。
接下来是mimic节点,topics的输入和输出是turtlesim1和turtlesim2,这样可以让turtlesim2模拟turtlesim1。最后一行xml tag代表关闭这个launch file。
9. launch file
(1)输入
$ roslaunch beginner_tutorials turtlemimic.launch
(2)在新的terminal输入
$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- ‘[2.0, 0.0, 0.0]‘ ‘[0.0, 0.0, -1.8]‘
(3) 使用rqt_graph来更好理解launch file做了什么。
两种方法:一个是先输入rqt,然后在窗口中选Plugins > Introspection > Node Graph
$ rqt
另一种是直接输入
$ rqt_graph
如下图
以上是关于[ROS-Beginner]8.使用 rqt_console 和 roslaunch的主要内容,如果未能解决你的问题,请参考以下文章
[ROS-Beginner]10.创建一个ROS msg和srv
我缺少啥来阻止 Beep 在我的 Mac 10.5.8 上响起(使用 MonoDevelop 2.8.8.2)?
Elasticsearch7.8和Logstash7.8使用JDK的版本