 Plug-in Based Software Architecture for RoboticsOutline ● What is plugin architecture? ● Why use plugin architecture? ● Designing a simplified plugin architecture ● Library used in robotics to implement plugin based system ○ Pluginlib ● Case study for plugin architecture - MoveIt ● Limitations ● Summary 2Introduction •Abi Sivaraman •Robotics Engineer at PickNik Robotics •I work with robotic arms •MoveIt Maintainer 3What is plugin architecture Plug-ins are self-contained modules that are loaded into the system at runtime. 4Components of plugin architecture 1. Core - Defines how the system operates and provides interface 2. Plugins - Stand-alone0 码力 | 75 页 | 2.40 MB | 6 月前3 Plug-in Based Software Architecture for RoboticsOutline ● What is plugin architecture? ● Why use plugin architecture? ● Designing a simplified plugin architecture ● Library used in robotics to implement plugin based system ○ Pluginlib ● Case study for plugin architecture - MoveIt ● Limitations ● Summary 2Introduction •Abi Sivaraman •Robotics Engineer at PickNik Robotics •I work with robotic arms •MoveIt Maintainer 3What is plugin architecture Plug-ins are self-contained modules that are loaded into the system at runtime. 4Components of plugin architecture 1. Core - Defines how the system operates and provides interface 2. Plugins - Stand-alone0 码力 | 75 页 | 2.40 MB | 6 月前3
 Dynamically Loaded Libraries Outside the Standard0: Dependent libraries • Level 1: Delay loading • Level 2: Foreign linkage modules • Level 3: Plugin systems How dynamic is dynamic?45 CppCon 2021 | • If we view the whole program in memory as a “C++ PLUGINAPP_API LPPLUGINSTRUCT plugin_app_create_plugin(void); PLUGINAPP_API void plugin_app_destroy_plugin(LPPLUGINSTRUCT); PLUGINAPP_API const gchar* plugin_app_get_plugin_name(void); PLUGINAPP_API gchar* plugin_app_get_plugin_provider(void); PLUGINAPP_API const gchar* plugin_app_get_menu_name(void); PLUGINAPP_API const gchar* plugin_app_get_menu_category(void); PLUGINAPP_API void plugin_app_run_proc(void);0 码力 | 100 页 | 3.98 MB | 6 月前3 Dynamically Loaded Libraries Outside the Standard0: Dependent libraries • Level 1: Delay loading • Level 2: Foreign linkage modules • Level 3: Plugin systems How dynamic is dynamic?45 CppCon 2021 | • If we view the whole program in memory as a “C++ PLUGINAPP_API LPPLUGINSTRUCT plugin_app_create_plugin(void); PLUGINAPP_API void plugin_app_destroy_plugin(LPPLUGINSTRUCT); PLUGINAPP_API const gchar* plugin_app_get_plugin_name(void); PLUGINAPP_API gchar* plugin_app_get_plugin_provider(void); PLUGINAPP_API const gchar* plugin_app_get_menu_name(void); PLUGINAPP_API const gchar* plugin_app_get_menu_category(void); PLUGINAPP_API void plugin_app_run_proc(void);0 码力 | 100 页 | 3.98 MB | 6 月前3
 Conan 2.9 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 795 页 | 4.99 MB | 10 月前3 Conan 2.9 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 795 页 | 4.99 MB | 10 月前3
 Conan 2.8 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 785 页 | 4.95 MB | 10 月前3 Conan 2.8 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 785 页 | 4.95 MB | 10 月前3
 Conan 2.10 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 803 页 | 5.02 MB | 10 月前3 Conan 2.10 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 803 页 | 5.02 MB | 10 月前3
 Shared Librariesx-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so - plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccfheLJQ.res - plugin-opt=-pass-through=-lgcc =-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc - plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed0 码力 | 69 页 | 1.40 MB | 6 月前3 Shared Librariesx-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so - plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccfheLJQ.res - plugin-opt=-pass-through=-lgcc =-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc - plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed0 码力 | 69 页 | 1.40 MB | 6 月前3
 Conan 1.8 Documentationdefault, Conan provides a simple user: password users list in the server.conf file. There is also a plugin mechanism for setting other authentication methods. The process to install any of them is a simple the Conan functionalities and let users customize the client behavior at determined points. 11.2.1 Plugin structure Plugins are Python files containing pre and post functions that will be executed prior packaging or interactions with the remotes. Here you can see an example of a simple plugin: Listing 4: example_plugin.py from conans import tools def pre_export(output, conanfile, conanfile_path, reference0 码力 | 458 页 | 3.03 MB | 1 年前3 Conan 1.8 Documentationdefault, Conan provides a simple user: password users list in the server.conf file. There is also a plugin mechanism for setting other authentication methods. The process to install any of them is a simple the Conan functionalities and let users customize the client behavior at determined points. 11.2.1 Plugin structure Plugins are Python files containing pre and post functions that will be executed prior packaging or interactions with the remotes. Here you can see an example of a simple plugin: Listing 4: example_plugin.py from conans import tools def pre_export(output, conanfile, conanfile_path, reference0 码力 | 458 页 | 3.03 MB | 1 年前3
 Conan 2.0 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 652 页 | 4.00 MB | 1 年前3 Conan 2.0 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 652 页 | 4.00 MB | 1 年前3
 Conan 2.5 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 769 页 | 4.70 MB | 1 年前3 Conan 2.5 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 769 页 | 4.70 MB | 1 年前3
 Conan 2.4 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 769 页 | 4.69 MB | 1 年前3 Conan 2.4 Documentationcapability of being able to sign and verify software packages. This extension point will soon get a plugin implementation based on Sigstore. 2.14 Package immutability optimizations The thorough use of revisions convenient to, for example, keep better traceability of our tools. In this case, the compatibility.py plugin can help to locate the best matching binary in case Conan doesn’t find the binary for our specific 6.2 CLion 6.2.1 Introduction There’s a plugin available in the JetBrains Marketplace that’s compatible with CLion versions higher than 2022.3. With this plugin, you can browse Conan packages available0 码力 | 769 页 | 4.69 MB | 1 年前3
共 89 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9













