• 
    

    
    

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

      碼垛機器人機械臂仿真控制系統設計與實現

      2016-04-12 00:00:00常宏斌
      現代電子技術 2016年19期

      摘 要: 隨著科技的飛速發(fā)展,企業(yè)的生產能力大幅提高,傳統的人工碼垛已經不能滿足企業(yè)對物流的需求,碼垛機器人技術應運而生。高效率的碼垛能夠大大節(jié)省物流時間,提高工作效率。系統利用四軸碼垛機械臂仿真控制軟件實際控制一臺小型的關節(jié)型四軸碼垛機械臂。機械臂利用舵機作為執(zhí)行元件,DSP作為控制器控制舵機運動。仿真控制軟件根據規(guī)劃的路徑計算出碼垛過程中舵機運行的角度,通過串口通信將角度數據傳遞給DSP,DSP控制舵機的運行并帶動碼垛機械臂實現碼垛功能。

      關鍵詞: 四軸碼垛機械臂; OpenGL; DSP; MFC

      中圖分類號: TN876?34; TM417 文獻標識碼: A 文章編號: 1004?373X(2016)19?0174?05

      Abstract: With the rapid development of technology, the production capacity of enterprises is increased substantially. The traditional manual palletizing can′t meet the logistics demand of enterprises, so the palletizing robot technology comes into being. The efficient palletizing can save logistics time and improve working efficiency greatly. The simulation control software of four?axis palletizing robot arm is used to control a small four?axis palletizing robot arm with joints. The servo is taken as the actuator of four?axis palletizing robot arm, and DSP is taken as the controller to control the servo moving. The simulation control software is used to calculate the angle of servo moving in palletizing process according to the planning route, and pass the angle data to DSP through the serial ports. The DSP can control servo running and drive the palletizing robot arm for palletizing function realization.

      Keywords: four?axis palletizing robot arm; OpenGL; DSP; MFC

      0 引 言

      人工碼垛存在效率較低,浪費大量人力資源,機械地重復性勞動損害身體健康等缺點。碼垛機器人技術集許多學科于一體,包括機械、信息、電子、計算機科學、智能技術等[1],它在提高勞動生產效率、解決勞動力不足、降低工人勞動強度、改善生產環(huán)境、降低生產成本等方面具有重要意義。

      本文主要研究了關節(jié)型四軸碼垛機械臂,利用MFC應用程序平臺設計了一款四軸碼垛機械臂的控制軟件,通過OpenGL三維函數庫繪制碼垛機械臂的三維圖形。軟件有友好的交互界面,操作者通過輸入碼垛的基本信息,如碼垛層數、每層的碼垛方式、碼垛數量、物塊大小信息、碼盤放置位置等數據,軟件就會設計好機械臂的運動路徑和操作方式,并以三維動畫的形式對碼垛過程進行演示,讓操作者方便地了解機械臂的運行情況,并做出判斷是否需要修改數據。同時軟件還可以把每個關節(jié)轉動的角度以串口傳輸的方式傳遞給機械臂的控制器DSP,控制碼垛機械臂上的5個舵機旋轉,完成碼垛過程。5個舵機分別控制了機械臂底座、下臂、上臂、腕部的旋轉以及末端夾持器的開合。

      1 四軸碼垛機械臂仿真控制軟件設計

      為了用戶能夠方便地操作軟件,仿真控制軟件在設計時采用了多個界面輸入的操作方式。軟件模擬了一個四軸碼垛機械臂碼垛的過程,通過設定碼垛的參數和碼放的方式,軟件規(guī)劃出碼垛路徑,把貨物從流水線上按碼垛路徑碼放到托盤上。 軟件共分為五個部分:定義工作區(qū)域、定義工作臺、設定碼垛方式、設定運動路徑和動畫演示。

      1.1 功能選擇界面

      功能選擇界面是基于對話框資源創(chuàng)建的,5個功能選項分別調用了5個按鈕控件。四軸碼垛機械臂仿真控制軟件共調用了13個對話框資源,通過這些對話框資源使得軟件變得友好、易操作。對話框是重要的用戶界面元素之一,是用戶交互的重要手段。對話框在創(chuàng)建后可以通過控件編輯器添加各種控件,包括編輯框、滑動條、靜態(tài)文本、按鈕等,這些控件在程序運行過程中可用于捕捉用戶的輸入信息或數據,每個控件都可以添加消息響應函數,便于優(yōu)化用戶體驗。這些控件的使用使得仿真控制軟件界面更加方便操作,不再需要程序設計人員進行操作,或對操作人員進行復雜的培訓,經過簡單的說明介紹,普通用戶也可以方便的使用。

      1.2 物體拖拽功能實現

      在設定工作臺界面中實現了物塊拖拽的功能。為了確定物塊在碼盤上的起始位置,可以將流水線上的物塊模型用鼠標左鍵拖拽到碼盤上,再利用碼垛設置對話框對碼盤起始點進行微調。 物塊拖拽功能實際上就是物塊隨著鼠標的移動而重畫的過程。主要在函數OnMouseMove(UINT nFlags, CPoint point)中實現,當鼠標移動時程序就會調用這個函數 。函數有兩個參數值,nFlags代表各種虛擬按鍵是否按下 ,此參數可以是任何下列值:

      MK_CONTROL 當CTRL鍵按下時;

      MK_LBUTTON當鼠標左鍵按下時;

      MK_MBUTTON當鼠標中鍵按下時;

      MK_RBUTTON當鼠標右鍵按下時;

      MK_SHIFT當SHIFT按下時。

      另一個參數point,是鼠標的坐標,point.x代表[x]方向坐標,point.y代表[y]方向坐標,這個坐標是鼠標距離截獲該消息的窗口左上角的位置,是一個相對位置而不是在屏幕像素上的絕對位置,因此在使用時要注意將坐標位置和像素進行轉換。在程序中獲得鼠標的坐標信息以后,在畫圖函數OnPaint()中對物塊圖形進行重繪,就會顯示出物塊被鼠標拖拽的效果。

      1.3 設定碼垛方式界面

      碼垛方式界面設計圖如圖2所示,分為左右兩部分。左側界面的下方是托盤的俯視圖,上方是層數、旋轉角度編輯框,以及預覽添加按鈕。右側界面是托盤的前視圖。在左側頁面上的層數編輯框單擊下拉菜單,從第一層到最高層,選擇需要碼垛的層數,這里的碼垛層數信息是由定義工作區(qū)界面設定的,每設置完一層的碼垛信息后就順序選擇下一層。然后雙擊界面左側托盤上方的示例物塊,第一個物塊就會自動出現在“設置工作區(qū)域”界面在托盤上設置好的初始位置上,在托盤上單擊鼠標右鍵,在出現的對話框里選擇需要碼放物塊的個數,即長×寬的個數,并可以選擇正向碼放還是旋轉90°后縱向碼放,選擇好后單擊確定鍵,相應個數的物塊就會出現在托盤里。想要在這一層繼續(xù)碼放物塊的話,就一直按住鼠標左鍵把示例物塊拖拽到托盤上任何想要擺放的位置,然后放開鼠標左鍵并單擊右鍵,在出現的對話框里選擇要碼放物塊的個數。重復操作上面的信息直至確定好一層要碼放的物塊,最后單擊添加按鈕,該層碼放的所有物塊會以前視圖的方式添加到右側頁面的托盤里。選擇下一個碼垛的層數,重復之前的操作,直至完成所有層數的物塊設置。單擊預覽按鈕,右側界面的托盤上會出現碼放整齊的每一層的物塊的擺放方式,操作者可以直觀地觀測到產品碼放后的方式,方便操作者進行修改或下一步操作。

      圖2為兩層碼垛的操作,第一層放置了6個物塊,其中2[×]2個物塊正向碼放,2[×]1個物塊旋轉90°縱向碼放,第二層放置了4個物塊,以2[×]2的方式正向碼放。在單擊預覽按鈕后,右側屏幕顯示了兩層碼垛的示意圖。

      設定碼垛方式界面對對話框窗口進行分割。當用戶需要同時對窗口的不同部分進行編輯時常常會用到切分窗口。切分窗口分為動態(tài)切分窗口和靜態(tài)切分窗口,本文選擇的是靜態(tài)切分窗口的方式。 窗口分割的程序寫在窗口創(chuàng)建函數OnCreate()中,調用CreateStatic()函數產生靜態(tài)切分。調用 CreateView()函數產生每個視圖窗口。

      1.4 設定運動路徑界面

      在前面的設計中,流水線的位置和高度、碼盤的位置和高度以及物塊擺放的位置、物塊碼放的方式和順序已經確定,但碼垛機械臂的運動路徑還沒有確定。設定運動路徑界面就是為了確定四軸碼垛機械臂碼放產品的運動過程。設定運動路徑界面設置圖如圖3所示。機械臂碼垛過程共有六個運動步驟,如下所示:

      (1) 四軸碼垛機械臂運動到流水線上物塊的位置,打開末端夾持器,然后閉合夾持器從流水線拾取物塊。

      (2) 四軸碼垛機械臂用末端夾持器抬起物塊,運動到流水線正上方某位置,停頓1 s。

      (3) 四軸碼垛機械臂用末端夾持器抓住物塊,從流水線上方移動到物塊要碼放在碼盤位置的正上方,停頓1 s。

      (4) 四軸碼垛機械臂移動到托盤要碼放物塊的位置,打開末端夾持器把物塊放到托盤上。

      (5) 四軸碼垛機械臂打開夾持器空載到托盤正上方,閉合末端夾持器。

      (6) 四軸碼垛機械臂空載移動到流水線正上方。完成一次碼垛流程,然后重復這六個運動步驟。

      設定運動路徑界面的左側有一個路徑示意圖,示意的就是四軸碼垛機械臂碼垛過程所經歷的6個位置,按照1?2?3?4?5?6?1的順序循環(huán)反復。位置1是流水線上物塊的位置,位置2和位置6是流水線的上方,位置3和位置5在舵盤的上方,位置4是舵盤上物塊要擺放的位置。根據前三個功能界面的設置,位置1和位置4的坐標已經確定,通過設定運動路徑界面可以確定其他四個位置的[y]方向坐標,[x]方向坐標和[z]方向坐標,默認和位置1或位置4相同,即位置3,5在位置1的正上方,位置2,6在位置4的正上方,但距離可以設定。設定方式在界面的左側,有四個編輯框分別對應著位置2,3,5,6的[y]方向坐標,仿真控制軟件默認設置距離為1個單位,通過編輯框右側的+,-按鈕可以對幾個位置的[y]坐標進行增加或降低的修改。修改完成后退出界面,確定了四軸碼垛機械臂的完整碼垛路徑。

      2 四軸碼垛機械臂硬件設計

      2.1 DSP程序的編譯

      DSP控制程序主要涉及定時器中斷和串口通信兩部分。舵機的控制信號是周期為20 ms,頻率為50 Hz的PWM波,占空比在2.5%~12.5%之間。飛思卡爾mc56f8013型DSP擁有6路PWM通道,但可以輸出PWM波的最小頻率值高于50 Hz,因此選擇定時器中斷的方式產生PWM波。 首先設定一個10 μs的定時器,定時器中斷2 000次就是10 μs×2 000=20 ms,也就是舵機控制信號的一個周期。當定時器中斷的前1 000次,控制輸出端口輸出高電平,定時器中斷的后1 000次,輸出端口輸出低電平時,就產生了一個占空比為50%的PWM波,當改變輸出高電平和輸出低電平的中斷次數時,PWM波的占空比也隨之改變,舵機就會輸出不同的角度,從而帶動四軸碼垛機械臂轉動。當高電平的中斷次數為50次時,此時的占空比為[502 000=]2.5%,舵機轉動0°;當高電平的中斷次數為250次時,占空比為[2502 000=]12.5%,舵機轉動180°。

      在CodeWarrior平臺的專家處理模塊添加定時器的嵌入豆,定義定時器的時間為10 μs。添加5個I/O接口的嵌入豆,用于輸出5路PWM波控制舵機。添加一個串口通信的嵌入豆,接收四軸碼垛機械臂控制軟件發(fā)送的串口數據,這些串口數據已經在軟件編程中轉化成高電平的定時器中斷次數,方便了DSP的編程操作。

      定時器中斷程序的流程圖如圖4所示。

      2.2 硬件電路設計

      控制器采用ms56f8013最小系統,系統包含了程序傳輸、串口通信、電流驅動等基本模塊。

      其中舵機電路原理圖如圖5所示。圖中所示的是一個舵機與DSP的連接圖,舵機的控制信號線與DSP的輸出端口相連結,端口輸出PWM控制信號。為了保證為舵機提供足夠大的功率,舵機和DSP分開供電。

      實驗時采用雙路穩(wěn)壓穩(wěn)流電源為舵機和DSP分別供電。DSP最小系統上有電壓轉換功能,把5 V電壓轉成3.3 V為DSP芯片供電。舵機的供電電壓可選擇在4.8~6 V之間,系統選擇5.5 V為舵機供電。

      3 系統測試

      在實際運行四軸碼垛機械臂時,首先通過下載器把在CodeWarrior IDE中編譯的DSP程序下載到DSP中,程序下載成功后,把計算機和DSP通過RS 232串口連接線連接起來,實現上位機和下位機的串口通信。舵機的三條線分別是電源線、地線和控制信號線,DSP的端口1到端口5分別輸出五個舵機的控制信號PWM波形,把舵機的控制信號線和DSP相應的端口連接起來,實現DSP對執(zhí)行器舵機的控制。DSP和舵機分別供電,把地線相連接。上位機和下位機連接好后,開始對系統運行情況進行測試。測試內容是四軸碼垛機械臂把一個物塊從流水線的位置碼放到托盤位置,即軟件測試中第一個物塊的碼放情況。由1.4小節(jié)可知,四軸碼垛機械臂碼放一次物塊要經過6個位置,仿真控制軟件計算出的底座、下臂、上臂舵機在6個位置所旋轉的角度如表1所示。折線圖如圖6所示。

      四軸碼垛機械臂在運行過程中的底座舵機控制信號圖如圖7所示。

      由舵機原理可知,高電平的時長為0.5 ms時輸出角度為0°,高電平時長為1 ms時輸出角度為45°,高電平時長為2.5 ms時輸出角度為180°。圖7是機械臂底座舵機運行在位置3,4,5時的控制信號圖,此時舵機的旋轉角度大約為90°,信號頻率為50 Hz,符合舵機的控制要求。

      由測試可得,四軸碼垛機械臂的DSP可以通過RS 232串口通信模塊接收控制軟件傳遞的舵機角度數據,同時DSP可以對舵機進行控制,使舵機能夠按照仿真控制軟件計算的角度旋轉,實現關節(jié)型四軸碼垛機械臂的碼垛功能。

      4 結 論

      工業(yè)機器人碼垛技術越來越受到人們的重視,它在提高生產效率、降低事故發(fā)生概率、改善生產環(huán)境等方面都有重要作用,本文完成了四軸碼垛機械臂仿真控制軟件的設計。軟件可以根據用戶輸入的產品信息、位置信息、碼垛方式信息等規(guī)劃好機械臂的運動路線,利用三維動畫的方式顯示機械臂碼垛的實時過程。軟件通過串口通信模塊把機械臂碼垛過程中各個關節(jié)的角度值傳遞給DSP。機械臂系統采用DSP作為控制器,舵機作為機械臂的執(zhí)行機構,用DSP控制舵機運動,實現四軸碼垛機械臂實物的碼垛過程。

      四軸碼垛機械臂控制系統基本實現了預期功能,可以通過軟件對機械臂系統進行控制和三維動畫仿真,并且實現了機械臂實物的碼垛過程??梢栽诜抡婵刂栖浖袑崿F多種機械臂的整合。后期改進可以把對其他類型機械臂的控制和仿真添加到軟件中,實現一款軟件對多種工業(yè)機器人的控制,使得軟件的利用率更高,使用更方便,同時也降低開發(fā)成本。

      參考文獻

      [1] 劉揚,高志慧,贠超,等.混聯碼垛機器人運動學分析與仿真[J].機械與電子,2010(3):57?60.

      [2] 張岳.基于實時以太網的碼垛機械手控制平臺研究[D].濟南:山東大學,2013.

      [3] 張聰.基于Internet的六自由度機械臂遠程控制系統[D].北京:北京郵電大學,2011.

      [4] 冀亮,錢正洪,白茹.基于四元數的四軸無人機姿態(tài)的估計和控制[J].現代電子技術,2015,38(11):112?116.

      [5] BLOSS R. Telepresence and delta style robots come of age at latest combined automate and promat shows [J]. Industrial robot, 2012, 39(1): 12?16.

      [6] HOLUBEK R, KOSTAL P, PECHACEK F. Incorporation, programming and use of an ABB robot for the operations of palle?tizing and depalletizing at an academic research oriented to intelligent manufacturing cell [J]. Applied mechanics and mate?rials, 2013, 309: 62?68.

      [7] LUAN Nan, ZHANG Haiqing, TONG Shanggao, et al. Optimum motion control of palletizing robots based on iterative learning [J]. Industrial robot, 2012, 39(2): 162?168.

      [8] HARTMAN L R. Robotics move palletizing into high gear [J]. Packaging digest, 2005, 42(7): 44?45.

      华蓥市| 樟树市| 保定市| 平罗县| 和平区| 玛纳斯县| 津市市| 阿尔山市| 金塔县| 会宁县| 罗平县| 盱眙县| 锡林郭勒盟| 湘西| 安图县| 东兴市| 望江县| 娱乐| 邢台县| 巴林右旗| 东山县| 永昌县| 三明市| 奉节县| 龙门县| 区。| 怀仁县| 乌拉特后旗| 南开区| 阳东县| 丰宁| 九龙坡区| 德格县| 兴国县| 青浦区| 商洛市| 故城县| 仁布县| 金华市| 剑河县| 伊春市|