把“王兴兴寻找下一个王兴兴”这句话放到技术语境里,其实是在问一个非常具体的问题:一家正在快速长大的机器人公司,最稀缺的到底是哪一种人?做机器人研发的人都能看懂,这个赛道当前的瓶颈,已经不是电机能不能转、大模型能不能听懂指令、机器人能不能在视频里走两步。真正卡住量产和产品化的,是能不能有一批工程师,把控制算法、AI模型、硬件设计和制造经验装进同一台机器里,并让它稳定运行几千小时。
所以本文不打算写人物八卦,也不做公司评价。我想把这件事当成一个技术问题来拆:如果一家机器人公司需要找到“下一个王兴兴”,它需要的到底是什么样的能力结构;如果你作为工程师,想成为那个“下一个人”,现在最应该往哪个方向补课。
文章会依次梳理四件事:一是头部机器人公司做对了哪些技术选择,二是机器人研发的完整技术栈到底有多宽,三是高潜力工程师的真实画像,四是个人和企业分别应该怎么设计培养路径。适合三类读者:正在考虑进入机器人行业的开发者,已经在做机器人但卡在瓶颈期的工程师,以及负责搭机器人研发团队的技术管理者。
1. “寻找下一个王兴兴”,到底在找什么
1.1 先别把这件事理解成“寻找创始人”
关于“寻找下一个王兴兴”,大众传播最容易把它讲成一个造星故事:某个年轻人有天赋、有热情、能坚持,于是从零做出惊人的机器人产品。
但从工程角度看,这个叙事遗漏了更关键的部分。机器人不是靠一个人的“灵光一现”做出来的,而是靠一套完整的“设计—仿真—样机—迭代—量产—售后数据回流”机制跑出来的。一款四足或人形机器人,从实验室原型变成能规模化交付的产品,中间真正的瓶颈往往不是“能不能动”,而是“能不能在真实环境里长期稳定地动”。
这意味着,企业真正需要的人才,不是另一个能登台演讲的创始人,而是能在系统级复杂度里持续解决问题的工程师。这类人一能看懂全局,二能在某一个深水区独立攻坚,三能把遥控器里的demo转变成能在客户现场跑通交付的东西。
1.2 系统能力比单项冠军更稀缺
过去几年,AI领域的很多岗位是可以“单兵作战”的。比如训练一个推荐模型、做一版 NLP 服务,一个人加上比较强的算力,可以独立交付。但机器人项目完全不同,它天然是机械、电子、控制、AI、软件、测试、生产多环节咬合的系统工程。
单项能力强的人其实并不少。有人非常会调强化学习 reward,有人非常会写 MPC 求解器,有人嵌入式功底极深。但真正稀缺的,是能用一条主线把这些能力串起来的人。
什么叫“串起来”?不是每个方向都做到专家,而是当某个环节出问题时,你能判断问题出在哪个层次,知道该找谁、该用什么手段验证,并且能设计一个端到端的最小实验来定位问题。这种能力不可能通过刷几门课获得,只能在真刀真枪的项目里磨出来。
1.3 从岗位需求倒推人才图谱
如果一家机器人公司想把“下一个王兴兴”从团队里长出来,它首先要回答:哪些关键岗位最需要高潜人才?
| 岗位方向 | 核心贡献 | 为什么难替代 |
|---|---|---|
| 运动控制工程师 | 步态、全身控制、力控、柔顺控制 | 需要同时理解动力学模型与实时系统约束 |
| 感知与规控工程师 | 避障、导航、抓取、任务规划 | 算法要与机器人硬件能力精确匹配 |
| AI 训练工程师 | 强化学习、模仿学习、策略部署 | 仿真到真机迁移的坑非常多 |
| 嵌入式与电机驱动工程师 | 关节执行器、整机底层通信、实时性 | 硬件限制会在上层被无限放大 |
| 仿真与数据工程师 | 仿真环境、数据回放、遥操作采集 | 决定模型迭代速度的上限 |
| 系统集成与量产工程师 | 可靠性测试、产线导入、售后数据分析 | 决定产品能否走出实验室 |
从这张表可以得出一个判断:没有哪个单一岗位能完全定义“下一个王兴兴”。真正高潜的人,通常是从其中某一个岗位出发,然后逐步向周边扩展,最后形成横跨算法、硬件与系统的全局视野。对这个群体,招聘不能只看简历上的技能树,要看他在复杂系统里的交付方式。
2. 先理解王兴兴们做对了什么技术选择
要讨论谁会成为“下一个”,最好先看看被寻找的人做了哪些关键选择。这里不谈个人经历,只讨论技术路线上值得关注的地方。
2.1 先追求“能用”的运动能力,再叠加智能
人形机器人行业有一个常见误区:以为只要把大模型接上机械本体,机器人就能自然学会干活。但真实情况是,一个连快速行走、抗扰动、上下斜坡都不够稳的本体,上层模型再聪明也没有用。
头部机器人公司给大家的启发,是先把运动控制的底子打扎实。四足机器人能用较短时间实现跑跳、越障、抗踢等能力,背后依赖的是关节电机、驱动器、传感器和实时控制算法的整体调优。这个“先运动后智能”的顺序,不是保守,而是工程上的必然。
如果一上来就追求端到端大模型控制一切,团队往往会被层出不穷的“动不稳定、响应不够快、安全不可控”问题淹没。真正务实的路线是:低层运动控制尽可能确定、可靠,AI 负责任务理解与行为选择,两者通过清晰的接口协作。
2.2 把 AI 当成工具,而不是用来替代物理规律
很多没有做过机器人的人,会误以为智能机器人就是把 GPT 类模型装进机器人。但物理世界的约束是模型想象不到的。机器人要走到桌前抓杯子,必须知道关节角度限制、电机响应延迟、目标物体重量和摩擦,这些信息单靠语言模型无法完全精确推断。
因此,真正有效的技术路线,通常是把大模型当作任务理解、代码生成、人机交互的上层工具,再通过视觉感知、运动规划、伺服控制等模块把指令变成物理世界的动作。这里的人工智能不是替代控制,而是与控制深度融合。
2.3 核心壁垒是“数据—模型—硬件”的正循环
从近年行业进展来看,机器人公司的技术壁垒,逐渐从“能不能造出一个能动的样机”,转向“能不能形成持续迭代的数据闭环”。仿真数据、遥操作数据、真机运行数据、售后故障数据,最终都会变成下一代策略模型的训练素材。
这也意味着,研发团队里最值钱的岗位之一,是能把数据管道搭好的人。数据标注是否规范、失败数据是否被完整保留、仿真环境是否与真机对齐,这些看似不性感的工作,往往决定了 AI 策略的上限。如果一个团队只在渲染视频里证明自己,而在真实数据回传和标注体系上没有积累,它的技术护城河是非常浅的。
3. 机器人研发技术栈全景拆解
想成为“下一个王兴兴”式的工程师,第一步是看清整个技术栈有多宽,再找自己的切入点和扩展路径。
3.1 分五个层次理解机器人系统
| 层次 | 主要任务 | 典型工程难点 |
|---|---|---|
| 本体硬件层 | 结构设计、电机选型、减速器、传感器布局 | 重量、成本、强度、散热的平衡 |
| 底层控制层 | 嵌入式代码、实时通信、状态估计、伺服控制 | 实时性、同步性、低延迟与稳定性 |
| 运动规划层 | 步态生成、避障、全身运动规划、力位混合控制 | 多约束求解、动态平衡、平滑性 |
| 智能决策层 | 视觉语言模型、强化学习、模仿学习、任务规划 | 泛化能力、推理速度、安全边界 |
| 系统与产品层 | 仿真平台、OTA、监控日志、可靠性测试、量产导入 | 可观测性、故障恢复、工程效率 |
大多数工程师一开始都只属于其中一层。但如果你想向“下一个王兴兴”靠近,至少要形成两个意识:第一,知道自己的工作在上下层会如何被影响;第二,能在边界处主动解决问题,而不是等着别人递接口。
3.2 为什么一个人补不全整条链
有人在网上调侃“一个人就是一支机器人团队”,意思是只要会调库、会渲染、会剪辑,就能做出很唬人的机器人视频。但真正的产品级机器人,不可能由单个人在三个月内独立完成。
原因很朴素:现代复杂系统的开发密度已经超出个人能掌握的信息量。一个人可以熟悉整个技术栈的架构理念,但不可能同时深入钻研电机磁场分析、MPC 数值优化、Transformer 训练、CAN 总线时序和产线老化测试。即使有极少数天才能在多个方向达到很高水准,团队的可靠性、分工效率和并行速度仍然离不开组织。
所以,企业寻找的“下一个王兴兴”,不一定是“全能王”,更可能是“能在复杂协作网络里做出关键判断的人”。
3.3 三个最容易忽略的工程环节
机器人研发里,以下三个方向经常被低估,但在实际项目里出问题最多。
第一是真实数据采集与标注。具身智能模型的训练基础是高质量的“状态—动作—结果”数据。遥操作采集是否顺手、失败数据有没有被保留、标注标准是否统一,直接决定模仿学习的最终效果。可现实里,很多团队把精力都放在算法上,数据管线却极其原始。
第二是仿真与真机的双向迁移。仿真环境里 run 得很好,不代表真机能成功,因为仿真无法完全建模摩擦、延迟、装配公差和通信抖动。成熟的团队往往同时维护“sim-to-real”和“real-to-sim”两条通道,反复用真机数据修正仿真。
第三是现场调试与故障恢复。机器人一旦进入长期运行,出现问题的概率会大幅上升。掉线、过温、关节报错、网络抖动,任何一个都可能导致系统停止。能把日志体系、看门狗机制和远程恢复机制做好,比写花哨的算法更体现工程成熟度。
4. 什么样的人,离“下一个王兴兴”最近
4.1 高潜工程师的五个信号
结合机器人行业的人才需求,可以总结出五个高潜信号,比“名校背景”和“顶会论文”更能预测长期表现。
第一个信号:习惯把任务推到闭环。调完模型不是结束,还要看它能不能在真实设备上跑一晚上;代码提交后不是结束,还要确认日志有输出、监控有告警、同事能接手运行。
第二个信号:对物理约束有直觉。看到“在仿真里无人机能飞到 10 米每秒”,会追问真实电机的响应速度和电池放电能力是否支撑;看到“末端速度 5m/s”,会本能想到这对机械臂齿轮箱意味着多大的冲击。
第三个信号:能把失败变成可复现的记录。遇到机器人摔倒,他不是只换一组参数再试,而是记录当前状态、控制输出、传感器数据,把这次失败变成下一次实验的输入。
第四个信号:区分 demo 和产品。能做 demo 的人会让人惊叹,但能负责产品的人更关心成本、良率、售后维修与长期安全。分不清这两者的人,做前沿探索可以,做产品化会非常痛苦。
第五个信号:愿意跨角色沟通。机器人的很多问题出现在接口处。能主动和硬件工程师讨论电机带宽、和算法工程师讨论模型延迟、和产线人员讨论装配公差的人,天然具备系统级视角。
4.2 面试现场怎么读出这些信号
如果你负责选人,不妨少问“你用过哪些框架”,多问“你上一次调试失败的经历是什么”。高潜工程师通常会说清楚失败现象、怀疑方向、验证手段和最终定位;而只会调 API 的人,往往只能说出“重新跑了一下就好了”。
另一个有效问题是“给你一台会莫名摔倒的人形机器人,你会怎么排查”。低段位回答可能是“调大 reward”“换更大模型”;高段位回答会从硬件状态开始,先确认关节温度、编码器数据、通信丢包率,再分层检查状态估计和控制策略。这种问题无法靠背题准备,能真实反映系统思维。
4.3 从最小例子看技术功底差距
下面是一段极简的单摆控制代码,没有商业价值,却能说明“ Demo 高手”和“产品工程师”的区别。
# examples/simple_pole.py # 极简单摆模型,物理精度不高,只用于演示控制闭环与观察者模式。 import math class SimplePole: def __init__(self, length=0.3, damping=0.1): self.length = length self.damping = damping self.angle = 0.3 # 初始角度,单位弧度 self.angular_vel = 0.0 self.inertia = self.length ** 2 def step(self, torque, dt=0.002): # 转动方程经过高度简化,真实系统请用 Pinocchio / MuJoCo 等完整刚体模型。 gravity_torque = 9.8 * self.length * math.sin(self.angle) angular_acc = (torque - gravity_torque - self.damping * self.angular_vel) / self.inertia self.angular_vel += angular_acc * dt self.angle += self.angular_vel * dt return self.angle, self.angular_vel if __name__ == "__main__": pole = SimplePole() for i in range(500): # 重力补偿 + PD 控制,让单摆回到竖直位置 gravity_comp = 9.8 * pole.length * math.sin(pole.angle) torque = gravity_comp - 3.0 * pole.angle - 0.5 * pole.angular_vel pole.step(torque, dt=0.002) if i % 100 == 0: print(f"step={i}, angle={pole.angle:.4f}, angular_vel={pole.angular_vel:.4f}")控制领域的人看到这段代码,会立刻开始挑刺:惯量算错没有、阻尼系数是否合理、离散积分是否稳定、力矩饱和有没有处理。这种“挑刺”不是坏事,反而说明他能把理论映射到真实硬件。能在模型里追问“真实电机延迟和通信抖动要如何建模”的人,才是团队真正需要的人。
5. 从 AI 策略到执行器,还差一层安全过滤
5.1 为什么“模型输出”不能直接发给电机
很多刚进入机器人领域的开发者,会以为强化学习模型输出一个动作,直接写到电机驱动就行。真实系统里,模型输出的只是“期望动作”,它至少要经过状态估计校验、安全限幅、平滑处理和通信封装,才能变成执行器能接受的指令。
这个安全层在实验室里可有可无,在客户现场却决定了系统能不能过安全评估。若策略模型因为输入分布偏移输出一个异常力矩,安全层必须能把它挡住,否则轻则损坏结构,重则伤及周边人员。
下面的代码展示了一个最简单的安全过滤器:速度保护、力矩限幅、变化率限制。
# examples/safety_filter.py # 从 AI 策略输出到真实执行器之间的安全过滤层,仅用于教学演示。 class SafetyFilter: def __init__(self, max_torque=50.0, max_velocity=6.0, torque_rate=100.0): self.max_torque = max_torque # 最大允许力矩 self.max_velocity = max_velocity # 最大允许关节速度 self.torque_rate = torque_rate # 每秒允许的力矩变化上限 self.last_torque = 0.0 def filter(self, target_torque, current_velocity, dt): # 速度保护:当关节超速时,输出反向力矩而不是继续加速 if current_velocity > self.max_velocity: return -self.max_torque if current_velocity < -self.max_velocity: return self.max_torque # 力矩限幅 target_torque = max(-self.max_torque, min(self.max_torque, target_torque)) # 力矩变化率限制,避免机械结构受到突变冲击 max_delta = self.torque_rate * dt if target_torque - self.last_torque > max_delta: target_torque = self.last_torque + max_delta if self.last_torque - target_torque > max_delta: target_torque = self.last_torque - max_delta self.last_torque = target_torque return target_torque if __name__ == "__main__": sf = SafetyFilter() for i in range(100): # 模拟策略输出一个明显超限的力矩指令 raw_command = 100.0 velocity = 3.0 safe_command = sf.filter(raw_command, velocity, dt=0.002) if i % 20 == 0: print(f"step={i}, raw={raw_command}, safe={safe_command:.2f}")运行这段代码,你会看到原始指令 100.0 被持续限幅到接近 50.0