一、准备工作
1.roscore
首先启动ros:
roscore
已经启动过则无需此步。
2.turtlesim
启动一个小海龟
rosrun turtlesim turtlesim_node
3.远程操控小海龟
再一个新终端里运行:
rosrun turtlesim turtle_teleop_key
得到:
Reading from keyboard
---------------------------
Use arrow keys to move the turtle.
此时,通过方向键即可控制小海龟移动。
接下来让我们深入理解这个例子的原理。
二、ROS topics
此例中,turtlesim_node和turtle_teleop_key两个节点之间是通过一个ROS 话题(topic)互相沟通的。turtle_teleop_key捕捉键盘操作,发布击键信息到一个话题上,而turtlesim_node订阅了这个话题,从这个话题接收击键信息,进而由接收到的信息,对小海龟进行操作。
我们可以通过rqt_graph
命令查看节点和话题的工作状况。
1.rqt_graph
rqt_graph命令创建一个动态图描述系统节点的关系,它是rqt包中的一个命令,未安装过rqt包的话需要使用以下命令安装:
sudo apt-get install ros-<distro>-rqt
sudo apt-get install ros-<distro>-rqt-common-plugins
< distro>是你的ros的版本名称,比如jade,indigo...
安装好之后,在终端内运行:
rosrun rqt_graph rqt_graph
你将看到:
移动你的鼠标,发现节点会被高亮。
2.rostopic命令
可以使用rostopic命令查看系统内的话题信息。
使用-h选项查看帮助:
rostopic -h
rostopic is a command-line tool for printing information about ROS Topics.
Commands:
rostopic bw display bandwidth used by