Skip to main content

宇树Go2机器狗Python控制库

Project description

ezgo - 宇树Go2机器狗Python控制库

PyPI version Python versions License

这是一个用于控制宇树Go2机器狗的Python库,提供了简单易用的API接口。支持运动控制、视频流获取、声光控制等功能。

功能特性

  • 🚶 运动控制: 支持行走、跑步、跳跃等多种运动模式
  • 📷 摄像头控制: 支持图片获取和视频流处理
  • 🔊 声光控制: 支持LED灯光和音量控制
  • 🎮 UI界面: 提供图形化控制界面
  • 🔧 易于使用: 简洁的API设计,支持懒加载
  • 📦 可选依赖: 核心功能轻量,按需安装依赖

安装

基础安装

pip install ezgo

完整功能安装

pip install ezgo[full]

仅基础功能

pip install ezgo[basic]

快速开始

基本运动控制

import ezgo

# 创建Go2控制对象
robot = ezgo.Go2()

# 初始化连接
if robot.init():
    print("连接成功!")
    
    # 基本动作
    robot.Damp()          # 进入阻尼状态
    robot.BalanceStand()   # 平衡站立
    robot.StopMove()       # 停止移动

摄像头控制

import ezgo

# 方法1: 通过Go2对象获取摄像头
robot = ezgo.Go2()
camera = robot.get_camera()

# 方法2: 直接使用摄像头类
camera = ezgo.Go2Camera()

# 初始化摄像头
if camera.init():
    # 获取单张图片
    image = camera.capture_image("photo.jpg")
    
    # 打开视频流
    if camera.open_video_stream():
        frame = camera.read_frame()

声光控制

import ezgo

# 方法1: 通过Go2对象获取VUI控制
robot = ezgo.Go2()
vui = robot.get_vui()

# 方法2: 直接使用VUI类
vui = ezgo.Go2VUI()

# 初始化VUI
if vui.init():
    # 设置LED亮度 (0-10)
    vui.set_brightness(5)
    
    # 获取当前亮度
    success, brightness = vui.get_brightness()
    
    # 设置音量 (0-10)
    vui.set_volume(3)

API 参考

Go2 类

主要的机器狗控制类,提供运动控制和状态管理功能。

主要方法

  • init(): 初始化与Go2的连接
  • Damp(): 进入阻尼状态
  • BalanceStand(): 平衡站立
  • StopMove(): 停止所有移动动作
  • get_camera(): 获取摄像头控制对象
  • get_vui(): 获取声光控制对象

Go2Camera 类

摄像头控制类,提供图片获取和视频流功能。

主要方法

  • init(): 初始化摄像头连接
  • capture_image(save_path=None): 获取单张图片
  • open_video_stream(width=480, height=320): 打开视频流
  • read_frame(): 从视频流读取一帧
  • start_stream(width=480, height=320): 开始后台视频流

Go2VUI 类

声光控制类,提供LED灯光和音量控制功能。

主要方法

  • init(): 初始化VUI客户端
  • set_brightness(level): 设置LED亮度 (0-10)
  • get_brightness(): 获取当前LED亮度
  • set_volume(level): 设置音量 (0-10)
  • get_volume(): 获取当前音量

依赖要求

核心依赖

  • Python >= 3.7

可选依赖

基础功能:

  • opencv-python >= 4.5.0
  • numpy >= 1.19.0
  • Pillow >= 8.0.0

完整功能:

  • netifaces >= 0.10.0
  • unitree-sdk2py (需要从官方源安装)

注意事项

  1. 网络连接: 确保计算机与Go2机器狗在同一网络中
  2. 权限要求: 某些功能可能需要管理员权限
  3. 依赖安装: unitree-sdk2py 需要从宇树官方源安装
  4. 接口检测: 库会自动检测网络接口,也可手动指定

故障排除

常见问题

  1. 导入错误: 确保已安装所有必需的依赖包
  2. 连接失败: 检查网络连接和防火墙设置
  3. 摄像头问题: 确保GStreamer正确安装
  4. 权限问题: 在某些系统上可能需要管理员权限

依赖安装

# 安装基础依赖
pip install opencv-python numpy Pillow netifaces

# unitree-sdk2py 需要从官方源安装
# 请参考宇树官方文档

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

贡献

欢迎提交 Issue 和 Pull Request!

更新日志

v0.0.2

  • 添加了 Go2Camera 摄像头控制类
  • 添加了 Go2VUI 声光控制类
  • 优化了导入和错误处理
  • 改进了文档和示例

v0.0.1

  • 初始版本发布
  • 基本运动控制功能
  • UI界面支持

链接

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezgo-0.0.2.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezgo-0.0.2-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file ezgo-0.0.2.tar.gz.

File metadata

  • Download URL: ezgo-0.0.2.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for ezgo-0.0.2.tar.gz
Algorithm Hash digest
SHA256 babb1da75d3b64056e85ae6ee6df503711f408ec069563582d93f4890ffdea1f
MD5 13087cfd7bb35abd5847af67e3b86277
BLAKE2b-256 aad26d7512e3b8ea0609463a4fd15f6112ea4b3d938c4e3f57c080ab35e77335

See more details on using hashes here.

File details

Details for the file ezgo-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ezgo-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.6

File hashes

Hashes for ezgo-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b4d4fad6c1f2d6da64660ee45aeb86d2cab6368539fab696b93f8ac1eff6b755
MD5 7a0515927b77629c2a329fcccd2b3bfa
BLAKE2b-256 db88d1536ea03c36faaca8fed53b04edb3897a47725881de7c091472eae32500

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page