楊廣澤,馬曉明
(1.興天通訊技術(shù)有限公司 工程部,天津 301700;2.廣州鐵路(集團(tuán))公司 工務(wù)檢測(cè)所,廣東 廣州 510000)
?
串聯(lián)機(jī)械臂運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)
楊廣澤1,馬曉明2
(1.興天通訊技術(shù)有限公司 工程部,天津301700;2.廣州鐵路(集團(tuán))公司 工務(wù)檢測(cè)所,廣東 廣州510000)
摘要由于加工裝配的累積誤差,驅(qū)動(dòng)控制,機(jī)械臂的柔性變形以及實(shí)際工作環(huán)境中振動(dòng)等因素的干擾,導(dǎo)致無(wú)法準(zhǔn)確獲取機(jī)械臂的運(yùn)動(dòng)學(xué)模型和動(dòng)力學(xué)模型,導(dǎo)致機(jī)械臂實(shí)際的運(yùn)動(dòng)性能與期望的高精度運(yùn)動(dòng)性能相比出現(xiàn)較大的差距。針對(duì)上述問(wèn)題,文中通過(guò)研究串聯(lián)機(jī)械臂軌跡優(yōu)化算法,設(shè)計(jì)了一套簡(jiǎn)單且實(shí)時(shí)性的機(jī)械臂控制變量補(bǔ)償系統(tǒng),以減少甚至消除機(jī)械臂的運(yùn)動(dòng)學(xué)誤差。這一技術(shù)的實(shí)現(xiàn),將對(duì)提高裝備制造業(yè)中機(jī)械臂運(yùn)動(dòng)精度關(guān)鍵技術(shù)的發(fā)展起到推動(dòng)作用。
關(guān)鍵詞串聯(lián)機(jī)械臂;軌跡優(yōu)化;運(yùn)動(dòng)學(xué)標(biāo)定;變量補(bǔ)償算法
Design of Serial Manipulator Motion Control System
YANG Guangze1,MA Xiaoming2
(1.Engnieering Department,Xingtian Communication Technology Engineering Co.,Ltd.,Tianjin 301700,China;2.Works Detection,Guangzhou Railway (Group) Company,Guangzhou 510000,China)
AbstractThe accumulated error of processing and assembling,driver control,the flexible deformation of manipulator,and vibration interference and other factors in the work environment make it difficult to obtain accurate manipulator kinematics model and dynamic models,causing a large gap between the manipulator’s actual performance and expectations.This paper studies s serial manipulator path optimization algorithm and designs a simple manipulator control variables and real-time compensation technology to reduce (or even eliminate) the serial manipulator kinematic errors.It improves the accuracy of equipment manufacturing arm movement to contribute to the development of key technologies.
Keywordsserial manipulator;trajectory optimization;kinematic calibration;variable compensation algorithm
機(jī)械臂作為工業(yè)機(jī)器人最為重要的部分之一,在工業(yè)領(lǐng)域中愈來(lái)愈被廣泛應(yīng)用,本文主要針對(duì)串聯(lián)機(jī)械臂進(jìn)行分析;串聯(lián)機(jī)械臂運(yùn)動(dòng)精度的高低是其重要的性能指標(biāo),是衡量機(jī)械臂能否準(zhǔn)確高效完成操作任務(wù)的決定因素。隨著機(jī)械臂工作環(huán)境的逐步復(fù)雜化,人們期望機(jī)械臂具有較高的絕對(duì)定位精度,且能實(shí)現(xiàn)多種隨機(jī)運(yùn)動(dòng)軌跡的高精度跟蹤。串聯(lián)機(jī)械臂的定位精度通常采用重復(fù)精度和絕對(duì)定位精度評(píng)價(jià)[1-2]。重復(fù)定位精度是指機(jī)械臂末端執(zhí)行器根據(jù)存儲(chǔ)的關(guān)節(jié)位置,重新到達(dá)示教點(diǎn)的定位精度;而絕對(duì)定位精度是指末端執(zhí)行器到達(dá)從未示教位置的定位精度[3-4]?,F(xiàn)階段,工業(yè)機(jī)器人的重復(fù)定位精度范圍為±2~0.01 mm。而絕對(duì)定位精度的范圍是±100~0.1 mm[5]。盡管當(dāng)前國(guó)內(nèi)外的串聯(lián)關(guān)節(jié)型機(jī)械臂的研究技術(shù)已較為成熟,但研究人員對(duì)串聯(lián)機(jī)械臂的研究從未間斷,如今模型的精確標(biāo)定,機(jī)器視覺(jué)技術(shù),多傳感器融合的感知系統(tǒng),智能控制系統(tǒng)及先進(jìn)控制算法和輕量化設(shè)計(jì)等新型方向正成為串聯(lián)機(jī)械臂的主要研發(fā)方向[6]。
1串聯(lián)機(jī)械臂需求分析
在實(shí)際工作環(huán)境中,由于機(jī)械加工精度、裝配誤差和環(huán)境變化等因素,機(jī)器人的實(shí)際運(yùn)動(dòng)學(xué)模型與理論運(yùn)動(dòng)學(xué)模型之間存在較大誤差,機(jī)械臂的絕對(duì)定位精度不可避免地受到影響;同時(shí),考慮到機(jī)械臂的質(zhì)量分布、負(fù)載變化、振動(dòng)、機(jī)械摩擦力和反沖力影響等因素,獲取機(jī)械臂準(zhǔn)確的動(dòng)力學(xué)模型較為困難,導(dǎo)致機(jī)械臂末端執(zhí)行器的位姿、速度與關(guān)節(jié)位置速度的數(shù)學(xué)模型不匹配,從而在機(jī)械臂末端執(zhí)行器上形成動(dòng)態(tài)位置和方向的定位誤差;且由于串聯(lián)機(jī)械臂的運(yùn)動(dòng)過(guò)程伴隨產(chǎn)生振動(dòng),從而嚴(yán)重影響串聯(lián)機(jī)械臂的運(yùn)動(dòng)精度[7]。針對(duì)上述問(wèn)題,可從標(biāo)定技術(shù)、傳感技術(shù)和智能控制系統(tǒng)等方面提出了提升機(jī)械臂運(yùn)動(dòng)精度的解決方法。
串聯(lián)機(jī)械臂的誤差主要包括由于機(jī)械臂的質(zhì)量分布、負(fù)載變化、熱效應(yīng)以及振動(dòng)等因素造成的隨機(jī)誤差,且由于機(jī)械臂采用伺服電機(jī)和控制系統(tǒng)來(lái)完成運(yùn)動(dòng)控制、反復(fù)起動(dòng)等操作造成機(jī)械臂的系統(tǒng)誤差兩部分,圖1為各部分誤差來(lái)源的詳細(xì)分析[8]。
圖1 控制系統(tǒng)誤差來(lái)源
2串聯(lián)機(jī)械臂控制系統(tǒng)設(shè)計(jì)
串聯(lián)機(jī)械臂完成操作任務(wù)時(shí),位置、速度、加速度的瞬間改變會(huì)造成機(jī)械沖擊,激起系統(tǒng)振蕩,導(dǎo)致運(yùn)動(dòng)不穩(wěn)定,降低機(jī)械臂的運(yùn)動(dòng)精度??焖倬_的軌跡規(guī)劃算法是保證運(yùn)動(dòng)系統(tǒng)的精度和性能的前提條件,對(duì)運(yùn)動(dòng)軌跡的合理規(guī)劃與優(yōu)化可提高機(jī)械臂的抗干擾性能,改善機(jī)械臂的定位精度以及軌跡跟蹤精度,從而提高機(jī)械臂的工作效率。因此,為滿(mǎn)足串聯(lián)機(jī)械臂的髙精度運(yùn)動(dòng)性能需求,需對(duì)機(jī)械臂的運(yùn)動(dòng)軌跡進(jìn)行規(guī)劃與優(yōu)化。
2.1串聯(lián)機(jī)械臂系統(tǒng)硬件設(shè)計(jì)
串聯(lián)機(jī)械臂控制系統(tǒng)組成如圖2所示,機(jī)械臂的運(yùn)動(dòng)控制模塊主要包括軌跡劃分模塊、機(jī)械臂運(yùn)動(dòng)控制模塊、運(yùn)動(dòng)控制卡和伺服執(zhí)行單元4部分;其通過(guò)接收雙目視覺(jué)模塊發(fā)送的關(guān)于目標(biāo)物體的三維坐標(biāo)信息,來(lái)完成關(guān)節(jié)空間的軌跡規(guī)劃;將各關(guān)節(jié)變量值傳輸?shù)竭\(yùn)動(dòng)控制卡,通過(guò)控制各個(gè)關(guān)節(jié)的伺服執(zhí)行單元實(shí)現(xiàn)位置控制,并最終完成給定的任務(wù)。
圖2 系統(tǒng)結(jié)構(gòu)框圖
在本系統(tǒng)中,串聯(lián)機(jī)械臂的控制方式釆用了分層控制的設(shè)計(jì)模式,上層為規(guī)劃控制級(jí),由嵌入式計(jì)算機(jī)負(fù)責(zé)系統(tǒng)管理,其通過(guò)CAN總線(xiàn)與下層伺服控制級(jí)的多軸運(yùn)動(dòng)控制器模塊通信;下層為伺服控制級(jí),其主要由多軸運(yùn)動(dòng)控制器、直流伺服電機(jī)驅(qū)動(dòng)器及通信接口組成。其中,多軸運(yùn)動(dòng)控制器與直流伺服電機(jī)驅(qū)動(dòng)器一起完成直流伺服電機(jī)的位置、速度、力矩的閉環(huán)控制,實(shí)現(xiàn)對(duì)機(jī)械臂關(guān)節(jié)運(yùn)動(dòng)的實(shí)時(shí)控制。采用CAN總線(xiàn)讀取并傳輸電機(jī)編碼器的初始值;文中通過(guò)采用雙端口RAM作為嵌入式PC的存儲(chǔ)模塊與PMAC通訊的高速緩沖區(qū)來(lái)改善兩者之間數(shù)據(jù)交換的速度,由此便可實(shí)現(xiàn),將嵌入式PC內(nèi)存中的數(shù)據(jù)下載到PMAC中,或?qū)㈥P(guān)節(jié)位置的信息和伺服單元的數(shù)據(jù)傳輸至PC;控制系統(tǒng)釆用開(kāi)放式控制結(jié)構(gòu),配備了多種網(wǎng)絡(luò)接口,方便CAN總線(xiàn)與機(jī)器人的其他單元通訊。由于機(jī)械臂的系統(tǒng)架構(gòu)采用了系統(tǒng)開(kāi)放的特點(diǎn),因此其既可作為獨(dú)立的串聯(lián)機(jī)械臂系統(tǒng)來(lái)實(shí)現(xiàn)自身獨(dú)自的功能,也可通過(guò)通訊接口擴(kuò)展為服務(wù)機(jī)器人的執(zhí)行單元;機(jī)械臂控制系統(tǒng)的主控制器采用3.5英寸嵌入式工控主板,其具有功耗低和穩(wěn)定性高的特點(diǎn),主控制器采用Windows XP作為操作系統(tǒng),可方便安裝PMAC卡的驅(qū)動(dòng)程序和動(dòng)態(tài)鏈接庫(kù),伺服控制級(jí)的核心是基于DSP的多軸、多通道控制器,同時(shí)具備PLC控制和數(shù)據(jù)釆集的功能。因此,其具有編程簡(jiǎn)單、響應(yīng)速度快和開(kāi)發(fā)周期短且準(zhǔn)確度高等優(yōu)勢(shì)。PMAC提供的執(zhí)行軟件支持動(dòng)態(tài)鏈接庫(kù),并支持VC、C++開(kāi)發(fā)或調(diào)用動(dòng)態(tài)鏈接庫(kù)的函數(shù),便于完成運(yùn)動(dòng)控制器參數(shù)修改、執(zhí)行任務(wù)文件下載等功能。通過(guò)直流電機(jī)伺服驅(qū)動(dòng)器完成電機(jī)的速度控制和電流控制,該伺服驅(qū)動(dòng)器配備多種信號(hào)接口,如CAN總線(xiàn)接口模塊,用于獲取電機(jī)編碼器的信號(hào)的反饋接口;同時(shí),還可用于接收多軸運(yùn)動(dòng)控制器傳輸?shù)目刂菩盘?hào)的接口。
圖3 系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)圖
2.2串聯(lián)機(jī)械臂系統(tǒng)軟件設(shè)計(jì)
機(jī)械臂控制軟件開(kāi)發(fā)使用Windows XP作為操作系統(tǒng)。控制軟件采用模塊化設(shè)計(jì),上位機(jī)模塊采用Visual C++6.0進(jìn)行幵發(fā),主要完成軌跡規(guī)劃、機(jī)械臂運(yùn)動(dòng)學(xué)計(jì)算、參數(shù)設(shè)置與修改等任務(wù);從機(jī)控制模塊主要利用PMAC自身語(yǔ)言來(lái)完成開(kāi)發(fā),通過(guò)其高速運(yùn)算功能實(shí)現(xiàn)軌跡插補(bǔ)、運(yùn)動(dòng)伺服控制等功能。聯(lián)機(jī)械臂控制系統(tǒng)軟件程序流程圖,如圖4所示。
圖4 軟件設(shè)計(jì)的流程圖
參數(shù)初始化模塊:在程序中輸入機(jī)械臂連桿參數(shù),設(shè)定各關(guān)節(jié)的電機(jī)編碼器初始值和電機(jī)的額定參數(shù),編寫(xiě)多軸運(yùn)動(dòng)控制器初始化程序,用C++語(yǔ)言編寫(xiě)運(yùn)動(dòng)學(xué)求解的數(shù)學(xué)運(yùn)算,并將在笛卡爾空間描述的操作任務(wù)轉(zhuǎn)換至關(guān)節(jié)空間;通訊模塊:確定嵌入式PC與下層PMAC卡的通訊方式,設(shè)定數(shù)據(jù)傳輸規(guī)則,完成通訊端口初始化,機(jī)械臂在執(zhí)行任務(wù)時(shí),釆用通訊模塊實(shí)時(shí)偵聽(tīng)視覺(jué)模塊傳遞的數(shù)據(jù),并進(jìn)行任務(wù)判斷。當(dāng)確認(rèn)任務(wù)后,通過(guò)軌跡規(guī)劃模塊完成機(jī)械臂各關(guān)節(jié)的軌跡運(yùn)動(dòng)參數(shù)計(jì)算。將參數(shù)傳輸至PMAC卡,控制伺服驅(qū)動(dòng)器,從而實(shí)現(xiàn)串聯(lián)機(jī)械臂各關(guān)節(jié)電機(jī)的伺服控制。
3控制系統(tǒng)通信方式
傳統(tǒng)的機(jī)器人系統(tǒng)中通常釆用基于點(diǎn)對(duì)點(diǎn)連接的集中式通信方法。該方法結(jié)構(gòu)簡(jiǎn)單,在傳感器和執(zhí)行器數(shù)量較少的控制系統(tǒng)中應(yīng)用較廣。但由于本文設(shè)計(jì)的串聯(lián)機(jī)械臂的控制變量較多,且對(duì)控制精度要求較高。而傳統(tǒng)的集中式通信方法布線(xiàn)復(fù)雜,導(dǎo)致系統(tǒng)難以維護(hù),可靠性和靈活性較低。在本文的機(jī)械臂控制系統(tǒng)設(shè)計(jì)中,釆用總線(xiàn)實(shí)現(xiàn)機(jī)械臂控制系統(tǒng)的嵌入式PC與運(yùn)動(dòng)控制卡PMAC之間的高速通訊,由于機(jī)械臂控制系統(tǒng)需要獲取視覺(jué)系統(tǒng)提供的目標(biāo)物體位姿信息才能完成目標(biāo)操作。因此,采用現(xiàn)場(chǎng)總線(xiàn)技術(shù)解決機(jī)械臂的通信問(wèn)題,本文采用CAN總線(xiàn)(Controller Area Network)作為串聯(lián)機(jī)械臂的通信方式,充分發(fā)揮了該總線(xiàn)具有的實(shí)時(shí)性強(qiáng)、成本低、靈活性好的優(yōu)點(diǎn),并在一定程度上滿(mǎn)足了控制系統(tǒng)與視覺(jué)模塊之間的通信需求。
4控制系統(tǒng)測(cè)試
為實(shí)現(xiàn)機(jī)械臂的伺服控制,首先在嵌入式PC中完成運(yùn)動(dòng)學(xué)計(jì)算程序、通訊程序等軟件的編寫(xiě),再依次連接PC機(jī)、運(yùn)動(dòng)控制卡、伺服電機(jī)驅(qū)動(dòng)器和伺服電機(jī),搭建機(jī)械臂控制系統(tǒng),并實(shí)現(xiàn)控制系統(tǒng)與已裝配電機(jī)、減速器、編碼器的串聯(lián)機(jī)械臂的電氣連接,從而搭建完成串聯(lián)機(jī)械臂的控制平臺(tái)。實(shí)現(xiàn)各模塊的通訊功能,實(shí)時(shí)讀取嵌入式PC發(fā)送的位姿信息或指令,編寫(xiě)CAN端口偵聽(tīng)程序,并與視覺(jué)模塊建立通訊,接收視覺(jué)系統(tǒng)檢測(cè)到的位姿數(shù)據(jù),完成機(jī)械臂的運(yùn)動(dòng)控制。安裝串聯(lián)機(jī)械臂及其控制系統(tǒng)后,對(duì)其進(jìn)行性能測(cè)試。對(duì)其進(jìn)行軟件測(cè)試,在機(jī)械臂的操作空間內(nèi)給定一個(gè)視覺(jué)目標(biāo)點(diǎn),查看上位機(jī)計(jì)算出的機(jī)械臂各關(guān)節(jié)的期望旋轉(zhuǎn)角度值。圖5為該控制系統(tǒng)實(shí)現(xiàn)機(jī)械臂的去接水杯過(guò)程。
圖5 測(cè)試界面圖
5結(jié)束語(yǔ)
本文設(shè)計(jì)了一套串聯(lián)機(jī)械臂控制系統(tǒng),該系統(tǒng)使
串聯(lián)機(jī)械臂具備一定的負(fù)載能力,實(shí)現(xiàn)了自主抓取目標(biāo)物體并完成給定預(yù)期任務(wù),通過(guò)介紹機(jī)械臂的控制系統(tǒng)架構(gòu)以及相應(yīng)的硬件和軟件設(shè)計(jì)模塊,其不僅在功能上使機(jī)械臂完成了預(yù)期的任務(wù),且使優(yōu)化的串聯(lián)機(jī)械臂具有性能穩(wěn)定、控制精度高、運(yùn)行速度快、實(shí)現(xiàn)友好人機(jī)交互等特點(diǎn);通過(guò)釆用雙微機(jī)分層控制方式完成串聯(lián)機(jī)械臂開(kāi)放式控制系統(tǒng)的設(shè)計(jì)和機(jī)械臂控制系統(tǒng)的硬件構(gòu)成。同時(shí),釆用面向?qū)ο蟪绦蛟O(shè)計(jì)方法完了串聯(lián)機(jī)械臂的控制軟件,實(shí)現(xiàn)了機(jī)械臂的位置補(bǔ)償和參數(shù)初始化各個(gè)子模塊的功能。最終,采用CAN總線(xiàn)實(shí)現(xiàn)機(jī)械臂兩級(jí)控制器以及機(jī)器人各模塊之間的數(shù)據(jù)交換功能,一定程度上解決了機(jī)器人通信量大與實(shí)時(shí)控制要求之間的矛盾,為機(jī)械臂高效地完成操作任務(wù)奠定了基礎(chǔ)。
參考文獻(xiàn)
[1]Selig J M.機(jī)器人學(xué)的幾何基礎(chǔ)[M].2版.楊向東,譯.北京:清華大學(xué)出版社,2008.
[2]張微微.6-D0F串聯(lián)機(jī)器人動(dòng)力學(xué)性能指標(biāo)分析與仿真[D].秦皇島:燕山大學(xué),2007.
[3]蔡自新.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,2000.
[4]蔣新松.機(jī)器人學(xué)導(dǎo)論[M].沈陽(yáng):遼寧科學(xué)技術(shù)出版社,1994.
[5]向先波.主從遙控作業(yè)機(jī)械手控制系統(tǒng)研究[D].武漢:華中科技大學(xué),2003.
[6]朱世強(qiáng),王宣銀.機(jī)器人技術(shù)及其應(yīng)用[M].杭州:浙江大學(xué)出版社,2001.
[7]唐新華.焊接機(jī)器人的現(xiàn)狀及發(fā)展趨勢(shì)[J].電焊機(jī),2006,36(4):43-46.
[8]孫斌,楊汝清.幵放式機(jī)器人控制器綜述[J].機(jī)器人,2001,23(4):374-378.
中圖分類(lèi)號(hào)TP241
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)03-071-04
doi:10.16180/j.cnki.issn1007-7820.2016.03.018
作者簡(jiǎn)介:楊廣澤(1981—),男,工程師。研究方向:機(jī)械設(shè)計(jì)及其自動(dòng)化。
收稿日期:2015- 06- 12