常用的命令如下:
- rosnode:操作节点
- rostopic:操作话题
- rosservice:操作服务
- rosmsg:操作msg消息
- rossrv:操作srv消息
- rosparam:操作参数
int res1 = nh.param("nh_int", 100);
参数:参数名称、默认参数值
功能:从服务器从返回参数值,如果参数名称不可获取,则返回默认参数值
参数服务器(Parameter)是一种以共享的方式实现不同节点之间数据交互的通信模式,相当于是独立于所有节点的一个公共容器,所有的节点都可以上传数据,也都可以调用数据。
一般适用于存在数据共享的应用场景,存储一些多节点共享的数据,类似于全局变量。
ros::ServiceServer server = nh.advertiseService("sum", doRequest);
服务端注册函数,使用NodeHandle句柄创建,两个参数分别是:服务名称、回调函数句柄
服务通信主要运用于对偶然性、实时性有要求,且有一定逻辑处理需求的数据传输场景
ros::init(argc, argv, "node_name")
;ros系统的初始化函数,使用ros系统提供的APIs的前提必须步骤
话题通的模型中涉及三类角色:
ROS Master
Talker
Listener
ROS Master负责Talker和Listener的注册信息,并匹配话题(topic)相同的Talker和Listener建立连接,连接建立后,Talker发布的消息可以被Listener接收。建立连接后,可以不再需要ROS Master。
对第一节知识点的补充
我学习的文字文档和视频教程见下面两个链接,我个人认为这个教程写的还是很棒的。我写这个笔记作为我个人的学习与复习之用。