1 概念
插件库(可插拔的组件)。插件是一种遵循一定规范的应用程序接口编写出来的程序,插件程序依赖于某个应用程序,且应用程序可与不同的插件程序自由组合。
pluginlib是一个C++库,用来从一个ros功能包中加载和卸载插件(plugin)。插件是指从运行时库中动态加载的类。——其可随时打开包含类的库,而不需应用程序事先知道包含类定义的库或头文件
ros中常应用的场景:
- 导航插件:集成不同算法,实现其灵活切换
- rviz插件:后期可编写一些适用于自己机器人的图形界面
作用:
- 结构清晰
- 低耦合,易修改,可维护性强
- 可移植性强,更具有复用性
- 结构容易调整,插件可自由增减
2 example
**需求:**以插件形式实现正多边形相关计算
实现流程:
-
准备:功能包roscpp pluginlib;
配置json文件:添加头文件路径/home/sdas/workspace/pcd_map/src/d