扩展能力概述

相关源文件

以下文件被用作生成此 wiki 页面时的上下文:

IB-Robot 系统不仅包含核心运动控制和推理能力,还扩展了复杂的交互层、自动化开发工作流和深入的性能分析能力。这些能力让机器人可以在社交环境中运行,接入大语言模型(LLM)Agent,并为开发者提供分析高频控制循环所需的工具。

语音 ASR 服务

voice_asr_service 包为机器人提供语音转文本能力,支持自然语言交互。它集成 sherpa-onnx 引擎进行高效本地推理,并使用 Voice Activity Detection(VAD)模块管理音频流 src/voice_asr_service/voice_asr_service/voice_asr_node.py:22-28

VoiceASRNode 作为状态机运行,会根据音频输入或 ROS service 调用在 IDLELISTENINGPROCESSING 等状态之间切换 src/voice_asr_service/voice_asr_service/state_machine.py:27-35。它同时支持实时麦克风采集和基于文件的识别,后者通过 RecognizeFile service 提供 src/voice_asr_service/voice_asr_service/voice_asr_node.py:173-181。系统采用“配置驱动”设计,model_pathvad_sensitivityoutput_topic 等参数由中心化 robot_config 管理 src/robot_config/robot_config/config.py:109-130

关键组件:

详情见 语音 ASR 服务

Voice ASR Architecture

        graph LR
    subgraph "Natural Language Space"
        UserSpeech["User Audio Input"]
        TranscribedText["'Pick up the cup'"]
    end

    subgraph "Code Entity Space"
        VoiceASRNode["voice_asr_node.py"]
        AudioCaptureModule["AudioCaptureModule"]
        VADModule["VADModule"]
        ASRInferenceModule["ASRInferenceModule"]
        VoiceCommandTopic["/voice_command (std_msgs/String)"]

        VoiceASRNode --> AudioCaptureModule
        AudioCaptureModule --> VADModule
        VADModule --> ASRInferenceModule
        ASRInferenceModule --> |"publishes"| VoiceCommandTopic
    end

    UserSpeech -.-> AudioCaptureModule
    ASRInferenceModule -.-> TranscribedText
    

来源:src/voice_asr_service/voice_asr_service/voice_asr_node.py:51-129src/voice_asr_service/README.md:65-77src/robot_config/robot_config/config.py:109-130

社交控制与 AI Agent 集成

IB-Robot 提供“Social Control”层,用于连接高层 AI agent 与底层 ROS 2 控制器。该能力主要通过 RosClaw 桥接器和专用 Skill System 实现。

RosClaw 和 Web 接口

系统包含到 OpenClaw AI agent 框架的桥接。它使用 rosbridge_websocket 将 ROS topic 和 service 暴露给基于 Web 的前端和外部 LLM agent。这样,agent 可以订阅机器人状态,并发布 /arm_position_controller/commands 等命令 topic。

AI Agent Skill System

系统与 AI agent 框架集成,用于自动化机器人控制和开发。这些能力包括:

详情见 社交控制与 AI Agent 集成

Agent Interaction Flow

        sequenceDiagram
    participant Agent as "AI Agent (Claude/OpenClaw)"
    participant Config as "robot_config (Contract)"
    participant Bridge as "rosbridge_websocket"
    participant Controller as "ros2_control (Hardware)"

    Agent->>Config: "Query capabilities for so101"
    Config-->>Agent: "Returns Action/Observation Contract"
    Agent->>Bridge: "JSON Payload (Joint Commands)"
    Bridge->>Controller: "ROS 2 Message (Float64MultiArray)"
    

来源:src/robot_config/robot_config/config.py:134-150docs/architecture.md:225-240

性能追踪

为保证高频推理流水线和动作分发的确定性执行,IB-Robot 集成了性能追踪基础设施。它对于定位策略节点与硬件接口之间通信链路的瓶颈很关键。

系统使用 LTTng(Linux Trace Toolkit: next generation)和 ros2_tracing 跨节点边界捕获高保真时序数据。开发者可以分析:

详情见 性能追踪

来源:src/robot_config/test/test_config.py:20-26docs/architecture.md:112-114