从机器人的身体理解它的行为
Microduck 为什么能够站立、转向和行走?答案不是某一个零件,而是一条完整链路:机械结构规定可动方式,电机施加力,传感器测量状态,计算机运行控制器,供电与通信让所有部分持续协作。
本科生导读 · 从可见部件走向完整系统
1 · 身体与关节:什么能够运动?
机器人的躯干、头部、大腿、小腿和脚可以看作一组刚体。刚体内部的点彼此距离不变;关节则规定两个刚体之间允许怎样相对运动。Microduck 的腿是一条运动链:髋关节运动会带动它下方的大腿、小腿和脚,膝关节只带动小腿和脚。
一个关节角并不能单独说明脚在哪里。脚的位置取决于它上游所有关节角、连杆长度以及坐标系定义。所谓正向运动学,就是从已知关节角逐级计算末端位置。三维页面演示的是这种几何关系;它不计算重力、碰撞或平衡。
从角度到脚的位置
以二维的单根连杆为例,长度为 L,转角为 q,末端相对关节的位置是 x=L cos(q)、y=L sin(q)。真实腿有多个三维关节,因此要连续组合多个旋转和平移,但基本思想相同。
2 · 电机与共享总线:命令怎样变成运动?
舵机把电机、齿轮、位置传感器和底层控制器组合在一起。上层软件发送目标位置;舵机反复比较目标位置与实测位置,并调节电流。齿轮提高可用转矩,但也带来摩擦、间隙、速度限制和温升。
多个舵机可以共享一条通信总线。每个舵机有地址,因此计算机能够发送目标并读取位置、速度或状态。共享总线减少布线,却意味着带宽、更新顺序和通信错误会影响整台机器人。
两个控制环,而不是一个
策略通常以较低频率产生关节目标;舵机内部的位置环以更高频率追踪目标。策略决定“下一步想要什么姿态”,底层环决定“怎样驱动电机接近该姿态”。仿真若把电机假设得过快或过强,训练出的动作就可能无法在实体机上复现。
3 · 传感器:机器人知道什么?
关节编码器测量关节位置,并可由连续读数估计速度。惯性测量单元(IMU)通常包含陀螺仪和加速度计:陀螺仪测量角速度,加速度计测量包括重力影响在内的比力。控制器可以把重力方向投影到机身坐标系,用它判断身体是否倾斜。
每个观测都必须带着三个问题阅读:它在哪个坐标系中?单位是什么?对应哪个时刻?传感器噪声、偏置、安装误差与时间延迟都会让读数偏离理想值。滤波可以降低噪声,但也会增加延迟。
观测不是事实本身
机器人没有直接测量“我是否稳定”的传感器。控制器只能把 IMU、关节状态和历史动作组合起来估计当前情况。摄像头可以提供图像,但本课程的行走策略并不因此自动使用视觉。
4 · 板载计算:策略在哪里运行?
板载计算机负责读取观测、构造神经网络输入、执行策略、缩放输出、检查安全条件并发送关节目标。三维装配模型显示 Raspberry Pi Zero 2 W,但这只说明所选模型版本;不同实体版本可能使用不同计算平台。
20 毫秒预算
若控制频率是 50 Hz,每一轮只有 20 ms。读取传感器、预处理、神经网络推理、安全检查和通信都必须在下一截止时间前完成。平均速度足够快还不够;偶发的长延迟也会破坏节奏。因此应记录每轮延迟分布与超时,而不是只报告平均值。
5 · 供电与接口:什么支撑整个系统?
电池向计算机、传感器和舵机供能。行走时多个关节可能同时需要峰值电流,电压会随电量、内阻和负载变化。若电压下降,电机响应可能变慢,计算机也可能重启。电池状态因此会影响“相同命令”是否产生相同行为。
接口不仅是插头,还包括电压范围、信号协议、地址、单位、刷新率和故障处理规则。安全设计应限制关节目标变化和允许范围,监测通信、姿态、电流与温度,并保留人可控制的停止方式。
硬件学习的核心结论
运动是整条链路的结果:结构约束运动,电机产生力,传感器提供不完美的测量,计算机按时做决定,供电决定可用能力。任何一层发生变化,都可能改变最终步态。