Microduck机器鸭:399美元的Sim2Real开源四足教科书
2026/9/8 19:55:02 网站建设 项目流程

最近两天,国内外机器人社区被一个名字刷了屏:Microduck。一只巴掌大小的机器鸭,定价399美元,从开源仓库到训练代码全公开,官方和技术博主都不约而同地给它贴了一个标签——Sim2Real教科书。说实话,这个标签比“399美元”更吸引我。因为四足机器人开源的不少,便宜的也不少,但能把强化学习训练到真机迁移这条链路完整跑通、还能让普通爱好者复现的,真的不多。

我接触过多款四足机器人项目,从MIT的mini cheetah到各种开源四足套件,最大的感受是:硬件可以买个热闹,Sim2Real才是真正的分水岭。仿真里让机器人跑起来很容易,但把同一个策略搬到真机、让四条腿不摔,需要的是对整个训练和部署流程的深度理解。Microduck之所以能被叫成“教科书”,不是因为它有多前沿,而是它把这条链路拆成了一个普通人也能上手的完整方案。这篇文章我就从这个角度,把它的硬件、训练、部署和复现过程中最容易被忽略的细节,一层层拆开讲清楚。

1. Microduck凭什么火:不是鸭子可爱,是它把Sim2Real变成了能上手的工程

1.1 一只机器鸭,和它那位“贵得离谱”的大哥

关注四足机器人领域的人,应该对MacroDuck多少有点印象。那是一只用工业级执行器和精密机加件堆出来的机器鸭,整体方案的定价接近数万美元,定位更偏向研究平台。Microduck的名字一听就知道是什么来路——它是MacroDuck的“平价缩小版”,把价格从数万美元打到399美元,差了接近两个数量级。

这不是单纯把尺寸做小、把外壳换成3D打印件那么简单。真正有意思的地方在于:Microduck保留了和MacroDuck几乎一致的Sim2Real训练方法论,也就是在仿真环境里用强化学习训练步态策略,然后zero-shot部署到真机。所谓zero-shot,就是仿真里训练完的策略,不做任何真机适应性调整,直接跑到实体机器人上就能用。这在几年前还是实验室里才敢宣称的事情,现在被一个399美元的桌面级小鸭子做成了默认能力。

我最初看到这个项目时,第一反应是“又是哪个团队用豪华硬件刷存在感”。但翻了它的硬件物料和技术文档之后才意识到,Microduck完全没有靠高性能传感器或昂贵力矩电机撑场面,它用的就是普通爱好者在淘宝也能买到的执行器、3D打印结构件和一块不算高端的计算板。也就是说,它火的核心不是“便宜”,而是“用便宜硬件证明了一条可复现的Sim2Real路径”。

1.2 爆火背后:开源、可复现、低门槛

过去几年,Sim2Real相关的学术论文并不少,但很多论文的可复现性其实是打折扣的。有的不公开训练代码,有的只公开了仿真部分但真机部署细节写得含糊其辞,还有的虽然开源了,但依赖的某个自定义环境已经年久失修,跑都跑不起来。对于想入门这个方向的工程师和学生来说,这非常劝退。

Microduck做的事情恰恰相反:它把整套链路做成了“开箱即用”。从机械结构图纸、BOM物料清单、电路设计,到仿真环境、训练脚本、部署代码,全部摆在仓库里。你不需要去猜某个参数为什么是这个值,因为它甚至把训练曲线和真机调试记录都整理成了文档。这种完整度在开源机器人项目里非常罕见,也是它能被称为“教科书”的直接原因。

另一个让它爆火的点,是它把门槛降到了“一个普通开发者周末能复现”的程度。不需要精密加工设备,3D打印件加上标准规格的螺丝就能组装;不需要昂贵的GPU集群,单张消费级显卡就能完成训练;不需要专业调试台架,桌子上的空地就是测试场。这让很多原本只敢看论文的人,第一次有了亲手跑通Sim2Real的冲动。

2. Sim2Real的本质矛盾:仿真越稳,真机越容易翻车

2.1 仿真到现实的四道坎

很多人对Sim2Real的理解是“先在仿真里练,再搬到真机”,听起来像流水线一样顺滑,但实际操作中,仿真和现实之间的差距往往大得离谱。我习惯把这道鸿沟拆成四个层面的偏差:

