【ROS】ROS基础知识整理
在安装好ROS后,我便开始了ROS的学习,主要是按照官方tutorials学习。整理了一下学习到的ROS基础知识,包括ROS节点、ROS话题、ROS服务和ROS参数。大体所用命令如下:(无视试用版xmind...)
********************每次使用ROS都要先运行:roscore**********************
1.ROS节点,rosnode
在ROS中的节点就是一个可执行文件,比如turtlesim node,就是一个可执行文件,节点和节点直接通过ROS进行通信。
使用rosrun可以运行一个节点,命令为:
rosrun package_name node_name
例如:
rosrun turtlesim turtlesim_node 启动turtlesim节点
rosnode命令:
常用命令:
rosnode list:列出当前活跃节点
rosnode info:特定节点的信息,包括有哪些service
rosnode kill:kill掉特定节点
2.ROS话题,rostopic
图形化显示当前topic的工具:rqt_graph
rosrun rqt_graph rqt_graph
可以显示当前各个节点之间是怎么通信的,通过什么topic进行通信
rostopic命令:
常用命令:
rostopic echo:打印特定话题传输的数据信息
rostopic list -v:显示所有发布和订阅的话题类型和详细信息
rostopic type:查看特定话题的消息类型,
然后可以使用:rosmsg show 特定的消息类型:查看消息的详细信息,如数据类型
*****rostopic pub*****把数据发布到特定的话题的消息,实现控制
例如:给turtlesim发送速度和转向速度信息:
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
解析: -1:发布一条消息后退出
/turtle1/cmd_vel:消息所发布到的话题
geometry_msgs/Twist:信息类型
--:告诉命令选项解析器接下来的参数部分都不是命令选项
话题的数据图形化查看工具:rqt_plot
rosrun rqt_plot rqt_plot
3.ROS服务和参数
使用rosservice call 调用rosservice list中的服务
可以设置节点参数