基于力/力矩傳感器的機器人力控制實驗作業(yè)系統(tǒng)
隨著機器人技術(shù)的發(fā)展,機器人位置控制技術(shù)和計算機技術(shù)的日趨完善,人們已經(jīng)不再滿足于只讓機器人從事象點焊,弧焊,噴漆和搬運等不與環(huán)境物體接觸的工作任務(wù),而是試圖用機器人來完成象裝配,浮游物體抓取,邊緣跟蹤和去毛刺等與環(huán)境存在接觸的任務(wù)。然而由于外部環(huán)境和機器人本體的非理想化,無法消除誤差的存在,因而純位置控制方式下的機器人在從事這類工作的時候?qū)⒉豢杀苊獾禺a(chǎn)生一些不希望的環(huán)境接觸力,而且這種不希望的接觸力往往又是很大的,以至于損壞工件或機械手本身,致使任務(wù)無法正常進行。為此,可以將六自由度腕力傳感器與機器人結(jié)合,組成力控制系統(tǒng)來完成預(yù)定作業(yè)任務(wù)。
1 系統(tǒng)組成
基于力/力矩傳感器的力控制系統(tǒng)由六維力/力矩傳感器、PC微型計算機、PUMA562機器人等部分組成。其中:機器人采用美國Unimation公司生產(chǎn)的PUMA562型通用可編程工業(yè)機器人;主控計算機為一臺(Pentium166)PC機,主控計算機是實驗系統(tǒng)的核心控制單元,腕力傳感器獲得的數(shù)據(jù)通過計算機的并行打印口傳給計算機,并由其完成計算機力/力矩的任務(wù),然后根據(jù)傳感器的力/力矩信息或者按預(yù)定的策略,計算產(chǎn)生機器人的運動軌跡,*后,通過與機器人連接的智能串行通訊卡,對機器人進行實時的路徑修正。
2 智能串行通訊接口的設(shè)計
本系統(tǒng)通過計算機的并行通訊口與腕力傳感器進行數(shù)據(jù)交換,計算出力/力矩等信息后,控制機器人進行作業(yè),由于計算機還要承擔(dān)與機器人的數(shù)據(jù)交換等通訊任務(wù),要在極短的時間段里根據(jù)復(fù)雜的協(xié)議完成通訊,給主控計算機帶來了巨大的負擔(dān)。因此,專門設(shè)計了智能串行通訊接口卡把機器人與主控計算機通訊的任務(wù)分離出來,使得主控計算機只需向串行通訊電路提供修正數(shù)據(jù),拋開了復(fù)雜的通訊協(xié)議,并且在不需要修正時不必傳送修正數(shù)據(jù),從而提高整個系統(tǒng)的性能。
智能串行通訊接口卡插在主控計算機的I/O擴展槽內(nèi),與主控計算機為并行數(shù)據(jù)傳輸,并把數(shù)據(jù)自動傳送給機器人。具體如下:
1、接收PUMA機器人的ALTER過程初始化信息塊,發(fā)送給PUMA機器人初始化應(yīng)答信息塊;
2、接收PUMA機器人的正常修正信息塊,檢測后傳送主控計算機;
3、接收主控計算機路徑修正值,進行超限檢測,將正確值送給機器人;
4、若在一個修正周期中,主控計算機沒有送來修正值,串行通訊電路會正常應(yīng)答機器人,不作修正;
5、與PUMA機器人通訊時,自動添加協(xié)議的內(nèi)容,自動按照通訊協(xié)議接收數(shù)據(jù)。
利用單片機片內(nèi)UART電路,經(jīng)電平轉(zhuǎn)換后與PUMA機器人控制器的ACCESSORY接口,構(gòu)成標(biāo)準(zhǔn)的RS-232C串行通訊通道。單片機與PC機之間采用74LS373和74LS374組成的雙向緩沖八位并行接口,并采用中斷和查詢相結(jié)合的方式控制數(shù)據(jù)流。這是由于在兩者交換數(shù)據(jù)時,PC機是主動的一方,在PC機需要輸入或輸出PUMA機器人關(guān)節(jié)角度數(shù)據(jù)時,通過對雙向緩沖器讀或?qū)?,將分別向單片機發(fā)出INT0或INT1中斷請求。另一方面由于所交換的數(shù)據(jù)是{DATAS}中的16個有效數(shù)據(jù)字節(jié),故在單片機響應(yīng)中斷后便與PC機之間進行整塊數(shù)據(jù)的發(fā)送或接收,在字節(jié)間則采用查詢方式。
PUMA機器人、通訊電路和PC機三者之間存在數(shù)據(jù)流速度的協(xié)調(diào)性問題,這一問題主要是由PC機的運算時間不一定正好為28ms導(dǎo)致的。如果PC機在28ms內(nèi)沒有新的運算結(jié)果輸出給通訊電路,通訊電路則應(yīng)按上次結(jié)果發(fā)送;但如果PC機在28ms內(nèi)進行了多次運算,而且當(dāng)某些運算結(jié)果具有累加性質(zhì)時,將導(dǎo)致機器人失控。為了避免后一種情況,通訊電路與PC機之間建立了同步握手關(guān)系,即單片機在收到PUMA機器人一組數(shù)據(jù)后將P1.7置1,而在收到**PC機數(shù)據(jù)后將其清0,當(dāng)PC機查詢到該信號為1時便與通訊電路進行一次數(shù)據(jù)交換。
3 串行通訊軟件設(shè)計
主控計算機與機器人進行串行通訊的關(guān)鍵在于單片機通訊程序,主要功能包括:
1、接受PUMA機器人的串行通訊數(shù)據(jù),并完成"拆包"工作;
2、在接受的同時,向PUMA機器人發(fā)送完整的通訊數(shù)據(jù),在此期間對欲發(fā)送的進行"打包";
3、與計算機之間進行數(shù)據(jù)塊的并行交換;
4、對通訊過程中的錯誤進行檢驗和處理,特別是檢驗法送給PUMA機器人的位置修正量,防止其超限,以保證**性;
5、過程控制,包括數(shù)據(jù)協(xié)調(diào)、通訊結(jié)束控制等。
通過以上功能的實現(xiàn),著重解決了以下問題:
計算機將位置修正量輸出到單片機內(nèi)RAM中緩沖后,再轉(zhuǎn)送給PUMA機器人,故如果在單片機正與PUMA機器人通訊時,計算機用中斷方式請求與單片機傳輸數(shù)據(jù),為了保證這兩組數(shù)據(jù)間的完全隔離,特別是防止某組修正量低字節(jié)已發(fā)給PUMA機器人時計算機傳來新數(shù)據(jù),導(dǎo)致兩次數(shù)據(jù)間的"混迭",通訊程序中采用了兩級緩沖方式,即從計算機傳來的數(shù)據(jù)先進入第**緩沖區(qū),在向PUMA機器人發(fā)送數(shù)據(jù)前再將整體移入**級緩沖區(qū),以后便發(fā)送**級緩沖區(qū)中的數(shù)據(jù),同理,在接收PUMA機器人數(shù)據(jù)時也采用了兩級緩沖方式。
一旦PUMA機器人因故停止通訊,由定時器T0構(gòu)成的時間監(jiān)視器將向P1.6發(fā)出低電平,迫使單片機復(fù)位,該時間長度為65ms。為此每次收到PUMA機器人數(shù)據(jù)后將定時器T0清零。
由于填充的字節(jié)個數(shù)不等的原因,串行接收和發(fā)送的數(shù)據(jù)字節(jié)數(shù)不完全相等,因而串行接收和發(fā)送分別由獨立的子程序處理,只有兩者都完成才結(jié)束本周期的通訊。
與計算機進行交換有效數(shù)據(jù)的INT0和INT1中斷服務(wù)子程序,兩者連起來的執(zhí)行時間約為380ms,串行接收或發(fā)送一個字節(jié)(共十位)的時間為502ms,因而不可能漏收每一個PUMA機器人發(fā)來的串行字節(jié)。
4 結(jié)束語
通過本文建立了基于力/力矩腕力傳感器的機器人力控制作業(yè)實驗系統(tǒng)。分析了在實時路徑修正基礎(chǔ)上設(shè)計的通訊接口卡的硬件設(shè)計、工作原理,并設(shè)計了通訊軟件,使主控計算機與PUMA機器人能夠順利地進行數(shù)據(jù)交換。通過本實驗系統(tǒng)可以順利完成基于力控制的零件裝配作業(yè)、邊緣跟蹤等實際任務(wù)。