第一是动力学模型误差。仿真里的连杆质量、质心位置、转动惯量是从CAD模型里读出来的,但3D打印件内部填充率不同、螺丝松紧程度不同、线材缠绕位置不同,真实机器人的质量分布会和模型有出入。更麻烦的是摩擦,关节减速器的摩擦力矩、足底与地面接触的摩擦系数,都不可能和仿真参数完全一致。

第二是执行器响应差异。仿真里电机几乎是被理想化的,给一个电压或电流指令,力矩马上就能跟上。但真实电机的电流环、速度环、位置环都有带宽极限,指令和实际输出之间存在相位滞后。尤其在动态步态中,这种滞后会让策略在真机上感觉“浑身发飘”。

第三是传感器噪声和延迟。仿真里的IMU数据是干净的、零延迟的,编码器读数精确到小数点后好几位。真机上的IMU有漂移、有高斯噪声,还有安装误差产生的轴偏置;编码器则受限于分辨率,低速时读数会跳变。这些噪声进入策略网络之后,很容易让模型产生不存在的“幻影动作”。

第四是控制频率和通信延迟。仿真环境中的控制循环频率可以轻易做到1000Hz,但真机上的通信链路、主控系统、策略推理、关节驱动,每个环节都会引入毫秒级的延迟。对于需要快速响应的步态策略,几毫秒的延迟就可能让一个本应稳定的落脚点产生偏移。

2.2 弥合鸿沟的三板斧:域随机化、系统辨识、实到仿真

理解了偏差来源,再看主流的解决方案,无非三条路线。

域随机化是最常见也最实用的手段。它的思路很直接:训练时不使用固定物理参数,而是在每次环境重置时,随机采样一批物理参数,比如机身质量在正负20%之间浮动、地面摩擦系数在0.3到1.0之间浮动、电机力矩增益在正负10%之间浮动。这样训练出来的策略,不再依赖某个精确的仿真模型,而是学会在一个物理参数分布范围内都能正常工作。

系统辨识是另一条路,思路是把仿真模型调成和真机无限接近。做法是采集真机上的响应数据,比如给某个关节一个阶跃电压,记录角度随时间变化的轨迹,然后调整仿真中的电机参数和摩擦参数,让仿真复现同样的轨迹。这样仿真模型就成了真机的“数字孪生”,训练结果自然更接近现实。

实到仿真是最近几年兴起的方向,利用真实数据来修正仿真,甚至直接用真机数据训练世界模型。但这类方法通常需要大量真机数据采集,对低成本项目来说成本偏高。Microduck这类项目,核心还是依赖域随机化,同时辅以简单的系统辨识,因为这是性价比最高、也最容易上手的组合。

2.3 Microduck做对了哪件事:零样本迁移的底气

回到Microduck本身。它的零样本迁移能成功,不是因为用了什么黑科技,而是把上面提到的细节都做对了。

最关键的,是它的训练过程没有“过拟合仿真”。很多入门者训练策略时,发现仿真里跑步成绩越来越好,就急着部署真机,结果一开机就摔。原因通常是奖励函数里只鼓励前进速度,策略学会了利用仿真环境的某种缺陷——比如利用脚底摩擦力无限大的特性,做出一些不自然的蹬地动作。Microduck这类成熟项目会在奖励函数里加入大量“防作弊”项:关节加速度惩罚、动作平滑性惩罚、机身姿态稳定性惩罚、能耗惩罚。这些项的作用不是让它跑得更快,而是逼着策略搜索一个在真实物理条件下依然稳健的行为空间。

另一个容易被忽略的细节是控制频率。Microduck在仿真训练时就刻意降低了控制频率,模拟真实的通信延迟和计算耗时,避免部署时出现频率降级。这个做法非常建议复现:与其在仿真里用1000Hz控制训练出一个“高速策略”,不如在训练时就固定在300Hz或500Hz,这样部署到真机后,策略的行为和仿真里几乎一致。

3. 399美元的成本艺术:硬件选型背后的工程逻辑

3.1 四足机器人把钱花在哪:执行器是下限,结构件是上限

在做硬件成本拆解之前,先看一个基本规律:四足机器人的成本大头从来不是外壳和控制板,而是执行器。微型直流减速电机、无刷电机配上驱动器和减速器,单价从几十到几百美元不等,一台四足机器人至少需要八个这样的执行器(每条腿两个,分别控制髋关节和膝关节,部分设计还会加侧摆关节变成每条腿三个)。执行器直接决定了机器人能承受多大冲击、能输出多大扭矩,也就决定了整机的性能下限。

