我应该也算是机器人算法工程师了,我所在实验室就叫学习算法与系统实验室(LASA, Learning Algorithm and System Lab,
Learning Algorithms and Systems Laboratory (LASA))。那些说没有这个职位的就不要闹了, robot software and algorithm engineer是一个很大的市场空缺。
简单的说, 最深的体验就是:You have to take someone's shit. (受虐,无处不在) 。你需要懂的东西很多,需要你一次次走出自己的舒适区域。
我只能以我的经历说一下:
2011年,我刚到实验室,实验室有个女博士后(postdoc)在做 抓取规划 (grasp planning),我老板让我一起做这个项目,我研究室也是做的这个,所以可以很快的上手。但是,为了用一个优化的算法(IPOPT),整个规划(planning)是用AMPL(
The AMPL Book)写的,Bell实验室出品,速度也是很好的,但是那个语法完全虐死人。我保证你们都没有用过,用过之后就不想再见到这货了。经过半年的努力,我也算是走通了整个MTALAB到AMPL+IPOPT的流程,然后程序要在CMU的一个服务器(server)上跑一个星期,得到了很多花样的炫酷的grasp(比如一个简单圆柱体大概得到3000+个不同grasp)。
然后呢,当然要把这些grasp在仿真里面显示出来。当时实验室在使用一款叫RobotToolKit(
GitHub - epfl-lasa/robot-toolkit: The robot simulator and interface of LASA)的自己开发的机器人仿真软件,没有说明文档,没有人有太多时间教你,关键是我当时连coding也是很渣的(当然现在也很烂。。。)。好不容易弄懂了整个逻辑,也会仿照着别人的东西写一些demo了。在simulation里面一跑,各种grasp不能实现,需要把物体摆在机器人工作空间某个非常合适的位置,恰好IK(逆运动学)可以找到合适的关节角。总之,3000个grasp,做了一下分类(简单clustering), 最终挑选出还能看的也就下图20个。为了这20个grasp,我几乎花了两三个月的时间。但最终也算知道这个仿真软件的一些基本东西了,也知道所有research中你看到的仅仅是冰山一角。 走到这一步,聪明的人就停留在仿真了,仿真的世界真的很美好 。