dairy
三个月的过渡期
从比赛结束,到第一次实习,再到离职和拿到新的 offer。
我不知道从哪里开始说起,最近发生的事情不算多,但是都塞满了我的脑子。
我成功离职,也拿到了 wuji 的 offer,9.9号去报到。对我来说,这算是在毕业之前就上岸了。
从5.21号第一次去公司上班,到现在离开,这三个月过得真的很长。一开始觉得一天250就是金山,到了后面,只想赶紧走。
但是如果要说清楚我是怎么去到那里的,还是得从比完赛开始。
今年2月份,我又开始完善自己自瞄的最后一块东西,rm_tracker。这个跟踪器从25年8月就开始写过一次,发现思路不对就放弃了,到了寒假,发现不写不行了,只能继续摸着石头过河。
到了3月份,初代自瞄第一次上车部署就可以打小陀螺,兴奋得我不得了。
25年3月那场比赛留下了太多遗憾,第一次自己写的自瞄,只能勉强打打近战的静态靶。这次花了一年时间,我真的很想赢。
3.28号前的那一个月,我接近疯狂地配合调车。焊线、拼车、修车、换轮子、理线,想办法把布局改得更合理,每一个日夜都在干。剩下两周的时候,我拉着全部人一起帮忙,但最上心的始终还是我和那几个老朋友。连已经失去心气的导航老哥,我都找了回来。
结果到了珠海,比赛还是不如意。电控把自瞄控制逻辑写错了,写成瞄准了才接收我的控制指令,要打的阵营编码也错了。我特别生气,直接哭了。
但是还得继续比。剩下的1v1,我已经没有力气了,就把事情交给了下一任视觉组组长。也是那个时候我才发现,虽然他还会失误,但是调车、检录、上场部署,这些事情他已经能接住了。
还是挺欣慰的。
师兄让我先学神经网络再出来找工作,反正还剩下两个月。他跟我说,出来上班之后就学不了了。
回学校之后,我就开始做自己的事情。那个时候其实没怎么想找工作,我只是对机器学习入了迷。他让我学神经网络,我就从机器学习开始,从逻辑回归一路学下去,慢慢理解模型是怎么拟合输入和输出的。
后面又想为实验室做最后一件事情,就开始写 armor_pose,自己做一个关键点检测网络。输入怎么编码、输出张量怎么解码、backbone 怎么搭、损失怎么计算,再到训练、转 ONNX 和部署,全都自己过了一遍。
这最后两个月,算是把我在 RM 算法组的事情做完了。
我让他们把视频发到实验室官号上,没想到引来了很多流量,也引来了 chenjun。他具体留了什么评论我已经忘了,但是全国 RM 算法群因为这个事情热闹了起来。师兄也把我的视频发到了群里,除了有人说我没技术深度,chenjun 也在这个时候开始招人。
我才知道他原来在一个叫 wuji 的公司上班。
当时我很好奇,算法组的人可以做具身?还是做灵巧手硬件的公司,他在里面到底干什么?
当然,那个时候我肯定不知道。我只是加到了他的 QQ 和微信,像拿到偶像的联系方式一样,已经很高兴了。跟他聊模型的时候,他提醒我少了一个很关键的东西,负样本。我震惊了,原来还有这个问题。
这时师兄的合同期也到了,也在找工作。他说想找 chenjun 聊聊,结果下班去了一趟就拿到了 offer。
上周跟他聊天才知道,他以为那个周一晚上只是过去聊聊,没想到 chenjun 拿着个 ThinkBook 就开始录音,真面上了。哈哈,太顺利了。
我也投过,但是简历石沉大海。我当时也没有真的觉得自己能去 wuji,只是加到好友都觉得很难得了。
师兄提醒我要开始写简历。那时他回来做毕设,从4.27号开始,我就照着他的模板慢慢写。那两周,每个晚上都和他待在实验室,仿佛又回到了我大二、他大三的时候,我们还是能对一些技术上的事情聊很久。
有一天无聊,我们还写了个 ping 所有 IPv4 地址通断性的脚本,做出来之后两个人笑了一晚上。
等我终于有东西可以投了,他也回去上班了。
接下来那几天,我心很累。已经无心上课,也无心待实验室,每天就对着 BOSS 直聘使劲刷。其实我不知道自己到底要找什么,只是看过师兄的简历,也听过他的经历,就去找 VLA、图像处理、机器视觉、3D视觉这些岗位。
连着找了四天,没人回复我。
第五天,有个叫 merry 的 HR 要了我的简历,突然问我师兄是不是惠州学院的,我们是什么关系。我震惊了,原来找到以前招我师兄的 HR 了。
她问我是不是做工程化的,我那个时候根本不知道什么叫工程化,直接说是。
然后就交换微信,打电话,她跟我讲了很多,什么垂直大模型,什么双臂机器人,要把模型部署到机器上,去做物流产线的分拣。
这些对当时的我来说都不是最重要的,最重要的是,我有机会做师兄以前做过的工作了。
技术面也很顺利。我讲了在实验室做的事情,又讲了自己对机械臂的看法。面完师兄帮我打听,才发现面我的 CTO 他也认识,是他以前的同事。打听到的消息是,对我评价很高,干得好肯定转正。
我更激动了。
谈工资的时候,师兄让我报300一天。我也觉得有点高,但还是想试试。HR 说不行,我直接降到200,因为我根本不懂这个行业,只知道自己不会。最后她给我报了250。
当时真的觉得很多,比我之前找的那些200一天的岗位都高。我写了长期实习的合同,开始准备出去上班。
这之后反而更焦虑了。学校的课怎么办,实验找谁帮忙,还有哪些事情没处理完,要见哪些人。临走前见了高中同学,也回家和家里人吃了饭,但心里一直怕学校那边顾不过来。
5.18号,我去了深圳,师兄陪我找房子。最后还是住到了他那个城中村,大学城的平山村。
缘分又接上了。
因为师兄认识 CTO,就搭了个桥,让我提前去看公司。他们刚搬过来没多久,里面很粗糙,也很简陋,但我那个时候觉得,这是我的机会,可以从零开始参与很多事情。
5.21号,正式上班。
那天下雨,我坐地铁过去,8:40就到了,结果他们9:30才陆续到公司。等到后面,才有人叫我去一个办公室坐着,等签合同这些事情,又一直拖到下午。
后来我去办公室找了个位置坐下,那就是我的工位了。
里面的人我一个都不认识,也不知道他们在做什么。我想跟他们交流,但是问了也没什么回应。拿到项目源码之后,就一直看代码。
当时整个具身部门都在同一个实验室,有些人不愿意多分享技术,问过去也不回答。跟实验室差太远了,在学校想到什么就可以拉着人一起聊,这里不是。
第一天下班,我很失望,刚好和 HR 一起坐地铁,她让我放轻松。第二天 CTO 也找我聊了,我问工作的事情,他反问我,代码真的看明白了吗?
我一下子就愣住了。
确实没看明白。我刚进来,连项目都不熟悉,就已经开始焦虑自己为什么没干活了。他说我有点毛躁,但干劲很足,聊完之后我也轻松了一点。
我觉得是自己没有适应公司的节奏,不能再用实验室组长的姿态做事,要先把别人吩咐的事情做好。
那个时候,我真的觉得这个团队很强。
最早做的是物体跟踪和预测,把 RM 里用过的卡尔曼滤波这些东西拿出来,想办法解决机械臂永远慢目标一步的问题。打 RM 了说是,以前的代码又能拿出来用了。
但是机械臂不是自瞄。相机坐标怎么变到机械臂上,手眼怎么标定,TCP 到底在哪里,控制器接收什么东西,夹爪又怎么通信,都要一点点弄明白。
一开始 UR5 只能用固定的 TCP 姿态抓东西,后面慢慢把跟踪、抓取、放置串起来。中间有过坐标不对、机械臂过冲、末端往桌子里压,也有消息没有正常发布,整个执行器就卡住的时候。
每天就是找问题,改,再试。
后面接 FoundationPose,我自己搭服务,处理和客户端的通信,再把估计出来的真实6D姿态接到真机上,根据物体姿态去设计抓取的 TCP 姿态。
它真的抓起来的时候,我高兴得不行。
这部分接入只花了一周,那一轮从抓取做到自己想要的效果,也就三周左右。我一直给师兄发,真的很激动,之前听他讲过的那些事情,现在我也在做了。
那时还在给项目补 launch、配置文件、启动入口和文档,重写决策层,整理状态机。
后面才知道,UR5 主要是演示,真正要去现场的是逐际动力的 TRON2 和宇树。
我这边 UR5 还没结项,同事已经在做人形了,后来我也加入他一起开发。他是个潮汕好男人,后面去上海也是我们一起。
我们没有分得那么清楚,就是一起干,一起学。后面算法组搬去了另一个办公室,这里留下硬件组和我们视觉运控组,慢慢也都能聊起来了。
他写的屎山我有时候真的看不懂,开发会跟不上,但是他遇到问题,我就自己去找办法。IK 求解怎么加快,定位误差怎么修,抓取怎么更稳定,我们就这样一点点往前做。
CTO 并没有教我们这些,很多方案都是我们自己讨论、自己设计的。
但是项目之外的事情,越来越让我受不了。
七月来了两个新同事。有个做 RL 的女生,我觉得很务实,做过项目,也会跟我讲模仿学习和强化学习,挺聊得来。
另一个男的,一上来还没看机器人文档,就开始给项目提意见,说很简单,跟 CTO 保证周五能弄好。后面一直在配环境,电脑和显示器的事情也一直催,我们这边还在赶着调机器,又得分神处理这些东西。
那段时间第一次真的动了想走的念头。
还有一次搬桌子,我们正在调宇树,人力过来催收拾东西。有台主机上还有人在远程干活,我说要先联系,对面却让我们自己找人。最后找来 CTO,他直接说要搬就断电。
这么大的桌子,只来了两个人搬,最后还是我们帮着一起搬。搬到后面才发现,我的背包也没被拿开,上面全是装修的墙灰。
我真的破防了,直接开骂。
这些事情单独拿出来,好像都不算什么大事,但你每天在里面,真的会觉得很累。项目要赶,机器要调,连让我们安稳把事情做完都这么难。
开会也一样。有的仿真明明抓得很勉强,盒子都穿模了,机器人腰和手臂还在乱晃,CTO 已经在说下周可以上真机试试。又说我那边估计6D姿态的项目已经很成熟,让我把代码给别人看。
我自己怎么不知道它已经这么稳定了?
我最受不了的就是这个。我们知道还有什么问题,知道真机上哪里会出事,但是到了他们嘴里,什么都可以试一下,什么都应该很快。
去上海之前两周,师兄已经在劝我跳槽。我当时想,先把上海这次演示做完,做完马上找工作。
到了上海,才是真的不想待了。
我们周三出发,周日回来,两个人带着两台人形机器人。TRON2 把物料抓起来放上传送带,宇树再把传送带上的东西抓下来,做一套上料、下料的演示。
说是展览,其实也是去给韵达那边的人打一针强心剂,让他们知道我们在做这些事情。赶上他们的年会,也有工人代表来看。
搬东西、布置、调试、标定、演示,都是我和同事一起干。
最烦的是,场景根本没有先布好。我们辛辛苦苦调好、标定好,又要顺着他们改,前前后后变了四次。
不是搬一下东西就能继续跑了,位置变了就得重新处理,再确认机器能不能正常做动作。他们一句话,我们又得重新搞。
然后还要听他们嫌抓取效率低。
更离谱的是,有人面对领导和客户直接开始说,在公司实验室一小时能抓1800件,还说这是拿他们的数据初步训练出来的模型效果。
我听得良心过意不去。
我就低着头,很不耐烦,也很生气,想躲起来。我们自己做的东西,能做到什么,怎么做出来的,我难道不知道吗?
连那个年会我都看得难受。一堆人在上面拿着钱,庆祝那些在我看来和他们自己没什么关系的事情,唱着应和流程、没什么感情的歌。官味重,流程多,我真的一点都受不了。
后面还想让我们改动作,接着去搞下周的演示。机器搬过去还要重新部署,还要开发,怎么可能一天就弄完。
这次我直接说时间不允许,同事也帮我说话,我们才没有继续留到下周。
不然就要出差七天了。
更好笑的是,这一趟最后只给了40块餐补。周末出差还得自己提加班,申请也要按他们要求拆,一次不能超过8小时。
我真没想过出来上班是这样的。两个开发,搬运、部署、演示都自己来,还要听不懂我们做什么的人在旁边吹。
我在上海就已经开始总结项目,写在线简历了,没等回来。
周日回深圳又碰上台风天,飞机能不能飞一直让人紧张。我们最后还是回来了,没有被留在那里继续折腾。
刚好师弟师妹们看完 RM 比赛,我就去找他们玩了。周一周二请了假,和算法组的师弟们住电竞酒店,也去了 wuji 的 open day。
那两天真的很难得,终于可以放松了。
也是去了 open day,我才知道 wuji 不只是做灵巧手硬件。从数据采集、模型训练、硬件到真机部署,他们做的是一整套灵巧操作方案,还有自己的生产工厂。
第一次知道 chenjun 在这里的时候,我还在想,一个 RM 算法组的人怎么会在灵巧手公司工作,现在终于能理解了。
结果周三回公司,那个做 RL 的女生已经不在了。
后来联系她才知道,周一开会,她被 CTO 压力哭了。他问她,看论文就没有一点感悟吗?模型和方案都有了,为什么不能直接上真机,还要花这么久做仿真,自己采点数据做后训练不行吗?
甚至说的是十组数据。
我真的不知道怎么说。别人课题用了九千组以上的数据,论文里又是机械臂的方案,我们要用的是人形机器人的手臂。真机不一样,控制不一样,这些东西不是把论文下载下来就可以跑的。
她又绝望又无奈,就走了,来了还不到一个月。
之前还多了个人可以聊,现在又没了。我更想早点跑。
那个一直和我一起做项目的同事还在,到现在也还在公司扛着。现在视觉运控这边,就剩他一个核心了。
差不多做了三个月的时候,CTO 找我1v1,问后面的发展规划和对公司的看法。我那个时候已经不想讲这些了,我不说你的问题,只说人手不够。
他说模型组不是已经有人过来帮忙做 RL 了吗?
我真的力竭了。他还是不理解,能跑模型和有真机开发经验不是一回事。后面又来了个说有真机经验的人,一问是现场部署、PLC,那也不是我们现在缺的开发。
我就给自己找了个还技术债的事情做,重构项目,顺便复习以前做过的东西,学 Rust、多线程,也准备简历和作品集。
BOSS 上还是很多已读不回,师兄说可以帮我内推。我准备了大概两周,简历主要是他帮我改,作品集和技术准备我自己解决,他也尽他所能了。
等到准备好了,才把东西给他。
这期间公司还在给我塞别的事情。飞书突然有人问我是不是对接机械臂的,他们要做协作机械臂,让我写按键控制。我根本不认识他,也不知道他在做什么,回了不是我负责的,他还继续发需求。
最后 CTO 还是让我去帮忙。
过去问他们,想要怎么动、什么效果,说不清楚,代码没有,项目链接也没有。最后丢了个 TRON2 的文档,说写成这样就好。
这样是哪样?
还好我做过 TRON2,大概知道他们想像那样用 WebSocket 发字段控制。我写了个末端控制交过去,文档里把怎么启动、怎么用、API 协议、控制对象和怎么 debug 都写了。
结果上来还是一句,怎么用?
我就让他看文档了,真的不想再解释。
到了 wuji 一面,面我的人是他们18号员工,运控问得很深。IK 怎么解,怎么优化,底层逻辑是什么,基本围着我的作品集问了一个小时。
这是好事,说明他真的在看我做过什么。但是我压力大得要死,面完已经觉得自己过不了了。
二面是 chenjun。open day 的时候见过,所以除了继续问技术深度,也聊了很多别的。我问他 Rust、公司的 workflow、对 all in AI 的看法,聊得挺来。
但我还是不知道能不能进。
他问我有没有看过 ROS2 底层的 TF 算法,也问了以前把 MLP 换成 CNN 的事情。他觉得我的理念没有讲清楚,没有 benchmark 证明换成 CNN 更好。
我当时是看到了 MLP 的局限性,也在真机上热切换验证过,但是确实没有做一套完整的对比。
他们的工作流,还有面试时表现出来的技术能力,都让我觉得这里很有前途。
然后某个周三下午,offer 真的来了。
我终于可以走了。
我先去问那个已经离职的女生,具体流程怎么走,然后找 CTO 提离职。
没想到被骂了两个小时,说我不负责任这些。我又去找一开始招我的 HR 和人力,第一天还是没走成,说我这样是一走了之。
我觉得这样不行,晚上特意写了一千字左右的小作文给 CTO,第二天继续做交接。
要交给三个人,运控的同事、算法组的人都在里面。算法组那个还是现学 UR5,对真机的安全意识也不够,很多事情讲起来很费劲。
但是交接的时候,我又有一种走马灯的感觉。
那些都是我花过心血的东西,从一开始看不懂代码,到机械臂真的能动、能跟、能抓,再到后来的人形机器人。重新复现给他们看的时候,我还是一如既往地激动。
前一天还在为离职的事情生气,第二天看见自己做的东西跑起来,又会想给他们讲清楚。
交接完,找 CTO 签了字,才终于走了。
走出公司的时候,我对这里没有任何留念。我很讨厌这家公司,但是我会怀念一起干活的同事。
那天晚上,我去和师兄吃饭,玩得很开心。
周五又回了学校,在实验室待到周日才回家。和师弟师妹聊了很多,他们也很开心我回来。
我终于不用一边待在那里,一边想着公司还有什么事情了。
刚来深圳的时候,是师兄陪我找房子;现在离开这家公司,又是他帮我把简历推了进去。第一次投 wuji 没有回音,绕了一圈,我们真的可以在同一间公司上班了,上级还是那个开源大佬 chenjun。
现在又要去一个新的地方,我反而有一种回到实验室的感觉。
现在的我是那时大一刚面试完 DT46 算法组的我。