Microduck能把价格控制在399美元,核心策略就是在执行器上做减法。它没有追求高功率密度,而是选择一组刚好够驱动的低成本电机,配合轻量化结构设计。机身尽量用镂空3D打印结构减轻重量,从而降低对电机扭矩的需求。这是一个非常重要的工程思路:不是“选一个更强的电机去支撑笨重的机身”,而是“先让机身足够轻,再选一个够用的电机”。

结构件方面,3D打印是必然选择。打印耗材便宜、加工周期短、迭代快,设计上还能做拓扑优化减重。但要注意,3D打印件的刚度和韧性都不如铝合金,如果设计时没有合理增加加强筋或壁厚,机器人跑一段时间后容易在应力集中处开裂。Microduck这类项目通常会在受力较大的连接件处做加厚处理,或者在内部埋入螺纹钢套来增强承力。

3.2 两脑分工:上位机跑策略、下位机跑关节控制

低成本机器人最怕的就是“什么都想在一块板上完成”。如果让主控同时负责运行强化学习策略、处理IMU数据、控制八个电机、维护通信协议,负载一高,控制频率就会不稳,直接破坏Sim2Real的一致性。

Microduck的架构是典型的“两脑分工”:上位机负责高算力任务,比如神经网络策略推理、状态估计、日志记录;下位机负责实时性要求最高的关节控制,比如PD控制器、电流环、编码器读取和电机指令输出。这样分工的好处很明显:策略推理偶尔慢几毫秒不会致命,但关节控制在每个周期内必须稳定执行,否则机器人会瞬间失去平衡。

这种架构在工业机器人上很常见,但在桌面级开源项目里能做到这么清爽的不多。我见过很多学习项目把控制逻辑全堆在一块开发板上,结果一旦跑深度学习推理,关节响应就开始抽风。如果你打算复现Microduck,这个两级架构值得最先借鉴。

3.3 3D打印与低价电机:省钱而不牺牲性能的取舍

3D打印件给机器人带来的最大问题不是强度,而是尺寸精度。电机输出轴和打印轴承座之间的配合,如果公差控制不好,装上去要么太紧转动不畅,要么太松产生旷量。关节旷量在控制上是个很麻烦的东西:它会在受力时产生随机位移,相当于给系统注入额外噪声,策略在真机上会表现得“隐隐发抖”。

处理旷量有两个常见办法。第一种是在设计时给配合孔预留适当间隙,再用螺丝压紧结构件来消除轴向旷量;第二种是在关节处加一些柔性垫片,把金属零件和打印件之间的空隙填满。这些小细节,项目文档里往往一句话带过,但实际调试时能救你半天时间。

低价电机的问题集中在齿槽效应和摩擦力不均匀上。齿槽效应会让电机在低速时转动不顺滑,产生周期性顿挫;摩擦力不均匀则导致同一个位置指令在不同方向上的响应不同。这些非理想特性在仿真里都不存在,但域随机化在一定程度上能兜底。如果不想让策略在这种电机上翻车,训练时给电机力矩增益和摩擦加一个较大的随机范围,比花更多钱买高精度电机更实际。

4. 完整训练链路拆解:从仿真到真机的每一步

4.1 环境搭建:资产、地面、物理参数

先说明一点:Microduck的完整训练代码在仓库里是开源的,但如果你第一次接触Sim2Real,不要急着直接跑命令,先理解环境里每个配置项背后的含义会省很多事。

仿真环境搭建的第一步,是把机器人模型导入到物理引擎里。这个过程不是简单加载一个STL文件就完事,还要定义每个关节的类型、电机功率、力矩上限、摩擦系数、阻尼系数。以常见的开源方案为例,如果是用Isaac Lab或MuJoCo,模型文件通常是URDF或MJCF格式,里面要写明每个link的质量和惯性张量。很多人忽略惯性张量的准确性,直接从CAD软件导出默认值,但3D打印件的实际密度和CAD材质定义往往不一致,导致仿真机器人的动态响应偏“飘”。

地面和环境的设置同样重要。训练初期建议在平坦地面进行,但摩擦系数不要固定成单一值。把地面摩擦系数设成一个随机区间,训练出的策略才能在瓷砖、木地板、地毯等不同真机场景上稳定行走。环境里最好再随机添加一些小的凸起或倾斜面,幅度不用大,几毫米的高度差就足够让策略学会动态调节姿态。

