Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

zmrobo@SmartPi:~/unitree/model$ python3.9 /home/zmrobo/unitree/go2_run/go2_run/go2_run.py
[ WARN:0@4.625] global /home/software/opencv/modules/videoio/src/cap_gstreamer.cpp (1405) open OpenCV | GStreamer warning: Cannot query video position: status=1, value=36, duration=-1

(python3.9:20439): dbind-WARNING **: 10:52:09.492: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
1764816739.420171 [0] tev: ddsi_udp_conn_write to udp/192.168.123.161:55413 failed with retcode -1
1764816750.302420 [0] tev: ddsi_udp_conn_write to udp/192.168.123.161:53101 failed with retcode -1

 

OpenCV被强制使用了GStreamer后端

 

 

宇树机器狗go2简单易用的 python控制 sdk

 

https://pypi.org/project/ezgo/

 

 

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]
n```

### 仅基础功能(图像处理相关依赖)
```bash
pip install ezgo[basic]

注意: ezgo 核心库本身没有任何强制依赖。所有依赖都是可选的,您可以根据需要手动安装:

  • unitree-sdk2py: 机器人通信必需
  • opencv-python: 摄像头功能必需
  • numpy: 数值计算支持
  • Pillow: 图像处理支持
  • netifaces: �络接口检测

快速开始

基本运动控制

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)

高级运动模式

import ezgo

robot = ezgo.Go2()
if robot.init():
    # 步态模式切换
    robot.FreeWalk(True)        # 开启灵动模式
    robot.FreeWalk(False)       # 关闭灵动模式
    
    # 特殊步态(自动演示后关闭)
    robot.FreeBound(True)       # 并腿跑模式(2秒后自动关闭)
    robot.FreeJump(True)        # 跳跃模式(4秒后自动关闭)
    robot.FreeAvoid(True)       # 闪避模式(2秒后自动关闭)
    robot.WalkUpright(True)     # 后腿直立模式(4秒后自动关闭)
    robot.CrossStep(True)       # 交叉步模式(4秒后自动关闭)
    
    # 常规运动模式
    robot.TrotRun()             # 进入常规跑步模式
    robot.StaticWalk()          # 进入常规行走模式
    robot.EconomicGait()        # 进入常规续航模式
    robot.ClassicWalk(True)     # 开启经典步态
    robot.ClassicWalk(False)    # 关闭经典步态

特技动作

import ezgo

robot = ezgo.Go2()
if robot.init():
    # 表演动作
    robot.Hello()               # 打招呼
    robot.Stretch()             # 伸懒腰
    robot.Content()             # 开心
    robot.Heart()               # 比心
    robot.Scrape()              # 拜年作揖
    robot.Dance1()              # 舞蹈段落1
    robot.Dance2()              # 舞蹈段落2
    
    # 特技动作
    robot.FrontJump()           # 前跳
    robot.FrontPounce()         # 向前扑人
    robot.LeftFlip()            # 左空翻
    robot.BackFlip()            # 后空翻
    robot.HandStand(True)       # 倒立(4秒后自动关闭)

自动翻身功能

import ezgo

robot = ezgo.Go2()
if robot.init():
    # 设置自动翻身
    success = robot.AutoRecoverSet(True)
    if success:
        print("自动翻身已开启")
    
    # 查询自动翻身状态
    is_enabled = robot.AutoRecoverGet()
    print(f"自动翻身状态: {'开启' if is_enabled else '关闭'}")
    
    # 关闭自动翻身
    robot.AutoRecoverSet(False)

API 参考

Go2 类

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

主要方法

基础控制:

  • init(): 初始化与Go2的连接
  • Damp(): 进入阻尼状态
  • BalanceStand(): 平衡站立
  • StopMove(): 停止所有移动动作
  • StandUp(): 关节锁定,站高
  • StandDown(): 关节锁定,站低
  • Sit(): 坐下
  • RiseSit(): 站起(相对于坐下)

移动控制:

  • Move(vx, vy, vyaw): 移动(速度范围:vx, vy: -11, vyaw: -22)
  • MoveForDuration(vx, vy, vyaw, duration): 持续移动指定时间
  • StartMove(vx, vy, vyaw): 开始持续移动
  • Forward(speed=0.3, duration=2.0): 向前移动
  • Backward(speed=0.3, duration=2.0): 向后移动
  • Left(speed=0.3, duration=2.0): 向左移动
  • Right(speed=0.3, duration=2.0): 向右移动
  • TurnLeft(speed=0.5, duration=2.0): 左转
  • TurnRight(speed=0.5, duration=2.0): 右转

步态模式:

  • FreeWalk(flag=None): 灵动模式(默认步态)
  • FreeBound(flag): 并腿跑模式
  • FreeJump(flag): 跳跃模式
  • FreeAvoid(flag): 闪避模式
  • WalkUpright(flag): 后腿直立模式
  • CrossStep(flag): 交叉步模式
  • ClassicWalk(flag): 经典步态
  • TrotRun(): 进入常规跑步模式
  • StaticWalk(): 进入常规行走模式
  • EconomicGait(): 进入常规续航模式

表演动作:

  • Hello(): 打招呼
  • Stretch(): 伸懒腰
  • Content(): 开心
  • Heart(): 比心
  • Scrape(): 拜年作揖
  • Dance1(): 舞蹈段落1
  • Dance2(): 舞蹈段落2

特技动作:

  • FrontJump(): 前跳
  • FrontPounce(): 向前扑人
  • LeftFlip(): 左空翻
  • BackFlip(): 后空翻
  • HandStand(flag): 倒立行走

自动功能:

  • AutoRecoverSet(flag): 设置自动翻身是否生效
  • AutoRecoverGet(): 查询自动翻身是否生效
  • SwitchAvoidMode(): 闪避模式下,关闭摇杆未推时前方障碍物的闪避

便利方法:

  • get_camera(): 获取摄像头控制对象
  • get_vui(): 获取声光控制对象
  • capture_image(save_path=None): 获取一张图片
  • start_video_stream(width=480, height=320): 开始视频流
  • get_video_frame(): 获取最新视频帧
  • stop_video_stream(): 停止视频流
  • cleanup(): 清理资源

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.5 (2025-12-04)

新增功能:

  • ✨ 新增15种高级运动模式和特技动作
  • ✨ 支持灵动模式、并腿跑、跳跃跑、交叉步等多种步态
  • ✨ 新增空翻、倒立、舞蹈等表演动作
  • ✨ 增加自动翻身功能设置和查询
  • ✨ 完善移动控制API,支持持续移动和定时移动

改进:

  • 🔧 优化网络连接检查,支持非sudo ping
  • 🔧 改进初始化流程,连接失败时仅显示警告
  • 🔧 增强错误处理,对不支持的SDK版本提供友好提示
  • 🔧 所有新函数都包含适当的异常处理

修复:

  • 🐛 修复包构建问题,确保源代码正确包含
  • 🐛 修复依赖配置,核心库无强制依赖

v0.0.4 (2025-12-04)

修复:

  • 🐛 修复包结构问题,源代码未正确包含在PyPI包中
  • 🔧 重新组织包结构,确保所有模块正确打包

v0.0.3 (2025-12-04)

改进:

  • 🔧 优化依赖配置,移除强制依赖
  • 📦 所有依赖改为可选依赖,支持按需安装
  • 📚 更新安装说明和依赖文档

v0.0.2 (2025-12-04)

新增功能:

  • ✨ 集成go2_vui声光控制模块
  • ✨ 集成go2_camera摄像头控制模块
  • ✨ 优化模块导入结构,使用相对导入

改进:

  • 🔧 修复get_camera方法路径配置
  • 🔧 添加get_vui方法支持声光控制
  • 🔧 完善懒加载机制

v0.0.1 (2025-12-04)

初始发布:

  • 🎉 基础运动控制功能
  • 📷 摄像头基础支持
  • 🔊 声光控制基础支持
  • 📦 PyPI包发布

v0.0.2

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

v0.0.1

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

链接

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

 

posted @ 2025-12-05 14:42  aiplus  阅读(0)  评论(0)    收藏  举报
悬浮按钮示例