06.16 乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

機器人的主要特點之一是其通用性,是機器人具有可編程能力是實現這一特點的重要手段。機器人編程必然涉及機器人語言。機器人語言是使用符號來描述機器人動作的方法,它通過對機器人的描述,使機器人按照編程者的意圖進行各種操作。

乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

機器人語言的產生和發展是與機器人技術的發展以及計算機編程語言的發展緊密相關的。編程系統的核心問題是操作運動控制問題。

機器人編程系統以及方法

機器人編程是機器人運動和控制問題的結合點,也是機器人系統最關鍵的問題之一。當前實用的工業機器人常為離線編程或示教,在調試階段可以通過示教控制盒對編譯好的程序一步一步地進行,調試成功後可投入正式運行。

機器人語言操作系統包括3個基本的操作狀態:

  1. 監控狀態
  2. 編程狀態
  3. 執行狀態

監控狀態:用來進行整個系統的監督控制。

編輯狀態

:提供操作者編制程序或編輯程序

執行狀態:用來執行機器人程序

把機器人源程序轉換成機器碼,以便機器人控制櫃能直接讀取和執行,編譯後的程序運行速度將大大加快。

根據機器人不同的工作要求,需要不同的編程。編程能力和編程方式有很大的關係,編程方式決定著機器人的適應性和作業能力。隨著計算機在工業上的廣泛應用,工業機器人的計算機編程變得日益重要。

乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

編程語言也是多種多樣的,目前工業機器人的編程方式有以下幾種:

  • 順序控制的編程
  • 在順序控制的機器中,所有的控制都是由機械或者電氣的順序控制來實現,一般沒有程序設計的要求。順序控制的靈活性小,這是因為所有的工作過程都已編輯好,由機械擋塊,或其他確定的辦法所控制。大量的自動機都是在順序控制下操作的,這種方法的主要優點是成本低、易於控制和操作。
  • 示教方式編程
  • 目前,大多數工業機器人都具有采用示教方式來編程的功能。示教方式編程一般可分為手把手示教編程和示教盒示教編程兩種方式:
  1. 手把手示教編程:主要用於噴漆、弧焊等要求實現連續軌跡控制的工業機器人示教編程中。具體的方法是利用示教手柄引導末端執行器經過所要求的位置,同時由傳感器檢測出工業機器人個關節處的座標值,並由控制系統記錄、存儲下這些數據信息。實際工作中,工業機器人的控制系統會重複再現示教過的軌跡和操作技能。
  2. 手把手示教編程也能實現點位控制,與CP控制不同的是它只記錄個軌跡程序移動的兩端點位置,軌跡的運動速度則按各軌跡程序段應對的功能數據輸入。
  3. 示教盒示教編程方式是人工利用示教盒上所具有的各種功能的按鈕來驅動工業機器人的各關節軸,按作業所需要的順序單軸運動或多關節協調運動,完成位置和功能的示教編程。示教盒示教一般用於大型機器人或危險條件作業下的機器人示教。
乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

脫機編程或預編程

脫機編程和預編程的含義相同,它是指用機器人程序語言預先用示教的方法編程,脫機編程的優點:

  1. 編程可以不使用機器人,可以騰出機器人去做其他工作
  2. 可預先優化操作方案和運行週期
  3. 以前完成的過程或子程序可結合到代編的程序中去
  4. 可以用傳感器探測外部信息,從而使機器人做出相應的響應。這種響應使機器人可以在自適應的方式下工作
  5. 控制功能中,可以包含現有的計算機輔助設計(CAD)和計算機輔助製造(CAM)的信息
  6. 可以用預先運行程序來模擬實際運動,從而不會出現危險,以在屏幕上模擬機器人運動來輔助編程
  7. 對不同的工作目的,只需替換一部分待定的程序

在非自適應系統中,沒有外界環境的反饋,僅有的輸入是關節傳感器的測量值,從而可以使用簡單的程序設計手段。

乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

對機器人的編程要求

  1. 能夠建立世界模型
  2. 能夠描述機器人的作業
  3. 能夠描述機器人的運動
  4. 允許用戶規定執行流程
  5. 有良好的編輯環境

機器人語言可以按照其作業描述水平的程度分為:動作級編程語言、對象級編程語言和任務級編程語言三類。

乾貨講解:機器人編程系統方法以及編輯語言的類型,貌似很有用哦

一.動作級編程語言

動作級編程語言是最低一級的機器人語言。它以機器人的運動描述為主,通常一條指令對應機器人的一個動作,表示從機器人的一個位姿運動到另一個位姿。動作級編程語言的優點是比較簡單,編程容易。其缺點是功能有限,無法進行繁複的數學運算,不接受浮點數和字符串,子程序不含有自變量;不能接受複雜的傳感器信息,只能接受傳感器開關信息;與計算機的通信能力很差。典型的動作級編程語言為VAL語言,如AVL語言語句“MOVE TO (destination)”的含義為機器人從當前位姿運動到目的位姿。

動作級編程語言編程時分為關節級編程末端執行器級編程兩種。

1)關節級編程

關節級編程是以機器人的關節為對象,編程時給出機器人一系列各關節位置的時間序列,在關節座標系中進行的一種編程方法。對於直角座標型機器人和圓柱座標型機器人,由於直角關節和圓柱關節的表示比較簡單,這種方法編程較為適用;而對具有迴轉關節的關節型機器人,由於關節位置的時間序列表示困難,即使一個簡單的動作也要經過許多複雜的運算,故這一方法並不適用。

關節級編程可以通過簡單的編程指令來實現,也可以通過示教盒示教和鍵入示教實現。

2)末端執行器級編程

末端執行器級編程在機器人作業空間的直角座標系中進行。在此直角座標系中給出機器人末端執行器一系列位姿組成位姿的時間序列,連同其他一些輔助功能如力覺、觸覺、視覺等的時間序列,同時確定作業量、作業工具等,協調地進行機器人動作的控制。

這種編程方法允許有簡單的條件分支,有感知功能,可以選擇和設定工具,有時還有並行功能,數據實時處理能力強。

二.對象級編程語言

所謂對象即作業及作業物體本身。對象級編程語言是比動作級編程語言高一級的編程語言,它不需要描述機器人手爪的運動,只要由編程人員用程序的形式給出作業本身順序過程的描述和環境模型的描述,即描述操作物與操作物之間的關係。通過編譯程序機器人即能知道如何動作。

這類語言典型的例子有AML及AUTOPASS等語言,其特點為:

(1) 具有動作級編程語言的全部動作功能。

(2) 有較強的感知能力,能處理複雜的傳感器信息,可以利用傳感器信息來修改、更新環境的描述和模型,也可以利用傳感器信息進行控制、測試和監督。

(3) 具有良好的開放性,語言系統提供了開發平臺,用戶可以根據需要增加指令,擴展語言功能。

(4) 數字計算和數據處理能力強,可以處理浮點數,能與計算機進行即時通信。

對象級編程語言用接近自然語言的方法描述對象的變化。對象級編程語言的運算功能、作業對象的位姿時序、作業量、作業對象承受的力和力矩等都可以以表達式的形式出現。系統中機器人尺寸參數、作業對象及工具等參數一般以知識庫和數據庫的形式存在,系統編譯程序時獲取這些信息後對機器人動作過程進行仿真,再進行實現作業對象合適的位姿,獲取傳感器信息並處理,迴避障礙以及與其他設備通信等工作。

三.任務級編程語言

