< >
Home » OpenDuckMini快速入门教程 » OpenDuckMini快速入门教程-测试行走

OpenDuckMini快速入门教程-测试行走

文章说明

  • 本教程主要说明如何进行鸭子行走的测试操作
  • 欢迎加入我们的openduckmini交流群,微信扫描右侧二维码立即进群交流

相关设备

示例图片

操作步骤

  • 树莓派开机后,按下手柄上的中间按钮匹配上树莓派
  • 使用官方提供的策略进行测试
$ cd ~/open_duck_mini_ws/Open_Duck_Mini_Runtime/scripts/
$ python v2_rl_walk_mujoco.py --onnx_model_path ~/open_duck_mini_ws/Open_Duck_Mini/BEST_WALK_ONNX_2.onnx
pygame 2.6.0 (SDL 2.28.4, Python 3.11.2)
Hello from the pygame community. https://www.pygame.org/contribute.html
Done parsing args
d_coefficient: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
d_coefficient: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
turn on : low KPS set
turn on : init pos set
d_coefficient: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
turn on : high kps
Loaded joystick with 6 axes.
[Poly ref data] Processing ...
[Poly ref data] Done processing
Done instantiating RLWalk
Starting
  • 启动程序后,鸭子开始会处于腿部弯曲站立状态,如果duck_config中的start_paused参数设置为True则会保持暂停站立,需要取消暂停才能继续

  • 官方默认使用的手柄为XBOX ONE,本教程中的使用为PS4手柄,默认的键位应已设置成和xbox的一致

1

  • XBOX ONE 键位控制
    • A : 暂停/取消暂停
    • X : 启用探照灯
    • B : 播放随机声音
    • Y : 启动头部控制 (不推荐使用,有可能导致颈部打印件损坏)
    • LT : 控制左耳舵机
    • RT :控制右耳舵机
    • LB :增加步频,类似冲刺模式
    • 左摇杆:控制前进后退和左右平移
    • 右摇杆的左右方向:控制左右转向
    • D-pad的前后方向:全局步频控制

注意:如果按了Y键进入到头部控制模式,就不能控制身体,左摇杆可控制头部的前后左右移动,右摇杆的左右方向则控制左右摇头;再按一下Y键则退出头部控制模式,回到控制鸭子行走的模式

问题记录

问题1:一启动程序,鸭子就开始乱动,很难站稳

  • 正常情况下,启动程序后鸭子应该处于静止状态,顶多偶尔动一下
  • 乱动的情况可能有几点:
    1. 当前的IMU是倒置安装的,是~/duck_config.json中的imu_upside_down没有对应设置为True
    2. imu没有校准
    3. 脚部微动开关接线松了或或者微动开关压得太死
    4. 手柄问题,手柄键位映射不对或者摇杆对应的初始值太高导致一直有方向控制输出
解决方法
  • 逐个排查问题的原因
  • 排查后发现是将没有配置参数的原因,将~/duck_config.json中的imu_upside_down参数设置为True后,鸭子变得正常

问题2:鸭子往前走几步就会扑街,不能保持平衡

  • 出现该问题的最大原因还是重心没有调平衡
解决方法
  • 直接细调~/duck_config.json中的舵机偏移量,让鸭子在运行turn_on.py脚本下的曲腿状态时的重心更低更稳
  • 如果经常向前倒地,就将重心调后点,反之调前

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none