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)
相关推荐
程序员果子6 分钟前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
希和202715 分钟前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
深蓝AI21 分钟前
Meta FAIR 开源 e-means:k-means 十分之一的轮数跑出更低损失,已并入 Faiss
人工智能·程序员
IT_陈寒23 分钟前
Vue这个奇葩的响应式问题让我加班到凌晨
前端·人工智能·后端
Pniubi30 分钟前
力扣73 矩阵置零
算法·leetcode·矩阵
yunhuibin31 分钟前
AI分类任务种类
人工智能·自然语言处理·分类
东坡肘子32 分钟前
参与学生移动应用大赛有感 -- 肘子的 Swift 周报 #161
人工智能·swiftui·swift
天天被压力34 分钟前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
唐老板39 分钟前
agent 撑爆 Git 之后,两家改的不是同一层
人工智能·ai编程