ToddlerBot开源人形机器人-1.零点校准

在组装手册和组装视频中,我们已经展示了如何校准ToddlerBot的零点。但本节中我们想进一步阐述一些细节。一旦您熟悉了它,校准过程就会变得非常快。

1.首先,您需要3D打印校准装置。您可以在MakerWorld中找到校准装置的所有切片板。并在Onshape文档中找到CAD文件。

2.插入校准装置时,由于配合紧密,可能会遇到摩擦。固定后,它们应卡入到位,锁定关节。如果关节仍然移动,请检查电缆是否受阻或插入不正确。

calibrate_2.png

第一次在校准装置周围布线可能很棘手,但相信我们,这是完全可行的。对于膝关节,下限与零点对齐,允许关节的自然止动器作为校准参考。对于平行钳口夹持器,零点是组装手册中详细说明的打开位置。

calibrate_1.png

ID_1.png

ID_2.png

3.当您准备校准零点时,可以运行以下脚本:

python toddlerbot/tools/calibrate_zero.py --robot <robot_name> --parts <part_names_separated_by_space>

例如:

左手臂:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts left_arm

右手臂:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts right_arm

左脚踝关节:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  left_ankle

右脚踝关节:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  right_ankle

大腿躯干部分:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  hip

膝关节:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  knee

头部关节:

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  neck

左夹具

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  left_gripper

右夹具

python toddlerbot/tools/calibrate_zero.py --robot toddlerbot  --parts  right_gripper

如果没有指定任何部件,脚本将校准所有关节。您可以在calibrate_zero.py脚本中找到更多信息。

4.接下来,您可以选择检查关节角度以config_motors.json进行复查。然后运行以下脚本将零点传播到实际配置文件:

python toddlerbot/descriptions/add_configs.py --robot <robot_name>

例如:

python toddlerbot/descriptions/add_configs.py --robot toddlerbot

5.最后,我们建议运行站立策略来检查机器人是否直立在地面上。如果不是,您可以按照下一节中所述进一步微调零点。

python toddlerbot/policies/run_policy.py --policy stand --robot <robot_name> --sim real

例如:

conda activate toddlerbot

cd ~/projects/toddlerbot/

python toddlerbot/policies/run_policy.py --policy stand --robot toddlerbot --sim real

可选玩法:

walk

python toddlerbot/policies/run_policy.py --policy walk --robot toddlerbot --sim real

python toddlerbot/policies/run_policy.py --policy push_cart --robot toddlerbot --sim real

俯卧撑

仿真:

python toddlerbot/policies/run_policy.py --policy replay --run-name push_up --vis view

实物:

python toddlerbot/policies/run_policy.py --policy replay --run-name push_up --sim real

更多微调

如果您发现使用3D打印设备进行零点校准后,机器人略微向前或向后倾斜,这完全可能是由于关节的间隙造成的,您可以通过运行此脚本进一步微调零点:

python toddlerbot/policies/run_policy.py --policy calibrate --robot <robot_name> --sim real

例如:

python toddlerbot/policies/run_policy.py --policy calibrate --robot toddlerbot --sim real

该脚本基本上使用来自IMU的躯干俯仰反馈来运行PID控制。您可以在calibrate.py脚本中找到更多信息。

运行此脚本时,机器人将站立并尝试保持直立姿势。当您认为机器人直立时,可以按Ctrl+C停止脚本。

重要提示:请确保在停止脚本时握住机器人,因为电机将被禁用并且机器人将翻倒。然后脚本会将零点保存到配置文件中。