Ros 小乌龟节点启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ros 小乌龟节点启动相关的知识,希望对你有一定的参考价值。

参考技术A 启动完成后,可以通过键盘输入操控小乌龟移动。

小乌龟启动过程中,我们启动了两个可执行的程序: turtlesim_node 和 turtle_teleop_key 。可以通过命令查看当前的启动的节点:

可以查看到启动程序对应的节点 /turtlesim 和 /teleop_turtle

通过命令可以查看 /turtlesim 节点的详情

命令运行后,可以看到以下结果:

rosnode info 命令可以查看当前节点的一些信息:

同理,我们也可以通过 rosnode info 查询 /teleop_turtle 节点的信息,结果如下:

现在我们大致可以搞清楚一些通讯的关系:

rqt_graph 工具提供了可视化的工具方便我们查看这种节点间的关系:

1

图像显示, /teleop_turtle 通过主题 /turtle1/cmd_vel 给 /turtlesim 进行数据传递

启动 rqt_publisher 工具

通过图形化配置参数:

我们通过rostopic命令可以获得小乌龟的移动数据类型为 geometry_msgs/Twist

通过rosmsg命令可以查看数据的详细格式:

输出的格式为:

geometry_msgs/Vector3 linear 指的是线速度,小乌龟只用到了 float64 x ,代表着乌龟向前进的线速度

geometry_msgs/Vector3 angular 指的是角速度,小乌龟只用到了 float64 z ,代表着乌龟旋转的角速度

4.2 ROS节点运行管理launch文件

4.2 ROS节点运行管理launch文件

关于 launch 文件的使用我们已经不陌生了,在第一章内容中,就曾经介绍到:

一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?

采用的优化策略便是使用roslaunch 命令集合 launch 文件启动管理节点,并且在后续教程中,也多次使用到了 launch 文件。


概念

launch 文件是一个 XML 格式的文件,可以启动本地和远程的多个节点,还可以在参数服务器中设置参数。

作用

简化节点的配置与启动,提高ROS程序的启动效率。

使用

以 turtlesim 为例演示

1.新建launch文件

在功能包下添加 launch目录, 目录下新建 xxxx.launch 文件,编辑 launch 文件

<launch>
    <node pkg="turtlesim" type="turtlesim_node"     name="myTurtle" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key"  name="myTurtleContro" output="screen" />
</launch>
2.调用 launch 文件
roslaunch 包名 xxx.launch

注意:roslaunch 命令执行launch文件时,首先会判断是否启动了 roscore,如果启动了,则不再启动,否则,会自动调用 roscore

 

 

PS:本节主要介绍launch文件的使用语法,launch 文件中的标签,以及不同标签的一些常用属性。


另请参考:

以上是关于Ros 小乌龟节点启动的主要内容,如果未能解决你的问题,请参考以下文章

08launch文件

ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程

1.ROS启动小乌龟

ROS通过图形化界面控制和查看小乌龟参数

ROS indigo安装完成后运行小乌龟示例程序

ROS入门我的小乌龟起来了