1.使用rqt_console和rqt_logger_level
rosrun rqt_console rqt_console
执行完该命令后有如下界面:
继续执行如下命令:
rosrun rqt_logger_level rqt_logger_level
此时有如下新界面:
接下来继续运行如下命令:
rosrun turtlesim turtlesim_node
上面第一个截图更新为如下:
接下来执行如下命令发布一个Topic:
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}}'
第一个截图界面会不停的刷新LOG信息,如下截图:
2.使用roslaunch
roscd beginner_tutorials
执行访命令后有如下提示:
roscd: No such package/stack 'beginner_tutorials'
表示环境变量没设置,即在创建Package后的那个步骤,我们可以如下执行:
cd ~/ros/catkin_ws/
source devel/setup.sh
执行完上面两命令后,再执行上面的命令就没错误了,当前路径能切到相应的目录。
进入相应的包目录后(如~/ros/catkin_ws/src/beginner_tutorials),接下来执行如下命令创建相应目录:
mkdir launch
cd launch/
接下来创建turtlemimic.launch,文件内容如下:
上面这个配置文件的作用是:启动名空间turtlesim1和turtlesim2的名为sim的node,这会创建两人个模拟器,接下来会启动名为mimic的node,并分别将input和output两主题重命名为turtlesim1和turtlesim2。
接下来使用如下命令以roslaunch方式执行这个配置文件去启动node:
roslaunch beginner_tutorials turtlemimic.launch
该命令在上面执行完工作空间下的source操作后在同一Terminal下的任一目录都可执行,接下来继续执行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文件里的定义中input和output与node之间的关系。
3.参考网址
网友评论