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)
相关推荐
淡海水1 分钟前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
鬼手点金3 分钟前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
小星星_ios8 分钟前
从 3Blue1Brown 到 NumPy:手写一个神经网络训练 MNIST
人工智能·python·神经网络
老牛日常随笔9 分钟前
Google把Android测试搬进AI对话:ARTEMIS如何用自然语言操作你的手机
android·人工智能·智能手机
信可维9 分钟前
AI 读 Word 表格总读错?先查合并单元格和表头这 3 处
开发语言·人工智能·c#·word·软件工程
Csvn12 分钟前
A/B 实验:85% 比 78% 好,居然不算赢?(R03)
人工智能·aigc·agent
随性而行36017 分钟前
企业微信 API 如何实现业务消息自动通知?接口应用场景解析
java·人工智能·后端·微信·机器人·企业微信
FPGA信号处理20 分钟前
【雷达原理与系统】第四节课:雷达波形与脉冲压缩
人工智能·计算机视觉·目标跟踪
林浩杨_25 分钟前
《CVPR 2026 Highlight|PersonaVLM:让多模态Agent长期记住并理解用户》
人工智能
GlobalInfo28 分钟前
全球及中国Sim-to-Real机器人平台行业研究报告(2026版):市场现状、行业前景与占有率分析
人工智能·ai·机器人