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)
相关推荐
blues92577 分钟前
赋能企业AI高效落地|Vantage万极FDE四天实战营杭州首班开启报名
大数据·人工智能·fde
深海鱼在掘金7 分钟前
深入浅出RAG——第10章:检索后处理与重排序
人工智能
阿里云大数据AI技术25 分钟前
使用 PAI,一键拉起云端 AI “投资智囊团”
人工智能·agent
四六的六28 分钟前
让 AI 自己去点后台页面,它把我们的库存点没了
前端·人工智能·agent·个人开发·ai编程·ai产品·ai前端
月华路33 分钟前
《模型不玄学》第30章 完整跑一遍 Cheat Sheet
人工智能·深度学习·机器学习
en.en..34 分钟前
C语言核心解析:#define与typedef本质区别
开发语言·c++·算法
workflower35 分钟前
智能体-企业行政问答助手
人工智能·机器学习·机器人·云计算·无人机
武子康40 分钟前
Agent 的工具没变,SGLang 缓存为什么没命中?
人工智能·llm·agent
hyunbar77742 分钟前
LangChain 实战:Agent 4类结构化输出方式
人工智能
咖啡星人k1 小时前
2026 可观测性实战:把观测契约写进SPEC,MonkeyCode 云端跑通
人工智能·机器学习