8000 GitHub - Bajie001/ecovacs_bajie_sdk: ecovacs_bajie_sdk · GitHub
[go: up one dir, main page]

Skip to content

About

ecovacs_bajie_sdk

Resources

Contributing

Stars

38 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

八界具身智能机器人

八界具身智能机器人 SDK

中文 | English

科沃斯首款全栈开源具身智能机器人

从机器人硬件基座、具身原子能力到场景应用,为开发者、高校与科研机构提供完整的具身智能开发能力。

Python SDK · C++ SDK · 入门课程 · 英文文档索引 · 示例场景 · 参与贡献 · 更新日志


关于八界

八界是科沃斯面向具身智能开发者推出的全栈开源机器人平台。平台搭载六自由度机械臂、二指灵巧夹爪、多模态感知系统与双 RK3588 融合 SoC,开放从底层调试、机器人控制、环境感知到任务编排的完整开发链路。

软件层提供 ROS 2 完整接口以及 C++ / Python 双语言 SDK,开放 45 项原子能力,覆盖建图导航、视觉感知、目标搜索、机械臂控制、抓取放置、语音交互和机器人状态管理。本项目提供结构化开发文档与完整场景源码,并配套 Gazebo 仿真环境、RKNN 模型量化工具及 Linux 底层调试接口,帮助开发者更快完成算法验证、应用开发和真实机器人部署。

八界致力于降低具身智能开发门槛,推动开放技术生态与产教深度融合,让更多开发者参与具身智能的技术创新和场景探索。

平台能力

层级 开放能力 典型用途
硬件基座 六自由度机械臂、二指灵巧夹爪、移动底盘、双 RK3588 融合 SoC 移动操作、端侧推理、二次开发
多模态感知 头部/机械臂相机、开放词检测、图像特征匹配、VLM 场景理解 目标检测、跨视角匹配、空间理解
移动与操作 自动/语义建图、点位/语义导航、目标搜索、精准抓取、多种放置策略 “看见—移动—操作”闭环任务
软件接口 ROS 2、C++17 SDK、Python 3.10 SDK、Linux 底层调试接口 算法接入、应用编排、系统调试
开发工具 Gazebo 仿真环境、RKNN 模型量化工具、CLI 接口查询 仿真验证、模型部署、快速联调
教学与示例 2800+ 行结构化文档、10 节 Notebook 入门课程、完整场景源码 科研实验、课程教学、应用原型

SDK 能力矩阵

Python 与 C++ SDK 提供一致的核心机器人能力,并针对各自语言保留自然的调用方式。

能力域 代表能力 Python C++
感知与理解 OVD 检测、图像嵌入与相似度、VLM 感知/规划/评判 ✓ ✓
建图与导航 自动建图、语义地图、底盘移动、点位/语义导航、回充 ✓ ✓
图像与位姿 多相机图像采集、目标 3D 位姿计算 ✓ ✓
高层任务 找人/找物、语音、观察、精准抓取、视图/3D/容器放置 ✓ ✓
本体控制 升降、头部、机械臂模式与整机姿态控制 ✓ ✓
任务管理 同步/异步任务、暂停、恢复、取消 ✓ ✓
状态查询 电量、位置、告警、地图、语义区域与家具信息 ✓ ✓

完整接口、请求字段、返回值与错误码请参阅 Python SDK 开发文档 和 C++ SDK 开发文档。

English documentation

快速开始

环境要求

  • Linux,推荐 Ubuntu x86_64;机器人端为 aarch64
  • Python 3.10(Python SDK)
  • CMake 3.14+ 与支持 C++17 的编译器(C++ SDK)
  • 开发主机与机器人处于同一网络
  • 导航类任务需提前完成建图;VLM 能力需在机器人配置页面设置 API Key

机器人屏幕底部会显示形如 http://10.10.10.11:17890 的管理地址,其中 10.10.10.11 即机器人 IP。PC 端连接该 IP,程序部署在机器人内部时使用 127.0.0.1。

Python

根据运行平台安装仓库内对应的 wheel:

cd python
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install ./bajie_sdk-3.0.0-cp310-cp310-linux_x86_64.whl

