機器人專家是矛盾的結合體。作為專家,我們各自擅長的專業領域。作為通才,我們要有“大局觀”,我們要有廣泛的知識才能做到這一點。
機器人工程師主要分成思考(調查)和做事(實現)兩大類。這就意味著機器人專家需要很好地結合兩種完全不同的工作方式。“調查”的人通常通過思考、閱讀和研究來解決問題。“實現”的人更喜歡通過“弄臟他們的手”來解決問題。
機器人技術則是認真研究和對實物動手之間的微妙平衡。
1. 系統思考
有個項目經理曾告訴我,許多擁有機器人學位的人都會變成項目經歷或系統工程師。這是一個很有意思的事,因為機器人是非常復雜的系統。我們必須精通機械、電子、電氣、變成、傳感,甚至心理學和認知。
好的機器人專家能理解這些不同的系統是如何一起工作的,并且熟知他們所有的理論知識。然而,機械工程師可以合理地說:“那是編程或者電的問題,不是我的工作”,但機器人專家必須精通所有不同的專業領域。
2. 編程思維
編程是機器人工程師的一個相當重要的技能。不管你是底層控制系統(僅使用MATLAB設計控制器)還是設計高級認知系統的計算機科學家,都沒有關系。機器人工程師可以參與任何階段的編程抽象。機器人和其他編程學科之間的主要區別在于,機器人編程師實現硬件、電子和(復雜)的現實世界的互動。
世界上有超過1500種編程語言。盡管你顯然不需要把他們全掌握,但好的機器人專家要有“編程思維”。如果需要的話,他們很快學會任何新的語言。這使我們能很好地進入下一階段。
3. 主動學習
機器人領域有很多技術,在一個項目需要之前,你不可能把所有都學會。即使學了5年本科和3年博士后,我也只觸及了機器人領域的表面而已。
善于主動學習是貫穿整個職業生涯的基本技能。因此,具有良好的閱讀理解能力和掌握學習策略,將幫你在需要的時候快速而容易地學習新知識。
4. 數學
機器人技術并沒有很多“核心”技能,其中之一便是數學。你會發現,要想在機器人技術上取得成功,至少要很好地掌握代數、微積分和幾何。這是因為機器人技術依賴于能理解和處理抽象概念,通常代表這些概念的就是函數和方程組。在理解運動學和技術圖等主題時,幾何顯得特別重要。
5. 科學或其他應用數學
還有一些人(以純數學家為例),他們只需要處理數學,而不用把這些概念應用到現實世界。機器人專家不是這類人。科學和其他應用數學的技能對機器人技術而言是非常重要的,因為現實世界不會像數學那樣精確。確定計算結果什么時候“足以真正工作”是機器人工程師的一項關鍵技能。
6. 判斷與決策
做一個好的機器人專家意味著不斷進行工程決策。你用ROS還是其他系統編程?你的機器人有多少根手指?你要用哪些傳感器?機器人技術充滿了選擇,幾乎從來沒有一個正確的解決方案。
由于機器人專家具備廣泛的基礎知識,你會發現自己在解決某些問題時比其他領域的專家有更好的視角。站在你的立場,判斷與決策是必不可少的。分析性思維能力將讓你從不同的角度分析問題,批判性思維能力將幫助你使用邏輯和推理來平衡每個解決方案的優劣。
7. 良好的溝通能力
作為一個機器人專家,你擁有通才的知識意味著你常常需要向非專業人士解釋各種概念。例如,你可能需要向機械工程師解釋高層次的編程問題,或者向計算機專家解釋結構力學問題。好的機器人專家是不同學科之間的溝通渠道。因此,溝通技巧是至關重要的。擁有良好的口頭表達和寫作能力是非常重要的。另外,如果你有很好的指導技能,這將給你大大加分。
8. 工藝設計
精通技術設計,能夠設計實際工作的東西。這就意味著能弄清楚為什么有些東西不能正常工作,并拿出可行的解決方案,意味著擅長于維修。機器人涉及很廣泛的技術,所以,精通技術設計意味著你能有效地隔離問題的源頭,并提出有效的解決方案。一個天才機器人專家的標志就是擁有“讓它工作”的神奇能力(不管它是什么,但它是壞的)。
9. 復雜問題解決的能力
正如我們從前面的技能中看到的,很多機器人技術都是關于使用你的復雜問題解決能力。這包括預見問題,甚至在問題出現之前解決他們,如果出現故障的話,還需要排除故障。
10. 持久性
最后,由于機器人的復雜性,持久性是一個非常重要的技能。它可能是堅持試圖找出一個特別困難的問題的解決方案,或者是堅持試圖給別人解釋清楚一個復雜的問題。好的機器人專家也以可靠性支持他們的持久性,證明自己的知識和適應性是機器人技術所需要的。