任務級編程語言是比前兩類更高級的一種語言,也是最理想的機器人高級語言。這類語言不需要用機器人的動作來描述作業任務,也不需要描述機器人對象物的中間狀態過程,只需要按照某種規則描述機器人對象物的初始狀態和最終目標狀態,機器人語言系統即可利用已有的環境信息和知識庫、數據庫自動進行推理、計算,從而自動生成機器人詳細的動作、順序和數據。例如,一裝配機器人慾完成某一螺釘的裝配,螺釘的初始位置和裝配後的目標位置已知,當發出抓取螺釘的命令時,語言系統從初始位置到目標位置之間尋找路徑,在複雜的作業環境中找出一條不會與周圍障礙物產生碰撞的合適路徑,在初始位置處選擇恰當的姿態抓取螺釘,沿此路徑運動到目標位置。在此過程中,作業中間狀態作業方案的設計、工序的選擇、動作的前後安排等一系列問題都由計算機自動完成。

任務級編程語言的結構十分複雜,需要人工智能的理論基礎和大型知識庫、數據庫的支持,目前還不是十分完善,是一種理想狀態下的語言,有待於進一步的研究。但可以相信,隨著人工智能技術及數據庫技術的不斷髮展,任務級編程語言必將取代其他語言而成為機器人語言的主流,使得機器人的編程應用變得十分簡單。

一般用戶接觸到的語言都是機器人公司自己開發的針對用戶的語言平臺,通俗易懂,在這一層次,每一個機器人公司都有自己語法規則和語言形式,這些都不重要,因為這層是給用戶示教編程使用的。在這個語言平臺之後是一種基於硬件相關的高級語言平臺,如C語言、C++語言、基於IEC61131標準語言等,這些語言是機器人公司做機器人系統開發時所使用的語言平臺,這一層次的語言平臺可以編寫翻譯解釋程序,針對用戶示教的語言平臺編寫的程序進行翻譯解釋成該層語言所能理解的指令,該層語言平臺主要進行運動學和控制方面的編程,再底層就是硬件語言,如基於Intel硬件的彙編指令等。

商用機器人公司提供給用戶的編程接口一般都是自己開發的簡單的示教編程語言系統,如KUKA、ABB等,機器人控制系統提供商提供給用戶的一般是第二層語言平臺,在這一平臺層次,控制系統供應商可能提供了機器人運動學算法和核心的多軸聯動插補算法,用戶可以針對自己設計的產品應用自由的進行二次開發,該層語言平臺具有較好的開放性,但是用戶的工作量也相應增加,這一層次的平臺主要是針對機器人開發廠商的平臺,如歐系一些機器人控制系統供應商就是基於IEC61131標準的編程語言平臺。最底層的彙編語言級別的編程環境我們一般不用太關注,這些是控制系統芯片硬件廠商的事。

各家工業機器人公司的機器人編程語言都不相同,各家有各家自己的編程語言。但是,不論變化多大,其關鍵特性都很相似。比如Staubli 機器人的編程語言叫VAL3,風格和Basic相似;ABB的叫做RAPID,風格和C相似;還有Adept Robotics 的V+,Fanuc,KUKA,MOTOMAN都有專用的編程語言,但是大都是相似.而由於機器人的發明公司Unimation公司最開始的語言就是VAL,所以這些語言結構都有所相似。 VAL語言是美國Unimation公司於1979年推出的一種機器人編程語言,主要配置在PUMA和UNIMATION等型機器人上,是一種專用的動作類描述語言。

VAL語言是在BASIC語言的基礎上發展起來的,所以與BASIC語言的結構很相似。在VAL的基礎上Unimation公司推出了VALⅡ語言;而後來staubli 收購了Unimation公司後,又發展起來了VAL3的機器人編程語言。

學習的話,一般來說各家機器人的官方網站都會有這些介紹資料,但是詳細的資料就會比較欠缺。

Hey!

點擊關注:文海機器人學院1,獲取更多機器人知識

你的點贊

評論轉發是對我們最大的支持

部分材料源自網絡,如有侵權請聯繫處理


分享到:


相關文章: