pluginlib

Description

The pluginlib package provides tools for writing and dynamically loading plugins using the ROS build infrastructure. To work, these tools require plugin providers to register their plugins in the package.xml of their package. pluginlib is a C++ library for loading and unloading plugins from within a ROS package. Plugins are dynamically loadable classes that are loaded from a runtime library (i.e. shared object, dynamically linked library). With pluginlib, one does not have to explicitly link their application against the library containing the classes -- instead pluginlib can open a library containing exported classes at any point without the application having any prior awareness of the library or the header file containing the class definition. Plugins are useful for extending/modifying application behavior without needing the application source code.

Software Architecture

Pluginlib includes The Plugin Description File and Registering/Exporting a Plugin Class

input:

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

Installation

  1. Download 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. Install 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

Instructions

Dependence installation:

sh /opt/ros/foxy/install_dependence.sh

Exit the following output file under the /opt/ros/foxy/ directory,Prove that the software installation is successful.

output:

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

Contribution

  1. Fork the repository
  2. Create Feat_xxx branch
  3. Commit your code
  4. Create Pull Request

Gitee Feature

  1. You can use Readme_XXX.md to support different languages, such as Readme_en.md, Readme_zh.md
  2. Gitee blog blog.gitee.com
  3. Explore open source project https://gitee.com/explore
  4. The most valuable open source project GVP
  5. The manual of Gitee https://gitee.com/help
  6. The most popular members https://gitee.com/gitee-stars/