4.2 观察空间与动作空间:RL里最重要的一对“接口”

强化学习训练时,策略网络就像一个黑箱控制器,一边接收观察,一边输出动作。定义观察空间和动作空间,本质上是在设计这个控制器的输入输出接口,这个设计的好坏直接决定Sim2Real的迁移难度。

观察空间通常包含:机身姿态(roll、pitch、yaw角及角速度),机身线速度,各关节的角度和角速度,前一时刻的动作输出,有时还会包含足底接触传感器信号。关键点是:训练时喂给策略的所有观察量,在真机上必须都能拿到,而且要尽量保持噪声分布一致。如果仿真里用了“上帝视角”的真值速度,真机上却没有高精度速度观测来源,策略就等于被训练在了一个错误的信息环境里,迁移时必然出事。

动作空间的选择也很讲究。常见做法有两种:直接输出关节目标位置,或输出关节位置的增量。增量式动作相当于每步在上一时刻位置基础上加一个小的修正量,对策略来说更容易学出平滑动作,也天然带有一阶惯性滤波的效果,真机执行起来更柔和。Microduck这类项目的默认配置通常采用增量式,配合缩放系数,限制每一步动作的幅度上限,避免策略在训练初期输出过大的危险指令。

4.3 奖励函数:怎么让策略学会“好好走路”

奖励函数是训练的灵魂,也是最容易“翻车”的地方。一个典型的四足行走奖励函数,至少包含以下几个部分:

奖励项表达式思路作用建议权重
前进速度实测速度与目标速度的差值,越接近越大驱动策略向前走,是核心任务奖励1.0
朝向保持机身偏航角与目标方向的夹角惩罚防止走着走着偏离方向0.5
机身姿态稳定roll、pitch偏离零值时的惩罚让机身保持水平,减少摔倒风险0.5
关节加速度对相邻两步关节速度差值做惩罚抑制动作抖动和“高频震颤”0.05
能耗对关节力矩与角速度乘积做惩罚减少不必要的用力,让步态更自然0.1
动作平滑对输出动作的幅度变化做惩罚避免急加速、急减速的暴力步态0.05

这些权重不是一拍脑袋定出来的,需要根据训练表现反复调。比如前进速度权重太高,策略会倾向于“跑酷式”的快速蹬地,能耗和冲击都很大;朝向奖励权重太低,机器人可能走出一个圆弧而不是直线。调试时我会建议一次只改一个权重,观察训练曲线和仿真表现,而不是同时动好几个项,否则出了问题你根本不知道是哪一项导致的。

另一个要提醒的点:奖励函数里所有用到速度或角速度的项,都必须小心处理“零速度最省力”的陷阱。如果只设置前进速度奖励而没有足够的姿态惩罚,策略很可能学会站在原地保持平衡,因为这样能耗最低,又在姿态项上得分不低。解决办法是设置一个“最小速度门槛”,低于门槛的回合直接给惩罚,逼着策略往前走。

4.4 训练监控、模型导出与真机部署

训练开始后,不要只盯着“平均回报”这一条曲线。更重要的指标是训练过程中机器人在仿真里的实际表现:它有没有摔倒?步态是不是对称?有没有异常的关节抖动?这些观察往往比数值曲线更能反映问题。建议在训练过程中定期保存模型检查点,并行跑几个回合做可视化回放,亲眼看看策略学到的是什么。

策略训练完成后的导出,是很多人忽视的一步。PyTorch训练出的模型通常需要导出成ONNX或TensorRT格式,再做量化或裁剪,才能在低成本计算板上跑得动。导出时要注意输入输出的维度、数据精度和batch size设置,尤其要确认输入观察量的顺序和归一化参数和训练时完全一致。部署前的最后一步,是写一个小的本地回测脚本,用随机噪声模拟真机传感器噪声,复现一遍策略的输入输出,看是否和仿真结果一致。

真机部署的循环大体是这样:

