李憲華,郭永存,郭帥,朱濤
(1. 安徽理工大學(xué)機(jī)械工程學(xué)院,安徽淮南232001;2. 上海大學(xué)機(jī)電工程與自動化學(xué)院,上海200444;3. 中國電子科技集團(tuán)公司第八研究所,安徽淮南232001)
微軟公司董事會主席比爾·蓋茨曾預(yù)言:機(jī)器人即將重復(fù)個人計算機(jī)產(chǎn)業(yè)的崛起之路,成為人們?nèi)粘I钪械囊徊糠?,?shí)現(xiàn)“家家都有機(jī)器人”[1]。如果想讓機(jī)器人能夠在一定程度上代替人類來完成某些日常工作,在其結(jié)構(gòu)和功能上應(yīng)盡量以人作為參照對象進(jìn)行設(shè)計[2-3],服務(wù)機(jī)器人進(jìn)行作業(yè)的最直接手段就是通過手臂完成取、放、擰緊、開關(guān)等動作,手臂是服務(wù)機(jī)器人完成任務(wù)操作的最終實(shí)現(xiàn)工具,因此對機(jī)器人手臂進(jìn)行合理的設(shè)計變得尤為重要。目前幾乎大部分工業(yè)機(jī)械臂的控制系統(tǒng)采用專用計算機(jī)、專門機(jī)器人語言、專用操作系統(tǒng)與專用處理器,各子系統(tǒng)耦合比較大,僅以示教盒作為人機(jī)接口。此種封閉式控制系統(tǒng)存在開放性差、軟件獨(dú)立性差和擴(kuò)展性差等問題,大大限制了系統(tǒng)的可擴(kuò)展性和靈活性[4-6]。因此對于家用服務(wù)機(jī)器人應(yīng)采用質(zhì)量輕且系統(tǒng)代碼開放的手臂系統(tǒng),以便于機(jī)器人系統(tǒng)的深入研究開發(fā)、擴(kuò)展和多傳感器的集成。
基于以上原因,課題組采用德國Amtec 公司生產(chǎn)的PowerCube 可重構(gòu)機(jī)器人模塊構(gòu)成機(jī)器人的雙臂。該模塊不僅具備機(jī)械系統(tǒng)的可重構(gòu)性,而且每個控制系統(tǒng)亦可單獨(dú)工作,主要特點(diǎn)有: (1)質(zhì)量較輕。模塊集馬達(dá)、減速器、控制電路、碼盤、驅(qū)動器于一體,大大減小了本身質(zhì)量。PRL120 型號的模塊馬達(dá)功率為250 W,輸出額定轉(zhuǎn)矩達(dá)216 N·m,而質(zhì)量僅為3.6 kg。PRL60 為最小模塊,輸出功率為40 W,輸出額定轉(zhuǎn)矩達(dá)4.5 N·m,關(guān)節(jié)模塊和手爪模塊如圖1 所示。(2)系統(tǒng)開放,便于開發(fā)。模塊代碼都為開放的,提供基本的通信協(xié)議和DLL 動態(tài)鏈接庫,便于在不同操作系統(tǒng)編程平臺下進(jìn)行信息融合。該服務(wù)機(jī)器人手臂上位機(jī)操作系統(tǒng)為WindowsXP,開發(fā)環(huán)境為VC++。 (3)組裝簡單,便于組成各種構(gòu)形。機(jī)器人模塊的一個重要特點(diǎn)就是可重構(gòu)性,將具有不同尺寸和功能特征、擁有一定裝配關(guān)系的關(guān)節(jié)模塊與連桿以積木的方式搭建起來就構(gòu)了一個機(jī)械臂。根據(jù)需要不同,可以組成不同構(gòu)型的機(jī)器人,以便適應(yīng)任務(wù)的多樣性。PowerCube 模塊通信方式、驅(qū)動和控制都是相同的,僅需將它們用中間桿件連接起來便可。當(dāng)需要構(gòu)建不同的機(jī)器人手臂時,只需改變連接件即可。
圖1 PowerCube 模塊
每個模塊都為中空軸結(jié)構(gòu),因此連線非常簡捷。每個模塊有7 根電纜線,包括2 根馬達(dá)電源線、2 根控制電源線、3 根控制數(shù)據(jù)線。電源都為24 V,使用不同顏色的線材,電氣接口如圖2 所示。本文所構(gòu)建機(jī)器人雙臂一共使用了14 個模塊,單個手臂7 個模塊,其中6 個模塊用于構(gòu)成手臂,1 個模塊為手爪。首先串聯(lián)每個手臂的7 個模塊,然后并聯(lián)兩個手臂的兩組模塊,如圖3 所示。
圖2 PowerCube 模塊電氣接口
PowerCube 模塊可供使用的通訊協(xié)議有3 種,分別為CAN、RS232、ProfiBus,文中采用的通訊協(xié)議為CAN,波特率為1 000 kB/s。普通計算機(jī)沒有CAN 通訊接口,但具有USB 接口,因此為了實(shí)現(xiàn)模塊與計算機(jī)間的通信,必須完成CAN 通信協(xié)議與USB 通信協(xié)議之間的轉(zhuǎn)換,采用一個CAN 轉(zhuǎn)USB 轉(zhuǎn)換器,可以實(shí)現(xiàn)這種功能,如圖4 所示。
圖3 機(jī)器人雙臂模塊連接方式
圖4 CAN-USB 協(xié)議轉(zhuǎn)換
為了連接14 個關(guān)節(jié)模塊,必須設(shè)計模塊間連桿,根據(jù)模塊機(jī)械接口的物理尺寸,采用鋁合金材料,兩個手臂所需連桿為14 個。每個連桿模塊內(nèi)部留有孔,這樣可以避免手臂在外部走線。由于手臂的機(jī)械部分與電氣部分均采用串聯(lián)方式連接,所以連接模塊與連桿的同時,必須連接電氣部分。模塊端部均布有12個螺孔用以模塊間的連接,模塊本身具有物理零位,因此進(jìn)行連接時,要使模塊運(yùn)動至機(jī)械零位,以便于手臂的物理校零。完成手臂裝配后,將其安裝于服務(wù)機(jī)器人本體上,如圖5 所示。
圖5 模塊化雙臂構(gòu)建過程
每個模塊都具有獨(dú)立的控制器和驅(qū)動器,因此分布式控制系統(tǒng)[7-8]比較適合用來對手臂進(jìn)行控制。分布式控制系統(tǒng)是指由多臺計算機(jī)分別控制生產(chǎn)過程中多個控制回路,同時又可集中獲取數(shù)據(jù)、集中管理和集中控制的自動控制系統(tǒng)。手臂的控制系統(tǒng)由三層組成,分別是路徑規(guī)劃層、軌跡規(guī)劃層和關(guān)節(jié)控制層。第一層指定作業(yè)過程的路徑;第二層規(guī)劃每個關(guān)節(jié)的時基變量,用以產(chǎn)生運(yùn)動指令,通過CAN 總線將指令分發(fā)給關(guān)節(jié)控制器;第三層接收上位計算機(jī)指令,完成關(guān)節(jié)的運(yùn)動控制。各關(guān)節(jié)控制器獨(dú)立進(jìn)行關(guān)節(jié)的運(yùn)動控制,并向上位計算機(jī)發(fā)送各關(guān)節(jié)的狀態(tài)信息。在實(shí)際的程序編寫中,采用VC + + 的多線程技術(shù)[9-10],將軟件系統(tǒng)分為兩個線程,主線程主要完成手臂路徑、軌跡規(guī)劃與指令幀生成,并向各個關(guān)節(jié)發(fā)送運(yùn)動指令,同時接收關(guān)節(jié)的位置信息,決定下一動作指令幀的發(fā)送。輔線程接收關(guān)節(jié)運(yùn)行的狀態(tài)信息,包括關(guān)節(jié)電流信息和錯誤信息等。電流的大小能夠反映手臂負(fù)載的大小,電流超出某一設(shè)定值時,便可認(rèn)為手臂抓取重力已超過其額定負(fù)載,此時控制系統(tǒng)發(fā)出錯誤信號,并立刻停止手臂的動作;錯誤信息包含關(guān)節(jié)出現(xiàn)的錯誤情況,有代碼與之相對應(yīng),通過查詢錯誤出處便可做出相應(yīng)處理。而輔線程則將各種信息進(jìn)行處理,然后把處理的結(jié)果返回給軌跡規(guī)劃層,用以決定是否向各關(guān)節(jié)控制器繼續(xù)發(fā)送運(yùn)動指令。文中采用的軟件方案如圖6 所示。
圖6 手臂軟件系統(tǒng)方案
在完成了機(jī)器人雙臂的軟硬件系統(tǒng)構(gòu)建后,對機(jī)器人的運(yùn)動學(xué)進(jìn)行了解算,完成了手臂正逆運(yùn)動學(xué)計算及軌跡規(guī)劃等問題[11-12]。為了驗證雙臂硬件系統(tǒng)構(gòu)建的可靠性及軟件系統(tǒng)的正確性及穩(wěn)定性,設(shè)計了機(jī)器人開瓶倒水動作。位于機(jī)器人腰部位置的三目視覺傳感器獲得水瓶的位置,然后統(tǒng)一至機(jī)器人基礎(chǔ)坐標(biāo)系下,而后經(jīng)過逆解計算得到右臂的各關(guān)節(jié)坐標(biāo),手臂按照規(guī)劃好的路徑到達(dá)水瓶上方,最后垂直向下運(yùn)動至抓瓶點(diǎn),關(guān)閉手爪完成抓取動作,而后雙臂協(xié)調(diào)進(jìn)行開瓶動作,將水瓶擰開后,右臂倒水,左臂放下瓶蓋,最后右臂將水瓶置于桌上,雙臂同時放下,回到初始位姿。實(shí)驗結(jié)果如圖7 所示,從而完成了對手臂軟硬件系統(tǒng)的驗證。
圖7 雙臂運(yùn)動測試實(shí)驗
采用PowerCube 可重構(gòu)機(jī)器人模塊共14 個,基于CAN 總線構(gòu)建了服務(wù)機(jī)器人的雙臂硬件平臺,依據(jù)手臂功能模塊化的特點(diǎn),采用分布式控制系統(tǒng)方案,設(shè)計了機(jī)器人雙臂的控制系統(tǒng),采用多線程技術(shù)設(shè)計了雙臂軟件系統(tǒng),最后通過實(shí)驗驗證了CAN 總線結(jié)構(gòu)下雙臂軟硬件系統(tǒng)構(gòu)建的正確性及穩(wěn)性定。
【1】GATES Bill.A Robot in Every Home[J].Scientific American,2007(1):58 -65.
【2】熊光明,趙濤. 服務(wù)機(jī)器人發(fā)展綜述及若干問題探討[J].機(jī)床與液壓,2007,35(3):212 -215.
【3】金周英,白英.我國機(jī)器人發(fā)展的政策研究報告[J].機(jī)器人技術(shù)與應(yīng)用,2009(2):1 -7.
【4】ALBU-SCHAFFER A,HADDADIN S,OTT Ch. The DLR Lightweight Robot:Design and Control Concepts for Robots in Human Environments[J]. Industial Robot,2007,34(5):376 -385.
【5】FAROOQ M,WANG Daobo. Implementation of a New PC Based Controller for a PUMA Robot[J]. Journal of Zhejiang University Science A,2007,8(12):1962 -1970.
【6】李一青.基于視覺的機(jī)器人雙臂控制系統(tǒng)及其導(dǎo)航的研究[D].上海:上海大學(xué),2009.
【7】楊斌,蘇劍波.仿人機(jī)器人的分布式控制系統(tǒng)設(shè)計[J].控制工程,2010,17(1):102 -105.
【8】CAO Qixin,ZHANG Zhen,GU Jiajun. A Distributed Control and Simulation System for Dual-arm Mobile Robot[C]//IEEE International Symposium on Computational Intelligence in Robotics and Automation,Jacksonville,USA,2007:20 -23.
【9】王育堅.Visual C++面向?qū)ο缶幊探坛蹋跰].北京:清華大學(xué)出版社,2007.
【10】楊昀.基于視覺的家用服務(wù)機(jī)器人自主導(dǎo)航系統(tǒng)研究與設(shè)計[D].上海:上海大學(xué),2010.
【11】LI Xianhua,TAN Shili,HUANG Wuxin. A Service Robot with Lightweight Arms and a Trinocular Vision Sensor[J].Key Engineering Materials,2010,439:396 -400.
【12】LI Xianhua,TAN Shili,HUANG Wuxin. LSPB Trajectory Planning:Design for the Modular Robot Arm Application[C]// International Conference on Information Engineering and Computer Science,Wuhan,China,2009:1652 -1655.