我應該也算是機器人演算法工程師了,我所在實驗室就叫學習演算法與系統實驗室(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中你看到的僅僅是冰山一角。 走到這一步,聰明的人就停留在仿真了,仿真的世界真的很美好 。