1.图概念
Nodes:节点,一个节点即为一个可执行文件,它可以通过ros与其它节点进行通信。
Message:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。
Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。
Master:节点管理器,Ros 名称服务(比如帮助节点找到彼此)。
rosout:ROS中相当于stdout
roscore:主机+rosout+参数服务器
1.1 节点
一个节点其实只不过是ROS程序包中的一个可执行文件。ROS节点可以使用ROS客户库与其他节点通信。节点可以发布或接收一个话题。节点也可以提供或使用某种服务。
1.2 客户端库,ROS客户端库允许使用不同编程语言编写的节点之间互相通信
rospy=python客户端库
roscpp=c++客户端库
1.3 roscore, roscore是在运行所有ROS程序前首先要运行的命令。
rosnode list:显示当前运行的ros节点信息,rosnode list指令列出活跃的节点。
rosrun 允许使用包名直接运行一个包内的节点(而不需要知道这个包的路径),用法 rosrun [package_name] [node_name],
$ rosrun turtlesim turtlesim_node
结果:(1)若没有运行roscore,直接运行上述命令,则会将信息输出到log
(2)若先运行了roscore,则会打开一个带有乌龟的画面
1.4 rostopic pub 可以把数据发布到当前某个正在广播的话题上,用法,rostopic pub [topic] [msg_type] [args]
rostopic pub -1/turtle/cmd_vel geometry_msgs/Twist --'[2.0,0.0,0.0]' '[0.0,0.0,1.9]'