roscpp
roscpp
roscpp is a ROS client implementation in C++.
roscpp 是C++中的ROS客户端实现

主要框架
ros::init()
==ROS初始化功能==
此函数将解析任何ROS参数(例如主题名称的重新映射),并将使用它们(即argc
和argv
)
对argc
和argv
的调用可能会导致其被修改
1 | //ros::init 的声明 |
其中:
argc
是argument count的缩写表示传入main函数中的参数个数,包括这个程序本身argv
是 argument vector的缩写表示传入main函数中的参数列表,其中argv[0]表示这个程序的名字name
是 ros结点的名称 名称中不能包含引用的命名空间的名称options
是 选项参数,一般默认缺省值为0
ros::NodeHandle
==ROS句柄==
用于和topic
、service
和param
等交互用的==接口==
可以理解为构建函数
一般将节点句柄的名称默认为
- 一般句柄
nh
- 私有句柄
pnh
(private nh)
1 | //ros::NodeHandle 的三种初始化方式 |

- 在 类
class
中使用- 一般句柄用来调用 订阅和发布 函数
- 私有句柄用来读取参数
何时使用哪个节点句柄
这些只是一般准则,但在可能的情况下,最好在每种情况下使用以下内容:
- 订阅者
Subscriber
- 通常是公共节点句柄。 - 发布者
Publisher
- 通常是大多数输出/可视化的私有节点句柄,偶尔需要将 public 用于全局使用的数据(即 /odom
主题)。 - 参数
param
- 几乎总是私有节点句柄。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 梦翔!