• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Qt的工業(yè)機器人語言編輯器設計

      2023-10-12 01:42:42彭玲祝潤澤戴昆林李漢超鄒慶申淑麗
      機床與液壓 2023年18期
      關鍵詞:編輯器點位指令

      彭玲,祝潤澤,戴昆林,李漢超,鄒慶,申淑麗

      (國機智能科技有限公司智能制造事業(yè)部,廣東廣州 510665)

      0 前言

      機器人語言是機器人與用戶交互的重要接口,它是以軟件的形式嵌入到示教器或上位機中,通過軟硬結(jié)合的方式實現(xiàn)機器人的有效控制[1-2]。在實際應用中,機器人示教器的種類和作業(yè)要求是多種多樣的,這也就對機器人編輯器的可移植性與可擴展性提出了更高的要求[3]。Qt是一個跨平臺C++圖形用戶界面應用程序開發(fā)框架?;赒t開發(fā)的應用程序可以在多種平臺與系統(tǒng)下運行,這就大大提高了機器人語言編輯器的可移植性;此外,Qt是完全基于面向?qū)ο蟮腃++,可擴展性非常強[4-6]。在實際生產(chǎn)中對機器人進行有效控制和運用完成相關作業(yè)需求,機器人語言是機器人控制系統(tǒng)的重要一環(huán),它對機器人運動狀態(tài)產(chǎn)生最直接的影響,因此設計一套機器人編輯器可以有效改善用戶對機器人的控制[7-8]。

      機器人語言的起步與發(fā)展相比工業(yè)機器人晚一些。1973年,Stanford人工智能實驗室開發(fā)WAVE語言用于機械臂的運動控制,此外該團隊在WAVE語言的基礎上開發(fā)的AL語言對于推動后期機器人語言的發(fā)展起到一定的促進作用[9-10]。

      機器人語言系統(tǒng)不僅要支持機器人程序編輯,還要支持機器人與外部設備的連接與控制[11]。機器人語言系統(tǒng)的處理過程:(1)用戶根據(jù)實際作業(yè)需求在示教器上編輯機器人作業(yè)程序;(2)示教器端將用戶的作業(yè)程序通過網(wǎng)絡通信方式發(fā)送到機器人控制系統(tǒng);(3)解釋器對要執(zhí)行的作業(yè)程序進行解析,生成控制器能識別的命令;(4)運動規(guī)劃器根據(jù)解釋器結(jié)果進行運動規(guī)劃,機器人系統(tǒng)依靠以太網(wǎng)形式實現(xiàn)對伺服電機的控制從而控制機器人運動。機器人語言系統(tǒng)如圖1所示。其中機器人語言編輯器是機器人語言系統(tǒng)的重要組成部分,其功能就是將控制機器人動作的命令以文本指令形式展現(xiàn)[12]。本文作者的主要工作就是以編輯器作為突破口對機器人語言系統(tǒng)展開研究。

      1 機器人語言設計

      1.1 指令集

      不同的機器人系統(tǒng)所使用的機器人語言不盡相同,但它們在功能上都有相通之處,此外它們在表現(xiàn)形式上也與普通的計算機語言有一些類似之處[13]。本文作者所設計的通用機器人語言包括以下4類指令:(1)運動指令:MOVJ,MOVL,MOVC,MOVS等。(2)流程控制指令:CALL,IF,F(xiàn)OR,WHILE等。(3)IO指令:DOUT,DIN,PULSE,WAIT,AOUT等。(4)運算指令:ADD,SUB,MUL,DIV,AND,OR等。機器人生產(chǎn)應用本質(zhì)上是不同的工藝應用,此系統(tǒng)根據(jù)不同的工藝配備不同的工藝指令,而不同的工藝指令本質(zhì)是運動指令與其他通用指令的結(jié)合,運動指令控制機器人以不同的插補方式運動,其他通用指令實現(xiàn)機器人與外部設備之間的連接。常見的工藝指令包括焊接、碼垛、噴涂、跟蹤等。

      此外,如當前機器人指令集未能滿足用戶的生產(chǎn)需要,用戶可以根據(jù)實際工藝需求設計指令集以滿足生產(chǎn)需求。通用指令集如表1所示。

      表1 機器人指令格式

      1.2 作業(yè)程序文件結(jié)構(gòu)

      機器人語言編輯器主要就是用戶示教程序生成機器人作業(yè)文件。機器作業(yè)文件由偽指令模塊和用戶指令模塊組成。偽指令模塊包括示教點位信息、機器人組信息以及附加特性信息。點位信息包括坐標系、用戶、工具、點位值信息;機器人組包括當前作業(yè)程序所使用的機器組以及機器組所包含的機器人屬性信息;其他附加信息包括文件名、時間、編輯屬性等相關內(nèi)容。用戶指令集包括用戶示教的通用指令和工藝指令。

      2 編輯器設計

      設計編輯器的目的就是實現(xiàn)用戶與機器人的交互,用戶通過示教器或上位機將實際工藝需求的運動軌跡轉(zhuǎn)化為機器人指令并生成機器人作業(yè)程序[14]。

      機器人語言編程界面是示教器或上位機設計中的重要一部分,用戶通過編輯器完成對工業(yè)機器人的示教編程工作。

      機器人編輯器設計分為三大模塊:其一是程序管理設計,其二是指令工廠設計,其三是點位管理。程序管理不僅要完成各個界面的顯示繪制,也要完成人機交互示教編程任務。指令工廠不僅要完成所有用戶指令集的操作管理,也要同步實現(xiàn)對應不同指令的UI顯示。點位管理不僅要實現(xiàn)對應運動指令的點位顯示與修改,也可實時更新當前機器人位置。

      2.1 程序管理設計

      程序管理主要包含兩部分:(1)程序集管理;(2)程序管理。程序集管理在“程序內(nèi)容”主菜單的一級子菜單形成,呈現(xiàn)在人機交互界面上。程序集管理的結(jié)構(gòu)如圖2所示,上位機交互界面如圖3所示。

      圖2 程序集管理結(jié)構(gòu)

      圖3 程序集管理人機交互界面

      “選擇程序”功能是選擇當前系統(tǒng)已經(jīng)成功加載的機器人作業(yè)程序,其中加載的程序默認按照程序創(chuàng)建的時間進行倒序排列。

      “當前程序”。若之前系統(tǒng)有打開程序,那么當前程序選擇的就是上次打開的程序,否則選擇的就是最新的程序。

      “新建程序”是指新建一個機器人程序,在程序創(chuàng)建時需要提供機器人名稱以及選擇的機器人組信息。

      “運行設置”是指在人機交互界面設置機器人運行相關參數(shù),其中包括循環(huán)、運行模式等。

      “查看DP文件”是指若加載的程序文件包含MOVD指令,那么就顯示各個程序調(diào)用的DP文件信息。

      在用戶完成選擇程序、當前程序操作之后會進入選擇程序的頁面。為了提供更好的用戶操作體驗,編輯器以子菜單形式分別在程序、編輯、顯示工具菜單下提供了操作當前程序的相關接口,其中程序模塊提供用戶刪除、復制、重命名等操作,此外用戶也可以通過外部設備導入導出機器人作業(yè)程序;編輯模塊提供用戶快速便捷選擇程序的功能;顯示模塊提供用戶當前選擇程序的附加信息;工具模塊支持設置遠程啟動程序功能,而遠程啟動是另一簡單方便的程序執(zhí)行方式。

      用戶完成程序設置之后進入程序編輯頁面,在此頁面下編輯器主要實現(xiàn)程序編輯的管理,此外,為了兼顧機器人運行安全的問題,還添加了機器人指令的參數(shù)范圍檢查、邏輯檢查,如:運動指令MOVJ 語法結(jié)構(gòu)MOVJ P[]VJ=關節(jié)速度 [PL=位置等級][ACC=加速度調(diào)整比率][DEC=減速度調(diào)整比率]中關節(jié)速度參數(shù)VJ的范圍為0.01-100、位置等級參數(shù)PL的范圍是0-8,控制指令SWITCH語法結(jié)構(gòu)SWITCH I[]CASE 數(shù)值 執(zhí)行語句 ENDSWITCH,在程序編輯完成后中,若指令參數(shù)不在設定范圍,或SWITCH與ENDSWITCH不同時出現(xiàn),則在程序預編譯過程中會通過參數(shù)范圍或邏輯檢查進行報錯處理。程序編輯管理結(jié)構(gòu)如圖4所示,編輯器程序編輯管理人機交互界面如圖5所示。

      程序編輯管理中的功能菜單中的程序菜單主要的作用就是對當前編輯的程序進行處理;編輯菜單就是對當前編輯程序的指令進行相關操作,主要包括增、刪指令,搜索指令,跳轉(zhuǎn)到目標行指令,注釋指令等內(nèi)容;顯示菜單顯示當前編輯程序附加信息;工具菜單提供統(tǒng)一修改參數(shù)、查看指令功能。此外用戶在編輯相關程序文件時可通過常用指令控件增加目標指令,在選擇目標指令之后在人機交互界面下方的編輯行實現(xiàn)指令參數(shù)修改,而插入控件實現(xiàn)插入當前指令;針對選擇的程序文件指令也可通過相關刪除,修改控件實現(xiàn)指令的刪除以及指令參數(shù)的修改。

      圖4 程序編輯管理結(jié)構(gòu)

      圖5 程序編輯管理人機交互界面

      2.2 指令工廠設計

      指令工廠負責當前設計的所有用戶指令集的管理,指令工廠設計完全采用面向?qū)ο蟮脑O計方案,在當前設計的用戶指令集無法滿足用戶需求的時候,用戶能夠自定義用戶指令,實現(xiàn)生產(chǎn)需要。指令工廠采用分組式設計,按照指令的功能將指令劃分到不同的組,指令工廠提供指令的組信息與指令信息,指令主要提供UI顯示、文本顯示、參數(shù)修改、指令解析等相關接口,考慮到多機問題,每一條指令考慮由4個Command組成,指令組結(jié)構(gòu)的人機界面如圖6所示,單個Command的人機界面如圖7所示。

      圖6 指令組結(jié)構(gòu)人機界面

      圖7 Command人機交互界面

      當前設計的指令組包括運動、IO、演算、控制、平移、外設等,對于用戶自定義的指令,可以根據(jù)指令的實現(xiàn)功能將其納入到目前已定義的指令組,也可將其劃分到新的指令組。針對運動指令,根據(jù)當前配置的機器組信息,則對應有單機或多機的指令形式,多機指令在表現(xiàn)形式上是以‘+’號將不同機器人的cmd連接起來,實現(xiàn)多機控制,而對應非運動指令一般都是一些通用功能,沒有多機指令的表現(xiàn)形式??赏ㄟ^指令組下設cmd進入到對應指令的詳細編輯,也可通過點擊指令程序編輯頁面下端的指令編輯行的指令ID進入到cmd詳細編輯頁對指令參數(shù)進行修改。

      2.3 點位管理設計

      在機器人作業(yè)程序中點位是不可或缺的一部分,設計點位管理的目的就是讓用戶對當前程序運動指令的點位有一個較為清晰的把控,同時也便于用戶查看、修改相關運動指令位置;同時用戶手動移動機器人時點位管理模塊也會實時更新當前機器人位置,便于用戶掌握當前機器人位置信息。點位管理模塊的人機交互界面如圖8所示。

      圖8 點位管理人機界面

      點位管理模塊包括的主要信息如下:(1)機器信息,如當前機器人組配置的是多機,切換機器人可以控制不同機器人點位;(2)切換坐標系,用戶切換坐標系實現(xiàn)當前機器人在目標坐標系的點位信息;(3)工具,顯示當前配置的工具號,用戶可以修改工具號;(4)對于具體點位信息,用戶修改對應編輯框的相應數(shù)值實現(xiàn)點位修改,也可通過獲取當前機器人位置,顯示當前機器人位置。

      2.4 軟鍵盤設計

      軟鍵盤的設計目的是為了給用戶在示教編程的時候提供便利[15]。軟件盤包括數(shù)字鍵盤和通用鍵盤,數(shù)字鍵盤單純提供數(shù)字的輸入,而通用鍵盤提供中英文輸入法,可實現(xiàn)字符、特殊字符的輸入。數(shù)字鍵盤如圖9所示,通用鍵盤如圖10所示。

      圖9 數(shù)字鍵盤

      圖10 通用鍵盤

      在設計編輯器時,根據(jù)不同編輯框輸入字符的類型配備不同的軟鍵盤,如指令參數(shù)修改設計只涉及數(shù)字輸入,文件名、注釋等設計復雜字符輸入,極大提高編輯器的人性化水平。

      3 機器人編輯器測試

      編輯器的實驗主要在示教器上完成,采用華途示教器。示教器配置X86框架,Windows操作系統(tǒng)。機器人控制系統(tǒng)的配置是四核J19,2 GB RAM,Linux操作系統(tǒng),采用川崎機器人930臂展,清能德創(chuàng)伺服。

      在機器人系統(tǒng)連接完成后,打開機器人控制柜上的電源,待系統(tǒng)啟動完成之后,將操作模式切換到手動,即可開始進行示教編程。首先選擇“程序內(nèi)容”模塊,新建一個名為“測試”的程序,“確定”進入程序編輯頁面;上使能,選擇[常用指令]控件,選擇需要插入的運動指令或非運動指令。選擇運動指令時,手動移動機器人到目標位置插入指令;若選擇的是非運動指令,則在底端的指令編輯行修改指令參數(shù)后插入到當前程序中。完成當前程序的示教如圖11所示。

      圖11 示教程序

      此程序覆蓋了圓弧運動、直線運動、關節(jié)運動、變量運算、條件判斷、定時、注釋等多種指令,它控制機器人先圓弧運動到目標位置,對字節(jié)型變量加1后再直線運動到目標位置,然后定時1 s,檢測字節(jié)型變量值,滿足條件回到圓弧運動的起始位置。

      4 結(jié)論

      本文作者在Qt基礎上對機器人語言編輯器進行設計,實現(xiàn)對用戶指令的編輯、修改、顯示等。該編輯器完全采用面向?qū)ο蟮慕Y(jié)構(gòu)進行設計,提高了開發(fā)效率及代碼的可靠性,同時有利于平臺的移植;界面采用結(jié)構(gòu)化設計,提升了UI顯示美觀與操作的便利性。該編譯器在華途不同型號的示教器上都進行了驗證,結(jié)果表明在不同示教器上都能正常操作示教與顯示,實際示教的程序均能在機器人控制系統(tǒng)穩(wěn)定高效地運行,驗證了設計的機器人語言編輯器的有效性。

      猜你喜歡
      編輯器點位指令
      1年期國債收益率跌至1%
      銀行家(2025年1期)2025-02-08 00:00:00
      聽我指令:大催眠術
      機器人快速示教方法及示教點位姿變換的研究
      你距離微信創(chuàng)作達人還有多遠?
      ARINC661顯控指令快速驗證方法
      測控技術(2018年5期)2018-12-09 09:04:26
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      車輛段收發(fā)車運行圖編輯器的設計與實現(xiàn)
      垂直面內(nèi)建立基線的特殊點位高程測量法
      基于VLIW目標機的ELF二進制編輯器設計與實現(xiàn)
      坐標系旋轉(zhuǎn)指令數(shù)控編程應用
      機電信息(2014年27期)2014-02-27 15:53:56
      无棣县| 新密市| 襄垣县| 白山市| 马鞍山市| 南澳县| 大姚县| 高安市| 横峰县| 定日县| 兴义市| 宣城市| 绍兴市| 永泰县| 香河县| 兴仁县| 曲沃县| 柘城县| 广州市| 江安县| 峡江县| 博爱县| 特克斯县| 铜陵市| 龙泉市| 托里县| 大新县| 府谷县| 巴塘县| 九龙城区| 和田县| 汤原县| 温泉县| 大兴区| 洮南市| 阿拉善左旗| 星子县| 铜陵市| 星子县| 西乌| 大荔县|