3自由度Delta型并聯(lián)機器人控制系統(tǒng)設計*
張中輝1,溫秀蘭1,徐官南2,夏慶觀2
(1. 南京工程學院 自動化學院,南京211167;2. 南京康尼科技實業(yè)有限公司 技術中心研發(fā)部,南京210038)
摘要:針對康尼公司設計的3自由度Delta型并聯(lián)機器人機械本體樣機,提出了一種基于PC機和運動控制卡的控制系統(tǒng)設計方案;在Windows操作系統(tǒng)下,基于PCI1040運動控制卡和Visual C++ 6.0軟件,開發(fā)了3自由度Delta型并聯(lián)機器人控制系統(tǒng)平臺。通過編寫實驗程序對機器人進行了試運行,實驗結果證實了該控制系統(tǒng)滿足穩(wěn)定性、準確性和簡單易操作要求。
關鍵詞:Delta并聯(lián)機器人;控制系統(tǒng);運動控制卡
文章編號:1001-2265(2015)09-0099-03
收稿日期:2014-11-08
基金項目:*江蘇省自然科學
作者簡介:張中輝(1990—),男,江蘇鹽城人,南京工程學院碩士研究生,研究方向為機器人控制技術;
中圖分類號:TH165;TG659
Design of 3-DOF Delta Parallel Robot Control System
ZHANG Zhong-hui1,WEN Xiu-lan1,XU Guan-nan2,XIA Qing-guan2
(1. Automation Department, Nanjing Institute of Technology, Nanjing 211167,China;2. Technology Center R&D Department, Nanjing Kangni Technology Industy Co.,Ltd., Nanjing 210038,China)
Abstract:According to the 3-DOF delta parallel robot prototype developed by KNT company, the design scheme of the control system based on PC and movement control card is proposed. Under the Windows operating system, the control system platform is developed based on PCI 1040 movement control card and Visual C++ 6.0 software By writing the test program to debug the robot, the experiment results verify the control system meets the requirements of stability, accuracy and easy operation.
Key words: delta parallel robot; control system; motion control card
0引言
并聯(lián)機器人具有結構簡單、運動精度高、速度快和負載大等優(yōu)點[1],近年來已在眾多工業(yè)領域中得到了廣泛應用。并聯(lián)機器人控制系統(tǒng)是一種非常典型的多自由度實時運動控制系統(tǒng),控制系統(tǒng)設計優(yōu)劣將直接決定整個機器人系統(tǒng)的性能。絕大多數(shù)傳統(tǒng)工業(yè)機器人控制器都是專用控制器,其功能取決于機器人所需要完成的特定任務,而且這些專用控制器幾乎都是封閉的,沒有開放性,開發(fā)成本高,周期長[2]。針對這些情況,開放式控制系統(tǒng)應運而生,伴隨著計算機技術和DSP技術的快速發(fā)展,基于PC+DSP運動控制卡的開放式控制器因其開發(fā)周期短,經濟實用,已逐漸得到大家的認可,成為機器人控制發(fā)展新的潮流方向[3],如美國Delta Tau公司的PMAC運動控制卡已經在很多工業(yè)機器人上得到成功運用,東南大學研究的基于PCI8134的多軸聯(lián)動控制系統(tǒng)[4],華中科技大學基于PC機+運動控制卡的焊接教學機器人研究等。
本文從研究應用的角度出發(fā),通過以PC+運動控制卡為核心,搭建3自由度Delta型并聯(lián)機器人的控制系統(tǒng)平臺,并基于VC6.0軟件提供的MF研究開發(fā)該并聯(lián)機器人控制系統(tǒng)軟件,旨在完成3自由度Delta型并聯(lián)教學機器人設計以實現(xiàn)推廣應用。
1機器人控制系統(tǒng)硬件設計
1.13自由度Delta型并聯(lián)機器人本體
并聯(lián)機器人的本體樣機如圖1所示,該機器人主要由上平臺(靜平臺)、下平臺(動平臺)、3個交流伺服電機、3根驅動桿和3個平行四邊形從動支鏈組成。
伺服電機與驅動桿的一端固定連接,驅動桿的另一端通過轉動副與平行四邊形從動支鏈連接,從動支鏈由球頭關節(jié)軸承與桿件組成閉環(huán)的平行四邊形,此閉環(huán)通過兩個球頭球鉸與動平臺連接。3根驅動桿分別在3個伺服電機的驅動下作一定的角度擺動,動平臺就能耦合出3個自由度(即X方向、Y方向和Z方向)。
圖1 3自由度Delta型并聯(lián)機器人本體
1.2控制系統(tǒng)的硬件組成
機器人控制系統(tǒng)的硬件主要包括以下幾部分:PC機(Windows XP操作系統(tǒng)平臺)、PCI1040運動控制卡、KSA—07BAB交流伺服驅動器、米格60ST—MO1330伺服電機、限位開關接近傳感器和其他一些控制電路,其控制系統(tǒng)結構如圖2所示。整個控制系統(tǒng)是采用通用的PC機和運動控制卡為控制中心,進行伺服控制和一些開關量的控制。PC機和PCI運動控制卡組成了上位機控制單元,運動控制卡插在PC機主板上的PCI插槽內。PCI1040是PCI總線最多可獨立控制八軸伺服電機的運動控制卡,可完成直線插補和S曲線加減速等功能。
圖2 機器人控制系統(tǒng)結構圖
1.3控制系統(tǒng)的控制線路設計
機器人控制系統(tǒng)的控制電路主要由運動控制卡控制電路、伺服電機驅動電路、限位開關控制電路組成[5],控制電路的實體接線圖如圖3所示。主要控制過程如下:閉合伺服驅動器的使能開關,對控制系統(tǒng)進行相應的運動參數(shù)設置之后,PC機控制運動控制卡發(fā)送位置指令等信號給伺服驅動器,從而控制3個伺服電機驅動3組擺桿運動,耦合出動平臺的平移和上下運動。其中,運動控制卡可接受每個伺服電機內部的增量式編碼器反饋回來的脈沖信號,構成了半閉環(huán)回路控制系統(tǒng);在每組手臂上擺桿的工作行程兩端都裝有限位開關,防止電機轉動角度超程,實現(xiàn)了硬限位功能。
1.3.1伺服驅動電路
PCI1040運動控制卡與一號電機的交流伺服驅動器的接線圖如圖4所示,其中二號、三號伺服電機驅動器的接線圖與圖4類似,不同之處是對應所接的PCI1040運動控制卡引腳號不同。
圖3 控制電路實體接線圖
圖4 運動控制卡與伺服驅動器接線圖
1.3.2限位開關控制電路
3組伺服電機在行程的兩端都有正負限位開關傳感器與PCI1040運動控制卡相連,其中一號伺服電機的正向限位開關電路接線如圖5所示,其余電機的正向限位開關電路接線圖與圖5一樣類似。
圖5 運動控制卡與限位開關接線圖
2機器人控制系統(tǒng)軟件設計
3自由度Delta型機器人軟件系統(tǒng)以Visual C++ 6.0的MFC為開發(fā)平臺,采用WindowsXP操作系統(tǒng)平臺,即充分發(fā)揮了PC機的優(yōu)勢,又能實現(xiàn)運動控制的精度和速度。MFC不僅為用戶提供了Windows圖形環(huán)境下的應用程序的框架,而且還提供了創(chuàng)建應用程序的組件。MFC完整地封裝了Windows API函數(shù),且其為經常使用的Windows API函數(shù)提供支持,包括窗口函數(shù)、消息、控件、菜單、對話框、GDI(圖形設備接口)對象、對象鏈接,以及多文檔界面(MDI)[6]。PCI1040運動控制卡提供了Windows下動態(tài)鏈接庫,它是用戶控制運動控制卡的接口,用戶通過調用其庫函數(shù),就可控制運動控制卡實現(xiàn)相應的功能。
2.1控制系統(tǒng)程序流程
圖6 機器人控制系統(tǒng)流程圖
控制系統(tǒng)啟動之后,運動控制卡首先進行初始化,通過人機界面設置其運動參數(shù)后,運動控制卡接收PC機發(fā)來的命令,從而執(zhí)行運動控制程序??刂瞥绦蛄鞒虉D如圖6所示。
2.2控制系統(tǒng)軟件的功能模塊
2.2.1逆解運算模塊
將并聯(lián)機器人的逆解算法程序寫在此模塊中,只需在逆解運算的人機接口界面中,輸入動平臺中心點的(X,Y,Z)坐標,執(zhí)行逆解運算程序,就可以算出每個伺服電機所需的轉動角度。當輸入的目標點坐標超出機器人的工作空間范圍,程序就會自動報錯,提醒用戶重修輸入一個合適的坐標。
2.2.2運動控制模塊
單軸運動控制是通過設置速度、加速度等參數(shù)來調試3個伺服電機的性能,通過調用PCI1040_StartLVDVCHV單軸直線/S曲線函數(shù)來啟動每個伺服電機的單步正反向運動,進行每個電機的單步調試,檢查其是否能正常工作。
3軸聯(lián)動功能模塊則通過調用PCI1040_StartLineInrerpolation_3D 3軸直線插補驅動函數(shù)來控制機器人的3軸耦合運動,通過讀取逆解運算模塊中的三個電機的轉動角度,換算成脈沖量后控制電機的運動。返回原點功能是通過調用PCI1040_SetOutORG原點搜尋函數(shù)和PCI1040_SetOutEnableDrv啟動函數(shù)來是實現(xiàn)的。當電機到達原點時,接近開關信號和編碼器的Z相信號就會發(fā)生跳變,電機就立即停止運動,就實現(xiàn)了返回原點功能。只要機器人在運動過程中,有任何軸運動超程,就會促發(fā)限位開關傳感器發(fā)出低電平信號給運動控制卡的硬件限位ELP接口,從而調用PCI1040_InstStop函數(shù),使機器人立即停止運動。
2.2.3運動狀態(tài)實時顯示模塊
在機器人運動過程中,狀態(tài)顯示模塊能夠實時顯示機器人每條支鏈的運動狀態(tài),通過調用PCI1040_ReadCV讀取電機的當前速度、調用PCI1040_ReadCounter讀取位置計數(shù)器的值,通過相應的換算,轉換成速度和角度等信息在控制面板上顯示。
3機器人控制系統(tǒng)的程序實例
首先通過Visual C++ 6.0的MFC AppWizard建立一個基于對話框的工程,將PCI1040.lib和PCI1040.h文件添加進工程[7],并在對話框中添加相應的按鈕和編輯框等控件,修改相應的菜單和工具欄等資源,機器人控制系統(tǒng)人機界面如圖7所示。
圖7 機器人控制系統(tǒng)人機界面
以單軸運動控制模塊,實現(xiàn)其單軸正方向單步運動為例具體介紹開發(fā)過程,相關代碼如下:
在OnInitDialog( )函數(shù)中加入如下代碼對運動控制卡進行初始化工作:
HANDLE hDevice;//定義設備對象句柄
hDevice=PCI1040_CreateDevice(0);//創(chuàng)建句柄設備ID號
PCI1040_Reset(hDevice,AxisNum);//對某個軸進行復位
在CDeltaDlg類中,對單軸運動控制模塊的各個編輯框關聯(lián)成員變量m_Multiple,m_StartSpeed,m_DriveSpeed,m_Acceleration,m_PluseNum設置單軸S曲線的運動參數(shù):
DL.Multiple=m_Multiple;//倍率(0.1~250)DL.StartSpeed=m_StartSpeed;//初始速度(1~4095750)
DL.DriveSpeed=m_DriveSpeed;//驅動速度(1~4095750)
DL.Acceleration=m_Acceleration;//加速度(125~511 968 750)
DL.Deceleration=m_Deceleration;//減速度(125~511 968 750)
DL.nPluseNum=m_PluseNum;//單步運動的脈沖數(shù)
設置完運動參數(shù)后,在“單軸正向單步運動”按鈕的OndanzhouStepMove()函數(shù)中添加如下代碼:
PCI1040_InitLVDVCHV(hDevice,pDL,pLC);//初始化連續(xù)脈沖驅動
PCI1040_StartLVDVCHV(hDevice,PCI1040_AXIS1);//啟動單軸正向單步運動
如果在單步運動時,電機的轉角超過行程,就會立即觸發(fā)限位開關,電機停轉,其實現(xiàn)代碼如下:
PCI1040_SetELPFun(hDevice,0,LCData.AxisNum)//正向硬件限位
PCI1040_DevMode(hDevice,LCData.DecMode,LCData.Line.Curve,LCData.AxisNum);//設置停止運動模式
最后在“停止運動”按鈕的OndanzhouStop()函數(shù)中添加以下代碼:
PCI1040_InstStop(hDevice,PCI1040_AXIS1);//立即停止一號電機
PCI1040_ReleaseDevice(hDevice);//釋放設備。
利用所編寫程序對機器人多次運行,結果證實了所設計控制系統(tǒng)能夠滿足穩(wěn)定性、準確性和簡單易操作要求。
4結束語
通過對并聯(lián)機器人特性分析,確立了基于PC機加運動控制卡的控制系統(tǒng)體系架構,建立了機器人控制系統(tǒng)的硬件結構和軟件調試平臺。針對性地進行了軟件的人機界面設計,編寫了詳細的控制軟件程序,實現(xiàn)了運動逆解、單軸運動、三軸聯(lián)動、運動顯示等任務功能,證實了該機器人控制系統(tǒng)不但滿足了研究的需求,而且操作簡單、動作準確、穩(wěn)定,具有一定實用價值,便于推廣應用。
[參考文獻]
[1] 劉善增,余躍慶,杜兆才,等,并聯(lián)機器人的研究進展與現(xiàn)狀[J]. 組合機床與自動化加工技術,2007(7):4-10;2007(8):5-13.
[2] 王啟春. 六自由度開放式工業(yè)機器人控制系統(tǒng)設計[D]. 上海:華東理工大學,2011.
[3] 趙春紅,秦現(xiàn)生,唐虹.基于PC 的開放式數(shù)控系統(tǒng)研究[J]. 機械科學與技術,2005,24( 9) : 1108 -1113.
[4] 吳小麗,丁維明,程力. 基于PCI8134的多軸聯(lián)動控制系統(tǒng)[J]. 工業(yè)控制計算機,2011,24( 4) :11-13.
[5] 竇偉. 三自由度并聯(lián)機器人控制系統(tǒng)[D]. 天津:天津理工大學,2010.
[6] 孫鑫,余安萍. VC++深入詳解[M]. 北京:電子工業(yè)出版社,2006.
[7] 高煊,何廣平. 基于VC++的四軸運動控制卡軟件系統(tǒng)開發(fā)研究[J]. 制造技術與機床,2009(6):24-28.
(編輯李秀敏)