專利名稱:機器人控制器脈沖同步調整方法及裝置的制作方法
技術領域:
本發明屬于機器人控制器脈沖控制方法及裝置,尤指一種機器人控制器向多臺電機驅動器發送指令的一種同步方法及其裝置。
背景技術:
在機器人控制領域內,如何能讓電機按預期的軌跡平穩安全的運行是決定機器人性能的關鍵問題。合理的調節電機驅動器參數,對電機的變速運行進行適當的插補運算往往是解決此問題的最佳答案,但控制器對驅動器脈沖發送的時間間隔控制卻是保證電機平穩運行的先決條件,往往被忽視。運用DSP進行電機控制時,通常采用軌跡插值和調節驅動器控制參數的方法提升電機的控制性能,但由于機器人控制器進行多任務處理,難以實現較高的實時性,其發送指令的時刻往往會存在幾十到幾百微秒的偏差,這種指令時刻的偏差將導致電機在運行過程中出現波動現象,嚴重時甚至丟碼影響機器人定位精度。
發明內容
本發明針對以上問題提出了一種采用同步調整方法及其裝置對機器人控制器同步指令的時間進行調整,實現電機的平穩運行并避免丟碼情況的發生。本發明的技術方案提供一種機器人控制器脈沖同步調整方法,包括以下步驟:接收機器人控制器發送的進行同步調整的指令;獲取機器人控制器的指令時間;根據所述指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整;根據所述同步調整的結果進行脈沖的輸出運算;所述根據指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整具體為:若所述指令時間小于設定的機器人控制器的周期最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送;若機器人控制器指令時間大于設定的機器人控制器的周期最小值小于機器人控制器的周期最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送;若機器人控制器指令時間大于機器人控制器的周期最大值,開啟下電保護和脈沖輸出禁止功能。另一方面,本發明實施例還提供了一種機器人控制器脈沖同步調整裝置,包括一機器人控制器、一設置于機器人脈沖控制器中的DSP數字信號處理器,所述機器人控制器用于向所述DSP數字信號處理器發送同步調整的指令;所述DSP數字信號處理器用于根據機器人控制器的指令時間與機器人控制器的周期值進行對比的結果進行脈沖的同步調整,并根據同步調整的結果進行脈沖的輸出運算;
所述根據指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整具體為:若所述指令時間小于設定的機器人控制器的周期最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送;若機器人控制器指令時間大于設定的機器人控制器的周期最小值小于機器人控制器的周期最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送;若機器人控制器指令時間大于機器人控制器的周期最大值,開啟下電保護和脈沖輸出禁止功能。本發明機器人控制器脈沖同步調整裝置及方法的較佳實施方式中,所述脈沖控制器包括一設有計數寄存器的DSP數字信號處理器,所述DSP數字信號處理器接收來自所述機器人控制器的指令,所述計數寄存器采用連續增計數模式,每過一個DSP事件管理器模塊內部時鐘周期所述計數寄存器操作一次,所述機器人控制器每發送一次同步指令,所述計數寄存器前后兩次計數差值乘以DSP事件管理器模塊內部時鐘周期值,再與機器人控制器周期值進行對比,并根據對比結果進行時間的同步調整。本發明保證在以往合理調節驅動器參數等措施的基礎上,運用DSP對電機進行控制,采用其內部模塊對機器人控制器脈沖指令的時間間隔進行納秒級判斷進而控制脈沖輸出的方式。在點焊、弧焊機器人的實際運行中使電機的運行更加平穩,機器人的定位精度更加準確。在脈沖輸出之前加一個同步調整函數,可避免電機不平穩運行的情況,降低了現場的事故率;通過大量實驗測試,采用本方法可使機器人較為準確的進行定位操作,提高了生產質量和生產效率。
圖1是本發明機器人控制器脈沖同步調整方法的較佳實施方式的流程圖;圖2是本發明機器人控制器脈沖同步調整裝置的較佳實施方式的結構框圖;圖3是圖2中的脈沖控制器的硬件原理框圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。請參閱圖1,本發明機器人控制器脈沖同步調整方法的較佳實施方式的同步調整機制的流程,具體步驟如下:步驟SI,接收機器人控制器發送的進行同步調整的指令。具體的,定義變量TlCNT_old,TlCNT_new, N (N為脈沖輸出拍數)。系統初始化時禁止事件管理器內部定時器操作。當所述機器人控制器10發送上電指令時使能定時器,此時所述計數寄存器將計數值賦給變量TlCNT_old。當脈沖控制器接收到機器人控制器發送的進行同步調整的指令后,將所述計數寄存器的計數值賦給變量TlCNT_new。步驟S2,獲取機器人控制器的指令時間。脈沖控制器中包含一設有計數寄存器的DSP數字信號處理器,當接收到機器人控制器的指令后,所述計數寄存器采用連續增計數的模式,每過一個DSP事件管理器模塊內部時鐘周期計數寄存器操作一次。通過查詢方式讀取計數寄存器的計數值,機器人控制器每發送一次同步指令,計數寄存器將前后兩次計數的差值乘以DSP事件管理器模塊內部時鐘周期,所得的值即為機器人控制器的指令時間。步驟S3,根據所述指令時間與機器人控制器的周期值進行對比的結果進行脈沖同
步調整。將步驟2得出的機器人控制器的指令時間與機器人控制器周期值T (例如,本發明機器人控制器周期值T為10ms-23ms內的整數值)相減進行對比得出對比結果。所述機器人控制器10每發送一次同步指令,所述脈沖控制器20接收到同步指令,變量TlCNT_new和變量TlCNT_old的值進行更新。兩變量計數值的差與機器人控制器的周期值T進行對比,判斷機器人控制器指令時間是否超出允許范圍并進行同步調整。具體為,若在規定的范圍內小于設定的最小值,即(TlCNT_new-TlCNT_old)-機器人控制器周期值T <最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送。例如,上動電初,接收所述機器人控制器10發同步指令時,定時器中斷時間進行歸零調整。所述計數寄存器開始操作記為TlCNT_old,脈沖發一拍,其余(N-1)拍在中斷程序中發。所述機器人控制器10再一次發同步指令時,所述計數寄存器操作記為TlCNT_new,判斷若(TlCNT_new-TlCNT_old)-機器人控制器周期值T <最小值,脈沖輸出N拍,進行正常的時鐘同步和脈沖發送,中斷定時器歸零,脈沖發一拍,其余(N-1)拍在中斷程序中發。判斷兩變量計數值的差與機器人控制周期值進行對比,若大于設定的最小值小于最大值,即最小值< (TlCNT_neW-TlCNT_old)-機器人控制器周期值T <最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送,即中斷定時器不歸零,脈沖共發(N-1)拍全在中斷中。判斷兩變量計數值的差與機器人控制周期值進行對比,若超出規定范圍,即(TlCNT_neW-TlCNT_old)-機器人控制器周期值T >最大值,開啟下電保護和脈沖輸出禁止功能。本發明機器人控制器脈沖同步調整方法的較佳實施方式中進行調整次數統計,定義次數統計變量AdjustCount,系統初始化時AdjustCount清零。在規定時間內接收到同步幀,認為同步正常不進行計數,否則認為同步異常AdjustCount加I。如果小于規定范圍認為校對成功,進行正常的同步調整和脈沖第一拍發送,余下的脈沖通過系統定時器中斷進行發送;如果大于規定的最小值小于最大值,認為校對不成功,不進行時鐘同步和脈沖的第一拍發送,輸出脈沖通過系統定時器中斷進行發送,否則下電報錯。所述機器人控制器10給上動力電指令時,所述DSP數字信號處理器21的事件管理器模塊使能定時器,開啟其內部定時器、所述計數寄存器。當第一次同步幀來時,此時所述計數寄存器將計數值賦給變量TlCNT_old。同步再來時,得所述計數寄存器的計數值給變量TlCNT_new。每次調整后,即經過所述脈沖控制器20判斷之后,將TlCNT_new的值賦給TlCNT_old。以此循環。步驟S4,根據所述同步調整的結果進行脈沖的輸出運算。通過所述DSP數字信號處理器的事件管理器模塊內部定時器進行時間的同步調整之后,根據調整的結果進行脈沖的輸出運算,并將運算結果傳送給驅動器用以控制電機的轉動,所述電機用以控制機器人本體的運動。通過實施本發明,保證在以往合理調節驅動器參數等措施的基礎上,運用DSP對電機進行控制,采用其內部模塊對機器人控制器脈沖指令的時間間隔進行納秒級判斷進而控制脈沖輸出的方式。在點焊、弧焊機器人的實際運行中使電機的運行更加平穩,機器人的定位精度更加準確。在脈沖輸出之前加一個同步調整函數,可避免電機不平穩運行的情況,降低了現場的事故率;通過大量實驗測試,采用本方法可使機器人較為準確的進行定位操作,提高了生產質量和生產效率。 請參閱圖2,本發明實施例還提供了 一種機器人控制器脈沖同步調整裝置,包括一機器人控制器10、一設置于機器人脈沖控制器20中的DSP數字信號處理器21,所述機器人控制器10用于向所述DSP數字信號處理器21發送同步調整的指令;所述DSP數字信號處理器21用于根據機器人控制器的指令時間與機器人控制器的周期值進行對比的結果進行脈沖的同步調整,并根據同步調整的結果進行脈沖的輸出運算。所述根據指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整具體為:若所述指令時間小于設定的機器人控制器的周期最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送;若機器人控制器指令時間大于設定的機器人控制器的周期最小值小于機器人控制器的周期最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送;若機器人控制器指令時間大于機器人控制器的周期最大值,開啟下電保護和脈沖輸出禁止功能。所述裝置還包括一設于所述DSP事件管理器內部的計數寄存器,用于獲取機器人控制器10的指令時間,具體為:所述計數寄存器采用增計數的模式每過一個DSP事件管理器模塊內部時鐘周期操作一次,每接收到一次同步調整的指令,所述計數寄存器28將前后兩次計數的差值乘以所述DSP事件管理器模塊內部時鐘周期,所得的值即為機器人控制器的指令時間。所述裝置還包括一驅動器30和一電機40,所述驅動器30接收所述DSP數字信號處理器21發送的運算結果,用以控制電機40的轉動,所述電機40用以控制機器人本體50的運動。請同時參閱圖3,所述脈沖控制器20包括一 DSP數字信號處理器21、一FPGA(Field Programmable Gate Array,現場可編程門陣列)信號處理器22、一 CAN接口電路23、一存儲器24、一模擬量輸出電路25、一數字量輸出電路26以及一編碼器接口電路27。所述DSP數字信號處理器21通過所述CAN接口電路23接收來自所述機器人控制器10的指令。所述存儲器24用于存儲相應的數據或者程序等等。所述DSP數字信號處理器21的事件管理器模塊包括定時器和計數寄存器。所述DSP數字信號處理器21將指令發給所述FPGA信號處理器22,經所述FPGA信號處理器22內部操作將信號經所述模擬量輸出電路25、所述數字量輸出電路26、所述編碼器接口電路27與所述驅動器30進行直接的通訊。為使所述電機40能夠平穩安全的運行,提高機器人的準確定位精度,在所述脈沖控制器20的DSP數字信號處理器21中,對所述機器人控制器10發出的增量位置碼(指令)先進行同步調整機制的處理再進行脈沖的輸出運算,最后傳給所述驅動器30控制所述電機40轉動。通過實施本發明,保證在以往合理調節驅動器參數等措施的基礎上,運用DSP對電機進行控制,采用其內部模塊對機器人控制器脈沖指令的時間間隔進行納秒級判斷進而控制脈沖輸出的方式。在點焊、弧焊機器人的實際運行中使電機的運行更加平穩,機器人的定位精度更加準確。在脈沖輸出之前加一個同步調整函數,可避免電機不平穩運行的情況,降低了現場的事故率;通過大量實驗測試,采用本方法可使機器人較為準確的進行定位操作,提高了生產質量和生產效率。以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,如本發明中的舉例均以時間上的分集為例,本發明中已經提及和未提及的各種分集發射方式都包含中本發明的保護內容中。任何本領域的技術人員能思之的變化都應落入本發明的保護范圍。
權利要求
1.一種機器人控制器脈沖同步調整方法,其特征在于,包括以下步驟: 接收機器人控制器發送的進行同步調整的指令; 獲取機器人控制器的指令時間; 根據所述指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整; 根據所述同步調整的結果進行脈沖的輸出運算; 所述根據指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整具體為: 若所述指令時間小于設定的機器人控制器的周期最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送; 若機器人控制器指令時間大于設定的機器人控制器的周期最小值小于機器人控制器的周期最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送; 若機器人控制器指 令時間大于機器人控制器的周期最大值,開啟下電保護和脈沖輸出禁止功能。
2.如權利要求1所述的機器人控制器脈沖同步調整方法,其特征在于,所述獲取機器人控制器的指令時間,具體為: 所述DSP事件管理器內部設置一計數寄存器,所述計數寄存器采用增計數的模式每過一個DSP事件管理器模塊內部時鐘周期操作一次,每接收到一次同步調整的指令,所述計數寄存器將前后兩次計數的差值乘以所述DSP事件管理器模塊內部時鐘周期,所得的值即為機器人控制器的指令時間。
3.如權利要求1所述的機器人控制器脈沖同步調整方法,其特征在于,所述DSP數字信號處理器進行調整次數統計,定義次數統計變量,系統初始化時將統計變量清零,在規定時間內接收到同步幀,認為同步正常不進行計數,否則認為同步異常將統計變量加I。
4.根據權利要求1所述的機器人控制器脈沖同步調整方法,其特征在于,所述機器人控制器給上動力電指令時使能定時器,開啟所述計數寄存器,當第一次同步幀來時,此時所述計數寄存器將計數值賦給變量TlCNT_old,同步再來時,得所述計數寄存器的計數值給變量TlCNT_new,每次調整后,將TlCNT_new的值賦給TlCNT_old。
5.一種機器人控制器脈沖同步調整裝置,其特征在于:包括一機器人控制器、一設置于機器人脈沖控制器中的DSP數字信號處理器, 所述機器人控制器用于向所述DSP數字信號處理器發送同步調整的指令; 所述DSP數字信號處理器用于根據機器人控制器的指令時間與機器人控制器的周期值進行對比的結果進行脈沖的同步調整,并根據同步調整的結果進行脈沖的輸出運算;所述根據指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整具體為: 若所述指令時間小于設定的機器人控制器的周期最小值,修改定時器同步時間,進行正常的時鐘同步和脈沖發送; 若機器人控制器指令時間大于設定的機器人控制器的周期最小值小于機器人控制器的周期最大值,不修改定時器同步時間,脈沖通過系統中斷程序進行發送; 若機器人控制器指令時間大于機器人控制器的周期最大值,開啟下電保護和脈沖輸出禁止功能。
6.如權利要求5所述的同步調整裝置,其特征在于,所述裝置還包括一設于所述DSP事件管理器內部的計數寄存器,用于獲取機器人控制器的指令時間,具體為: 所述DSP事件管理器內部設置一計數寄存器,所述計數寄存器采用增計數的模式每過一個DSP事件管理器模塊內部時鐘周期操作一次,每接收到一次同步調整的指令,所述計數寄存器將前后兩次計數的差值乘以所述DSP事件管理器模塊內部時鐘周期,所得的值即為機器人控制器的指令時間。
7.如權利要求5所述的同步調整裝置,其特征在于,所述裝置還包括一驅動器、一電機和一機器人本體,所述驅動器接收所述DSP數字信號處理器發送的運算結果,用以控制電機的轉動,所述電機用 以控制機器人本體的運動。
全文摘要
一種機器人控制器脈沖同步調整方法及裝置,該方法包括接收機器人控制器發送的進行同步調整的指令;獲取機器人控制器的指令時間;根據所述指令時間與機器人控制器的周期值進行對比的結果進行脈沖同步調整;根據所述同步調整的結果進行脈沖的輸出運算。本發明實施例還提供一種機器人控制器脈沖同步調整的裝置。實現電機按預定的目標控制機器人本體的運動。通過實施本發明實施例,使得電機按預定的目標控制機器人本體的運動,在點焊、弧焊機器人的實際運行中電機的運行更加平穩,機器人的定位更加準確。
文檔編號G05B19/042GK103197577SQ20121000354
公開日2013年7月10日 申請日期2012年1月6日 優先權日2012年1月6日
發明者李崇, 曲道奎, 徐方, 鄒風山, 宋吉來, 劉曉帆, 董狀, 甘戈 申請人:沈陽新松機器人自動化股份有限公司