1.预先安装rqt和turtlesim程序包
$ 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允许我们修改节点运行时输出信息的日志等级(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。
- 日志等级按以下优先顺序排列:
Fatal
Error
Warn
Info
Debug
Fatal是最高优先级,Debug是最低优先级。通过设置日志等级你可以获取该等级及其以上优先等级的所有日志消息。比如,将日志等级设为Warn时,你会得到Warn、Error和Fatal这三个等级的所有日志消息。
新终端:
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level
3.使用roslaunch:可以用来启动定义在launch文件中的多个节点
roslaunch beginner_tutorials turtlemimic.launch
3.1 先切换到beginner_tutorials程序包目录下:
在这遇到了错误,一直切不到目标文件夹:
$ export ROS_PACKAGE_PATH=~/<distro>_workspace/sandbox:$ROS_PACKAGE_PATH
$ roscd beginner_tutorials
中的** /< distro>_workspace/**没有换成当初创建的catkin_ws文件夹之下,差点又重新创建一遍,灵机一动,百度了一下,解决了我的问题。
感谢这位博主:https://blog.csdn.net/ding977921830/article/details/69665216
3.2 然后创建一个launch文件夹:
$ mkdir launch
$ cd launch
然后要创建的是turtlemimic.launch,用到nano这个命令:
$ nano turtlemimic.launch
文件内容如下:
<launch> //以launch标签开头以表明这是一个launch文件
//创建了两个节点分组并以'命名空间(namespace)'标签来区分,其中一个名为turtulesim1,
另一个名为turtlesim2,两个组里面都使用相同的turtlesim节点并命名为'sim'。
这样可以让我们同时启动两个turtlesim模拟器而不会产生命名冲突。//
<group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
<group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
//启动模仿节点,并将所有话题的输入和输出分别重命名为turtlesim1和turtlesim2,
这样就会使turtlesim2模仿turtlesim1//
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
//launch文件的结束标签//
</launch>
3.3 roslaunching:通过roslaunch命令来启动launch文件
$ roslaunch beginner_tutorials turtlemimic.launch
现在将会有两个turtlesims被启动,然后我们在一个新终端中使用rostopic命令发送速度设定消息:
$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
最后,可以通过:$ rqt_graph
来看看launch文件中所做的事情
参考文献:http://wiki.ros.org/cn/ROS/Tutorials/UsingRqtconsoleRoslaunch