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.2.tar.gz
(40.9 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.2-py3-none-any.whl
(21.7 kB
view details)
File details
Details for the file ezai_go2-1.2.2.tar.gz.
File metadata
- Download URL: ezai_go2-1.2.2.tar.gz
- Upload date:
- Size: 40.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb35438e42e8ecc58760832a896797a919e66491c4989b1407032765b3656a5c
|
|
| MD5 |
1b7c75430751ade2e51d88370b9f3c67
|
|
| BLAKE2b-256 |
52cdb7dc362b4b473ce9e58e489f13b4e3886d8a8a9947d44315d1d21b6da78e
|
File details
Details for the file ezai_go2-1.2.2-py3-none-any.whl.
File metadata
- Download URL: ezai_go2-1.2.2-py3-none-any.whl
- Upload date:
- Size: 21.7 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 |
a4572125ece01bd778761dd6d77ed1448fd5b825190d5d5cd929bc25ea145569
|
|
| MD5 |
5b47fb3622215c82a13d2288186e35eb
|
|
| BLAKE2b-256 |
8d07954964f24587a15767cf60b7e35c8a7552418f64931401121ae1d604fefd
|