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的一致
XBOX ONE
键位控制A
: 暂停/取消暂停X
: 启用探照灯B
: 播放随机声音Y
: 启动头部控制 (不推荐使用,有可能导致颈部打印件损坏)LT
: 控制左耳舵机RT
:控制右耳舵机LB
:增加步频,类似冲刺模式左摇杆
:控制前进后退和左右平移右摇杆的左右方向
:控制左右转向D-pad的前后方向
:全局步频控制
注意:如果按了
Y
键进入到头部控制模式,就不能控制身体,左摇杆
可控制头部的前后左右移动,右摇杆的左右方向
则控制左右摇头;再按一下Y
键则退出头部控制模式,回到控制鸭子行走的模式
问题记录
问题1:一启动程序,鸭子就开始乱动,很难站稳
- 正常情况下,启动程序后鸭子应该处于静止状态,顶多偶尔动一下
- 乱动的情况可能有几点:
- 当前的IMU是倒置安装的,是
~/duck_config.json
中的imu_upside_down
没有对应设置为True
- imu没有校准
- 脚部微动开关接线松了或或者微动开关压得太死
- 手柄问题,手柄键位映射不对或者摇杆对应的初始值太高导致一直有方向控制输出
- 当前的IMU是倒置安装的,是
解决方法
- 逐个排查问题的原因
- 排查后发现是将没有配置参数的原因,将
~/duck_config.json
中的imu_upside_down
参数设置为True
后,鸭子变得正常
问题2:鸭子往前走几步就会扑街,不能保持平衡
- 出现该问题的最大原因还是
重心没有调平衡
解决方法
- 直接细调
~/duck_config.json
中的舵机偏移量,让鸭子在运行turn_on.py
脚本下的曲腿状态时的重心更低更稳 - 如果经常向前倒地,就将重心调后点,反之调前
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号