turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » OpenDuckMini快速入门教程 » OpenDuckMini快速入门教程-配置duck_config.json文件,调整重心

OpenDuckMini快速入门教程-配置duck_config.json文件,调整重心

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

欢迎加入我们的openduckmini交流群,微信扫描右侧二维码立即进群交流

群二维码

文章说明

  • 本教程主要介绍如何配置duck_config.json文件。
  • 通过手工改写配置文件来调整重心

相关设备

注意:如果是整机产品,出厂已经配置好,不需要重心配置。或者发现重心已经偏移才需要重心配置。

操作步骤

  • 复制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行走判断

  1. 站立位判断
  • 先让鸭子进入站立位
$ cd ~/open_duck_mini_ws/Open_Duck_Mini_Runtime/scripts
$ python turn_on.py
  • 进入站立位如图:

请输入图片描述

  • 放到地面上,确认不前后倒
  1. 前后推判断
  • 把鸭子放到一个平面上,比如平整的地面或台面上

  • 用手从后往前推鸭子,检查是否容易前倒,以不容易倒才过关,容易倒需要调节

  • 用手从前往后推鸭子,检查是否容易后倒,以不容易倒才过关,容易倒需要调节

  1. 调整方法:
  • 一般情况下,如果组装方法没有错,默认站立位已经是比较好的重心平衡状态,但是舵机的物理差异或者组装误差等,还是会导致重心跟理想状态差距,就需要手动做调参修正。

  • 通常是从上往下调整,先调整胯关节(11),腿关节(12),在调整主要集中在膝关节(13) 踝关节(14)舵机。

  • 胯关节(11)通常是调整左右重心,如果走路会慢慢倾向一边,说明左右水平出问题了。

  • 腿关节(12),膝关节(13),踝关节(14)舵机 通常是调整前后重心,如果出现前后倒,说明前后重心出问题了

  • 假设以右脚为例子。每次调节正负0.05,再观察实际情况

  • 先调整胯关节(11),right-hip-roll的数值,让它保持水平状态,,如图:

right-hip-roll.png

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

right-hip-ptich.png

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

right-knee

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

right-ankle.png

  • 经过上面的调整之后,打开的效果:1.站立不倒;2.前后退不容易倒
  1. 行走判断:
  • 经过上面测试之后,已经有8成能平稳走,但是也可能下地走之后,还会前后倒,这个主要是舵机实际受力不均导致重心偏移了
  • 就要重复走再调整膝关节(13)和踝关节(14)调整来达到真正的重心平衡了。
  • 直到真正行走能相对平稳了,才算真正成功

问题:

  1. 突然不稳

如果已经平稳走动了,但突然出现重心不稳,需要检查走动震动是否让螺丝松动了。

  1. 左右膝盖舵机损坏

如果出现这个舵机损坏情况,出现咔咔的声音,就要检查是否膝关节角度太低,导致冗余空间不足,导致齿轮损坏了。正常应该保持膝关节再在95-101. 重心低回容易稳定,但可能导致对膝关节舵机损伤。

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

欢迎加入我们的openduckmini交流群,微信扫描右侧二维码立即进群交流

群二维码

标签: openduckmini