Easy AI Robot Control Library for Go2 and Computer Vision
Project description
EZAI - 简单易用的AI机器人控制库
EZAI是一个专为Go2机器狗和AI应用设计的简化Python接口库,让机器人控制和计算机视觉变得简单易用。
🚀 特性
- 简单易用: 专为初学者设计的API接口
- 模块化设计: 支持按需导入,减少依赖
- Go2机器狗控制: 完整的运动控制和视频流支持
- 计算机视觉: 集成OpenCV,支持图像处理和显示
- AI工作流: 支持ONNX和RKNN模型推理
- 教育友好: 适合STEM教育和编程学习
📦 安装
基础安装
pip install ezai-go2
完整安装(包含所有可选依赖)
pip install ezai-go2[all]
仅安装ONNX支持
pip install ezai-go2[onnx]
仅安装RKNN支持
pip install ezai-go2[rknn]
🔧 Go2 SDK安装
要使用Go2机器狗控制功能,需要额外安装unitree-sdk2py:
# 从官方源码安装
git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .
📖 快速开始
Go2机器狗控制
from ezai import Go2
# 创建Go2控制器
dog = Go2()
# 连接机器狗
if dog.connect():
# 前进
dog.move(0.5, 0, 0) # vx=0.5, vy=0, vyaw=0
time.sleep(2)
# 停止
dog.move(0, 0, 0)
# 断开连接
dog.disconnect()
计算机视觉
from ezai import Camera, OpenCVUI
# 创建摄像头
camera = Camera()
ui = OpenCVUI()
# 捕获图像
image = camera.capture()
if image is not None:
# 显示图像
ui.show_image("Camera", image)
ui.waitKey(0)
AI推理(ONNX)
from ezai import ONNXWorkflow
# 创建ONNX工作流
workflow = ONNXWorkflow("model.onnx")
# 加载图像
image = cv2.imread("test.jpg")
# 运行推理
result = workflow.run(image)
print(f"推理结果: {result}")
📚 模块说明
Go2模块
Go2: Go2机器狗主控制类- 支持运动控制、状态查询、视频流等
- 自动网络接口检测和IP配置
Camera模块
Camera: 摄像头控制类- 支持USB摄像头和网络摄像头
- 简化的图像捕获接口
UI模块
OpenCVUI: OpenCV显示界面类- 简化的图像显示和交互接口
- 支持窗口管理和事件处理
AI工作流模块
ONNXWorkflow: ONNX模型推理RKNNWorkflow: RKNN模型推理- 统一的推理接口设计
🛠️ 开发
安装开发依赖
pip install ezai-go2[dev]
运行测试
pytest tests/
代码格式化
black ezai/
📋 依赖要求
- Python >= 3.7
- OpenCV >= 4.5.0
- NumPy <= 1.24.3
- Pillow >= 8.0.0
- netifaces >= 0.10.0
可选依赖:
- unitree-sdk2py (Go2控制)
- onnx + onnxruntime (ONNX推理)
- rknn-toolkit2 (RKNN推理)
🤝 贡献
欢迎提交Issue和Pull Request!
📄 许可证
本项目采用MIT许可证 - 详见 LICENSE 文件
📞 联系方式
- 邮箱: macnote@qq.com
- GitHub: https://github.com/nmww/go2dog
- 文档: https://github.com/nmww/go2dog/blob/main/DEVELOPMENT.md
🙏 致谢
感谢Unitree机器人提供的Go2 SDK支持!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ezai_go2-1.2.4.tar.gz
(43.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ezai_go2-1.2.4-py3-none-any.whl
(22.2 kB
view details)
File details
Details for the file ezai_go2-1.2.4.tar.gz.
File metadata
- Download URL: ezai_go2-1.2.4.tar.gz
- Upload date:
- Size: 43.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b97bb3e29706c681742276cb2697ebb91878a297e2053624ce5f66eae7b8f81
|
|
| MD5 |
9abea98e030ccea164fae90a6f0f0a3a
|
|
| BLAKE2b-256 |
a236db68b6462d7148cc698f42edf1e98e6bbda08979addc1cf6f15e0aac78c6
|
File details
Details for the file ezai_go2-1.2.4-py3-none-any.whl.
File metadata
- Download URL: ezai_go2-1.2.4-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9a5f5d197527034dfbb31301d949936b9058bc4d68b8b5b8e5d37526741f433
|
|
| MD5 |
66958a772ff8a307dfb054714632480e
|
|
| BLAKE2b-256 |
d2eeef25d7a1b8896a0749c7416036734c4534f9d6bc8a3a1a8b4f78cdc4611b
|