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