ROS初次实践--运行小海龟仿真例程
1.启动rosmaster
打开一个终端(快捷键ctrl+alt+t),输入roscore
2.启动小海龟仿真器
打开第二个终端,rosrun turtlesim turtlesim_node。rosrun是一个启动执行文件的命令
打开此节点,会弹出一个新的界面,就是下面这个小海龟的界面
3.启动海龟控制节点
打开第三个终端,rosrun turtlesim turtle_teleop_key
这是用键盘控制小海龟运动,鼠标要在这个终端上,不然键盘就会失去控制。
4.启动rqt_graph查看这个程序运行的结构计算图
打开终端,rqt_graph
rosout是ros里面一直存在的节点,主要用于存储日志信息。在这个rqt界面上,点上debug后,就只显示有效信息。
5.查看节点信息
rosnode list
rosnode info /turtlesim
想要看一下现在运行的ros有哪些节点,就用rosnode list,都列举出来,很好用。想要看某一个节点的具体信息,就用rosnode info /turtlesim,查看此节点信息
6.查看话题
rostopic list
查看话题,使用rostopic list,就会列举出现在的所有话vel题,查看某一话题的具体内容,打印出info即可,如:rostopic info /turtle1/cmd_vel。
7.监听话题内容
rostopic echo /turtle1/cmd_vel
通过键盘控制小海龟运动的同时,通过话题监听就可以查看小海龟运动的实时的线速度、角速度
8.按控制量移动海龟运行
如果想控制小海龟运动,就自己发布一个消息,发布一次信息,比如发布小海龟线速度,rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:修改linear的X为2.0,回车后,看见小海龟向前运动了一截。如果想按照一定的频率发布消息,那就要加一个参数,rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist ...,即可.
9.查看服务
想要查看服务,rosservice list,查看某一服务的具体信息,就用rosservice info /spawn。想要用服务生成另外一个海龟,就用call请求,rosservice call /spawn 后面参数添加一个就行了,就可以生成另外一个小海龟了
题外话:
节点(node):节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。
话题(topic):话题,节点可以发布消息到话题,也可以订阅话题以接收消息。
消息(message):消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。
服务(service):服务是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response)
节点管理器(master):节点管理器,ROS名称服务 (比如帮助节点找到彼此)。