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)
相关推荐
Raink老师20 小时前
【AI面试临阵磨枪-79】实时数据 RAG:订单、商家、物流、天气、动态库存
人工智能·面试·职场和发展
脑极体20 小时前
点亮星河AI+鸿蒙,一座艺术场馆的日神觉醒
人工智能·华为·harmonyos
Cosolar20 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
BUG指挥官20 小时前
Claude Code的自动化编程
人工智能
意图共鸣20 小时前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
等一个人的@20 小时前
让数据自己开口:数睿通智库新增智能问数模块
人工智能·自然语言处理
ZGi.ai20 小时前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
王莎莎-MinerU21 小时前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
盘古信息IMS21 小时前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造
kkeeper~21 小时前
0基础C语言积跬步之数据在内存中的存储
c语言·数据结构·算法