Metadata-Version: 2.4
Name: boosteros
Version: 1.2.0
Summary: Booster Robotics 机器人操作系统核心模块
Author-email: Booster Robotics <contact@booster-robotics.com>
License: Proprietary
Keywords: robotics,booster,os,control
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: booster-robotics-sdk-python<1.7.0,>=1.6.0
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
Requires-Dist: numpy<2.0.0,>=1.21.5
Requires-Dist: opencv-python<4.12.0,>=4.5.0
Requires-Dist: Pillow>=9.0.0
Requires-Dist: scipy<2.0.0,>=1.8.0
Requires-Dist: typing-extensions>=4.15.0
Provides-Extra: brain
Requires-Dist: matplotlib>=3.5.0; extra == "brain"
Requires-Dist: ultralytics>=8.0.0; extra == "brain"
Requires-Dist: onnx>=1.14.0; extra == "brain"
Requires-Dist: onnxruntime<2,>=1.23.2; extra == "brain"
Provides-Extra: dev
Requires-Dist: pip; extra == "dev"
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=7.0; extra == "dev"
Requires-Dist: pytest-html>=4.1; extra == "dev"
Requires-Dist: coverage>=7.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: mypy>=0.950; extra == "dev"
Requires-Dist: ruff>=0.11.0; extra == "dev"
Requires-Dist: pybind11; extra == "dev"
Requires-Dist: pybind11-stubgen; extra == "dev"
Requires-Dist: flask>=2.0.0; extra == "dev"

# Booster OS

> **Booster Robotics 机器人操作系统核心 SDK**  
> 旨在为人形机器人提供统一、高效、易用的开发接口。

[![Python Version](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/)
[![License](https://img.shields.io/badge/license-Proprietary-red.svg)](LICENSE)

## 💡 为什么选择 Booster OS？

- **统一抽象**：一套代码适配多种机器人硬件（Booster K1, Unitree 等）。
- **感控一体**：原生集成视觉检测（Detection）与运动控制。
- **异步驱动**：基于任务句柄（TaskHandle）的非阻塞控制架构。

---

## 📖 文档索引

如果你需要深入了解某个模块，请查阅以下专门文档：

- 📚 [**API 参考手册**](docs/API_DOC.md) - 包含所有类、方法及参数的详细说明。
- 🎙️ [**Speech 接入说明**](docs/SPEECH.md) - 语音服务接入说明。

---

## 🛠️ 安装

### 1. 系统级依赖 (ROS 2)
本项目部分核心功能依赖 **ROS 2 Humble**。在安装 Python 包前，请确保系统已安装：

```bash
# 安装 rclpy 和 cv_bridge 核心组件
sudo apt update && sudo apt install ros-humble-rclpy ros-humble-cv-bridge
```

并在终端运行前 source 环境：
```bash
source /opt/ros/humble/setup.bash
```

### 2. 通过 pip 安装
```bash
# 基础控制版本
pip install boosteros

# 包含 AI/感知（brain）插件版本
pip install boosteros[brain]
```

---

## 🚀 核心组件概览

### 1. 机器人控制 (BoosterRobot)
```python
from boosteros.robots.booster import BoosterRobot

robot = BoosterRobot()
robot.set_mode("walk")
robot.set_velocity(vx=0.2, vy=0.0, vyaw=0.0) # 让机器人走起来
```

### 2. AI 视觉 (Detection)
```python
from boosteros.brain import Detection

detector = Detection(model="person")
img = robot.get_image() # 获取实时图像
results = detector.detect(img.to_numpy()) # 执行目标检测
```

> [!TIP]
> 更多复杂示例（如手控示教、语音对话等）请参考项目中的 [examples/](examples/) 目录。

> [!NOTE]
> 对于双板机型，手控示教/轨迹录制与回放功能当前只支持在运控板环境执行，不支持在另一侧感知板上直接运行。

---

## 📂 目录结构

- `src/boosteros/base/`: 核心抽象类（Robot, AudioManager 等）。
- `src/boosteros/robots/`: 不同型号机器人的具体实现（Booster, Unitree 等）。
- `src/boosteros/brain/`: AI 与高级感知模块（视觉检测、大模型集成等）。
- `src/boosteros/types/`: 跨模块通用的强类型数据定义。
- `examples/`: 丰富的实战示例代码。
