STEP 07第七步

标定与行走控制

组装完成后,打开 Duck 的电源开关,重新启动 Arduino App Lab 并连接自己的设备。有标定架时固定好 Duck;没有标定架时,也可以用手逐个关节完成零位标定。全部标定完成后,再回到控制页面,让 Duck 站立并通过网页控制前进、后退。

本步操作 6 项

7.1 开机,重新连接自己的 Duck#

打开 Duck 的电源开关,重新启动电脑上的 Arduino App Lab。在设备列表中,选择前面已经配置好的那台 Duck。

重新启动 Arduino App Lab,在设备列表中选择自己配置的 Duck
重新启动 Arduino App Lab,在设备列表中选择自己配置的 Duck

截图中有多台设备,请按自己设置的设备名称选择。出现 Linux credentials 窗口后,在 Password 中输入第一步设置的开发板登录密码,点击 Confirm。

用户名为 arduino,输入初次设置时保存的开发板密码并确认
用户名为 arduino,输入初次设置时保存的开发板密码并确认

这里使用的是 Linux 登录密码,与 Wi-Fi 密码不同。用户名保持界面显示的 arduino。

7.2 运行 XGO Duck,打开控制网页#

连接成功后,进入 XGO Duck 应用,点击右上角的 Run。等待应用启动;运行时按钮会变为 Stop。

进入 XGO Duck 应用,点击右上角 Run
进入 XGO Duck 应用,点击右上角 Run

点击底部的 Python 标签,等待日志出现 Network URL。

在 Python 日志中等待带 IP 地址的 Network URL
在 Python 日志中等待带 IP 地址的 Network URL

在电脑浏览器中打开日志给出的 Network URL。本次截图为 http://192.168.31.253:9527,请使用自己设备当前显示的地址,保留末尾的 :9527。

打开当前 Network URL,进入 XGO Duck 控制网页
打开当前 Network URL,进入 XGO Duck 控制网页

确认页面显示 Servos online:15/15,即全部 15 个舵机在线,且 IMU:online。如果舵机没有全部在线,先核对供电、连接和编号,再继续标定。

7.3 进入标定页面,选择标定方式#

在网页顶部点击 Calibration,进入 Servo centering(舵机中位标定)页面。

点击网页顶部的 Calibration,进入舵机中位标定
点击网页顶部的 Calibration,进入舵机中位标定

进入标定界面时,所有舵机均处于卸载状态,可以用手调整关节。按自己的条件选择下面一种方式:

7.4 逐个关节完成零位标定#

两种方式都需要完成全部 15 个舵机的中位(零位)设置,编号为 10、11、12、13、14;20、21、22、23、24;30、31、32、33、34。

有标定架:固定后逐个设置

按下图标注的顺序操作:先卸载全部舵机,再逐个设置中位。

  1. 点击 Unload all,卸载全部舵机的扭矩,使关节可以手动调整。
  2. 保持 Duck 在标定架中固定好,手动将当前关节调整到机械中位。
  3. 在 Joints 列表中找到该关节对应的 ID,点击它右侧的 Set center & hold,将当前位置设为中位,并让该舵机保持位置。
  4. 继续向下滚动页面,对每个关节重复上述操作,直到全部 15 个舵机都完成设置。
先点击 Unload all,再依次点击各舵机对应的 Set center & hold
先点击 Unload all,再依次点击各舵机对应的 Set center & hold

没有标定架:手动逐个关节设置零位

上电后,在 Arduino App Lab 中运行应用,打开控制页面,点击 Calibration 进入标定界面。此时所有舵机均处于卸载状态,按以下顺序逐个操作:

  1. 扶稳 Duck,参照下面的零位姿态图,用手将一个关节转到零位。
  2. 在页面中找到该舵机对应的 ID,点击右侧的 Set center & hold。
  3. 此时该舵机会保持在当前位置。继续调整下一个关节,再点击它对应的 Set center & hold,依次完成所有关节。
Calibration 标定页面:手动调整到零位后,点击对应关节右侧的 Set center & hold
Calibration 标定页面:手动调整到零位后,点击对应关节右侧的 Set center & hold

零位标定姿态:所有连杆应处于垂直或水平状态。这个姿态下无法站立是正常的,此步骤只用于校准舵机位置。

对照下方正视图和侧视图,核对头颈、腿部及脚部的零位关系。点击图片可放大查看。

零位标定姿态 · 正视图:各连杆呈垂直或水平状态
零位标定姿态 · 正视图:各连杆呈垂直或水平状态
零位标定姿态 · 侧视图:头颈、腿部及脚部的零位关系
零位标定姿态 · 侧视图:头颈、腿部及脚部的零位关系

两种方式都要核对全部关节。 标定截图只显示列表的上半部分,继续向下滚动,完成其余舵机的设置。

点击 Set center & hold 后,当前舵机会保持位置,其他尚未设置的舵机仍处于卸载状态。如需重新调整,点击 Unload all 释放保持,再调整并设置对应关节。

先完成全部中位标定,再进入站立和行走控制。 每次都先摆正当前关节,再点击该 ID 的按钮。

7.5 返回 Control,先站立再进入行走模式#

全部舵机标定完成后,点击网页顶部的 Control,返回控制页面。如果使用了标定架,先将 Duck 从架上取下。准备站立和试走时,将 Duck 放到平整地面并扶稳,然后按以下顺序操作:

  1. 点击 Default pose:舵机进入保持状态,使 Duck 保持站立姿势。
  2. 确认 Duck 站立后,点击 Walk / get up,进入行走控制模式。
返回 Control,先点击 Default pose,再点击 Walk / get up
返回 Control,先点击 Default pose,再点击 Walk / get up

7.6 使用网页控制前进、后退#

向下滚动到 Motion 区域,拖动左侧 Forward / strafe 摇杆,控制 Duck 前进、后退或横移;右侧 Yaw 摇杆用于转向。松开摇杆后,运动输入回到零。

在 Motion 区域拖动摇杆控制移动,下方滑块可调整头部与嘴部
在 Motion 区域拖动摇杆控制移动,下方滑块可调整头部与嘴部
控件 作用
Forward / strafe 控制前进、后退和横移。
Yaw 控制转向。
Zero motion 将运动输入归零。
Head and mouth 使用下方滑块调整头部与嘴部。

Zero motion 用于停止运动输入;页面顶部的 Torque off 会卸载舵机扭矩,使用前先扶稳 Duck。

手册完成:至此,已完成 Wi-Fi 配置、LED 测试、应用导入、终端配置、舵机设置与编号、整机装配和中位标定,可以在控制页面让 Duck 站立并进行前进、后退等操作。

操作配图打开原图 ↗