连接机器人并读取状态:

from bajie_sdk import BajieRobot

robot = BajieRobot(ws_url="ws://10.10.10.11:9900/")
if not robot.Connect(timeout_sec=8.0):
    raise RuntimeError("无法连接机器人")

info = robot.eco_robotInfo()
print("电量:", info.battery)
print("工作状态:", info.workState)
print("异常告警:", info.alarm)

robot.Disconnect()

继续阅读 Python 快速开始与完整 API,或从 10 节交互式 Notebook 课程 开始学习。

C++

仓库已提供 x86_64 与 aarch64 预编译库及公开头文件:

cd cpp
make build              # x86_64
make build ARCH=arm     # aarch64 交叉编译

构建产物位于 cpp/out/x86/ 或 cpp/out/arm/。运行示例前可通过环境变量配置机器人地址:

export ECO_ROBOT_HOST=10.10.10.11
./out/x86/toy_storage_demo ws://10.10.10.11:9900/

编译依赖、CMake 集成、交叉编译与 API 示例详见 C++ SDK 开发文档。

示例场景

仓库开放了可直接阅读、修改和运行的端到端场景代码。示例并非单接口演示,而是包含感知、规划、执行、重试和安全收尾的完整任务闭环。

桌面整理
桌面整理
VLM 场景感知、自然语言规划、抓取放置与结果评判
Python · C++
玩具收纳
玩具收纳
搜索玩具与收纳筐、精准抓取、语义放置和多轮重试
Python · C++
鞋履整理
鞋履整理
鞋子检测与配对、跨视角匹配、抓放规划和方向对齐
Python · C++
玩具递送与生活辅助
玩具递送
目标搜索、抓取、语义导航与桌面放置
Python · C++

八界机器人生活服务场景

仓库结构

bajie_sdk/
├── python/
│   ├── beginner_journey/   # 从连接到抓放闭环的 Notebook 课程
│   ├── desk_demo/          # 桌面整理
│   ├── delivery_demo/      # 玩具递送
│   ├── shoe_sorting/       # 鞋履整理
│   ├── toy_storage/        # 玩具收纳
│   └── bajie_sdk-3.0.0-*.whl  # x86_64 / aarch64 Python SDK
├── cpp/
│   ├── depend/             # 公开头文件与预编译动态库
│   ├── desk_demo/          # 桌面整理
│   ├── delivery_demo/      # 玩具递送
│   ├── shoe_sorting_demo/  # 鞋履整理
│   └── toy_storage_demo/   # 玩具收纳
├── img/                    # 项目与场景图片
├── LICENSE
└── NOTICE

推荐学习路径

  1. 阅读 入门课程导览,完成环境安装与首次连接。
  2. 掌握状态与安全检查、图像采集、开放词检测和导航控制。
  3. 完成“观察—检测—定位—抓取—放置”的最小任务闭环。
  4. 阅读一个与目标最接近的完整 Demo,复用其任务编排、错误处理和重试机制。
  5. 查询双语言 SDK 完整文档,将原子能力组合为自己的具身应用。

Important

运行机械臂、底盘或抓放任务前,请确保机器人电量充足、已离开充电座,机械臂和底盘周围无人员及障碍物,并预留急停操作空间。示例场景建议使用轻质、不易碎、低价值物品进行验证。

质量检查

仓库使用 Black 统一 Python 格式,使用 Ruff(或 Pyflakes 后备检查)发现静态问题,并通过 GCC 高告警级别构建检查 C++ 示例:

python3 -m pip install -r requirements-dev.txt
./scripts/check_quality.sh

质量脚本同时校验 SPDX 许可证标识、Python 语法以及全部 x86_64 C++ 示例。贡献代码前请确保检查无告警通过,详细要求见 贡献指南。

版本与许可

欢迎通过 Issue 提交问题、场景需求与改进建议,也欢迎贡献新的具身任务示例、教学内容和工具链适配。首次参与前请阅读 贡献指南,了解问题反馈、开发验证和 Pull Request 要求。

About

ecovacs_bajie_sdk

Resources

Contributing

Stars

38 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0