# 简化后的真机部署循环(伪代码) state = "WALK" # 初始状态 while running: # 1. 上位机读取传感器数据 imu = read_imu() joint_angles = read_joint_encoders() joint_velocities = read_joint_velocities() # 2. 组装观察向量,注意归一化参数要与训练时一致 obs = build_observation(imu, joint_angles, joint_velocities) # 3. 策略推理,得到动作增量 action_delta = policy(torch.tensor(obs)) # 4. 将动作增量转换为关节目标位置,并做限幅 target_pos = clamp(current_joint_pos + action_delta * scale, joint_lower_limit, joint_upper_limit) # 5. 下发给下位机执行位置闭环 send_joint_targets(target_pos) # 6. 按固定频率等待下一个周期 sleep(control_interval)

第一次把机器人放上地面时,务必把动作缩放系数调小,并用手扶持机身。不要直接全速跑策略,给机器人一个“半悬空”状态先观察关节运动方向是否正确,再逐步放到地面上。

5. 复现Microduck最容易翻车的四个坑

5.1 电机参数没辨识就直接训,迁移必摔

我第一次复现Sim2Real四足项目时,直接用了仿真里的默认电机参数训练,部署到真机后,机器人连最基本的站立姿态都无法维持,四条腿一直在小幅颤抖,像是得了帕金森。排查很久才发现,问题不在策略,而在电机模型和真机不匹配。

低价电机最明显的两个特征是“死区”和“非线性增益”。所谓死区,就是输入指令太小的时候,电机因为静摩擦和齿槽效应根本不动;非线性增益则是相同幅度的指令,在不同位置、不同方向上的实际转速差异很大。如果仿真里完全不考虑这些,策略就会基于一个“指哪打哪”的完美执行器来规划动作,真机执行时自然全乱。

解决的办法是做一个简易的系统辨识:让每个关节输出一个固定脉宽调制信号,记录稳定后的关节角速度,通过多组不同脉宽的数据,拟合出电压到转速的近似线性区间。把死区大小和增益非线性作为一个随机范围加入仿真训练,虽然不能完全消除偏差,但能让策略学会在“不那么听话”的执行器面前保持稳定。

5.2 仿真喂真值,真机没真值:观测空间的设计偏差

这个问题非常隐蔽,也非常致命。在仿真环境里,机器人模型的质心速度、足底接触力这些物理量是可以直接读真值的。很多人在设计观察空间时图省事,直接把真值速度丢进去,结果训练效果又快又好。但部署真机时,你很难低成本地获得高精度的机身速度,只有一个噪声很大的IMU,通过积分估计速度还会漂移。

解决思路有两种。第一种是设计一个状态估计器,比如卡尔曼滤波或互补滤波,把IMU和编码器数据融合出相对可靠的机身速度,再去对比仿真里加了噪声的速度观测。第二种是更推荐的做法:在仿真训练时,主动给速度观测加噪声和延迟,模拟真实估计器的表现,让策略从一开始就适应这种“带噪声的速度环境”。这样部署后的表现,反而比试图追求精确速度观测更稳健。

我在实际项目中采用过第二种方案,效果很好。做法是在训练环境的速度观测上加均值为零、方差逐渐增大的高斯噪声,甚至偶尔干脆把某个时刻的速度观测置为零。策略为了拿到奖励,只能学会不完全依赖速度信号——这恰恰是它在真机上能活下来的原因。

5.3 通信延迟:那个在仿真里不存在、真机上躲不掉的问题

仿真里的控制循环是纯计算的过程,没有通信延迟的概念。但真机上,策略推理在上位机,关节控制在分别位于机身不同位置的驱动板或下位机上,数据需要经过总线传输,这个过程会产生延迟。更麻烦的是,主控系统同时还要处理其他日志、通信任务,延迟不是固定值,而是有抖动的。

毫秒级延迟对于慢速机器人没啥影响,但对于动态步态,哪怕是5毫秒的延迟,都会让策略的补偿动作迟半拍,导致机器人在高速奔跑时“越调越偏”。我自己遇到过一种情况:仿真里小跑非常稳,真机一开始小跑就往左偏,一开始以为是结构问题,排查了很久发现是上位机的策略推理线程被日志任务抢占,在某些帧推理时间突然从3毫秒涨到10毫秒,控制节奏被彻底打乱。

解决思路有三个层面:一是从软件上提高控制线程优先级,把日志、可视化等任务丢到低优先级线程;二是降低策略输入的频率,让控制周期放宽到300Hz,给系统更多余量;三是在仿真训练时加入随机延迟模块,给动作输出施加一个随机时延,模拟真实通信的不确定性。第三个做法非常有效,训练出的策略对时序抖动有天然鲁棒性。

