本發(fā)明涉及機(jī)器人控制的技術(shù)領(lǐng)域。更具體地講,涉及一種機(jī)器人關(guān)節(jié)的校準(zhǔn)方法和計算裝置。
背景技術(shù):
機(jī)器人在生產(chǎn)組裝完成之后需要對各關(guān)節(jié)的參數(shù)進(jìn)行校準(zhǔn),獲取零點位置、極限位置及運動過程中的位置信息等以提高運動的準(zhǔn)確性和精度等。傳統(tǒng)的機(jī)器人關(guān)節(jié)的校準(zhǔn)方案需要人工參與或者夾具輔助,效率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種機(jī)器人關(guān)節(jié)的校準(zhǔn)方法和計算裝置,以解決現(xiàn)有的校準(zhǔn)方案效率低下的問題。
本發(fā)明的一方面提供一種機(jī)器人關(guān)節(jié)的校準(zhǔn)方法,機(jī)器人關(guān)節(jié)的位置反饋傳感器包括可變電阻器,所述校準(zhǔn)方法包括:控制待校準(zhǔn)的關(guān)節(jié)向第一方向運動;當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時,獲取可變電阻器的第一adc值;控制待校準(zhǔn)的關(guān)節(jié)向第二運動方向運動,其中,第二方向與第一運動方向相反;當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時,獲取可變電阻器的第二adc值;根據(jù)所述第一adc值、第二adc值、第一方向的運動極限的第一絕對角度值和第二方向的運動極限的第二絕對角度值確定待校準(zhǔn)的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式;按照確定的函數(shù)關(guān)系式在機(jī)器人控制系統(tǒng)中設(shè)置待校準(zhǔn)的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式。
可選地,在控制所述待校準(zhǔn)的關(guān)節(jié)向第一方向或第二方向運動的過程中,實時獲取可變電阻器的第三adc值,根據(jù)可變電阻器的經(jīng)驗函數(shù)關(guān)系式以及所述第三adc值估計關(guān)節(jié)的當(dāng)前位置,根據(jù)估計的當(dāng)前位置來確定關(guān)節(jié)的運動速度,控制關(guān)節(jié)按所述確定的運動速度進(jìn)行運動。
可選地,根據(jù)當(dāng)前位置來確定關(guān)節(jié)的運動速度的步驟包括:在當(dāng)前位置到達(dá)預(yù)定位置之前確定關(guān)節(jié)的運動速度為第一速度,在當(dāng)前位置到達(dá)預(yù)定位置之后確定關(guān)節(jié)的運動速度為第二速度,其中,所述第一速度大于所述第二速度。
可選地,通過以下方式來檢測待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限:根據(jù)確定的運動速度來確定待校準(zhǔn)的關(guān)節(jié)的當(dāng)前理論位置,確定所述當(dāng)前理論位置與所述估計的當(dāng)前位置之間的跟隨誤差,當(dāng)跟隨誤差大于誤差閾值時,確定待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限。
可選地,通過以下方式來檢測待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限:獲取待校準(zhǔn)的關(guān)節(jié)的電機(jī)的電流,當(dāng)所述電流超過電流閾值時,確定待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限。
可選地,所述函數(shù)關(guān)系式為線性函數(shù)。
可選地,還包括:當(dāng)所述第一adc值與第一adc經(jīng)驗值的差值大于第一差值閾值時,和/或當(dāng)所述第二adc值與第二adc經(jīng)驗值的差值大于第一差值閾值時,提示可變電阻器裝偏,或可變電阻器存在異常,或待校準(zhǔn)的關(guān)節(jié)安裝存在問題,其中,所述第一adc經(jīng)驗值是指當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時可變電阻器的adc的經(jīng)驗值,所述第二adc經(jīng)驗值是指當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時可變電阻器的adc的經(jīng)驗值。
可選地,機(jī)器人關(guān)節(jié)的位置反饋傳感器還包括編碼器,所述校準(zhǔn)方法還包括:當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時,還獲取編碼器的第一讀數(shù),當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時,還獲取編碼器的第二讀數(shù),將第一讀數(shù)和第二讀數(shù)之間的差值換算為第一角度差,當(dāng)?shù)谝唤嵌炔钆c第二角度差之間的差值大于第二差值閾值時,提示編碼器存在異常,或待校準(zhǔn)的關(guān)節(jié)安裝存在問題,其中,第二角度差為第一絕對角度值和第二絕對角度值之間的差值。
本發(fā)明的另一方面提供一種計算機(jī)可讀存儲介質(zhì),存儲有當(dāng)被處理器執(zhí)行時使得處理器執(zhí)行如上所述的校準(zhǔn)方法的程序指令。
本發(fā)明的另一方面提供一種計算裝置,包括:處理器;存儲器,用于存儲當(dāng)被處理器執(zhí)行使得處理器執(zhí)行如上所述的校準(zhǔn)方法的程序指令。
根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法,可自動校準(zhǔn)位置反饋傳感器用于反饋關(guān)節(jié)的位置信息的相關(guān)參數(shù),校準(zhǔn)效率高,校準(zhǔn)過程安全可靠,從而可提高機(jī)器人運動的準(zhǔn)確性。此外,根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法還可對實際裝配中的一些安裝故障進(jìn)行自動診斷,從而方便安裝人員進(jìn)行故障查證。
將在接下來的描述中部分闡述本發(fā)明另外的方面和/或優(yōu)點,還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明的實施而得知。
附圖說明
通過下面結(jié)合附圖進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其它目的、特點和優(yōu)點將會變得更加清楚,其中:
圖1是示出根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法的流程圖。
圖2是示出根據(jù)本發(fā)明的實施例的計算裝置的框圖。
具體實施方式
下面參照附圖詳細(xì)描述本發(fā)明的實施例。
圖1是示出根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法的流程圖。根據(jù)本發(fā)明的實施例的控制智能家電的方法可應(yīng)用于各種具有自動控制功能的電子設(shè)備,例如,工業(yè)計算機(jī)、可編程控制器和單片機(jī)等。
根據(jù)本發(fā)明的機(jī)器人關(guān)節(jié)的位置反饋傳感器可包括各種可反饋位置信息的傳感器。例如,所述位置反饋傳感器可包括可變電阻器,可變電阻器直接或者通過齒輪安裝在關(guān)節(jié)的電機(jī)輸出軸上,在機(jī)器人運動的過程中,由可變電阻器來反饋關(guān)節(jié)的位置信息。再如,所述位置反饋傳感器可包括可變電阻器和編碼器,編碼器安裝在關(guān)節(jié)的電機(jī)非輸出軸上,可變電阻器直接或者通過齒輪安裝在關(guān)節(jié)的電機(jī)輸出軸上,可開機(jī)時由可變電阻器來反饋關(guān)鍵的初始位置,在機(jī)器人運動的過程中,由編碼器結(jié)合初始位置來反饋關(guān)節(jié)的位置信息。
關(guān)節(jié)的位置(例如絕對角度)與安裝在關(guān)節(jié)的電機(jī)輸出軸上的可變電阻器的模數(shù)變換器(analogtodigitalconverter,adc)值之間具有一定的函數(shù)關(guān)系。根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法可通過校準(zhǔn)可變電阻器的相關(guān)參數(shù)來校準(zhǔn)體現(xiàn)該函數(shù)關(guān)系的函數(shù)關(guān)系式。優(yōu)選地,該函數(shù)關(guān)系式為線性函數(shù)。換句話,根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法用于校準(zhǔn)該線性函數(shù)的斜率和截距。以下將參照圖1來描述每個關(guān)節(jié)的校準(zhǔn)過程。
參照圖1,在步驟s10,控制待校準(zhǔn)的關(guān)節(jié)向第一方向運動。該第一方向是關(guān)節(jié)的所有可運動的方向中的預(yù)定方向。
在步驟s20,當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時,獲取可變電阻器的第一adc值。所述第一方向的運動極限是指關(guān)節(jié)在向第一方向運動時可到達(dá)的最大位置。所述第一adc值是指待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時,安裝在該待校準(zhǔn)的關(guān)節(jié)的電機(jī)的輸出軸上的可變電阻器的adc值。
在步驟s30,控制待校準(zhǔn)的關(guān)節(jié)向第二運動方向運動。第二方向與第一運動方向相反。例如,該第一方向是向左,該第二方向是向右。
在步驟s40,當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時,獲取可變電阻器的第二adc值。所述第二方向的運動極限是指關(guān)節(jié)在向第二方向運動時可到達(dá)的最大位置。所述第二adc值是指待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時,安裝在該待校準(zhǔn)的關(guān)節(jié)的電機(jī)的輸出軸上的可變電阻器的adc值。
在控制所述待校準(zhǔn)的關(guān)節(jié)向第一方向或第二方向運動的過程中,可對關(guān)節(jié)的當(dāng)前位置進(jìn)行預(yù)估,根據(jù)估計的當(dāng)前位置來控制關(guān)節(jié)的運動速度,以提高校準(zhǔn)速度,并使關(guān)節(jié)的啟停平穩(wěn)可靠。
具體數(shù)來,可實時獲取可變電阻器的第三adc值(可變電阻器當(dāng)前的adc值),根據(jù)可變電阻器的經(jīng)驗函數(shù)關(guān)系式以及所述第三adc值估計關(guān)節(jié)的當(dāng)前位置,根據(jù)估計的當(dāng)前位置來確定關(guān)節(jié)的運動速度,控制關(guān)節(jié)按所述確定的運動速度進(jìn)行運動。這里,可變電阻器的經(jīng)驗函數(shù)關(guān)系式是指根據(jù)經(jīng)驗(例如實驗數(shù)據(jù))確定的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式。
這里,可針對關(guān)節(jié)運動達(dá)到不同的位置設(shè)置不同的運動速度。優(yōu)選地,為了減小計算量,可預(yù)先設(shè)置離運動極限較近的預(yù)定位置,在當(dāng)前位置到達(dá)預(yù)定位置之前確定關(guān)節(jié)的運動速度為第一速度,在當(dāng)前位置到達(dá)預(yù)定位置之后確定關(guān)節(jié)的運動速度為第二速度,其中,所述第一速度大于所述第二速度。例如,在當(dāng)前位置到達(dá)預(yù)定位置之前,采用小步快走的方式逼近運動極限,在接近運動極限時(在當(dāng)前位置到達(dá)預(yù)定位置之后)降低預(yù)定速度,這樣可以很好的控制校準(zhǔn)速度,保證啟停平穩(wěn)可靠。
在控制所述待校準(zhǔn)的關(guān)節(jié)向第一方向或第二方向運動的過程中,可采用各種方法來確定關(guān)節(jié)是否達(dá)到運動極限。這里,可在每個伺服周期判斷關(guān)節(jié)是否到達(dá)運動極限。
例如,可根據(jù)上述確定的運動速度來確定待校準(zhǔn)的關(guān)節(jié)的當(dāng)前理論位置,確定所述當(dāng)前理論位置與所述估計的當(dāng)前位置之間的跟隨誤差,當(dāng)跟隨誤差大于誤差閾值時,確定待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限。所述當(dāng)前理論位置是關(guān)節(jié)按照上述確定的運動速度進(jìn)行運動應(yīng)該到達(dá)的位置。這里,可在每個伺服周期,根據(jù)每個伺服周期確定的運動速度、周期時長以及上個伺服周期估計的當(dāng)前位置確定當(dāng)前理論位置。所述跟隨誤差是指當(dāng)前理論位置與估計的當(dāng)前位置之間的差值。當(dāng)跟隨誤差大于誤差閾值時,說明關(guān)節(jié)的位置已不再變化了,也就是說關(guān)節(jié)已經(jīng)到了運動極限了。所述誤差閾值可預(yù)先進(jìn)行設(shè)置。
再如,可獲取待校準(zhǔn)的關(guān)節(jié)的電機(jī)的電流,當(dāng)所述電流超過電流閾值時,確定待校準(zhǔn)的關(guān)節(jié)達(dá)到第一方向的運動極限或第二方向的運動極限。所述電流閾值可預(yù)先進(jìn)行設(shè)置,設(shè)置為大于關(guān)節(jié)正常運動時該電機(jī)的電流。在當(dāng)前獲取的電流超過電流閾值時,說明關(guān)節(jié)已到達(dá)運動極限。
在步驟s50根據(jù)所述第一adc值、第二adc值、第一方向的運動極限的第一絕對角度值和第二方向的運動極限的第二絕對角度值確定待校準(zhǔn)的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式。該第一絕對角度值是關(guān)節(jié)在第一方向的運動極限的絕對角度值,第二絕對角度值是關(guān)節(jié)在第二方向的運動極限的絕對角度值,第一絕對角度值和第二絕對角度值是已知量,可預(yù)先進(jìn)行存儲。
優(yōu)選地,為了減小計算量,該函數(shù)關(guān)系式為線性函數(shù)。該線性函數(shù)可以如下式(1)所示:
y=k*x+b(1)
其中,y表示待校準(zhǔn)的關(guān)節(jié)的絕對角度,x表示可變電阻器的adc值,k為線性函數(shù)的斜率,b為線性函數(shù)的截距。將所述第一adc值、第二adc值、第一方向的運動極限的第一絕對角度值和第二方向的運動極限的第二絕對角度值代入到該線性函數(shù)中即可得出斜率k和截距b。
優(yōu)選地,為了提高校準(zhǔn)的準(zhǔn)確性和可靠性,對于準(zhǔn)確性:可以重復(fù)執(zhí)行步驟s10至步驟s40以獲取多個第一adc值和多個第二adc值,計算多個第一adc值的第一平均值和多個第二adc值的第二平均值,再根據(jù)第一平均值、第二平均值、第一方向的運動極限的第一絕對角度值和第二方向的運動極限的第二絕對角度值確定上述函數(shù)關(guān)系式。對于可靠性:對于多次校準(zhǔn)得到的adc值,設(shè)置一個偏差值,如果兩次偏差超過一定閾值,那么認(rèn)為至少一次校準(zhǔn)是有干擾影響的,此時可以報錯停止校準(zhǔn),請用戶排除校準(zhǔn)干擾因素,并重新啟動校準(zhǔn)。
在步驟s60,按照確定的函數(shù)關(guān)系式在機(jī)器人控制系統(tǒng)中設(shè)置待校準(zhǔn)的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式。也就是說,將機(jī)器人控制系統(tǒng)中的待校準(zhǔn)的關(guān)節(jié)的絕對角度與可變電阻器的adc值之間的函數(shù)關(guān)系式設(shè)置為在步驟s50中確定的函數(shù)關(guān)系式。在函數(shù)關(guān)系式為線性函數(shù)的情況下,在機(jī)器人控制系統(tǒng)中將線性函數(shù)的斜率和截距分別設(shè)置為在步驟s50中確定的斜率和截距。
此外,在實際裝配中,可能存在一些安裝故障,例如,可變電阻器裝偏、關(guān)節(jié)裝配得太緊等,可在校準(zhǔn)過程中對這些故障進(jìn)行診斷。為了便于對上述安裝故障進(jìn)行準(zhǔn)確地診斷,可調(diào)節(jié)待校準(zhǔn)關(guān)節(jié)的初始位置在預(yù)定的角度范圍內(nèi),例如,在關(guān)節(jié)的零點附近。
例如,根據(jù)所述第一adc值與第一adc經(jīng)驗值進(jìn)行故障診斷,和/或根據(jù)所述第二adc值與第二adc經(jīng)驗值進(jìn)行故障診斷。所述第一adc經(jīng)驗值是指當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時可變電阻器的adc的經(jīng)驗值,所述第二adc經(jīng)驗值是指當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時可變電阻器的adc的經(jīng)驗值,該第一adc經(jīng)驗值和第二adc經(jīng)驗值可預(yù)先進(jìn)行設(shè)置。具體說來,當(dāng)所述第一adc值與第一adc經(jīng)驗值的差值大于第一差值閾值時,和/或當(dāng)所述第二adc值與第二adc經(jīng)驗值的差值大于第一差值閾值時,提示可變電阻器裝偏,或可變電阻器存在異常,或待校準(zhǔn)的關(guān)節(jié)安裝存在問題。所述第一閾值差值可預(yù)先進(jìn)行設(shè)置。
再如,在機(jī)器人關(guān)節(jié)的位置反饋傳感器還包括編碼器時,還可通過以下步驟進(jìn)行故障診斷:當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第一方向的運動極限時,還獲取編碼器的第一讀數(shù),當(dāng)待校準(zhǔn)的關(guān)節(jié)到達(dá)第二方向的運動極限時,還獲取編碼器的第二讀數(shù),將第一讀數(shù)和第二讀數(shù)之間的差值換算為第一角度差,當(dāng)?shù)谝唤嵌炔钆c第二角度差之間的差值大于第二差值閾值時,提示編碼器存在異常,或待校準(zhǔn)的關(guān)節(jié)安裝存在問題。第二角度差為第一絕對角度值和第二絕對角度值之間的差值。根據(jù)編碼器的讀數(shù)與相對角度之間的換算關(guān)系將第一讀數(shù)和第二讀數(shù)之間的差值換算為第一角度差。
根據(jù)本發(fā)明的實施例還提供一種計算機(jī)可讀存儲介質(zhì)。該計算機(jī)可讀存儲介質(zhì)存儲有當(dāng)被處理器執(zhí)行時使得處理器執(zhí)行如上所述的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法的程序指令。該計算機(jī)可讀記錄介質(zhì)是可存儲由計算機(jī)系統(tǒng)讀出的數(shù)據(jù)的任意數(shù)據(jù)存儲裝置。計算機(jī)可讀記錄介質(zhì)的示例包括:只讀存儲器、隨機(jī)存取存儲器、只讀光盤、磁帶、軟盤、光數(shù)據(jù)存儲裝置和載波(諸如經(jīng)有線或無線傳輸路徑通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸)。計算機(jī)可讀記錄介質(zhì)也可分布于連接網(wǎng)絡(luò)的計算機(jī)系統(tǒng),從而計算機(jī)可讀代碼以分布式存儲和執(zhí)行。此外,完成本發(fā)明的功能程序、代碼和代碼段可容易地被與本發(fā)明相關(guān)的領(lǐng)域的普通程序員在本發(fā)明的范圍之內(nèi)解釋。
根據(jù)本發(fā)明的實施例還提供一種計算裝置。該計算裝置包括存儲器201和處理器301。存儲器201用于存儲程序指令。所述程序指令被處理器301執(zhí)行使得處理器301執(zhí)行如上所述的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法的程序指令。
根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法,可自動校準(zhǔn)位置反饋傳感器用于反饋關(guān)節(jié)的位置信息的相關(guān)參數(shù),校準(zhǔn)效率高,校準(zhǔn)過程安全可靠,從而可提高機(jī)器人運動的準(zhǔn)確性。此外,根據(jù)本發(fā)明的實施例的機(jī)器人關(guān)節(jié)的校準(zhǔn)方法還可對實際裝配中的一些安裝故障進(jìn)行自動診斷,從而方便安裝人員進(jìn)行故障查證。
盡管已經(jīng)參照其示例性實施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對其進(jìn)行形式和細(xì)節(jié)上的各種改變。