文章目录
ROS是什么
ROS是一个分布式的通信协议,帮助各个程序进程之间数据交换通信,ROS是一个庞大的开源软件系统,无数的网友为ROS贡献了各种功能包,实际项目开发过程中首选别人开发好的功能包。ROS功能包的每一个源文件可以看做是一个节点,节点发布话题,话题之间通过消息通信,进而完成节点之间的通信,最后完成了一个功能包的功能,ROS的功能都是节点完成的,想要实现什么功能就编写相应的节点文件。一个或者多个功能包放在一个工作空间中,理解成一起完成一件大事。
一个工作空间Workspace包含多个功能包Package,一个功能包Package包含多个节点Node,一个节点Node包含多个话题Topic,一个话题Topic包含多个消息Message。
节点node
节点是基本的计算执行进程,实现一个或多个功能,用于与其他节点交互,使用c++或python编写
节点是各自独立的可执行文件,能够通过主题(topic)、服务(server)或参数服务器(parameter server)与其他节点通信。
ROS通过使用节点将代码和功能解耦,提高了系统的容错力和可维护性。所以你最好让每一个节点都具有特定的单一的功能,而不是创建一个包罗万象的大节点。节点如果用c++进行编写,需要用到ROS提供的库roscpp;节点如果用python进行编写,需要用到ROS提供的库rospy。
ROS提供了处理节点的工具,用于节点信息、状态、可用性等的查询操作
rosno