5.4 电池电压跌落:最容易被忽略的状态变化

这个问题在桌面级机器人上尤其明显。电池满电和接近空电时,电压差可以达到25%以上,直接影响电机的最大转速和最大力矩。仿真里如果默认电机永远有充足电压,真机在电量下降后就会发现:原本能完成的动作,现在输出力矩不够,机器人开始变“软”,动作变形。

更麻烦的是,电压下降不是线性的,它在负载加大时会瞬间跌得更厉害。当机器人刚落地或发生冲击时,瞬时大电流会让电池输出电压猛地下降,电机短暂失去响应,形成“供电不足—动作失败—电流更大—电压更低”的恶性循环。这种非线性掉电行为,在仿真里几乎不可能精确建模。

应对方法有两个:第一,在训练时对电机力矩输出乘上一个随机系数,模拟电池电压在80%到100%之间波动;第二,在真机控制代码里加一个电压监控,当电压低于阈值时自动降低允许的最大动作幅度和速度,牺牲性能换取稳定。这两个策略叠加,虽然不能让机器人在弱电状态下还能跑得和满电一样好,但至少能避免它毫无预兆地突然摔倒。

6. 把这本书翻完:Microduck给个人开发者和创业团队的启示

6.1 算法可迁移,硬件才有底气做减法

很多人看到Microduck,第一反应是“哦,就是把硬件做便宜了”。但我觉得,它真正示范的是:当一套Sim2Real方法论足够成熟和稳定时,硬件的高昂成本就不再是必需品。算法能够容忍误差、噪声和不完美的执行器,硬件设计就可以大胆选用低成本方案,这才是“算法红利”变现的完整链条。

这对个人开发者和创业团队都是巨大的启发。过去做一台能跑强化学习步态的机器人,动辄几万元起步,团队要把主要精力花在凑齐一套“够好”的硬件上。而现在,你可以花几百美元买到一台物理平台,把精力和预算集中在策略、状态估计和控制逻辑上。Sim2Real这个词,从论文里的概念,变成了一个可以在普通办公桌上运行的工程实践。

6.2 完整开源才是最奢侈的“可复现性”

Microduck让我感触最深的一点,是它的开源方式。不是把代码往仓库一丢就完事,而是连硬件图纸、装配说明、训练配置、调参记录、常见问题都做了整理。这种完整度让后来者可以按图索骥,把踩坑成本降到最低。对开源社区来说,这种“可复现性”本身才是最奢侈的资源,因为它意味着一个方向能持续吸引新人加入,而不是让每个人都在同一个坑里重复浪费三个月。

我在这个行业里见过太多“半开源”项目,硬件开源但不给物料清单,或代码公开但缺依赖说明。这些项目往往热度一时,沉淀不下来。Microduck的走红,其实也是社区对这种“负责任开源”的正向反馈——好的技术值得传播,但能让人真正复现的技术,才值得被当作教科书。

6.3 接着可以往哪走:感知、地形、更复杂的Sim2Real

如果你把Microduck的这套链路完整跑通了,下一步的扩展方向非常清晰。最简单的是增加感知能力,在机身上装一个低成本摄像头,用简单的目标检测或深度估计,配合策略网络做视觉引导行走;再进阶一些,可以尝试在仿真里加入更复杂的地形——楼梯、斜坡、碎石路面,配合更丰富的域随机化参数,让策略在户外场景也能保持稳定;再往后,还可以试着把训练对象从四足改成双足,或者换成带机械臂的复合机器人,原理相同,但每个环节的难度都会上一个台阶。

从个人学习角度来说,把这些扩展走一遍,你对机器人系统的理解会从“会跑代码”进化为“能设计系统”:知道哪些误差可以靠算法吸收,哪些偏差必须在结构上解决,哪些延迟可以通过架构调整规避。这套能力,是任何单一技能点都替代不了的。

我自己在实际复现这类项目时,最深的体会是:仿真里的“完美表现”往往是真机翻车的最大诱因。与其让仿真像素级复刻真机,不如在训练时大方地加入噪声、延迟、随机误差,让策略在“不完美的世界”里长出来。Microduck这本教科书最有价值的地方,不是教会你怎么跑通一个demo,而是让你亲眼看到:机器人的鲁棒性,从来不是靠硬件堆出来的,而是在训练中一点一点磨出来的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询