在工業機器人領域做演算法工程師是怎樣的體驗?
進入工業機器人領域就是從演算法工程師做起的,沒邀強答一下,哈哈。
工業機器人的演算法工程師其實和其他領域的演算法工程師的工作流程沒什麼大的區別,一般都是:
很多時間是在看論文,還有很多時間在研究為什麼實際結果和模擬的不一樣,剩下的時間在敲代碼。
國內絕大多數工業機器人公司都還沒有上規模,很少有專門的只做演算法預研和模擬的部門,因此要求演算法工程師需要同時具備理論研究、推導、模擬以及編程實現的能力,Matlab/Python + C/C++是基本要求。
把主要工作內容總結一下,就是Bruno Siciliano他們所寫的那本書名:Modeling,Planning,Control:- Modeling,包括運動學建模,動力學建模,柔性建模、摩擦力模型等等,模型是規劃和控制的基礎;
- Planning,包括路徑規劃,姿態規劃,速度規劃等;
- Control,除了伺服控制外,在控制器層面上主要包括力控,柔順控制、拖動示教、視覺伺服、抑振等;
機器人演算法的方向非常廣,上面說的不一定全部掌握,崗位要求不同側重點就不一樣。但是最好都了解一些,因為你的演算法或多或少都會用到其他方向的知識,或者受到其他方面的限制,多了解一些有助於加快解決問題的速度。
除了這些基礎的演算法,還會遇到一些與實際工藝相結合的演算法開發,比如說弧焊領域和點焊領域,對速度規劃的要求就完全不一樣,這個根據每家公司的方向不同會有所變化。
演算法做到底層就是數學,任何想在演算法方面有所發展的同學請一定學好數學。(數學好也是我們招聘演算法工程師的硬性要求)
國內工業機器人行業的發展落後國外好多年,我們是在追趕別人的腳步,所以參考國外機型對標研發的情況比較多。
每每看到國外廠商推出新機型或者新的宣傳視頻展示卓越的運動控制水平時,心裡就會有很多感嘆,媽蛋,差距好大。「我擦,xx家的機器人跑的好快,研究研究咋搞的。。。」
「我擦,xx家的機器人這功能咋實現的,快去找找有木有發論文。。。」「我擦,xx你修了1個bug,搞出來3個新bug,快來看看怎麼回事!」國內機器人現在太浮躁,技術研發和積累是漸進的,需要時間積累,基本不會有「彎道超車」的可能,別被專家忽悠了。
按部就班往往是最好的方式。
專欄:知乎專欄我們公司是做智能移動機器人的,軟體研發部門有兩種職位:軟體開發工程師,演算法工程師。
軟開負責軟體架構、組態軟體、業務邏輯、應用功能等開發。演算法主要有定位導航和機器視覺兩類。我是一專搞定位的演算法工程師,乾的事是根據應用場合融合不同感測器數據實時解算機器人的位置。
說體驗之前想先說一下「演算法」,很多人包括很多來我司應聘的都對這個演算法存在誤解:以為演算法指的是計算機專業里數據結構與演算法的那個演算法。而實際上我們要的演算法是指對機器人某一方向(如定位導航、機器視覺)具有一定理論基礎和實踐經驗並具備一定學術研究能力的人。當然這個演算法也需要具備一定的編程和數據結構與演算法方面的能力,但這不是重點。不知題主指的演算法是哪種?
下面說體驗
根據上面的描述,應該大致能想像演算法每天乾的事了。總的感受就是小可既像搞工程的又像搞科研的,既是一個苦逼的程序員又像一個泡論文等待畢業的煙酒僧。我要根據工程需求制定方案,做理論分析,建模型,推公式,查論文,看技術手冊,做模擬,編代碼,調試驗證,並可能參與一定的工程實施。面對問題有思路時還好,一步步推導驗證實施就ok,感覺生活真美好。沒有思路時,抓頭髮,咬筆頭,最尷尬的是這個時候領導和項目經理看你老沒動靜跑來問時間節點。每天的工作時間8:30——17:00。晚上有時候加班,周末雙休很少加班。另國內做軟體研發的,沒有不加班的。總結:感覺不是很辛苦,做的事有那麼點價值,挺好。ps:相比於在學校搞科研,我更喜歡在公司做演算法。在公司目標很「現實」,就是要做出真正可以用的東西,不搞虛的,不騙經費,不為了發文章。你感覺你做的是真正能看到價值的東西。當然這是以偏概全的說法,我只是根據自己的經歷表達一下個人傾向。我是做機器人控制程序的,說白了就是實現控制演算法的。雖然不研究演算法,但能成功地按照期望的演算法設計在真正實物上實現時,心中還是無比自豪的,富有成就感,這就是大多數工科男還孜孜不倦的從事著既辛苦而工資又不算高的工作的緣由吧!
推薦閱讀:
※如何看待安川電機和美的集團建立工業機器人和服務機器人兩個合資公司?
※用電流反饋和力感測器是不是都可以實現工業機器人的觸停、示教或力控打磨,這兩種方式各有哪些優勢和不足?
※universal robot無力矩感測器的情況下, 如何建立精確動力學模型的?
※自適應控制和魯棒控制在工業機器人的控制系統中用的多嗎?
※AGV的關鍵技術跟突破點有哪些?