Open Duck Mini V2 文档
搭建问题记录
目录
资料导航
硬件组装
电机配置
电机驱动板供电,并且 Type-C 连接电脑或树莓派。Windows 电脑可以使用 FT 上位机修改 ID。电机设置参考:舵机配置
▶
Windows FT
▶
Python 脚本设置内容
这里的脚本 scripts/configure_motor.py 会设置电机的 ID,PID,和位置,新电机默认检测 ID 1,然后修改至输入 ID,如果电机之前已经配置好 ID,则需要注释行 io.change_id({current_id: int(args.id)})
:
注意,校准后的位置为中位,在 FT 上查看是 2048
参考后续用串口设置 2048 更安全。
切勿直接使用 FT 设置为 0,有个问题是到达 4095 需要绕一整圈。装配好后,肯定是无法做到的,会发生堵转。
1 |
|
▶
使用串口设置中位
- 舵机十六进制指助手
- 波特率 1000000
- 十六进制发送
- 磁编码SMS08.xlsx
在表格中,修改这里的 ID 号和自定义位置,这样电机就会设置当前位置,改为2048。
名称 | ID | 当前位置 0 | 当前位置 2048 |
---|---|---|---|
right_hip_yaw | 10 | FF FF 0A 04 0B 00 00 E6 | FF FF 0A 04 0B 00 08 DE |
right_hip_roll | 11 | FF FF 0B 04 0B 00 00 E5 | FF FF 0B 04 0B 00 08 DD |
right_hip_pitch | 12 | FF FF 0C 04 0B 00 00 E4 | FF FF 0C 04 0B 00 08 DC |
right_knee | 13 | FF FF 0D 04 0B 00 00 E3 | FF FF 0D 04 0B 00 08 DB |
right_ankle | 14 | FF FF 0E 04 0B 00 00 E2 | FF FF 0E 04 0B 00 08 DA |
left_hip_yaw | 20 | FF FF 14 04 0B 00 00 DC | FF FF 14 04 0B 00 08 D4 |
left_hip_roll | 21 | FF FF 15 04 0B 00 00 DB | FF FF 15 04 0B 00 08 D3 |
left_hip_pitch | 22 | FF FF 16 04 0B 00 00 DA | FF FF 16 04 0B 00 08 D2 |
left_knee | 23 | FF FF 17 04 0B 00 00 D9 | FF FF 17 04 0B 00 08 D1 |
left_ankle | 24 | FF FF 18 04 0B 00 00 D8 | FF FF 18 04 0B 00 08 D0 |
neck_pitch | 30 | FF FF 1E 04 0B 00 00 D2 | FF FF 1E 04 0B 00 08 CA |
head_pitch | 31 | FF FF 1F 04 0B 00 00 D1 | FF FF 1F 04 0B 00 08 C9 |
head_yaw | 32 | FF FF 20 04 0B 00 00 D0 | FF FF 20 04 0B 00 08 C8 |
head_roll | 33 | FF FF 21 04 0B 00 00 CF | FF FF 21 04 0B 00 08 C7 |
▶
欧拉角Pitch、Roll、Yaw说明
电路连接
▶
原理图
▶
电源接线连接
为了安全起见,请确保在将电池放入电池座之前,所有电池单元已充电至相同的电压。
电源连接示意图:
- 注意充放电保护板 BMS 直接输出的 8.4V 给电机驱动板和稳压板 UBEC 供电
- 稳压板的 EN 短接帽要拿掉。红灯亮时表示有输出
- UBEC 输出 5V 给头部各模块供电
保护电路连接示意图:
充电电路示意图:
- 充满时,红灯亮,绿灯也亮
- 电池电量不足充电时,红灯亮,绿灯不亮
▶
脚部接触开关连接
调试
Runtime 设置文档:
▶
TODO: 自用树莓派模块简易测试脚本
运行时
1 |
|
▶
陀螺校准
1 |
|
分量 | 含义 | 范围 | 说明 |
---|---|---|---|
sys | 系统整体校准状态 | 0–3 | 依赖于 gyro/accel/mag 的状态 |
gyro | 陀螺仪校准状态 | 0–3 | 静止即可自动完成 |
accel | 加速度计校准状态 | 0–3 | 多方向移动以完成 |
mag | 磁力计校准状态 | 0–3 | 环境干净下旋转设备可完成 |
各模块校准条件说明
🌀 Gyro(陀螺仪):
- 只需要 静止几秒 即可完成。
- 如果你一直在晃动设备,它可能永远达不到 3。
🧭 Magnetometer(磁力计):
- 需要在远离金属、磁场干扰的环境中,多角度旋转设备。
- 室内环境常常干扰大,很难校准到 3。
📐 Accelerometer(加速度计):
- 需要你在多个方向上轻轻移动或旋转设备。
- 不用剧烈甩动,类似于「画圈、倾斜」。
🧠 System(系统):
- 综合其他三个分量,取决于它们的校准状态。
▶
TODO: 手柄连接
仿真
▶
动手生成 Onshape Mujoco
1 |
|
duck/config.json:
1 |
|
1 |
|
1 |
|
1 |
|
▶
sim2real
Onshape 模型文件: https://cad.onshape.com/documents/64074dfcfa379b37d8a47762/w/3650ab4221e215a4f65eb7fe/e/0505c262d882183a25049d05
安装 uv
1 |
|
参考运动发生器:
1 |
|
查看mujoco:
1 |
|
训练:
1 |
|