當前位置: 華文問答 > 科學

如何系統性地學習工業機器人技術?

2018-12-20科學

收到很多關於工業機器人學習、入門的邀請和私信,在這裏統一回復一下,不足之處請各位指正。

知友們關註的學習方向主要有兩個:機器人整合套用和機器研發。

--機器人整合套用

先說整合套用,這裏面又可以分為兩個部份:機器人編程和生產工藝。

工業機器人經過半個世紀的發展,編程技術已經非常成熟,雖然各個廠商之間的程式語言和操作方式還無法通用,但是其背後的理論基礎和功能都是類似的, 學好任何一家的操作,再切換的其他家不會有太大難度。

學習機器人編程,最有效的方法是參加培訓,可以是機器人廠商組織的(采購機器人時可以和廠商談,合約額較大時,附送n人/次的培訓問題不大,推薦KUKA,官方的培訓業務很專業,而且有良好的分級制度),也可以是社會上的培訓機構組織的。

但是培訓只能提供入門的知識,重要的是回來之後自己要多操作,多使用。機器人的指令就那麽多,用的多自然就熟練了。

如果你現在的情況無法參加培訓,或者身邊沒有機器人可供操作,可以考慮使用離線編程軟體來自學,這裏推薦從ABB的機器人入手,主要原因有以下幾個:

  • 所有廠家中,ABB的資料最為完整、詳細;
  • 非常完善的機器人語言系統:RAPID(90種數據型別,193個內建函式,328條指令);
  • 強大的離線編程軟體RobotStudio,全功能版免費試用1個月;
  • 如果英文不好,ABB的中文手冊轉譯水平相對其他家較高(雖然也很差。。。)。
  • 閱讀ABB機器人文件可參考這個順序:

    1. 【Operating manual - IRC5 with FlexPendant】 介紹了IRC5控制器的基本操作方法和編程知識;
    2. 【Technical reference manual - RAPID Instructions, Functions and Data types】RAPID語言所有指令、函式和數據型別的介紹和使用方法;
    3. 【Product specification - Controller software IRC5】對IRC5支持的軟體特性進行了概述,可以增強對IRC5的整體認識;
    4. 【Application manual - Integrated Vision】機器視覺文件,以及其他需要或者感興趣的Application manual;
    5. 【Operating manual - Trouble shooting IRC5】故障排除手冊,使用過程中遇到幾乎任何問題都可以在這裏找到答案。

    以上文件大部份都有中文版,不過還是推薦閱讀英文版,糟糕的轉譯可能會影響對內容的理解。

    RobotStudio中內建的虛擬控制器與實際控制櫃中執行的軟體是完全一樣的,軟體裏也整合了一個虛擬示教器,操作界面與實際也完全一樣,因此在RobotStudio中學到的機器人編程知識可以無縫套用到實體機器人中。此外,熟練使用離線仿真軟體也是一個合格的機器人套用工程師的必備技能。

    關於ABB的學習資料,還可以關註這個網址:

    http:// robotpartner.cn/

    如果對KUKA感興趣,也可以使用KUKA在培訓時使用的OfficeLite,這是一個執行在虛擬機器上的示教器+控制器,可以完成絕大部份KUKA機器人的操作,缺點是沒有機器人的三維場景,不太直觀。見下圖:

    但是KUKA的中文操作界面有很多轉譯坑die的地方,舉個簡單例子,大家自己看:

    學會機器人編程,只是整合套用的一部份,一個計畫做得好壞,更多的取決於計畫組對生產工藝/流程的了解和設計實施程度。機器人的套用場合越來越多,建議有誌在此領域發展的知友專註於鉆研1~2個行業,不要太過分散,向DURR,CLOOS這些企業學習。

    --機器人研發

    知乎上其實有很多非常棒的關於學習機器人技術的回答,搜尋一下其實可以獲得很多資訊,做研發的人員應該具備良好的 歸納問題-->收集資訊 的能力。另外,強烈建議做技術的同學購買VPN,使用google進行資訊搜尋,一年也就不到一頓擼串的價格,但是為你節約的時間是無價的。記住Marc Raibert所說的:Money saves time,and money!

    首選要做的,找幾本經典的入門書籍認真讀完,推薦列表可參考:

    機器人領域有哪些必讀的「聖經」(書籍或論文或其他讀物)? - 韓峰濤的回答

    非演算法方向的,推薦【機器人學導論】,難度適中,覆蓋範圍廣;其次推薦那兩本機器人手冊,從演算法到結構都有涉及,可放在手邊作為參考。

    演算法方向的,除了上面的書籍之外,更多的是閱讀論文和實踐。推薦使用ROS

    ROS.org | Powering the world's robots

    (工業機器人是ROS-I

    ROS-Industrial

    )進行演算法學習和驗證,支持Python和C++,可用的開源庫非常多,文件也很詳細,不再贅述。此外,使用ROS相比Matlab有個好處,那就是可以盡早鍛煉實際的軟體編碼能力。

    產品方向的,必須了解機器人的基本知識,不要只關註互動,「可行性」論證和設計在機器人產品研發中的比重要遠高於軟體產品。

    另外,

    @傅睿卿

    對機器人所用到的技術做了一個很好的歸納

    應該學習哪些方面的知識,才能適應機器人研發的工作? - 傅睿卿的回答

    如果你還在學校讀書,可以參考一下這篇回答:

    自動化專業畢業的學長學姐們都在從事什麽樣的工作?有什麽樣的體會或者遺憾是關於大學的? - 韓峰濤的回答

    是否是自動化專業不重要,道理都是相通的。

    做技術研發同樣需要熟悉機器人的基本操作,時間不夠的話無需太過深入,了解自己所做工作的實際套用場合及緣由即可,學習渠道可參考上半部份。

    最後,再次強調, 請一定鍛煉自己使用各種工具搜集資訊、整理資訊的能力

    暫時想到這些,後期想到別的再補充。



    專欄:

    OnionBots - 知乎專欄

    歡迎關註我們的公眾號(珞石機器人,A輪,招人中):