CPU 核心隔离 + 线程绑核 + 实时优先级 SCHED_FIFO

如何查看工作空间内的所有插件

在 ROS 2 中,查看当前工作空间内所有已注册插件(pluginlib 类型),核心是用 ament index + ros2plugin API,并配合命令行与 Python 两种方式。


一、先确保工作空间已被生效

必须先 编译并 source 工作空间,否则只能看到系统插件,看不到本地工作空间插件:

bash

运行

复制代码
cd ~/ros2_ws
colcon build
source install/setup.bash   # 或 setup.zsh

二、命令行快速查看(推荐)

1. 列出所有含插件的包(ament 索引)

bash

运行

复制代码
ament index list --resource-type plugin

输出示例:

plaintext

复制代码
polygon_plugins
nav2_core
rclcpp
2. 查看某个包内的所有插件 XML

bash

运行

复制代码
ament index list --resource-type plugin --package polygon_plugins
3. 用 ros2pkg 过滤插件相关包

bash

运行

复制代码
ros2 pkg list | xargs -I {} bash -c 'ament index list --resource-type plugin --package {} 2>/dev/null | grep .'

三、用 Python 脚本精确遍历所有插件(最全面)

ROS 2 提供 ros2plugin API,可遍历所有注册插件(含工作空间内):

1. 新建 list_all_plugins.py

python

运行

复制代码
#!/usr/bin/env python3
import ros2plugin.api

# 获取所有注册的插件资源(包名, 插件类型)
all_plugins=ros2plugin.api.get_registered_plugin_resources()

print("=== 工作空间内所有插件 ===")
for pkg, plugin_type in all_plugins:
    print(f"包: {pkg:20} | 插件类型: {plugin_type}")

# 单独获取所有含插件的包名
pkg_names=ros2plugin.api.get_package_names_with_plugin_resource_types()
print("\n=== 含插件的包列表 ===")
for pkg in pkg_names:
    print(pkg)
2. 运行脚本

bash

运行

复制代码
chmod +x list_all_plugins.py
./list_all_plugins.py

若只想看某类插件(如导航插件):

bash

运行

复制代码
# 先查该基类对应的资源类型(通常是包名/基类名)
ament index list --resource-type plugin | grep nav2_core

五、常见问题

  • 看不到工作空间插件 :一定是没 source install/setup.bash,或未编译。

  • ros2 plugin list 报错 :ROS 2 Humble/Jazzy 无内置 ros2 plugin 命令,用上述 ament/ros2plugin 方法。

  • 插件未注册 :检查包的 CMakeLists.txt 是否有:

    cmake

    复制代码
    ament_export_plugin(plugin_description.xml)
相关推荐
JieE2127 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
冬奇Lab10 小时前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab10 小时前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
IT_陈寒13 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
Jack2015 小时前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
jooloo16 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户51914958484517 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
小小杨树17 小时前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色