q1-sdk:基于 ROS2 的机器人二次开发 SDK 项目

启元 Q1 SDK

分支1Tags1

启元机器人 ROS2 SDK

基于 ROS2 + FastDDS 去中心化架构的启元机器人二次开发 SDK,统一通过 ROS2 接口即可控制机器人全部能力,无需关心底层协议细节;开发程序可灵活部署在 PC、运控板或大脑板上,透明访问全量机器人能力接口。


1. SDK 目录结构

primebot_sdk/
├── README.md                          # 本文件
├── PrimeBot_SDK快速入门与集成指南.md     # 详细开发集成手册(必读)
├── 接口说明.md                         # 全量 Service/Topic 接口定义与参数手册
├── 友好用户使用声明.md                  # 友好用户使用声明(必读)
├── aimdk_msgs/                        # 接口消息包 (ROS2 msg/srv 定义)
│   ├── agent/                         # AI Agent 层
│   │   └── msg/                       #   ASR 语音识别结果
│   ├── config/                        # SDK 默认 FastDDS 通信配置
│   ├── env-hooks/                     # colcon setup 自动加载的环境钩子
│   ├── common/                        # 任务响应与基础类型定义
│   ├── hal/                           # 硬件抽象层
│   │   ├── audio/                     #   音频采集/播放
│   │   ├── camera/                    #   相机图像/RTSP 流
│   │   ├── msg/                       #   BMS / 触摸 / 关节 等状态消息
│   │   └── srv/                       #   灯带控制 等服务
│   ├── interaction/                   # 交互层
│   │   ├── msg/                       #   TTS 请求/响应 / 优先级
│   │   └── srv/                       #   表情播放 / TTS 语音播报
│   └── mc/                            # 运控层
│       ├── action/                    #   动作定义 / 动作状态 / 动作指令
│       └── motion/                    #   运动速度 / 预设动作 / 自定义关节指令
└── examples/                          # 场景化例程
    ├── cpp/                           # C++ 示例(含 CMakeLists.txt / package.xml)
    ├── opencv/                        # OpenCV 4.13.0 源码包(用户本机构建)
    ├── python/                        # Python 示例
    └── ruckig_for_primebot/           # Ruckig 源码包(供 C++/Python 示例构建)

2. 快速导航

如果您是首次使用,或者需要进行环境配置和验证,请跳转至:

👉 PrimeBot SDK 快速入门与集成指南

该手册将指导您完成以下操作:

  1. 系统架构梳理:了解机器人的软硬件拓扑与底层通信网络组件。
  2. 快速运行体验:完成开发 PC 端网络配置、系统环境检查以及 SDK 的编译运行。
  3. 原生工具调试:使用原生的 ros2 topic/service 命令与机器人进行数据交互验证。
  4. 系统集成实战:指导 Python 与 C++ 语言开发者将 SDK 规范地引入到已有的 ROS 2 工作区中开发业务。
  5. 常见问题排查:如何解决节点不可见、数据通讯超时、编译报错等核心问题快速排障手段。

3. 安全与责任声明

二次开发涉及对硬件的直接控制。在进行任何针对电机的控制开发前,必须阅读并同意以下声明:

👉 友好用户使用声明