ROS节点

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]'

      

猜你喜欢

转载自blog.csdn.net/weixin_38145317/article/details/81288618