OpenDuckMini快速入门教程-配置duck_config.json文件,调整重心
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
欢迎加入我们的openduckmini交流群,微信扫描右侧二维码立即进群交流
文章说明
- 本教程主要介绍如何配置
duck_config.json文件。 - 通过手工改写配置文件来调整重心
相关设备
OpenDuckMini套件: 采购地址
注意:如果是整机产品,出厂已经配置好,不需要重心配置。或者发现重心已经偏移才需要重心配置。
操作步骤
- 复制json到用户根目录
# 如果之前已经有配置文件,先配置
$ ls ~/duck_config.json
$ cp ~/duck_config.json ~/duck_config.json.bak
# 复制空白配置文件到用户根目录
$ cd ~/open_duck_mini_ws/Open_Duck_Mini_Runtime
$ cp example_config.json ~/duck_config.json
- 根据当前鸭子的实际情况去设置json文件中的参数
- 默认的json文件内容如下
{
"start_paused": false, # 在启动v2_rl_walk_mujoco.py脚本时,鸭子是否处于静止状态
"imu_upside_down": false, # IMU是否倒置安装(该参数很重要,需要根据imu的安装情况来设置,不能忽略)
"phase_frequency_factor_offset": 0.0, # 步态频率偏移
"expression_features": {
"eyes": false, # 是否开启眼部LED
"projector": false, # 是否开启探照灯
"antennas": false, # 是否启用耳部舵机
"speaker": false, # 是否启用扬声器
"microphone": false, # 是否用动麦克风
"camera": false # 是否启用摄像头
},
# 关节偏移量,
"joints_offsets": {
"left_hip_yaw": 0.0,
"left_hip_roll": 0.0,
"left_hip_pitch": 0.0,
"left_knee": 0.0,
"left_ankle": 0.0,
"neck_pitch": 0.0,
"head_pitch": 0.0,
"head_yaw": 0.0,
"head_roll": 0.00,
"right_hip_yaw": 0.0,
"right_hip_roll": 0.0,
"right_hip_pitch": 0.0,
"right_knee": 0.0,
"right_ankle": 0.0
}
}
- 一个配置的重心的例子如下:
{
"start_paused": true,
"imu_upside_down": true,
"phase_frequency_factor_offset": 0.0,
"expression_features": {
"eyes": true,
"projector": true,
"antennas": true,
"speaker": true,
"microphone": false,
"camera": false
},
"joints_offsets": {
"left_hip_yaw": 0.0,
"left_hip_roll": -0.1,
"left_hip_pitch": -0.1,
"left_knee": 0.05,
"left_ankle": 0.1,
"neck_pitch": 0.5,
"head_pitch": -0.5,
"head_yaw": 0.0,
"head_roll": 0.0,
"right_hip_yaw": -0.0,
"right_hip_roll": -0.05,
"right_hip_pitch": 0.1,
"right_knee": 0.05,
"right_ankle": 0.0
}
}
- 关节与参数的对应关系:

配置前后倒重心测试方法如下:
-
重心确认的三个判断:
-
1.站立位判断,放在平整地面上是否容易倒
-
2.前后推判断,从前往后推,从后往前推,是否容易倒
-
3.行走判断,行走中,是否容易倒
-
通常先进行1和2测试。都通过再进行3行走判断
- 站立位判断
- 先让鸭子进入站立位
$ cd ~/open_duck_mini_ws/Open_Duck_Mini_Runtime/scripts
$ python turn_on.py
- 进入站立位如图:

- 放到地面上,确认不前后倒
- 前后推判断
-
把鸭子放到一个平面上,比如平整的地面或台面上
-
用手从后往前推鸭子,检查是否容易前倒,以不容易倒才过关,容易倒需要调节
-
用手从前往后推鸭子,检查是否容易后倒,以不容易倒才过关,容易倒需要调节
- 调整方法:
-
一般情况下,如果组装方法没有错,默认站立位已经是比较好的重心平衡状态,但是舵机的物理差异或者组装误差等,还是会导致重心跟理想状态差距,就需要手动做调参修正。
-
通常是从上往下调整,先调整胯关节(11),腿关节(12),在调整主要集中在膝关节(13) 踝关节(14)舵机。
-
胯关节(11)通常是调整左右重心,如果走路会慢慢倾向一边,说明左右水平出问题了。
-
腿关节(12),膝关节(13),踝关节(14)舵机 通常是调整前后重心,如果出现前后倒,说明前后重心出问题了
-
假设以右脚为例子。每次调节正负0.05,再观察实际情况
-
先调整胯关节(11),right-hip-roll的数值,让它保持水平状态,,如图:

- 再调整腿关节(12),right-hip-ptich的数值,让外壳上边水平为准。可以放水平仪来确认,或打开手机的水平仪,或目测水平

- 再调整膝关节(13),right-knee的数值,正常膝关节角度,以101度为标准,左右微调

- 再调整踝关节(14),right-ankle的数值,保持水平,正常踝关节角度,以45度为标准,左右微调

- 经过上面的调整之后,打开的效果:1.站立不倒;2.前后退不容易倒
- 行走判断:
- 经过上面测试之后,已经有8成能平稳走,但是也可能下地走之后,还会前后倒,这个主要是舵机实际受力不均导致重心偏移了
- 就要重复走再调整膝关节(13)和踝关节(14)调整来达到真正的重心平衡了。
- 直到真正行走能相对平稳了,才算真正成功
问题:
- 突然不稳
如果已经平稳走动了,但突然出现重心不稳,需要检查走动震动是否让螺丝松动了。
- 左右膝盖舵机损坏
如果出现这个舵机损坏情况,出现咔咔的声音,就要检查是否膝关节角度太低,导致冗余空间不足,导致齿轮损坏了。正常应该保持膝关节再在95-101. 重心低回容易稳定,但可能导致对膝关节舵机损伤。
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
欢迎加入我们的openduckmini交流群,微信扫描右侧二维码立即进群交流


















