ROS pluginlib使用

本文档详细介绍了如何在ROS中使用pluginlib进行跨包插件操作,包括创建工作空间,建立polygon_interface_package,triangle_package和test_plugin三个包,分别负责插件接口定义、实现和调用。通过修改CMakeList.txt文件,实现了各包的编译和插件的注册。最终,成功运行test_plugin,并展示了查询和调用插件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网文档 http://wiki.ros.org/pluginlib
参照官网文档学习使用pluginlib,目前找到的博客都是在一个包内使用pluginlib的,根据官网文档应该是在不同包之间使用的。
首先创建工作空间,然后创建三个包:polygon_interface_package,triangle_package,test_plugin,功能分别是插件接口定义,插件接口实现和插件调用。官网文档给出另一个rectangle_package插件实现,由于和triangle_package类似,本文只实现一个。
1. 创建工作空间

~$ mkdir -p catkin_ws_plugins/src
~$ cd catkin_ws_plugins/src
~/catkin_ws_plugins/src$ catkin_init_workspace

2. 创建polygon_interface_package包,添加polygon.h文件,修改CMakeList.txt文件。

~/catkin_ws_plugins/src$ catkin_create_pkg polygon_interface_package roscpp

添加polygon.h文件后的目录结构

~/catkin_ws_plugins/src/polygon_interface_package$ tree.
├── CMakeLists.txt
├── include
│   └── polygon_interface_package
│       └── polygon.h
├── package.xml
└── src

polygon.h文件

#ifndef POLYGON_INTERFACE_PACKAGE_POLYGON_H
#define POLYGON_INTERFACE_PACKAGE_POLYGON_H
namespace polygon_namespace
{
class Polygon
{
public:
        Polygon(){};
        virtual ~Polygon(){};
        virtual const char*  print() = 0;
};
}
#endif

CMakeList.txt修改的地方:去掉

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值