lsb_release -a输出系统的代号和版本号
sudo apt-get install ros-kinetic-desktop-full完整安装ROS核心系统
sudo apt-get install ros-kinetic-turtlesim安装turtlesim功能包
rosdep 是一个能够下载并安装ROS packages所需要的系统依赖项的小工具 使用方法:
为turtlesim下载并安装系统依赖项:
$ rosdep install turtlesim
启动turtlesim 在三个不同的终端中,分别执行以下三个指令:
roscore
rosrun turtlesim turtlesim_node //rosrun启动节点带两个参数,第一个参数是功能包名称,第二个参数是该软件包中的可执行文件的名称
rosrun turtlesim turtle_teleop_key
切换到第三个终端(执行命令为turtle_teleop_key),然后按上、下、左、或右键,海龟就会响应你的命令开始移动了,并在屏幕上留下运动轨迹。
要找到一个软件包的目录,使用rospack find命令:
rospack find package-name 如rospack find turtlesim
查看软件包:要查看软件包目录下的文件,使用如下命令:
rosls package-name
如果想“访问”某软件包目录,可以将当前目录切换至此软件包目录,使用如下命令:
roscd package-name
查看节点列表ROS提供了一些方法来获取任意时间运行节点的信息。要获得运行节点列表,使用如下命令17:
rosnode list
终止节点 要终止节点,使用如下命令:
rosnode kill node-name
还可以用Ctrl-C命令终止节点。但使用这种方法时可能不会在节点管理器中注销该节点,因此会导致已终止的节点仍然在rosnode列表中。这虽然没有什么坏处,但可能会让用户对当前系统的行为感到困扰。此时可以使用下面的命令将节点从列表中删除:
rosnode cleanup
。在ROS系统中查看节点之间的发布-订阅关系的最简单方式就是在终端输入如下命令:
rqt_graph
在该图中,椭圆形表示节点,有向边表示其两端节点间的发布-订阅关系。该计算图告诉我们,/teleop_turtle节点向话题/turtle1/cmd_vel发布消息,而/turtlesim节点订阅了这些消息(“cmd_vel”是“command velocity”的缩写。)
话题列表 为了获取当前活跃的话题,使用如下命令20:
rostopic list
在我们的例子中,这将列出如下五个话题:/turtle1/pose
打印消息内容 为了查看某个话题上发布的消息,可以利用rostopic命令的如下形式:
rostopic echo topic-name
这条命令将会在终端里显示出指定话题里发布的任何消息。当键入下面的命令后
rostopic echo /turtle1/cmd_vel
每当/teleop_turtle接收到按键信息时,将会显示类似表2.2的结果。输出中的每一个“---”线表示一个消息的结束以及另一个消息的起始。
测量发布频率 有两个命令可以用来测量消息发布的频率以及这些消息所占用的带宽:
rostopic hz topic-name
rostopic bw topic-name
这些命令订阅指定的话题,并且输出一些统计量,其中第一条命令输出每秒发布的消息数量,第二条命令输出每秒发布消息所占的字节量。
rosmsg show turtlesim/Color
其输出为:
uint8 r
uint8 g
uint8 b
geometry_msgs/Twist,对应/turtle1/cmd_vel话题。三维向量
rostopic pub –r rate-in-hz topic-name message-type message-content
这条命令重复地按照指定的频率给指定的话题发布指定的消息。
该命令最后的参数message-content应该按顺序提供消息类型中所有域的参数值。例如:
rostopic pub –r 1 /turtle1/cmd_vel geometry_msgs/Twist ’[2,0,0]’ ’[0,0,0]’这些数值按照rosmsg show命令显示的变量顺序赋给了消息中的域变量。在此例中,前面三个数字表示期望的位移线速度,后面三个数字表示期望的角速度,本例中生成的消息将会控制海龟沿直线前进(沿着它的x轴),而没有转动。
同样的,类似的命令将会控制小海龟沿着它的z轴(垂直于
电脑屏幕)旋转。
rostopic pub –r 1 /turtle1/cmd_vel geometry_msgs/Twist ’[0,0,0]’ ’[0,0,1]’