ros2_pluginlib:基于 ROS 生态的插件动态加载工具项目

Library for loading/unloading plugins in ROS packages during runtime.

分支1Tags0
文件最后提交记录最后更新时间
3 年前
3 年前
3 年前
3 年前
3 年前

pluginlib

介绍

pluginlib软件包提供了使用ROS构建基础结构编写和动态加载插件的工具。这些工具需要插件提供者才能在其程序包的package.xml中注册其插件才能正常工作。 pluginlib是一个C ++库,用于从ROS包中加载和卸载插件。插件是从运行时库(即共享对象,动态链接库)加载的可动态加载的类。使用pluginlib,不必将其应用程序显式链接到包含类的库,而是pluginlib可以随时打开包含导出类的库,而无需应用程序事先知道包含类定义的库或头文件。插件可用于扩展/修改应用程序行为,而无需应用程序源代码。

软件架构

软件架构说明

Pluginlib 包含注册/导出插件的类和插件描述xml文件

文件内容:

pluginlib/
└── pluginlib
    ├── CHANGELOG.rst
    ├── CMakeLists.txt
    ├── cmake
    │   ├── blank.in
    │   ├── pluginlib_enable_plugin_testing.cmake
    │   ├── pluginlib_export_plugin_description_file.cmake
    │   └── pluginlib_package_hook.cmake
    ├── include
    │   └── pluginlib
    ├── package.xml
    ├── pluginlib-extras.cmake
    └── test
        ├── include
        ├── test_package.xml
        ├── test_plugins.cpp
        ├── test_plugins.xml
        ├── unique_ptr_test.cpp
        └── utest.cpp

安装教程

  1. 下载rpm包

aarch64:

wget https://117.78.1.88/build/home:Chenjy3_22.03/openEuler_22.03_LTS_standard_aarch64/aarch64/pluginlib/ros-foxy-ros-pluginlib-2.5.4-2.oe2203.aarch64.rpm

x86_64:

wget https://117.78.1.88/build/home:Chenjy3_22.03/openEuler_22.03_LTS_standard_x86_64/x86_64/pluginlib/ros-foxy-ros-pluginlib-2.5.4-2.oe2203.x86_64.rpm
  1. 安装rpm包

aarch64:

sudo rpm -ivh --nodeps --force ros-foxy-ros-pluginlib-2.5.4-2.oe2203.aarch64.rpm

x86_64:

sudo rpm -ivh --nodeps --force ros-foxy-ros-pluginlib-2.5.4-2.oe2203.x86_64.rpm

使用说明

依赖环境安装:

sh /opt/ros/foxy/install_dependence.sh

安装完成以后,在/opt/ros/foxy/目录下有如下输出,则表示安装成功。

输出:

pluginlib/
├── cmake.lock
├── env.sh
├── lib
│   ├── pkgconfig
│   │   └── pluginlib.pc
│   └── pluginlib
├── local_setup.bash
├── local_setup.sh
├── local_setup.zsh
├── setup.bash
├── setup.sh
├── _setup_util.py
├── setup.zsh
└── share
    └── pluginlib
        └── cmake

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

项目介绍

Library for loading/unloading plugins in ROS packages during runtime.

定制我的领域