亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

角度檢測方法及應(yīng)用該方法的電子裝置與流程

文檔序號:11100197閱讀:886來源:國知局
角度檢測方法及應(yīng)用該方法的電子裝置與制造工藝
本發(fā)明涉及傳感器檢測領(lǐng)域,尤其涉及一種角度檢測方法及應(yīng)用該方法的電子裝置。
背景技術(shù)
:現(xiàn)有很多電子裝置上安裝有角度傳感器,如應(yīng)用于智能機器人上的舵機。在智能機器人中,舵機作為智能機器人中的動力元件,是智能機器人實現(xiàn)智能化的關(guān)鍵元件。舵機內(nèi)安裝有角度傳感器和控制器。其中,角度傳感器用于感測物體角度信息值;在舵機內(nèi),該物體角度信息為舵機輸出軸角度信息??刂破饔糜诟鶕?jù)角度傳感器采集到的舵機輸出軸角度信息精確地控制舵機輸出軸轉(zhuǎn)動位置,使舵機輸出軸轉(zhuǎn)動到目標角度或保持在目標角度。目前,舵機內(nèi)通常安裝有全方位角度傳感器,可實現(xiàn)舵機360°旋轉(zhuǎn),在一定程度上保障舵機轉(zhuǎn)動性能現(xiàn)有全方位角度傳感器中,由于外界干擾,使得全方位角度傳感器采集到的物體角度信息的原始樣值不準確,使得控制器控制舵機輸出軸轉(zhuǎn)動到的實際角度相較目標角度時出現(xiàn)偏差,為避免由于外界干擾導致物體角度信息的原始樣值不準確,現(xiàn)有技術(shù)中將采集到的多個物體角度信息的原始樣值的均值作為無干擾檢測值輸出。現(xiàn)有全方位角度傳感器連續(xù)采集到的多個物體角度信息值可能發(fā)生在從0°到360°跳變(即正向跳變)或者從360°到0°跳變(即反向跳變),若將連續(xù)檢測到的跳變前與跳變后的若干個物體角度信息值的均值作為無干擾檢測值輸出給控制器,該無干擾檢測值會嚴重偏離跳變前和跳變后的物體角度信息值,使得控制器控制舵機輸出軸轉(zhuǎn)動時產(chǎn)生較大的波動,進而導致根據(jù)該無干擾檢測值控制舵機輸出軸轉(zhuǎn)動到的實際角度相較目標角度會出現(xiàn)較大的偏差,影響舵機轉(zhuǎn)動性能。技術(shù)實現(xiàn)要素:本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有全方位角度傳感在出現(xiàn)跳變時,輸出的物體角度信息值與實際角度信息會出現(xiàn)較大偏差的的問題,提供一種角度檢測方法及應(yīng)用該方法的電子裝置。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種角度檢測方法,包括如下步驟:采集物體角度信息的原始樣值;判斷原始樣值是否發(fā)生跳變;若所述原始樣值發(fā)生跳變,則對所述原始樣值進行平滑處理,并將處理后的值作為預(yù)處理樣值輸出;判斷所述原始樣值是否渡過一跳變過渡期;若所述原始樣值渡過所述跳變過渡期,則將所述跳變過渡期內(nèi)所有的原始樣值更新為新的所述預(yù)處理樣值輸出;對所述預(yù)處理樣值進行滑動濾波處理,以輸出無干擾檢測值。優(yōu)選地,若所述原始樣值不發(fā)生跳變,則將所述原始樣值作為預(yù)處理樣值輸出;若所述原始樣值沒有渡過所述跳變過渡期,則將所述預(yù)處理值輸出。優(yōu)選地,所述判斷原始樣值是否發(fā)生跳變,包括如下步驟:計算所述原始樣值與上次預(yù)處理樣值的差值的絕對值;判斷所述絕對值是否大于或等于跳變閾值;若所述絕對值大于或等于所述跳變閾值,則所述原始樣值發(fā)生跳變;若所述絕對值小于所述跳變閾值,則所述原始樣值不發(fā)生跳變。優(yōu)選地,所述對所述原始樣值進行平滑處理,并將處理后的值作為所述預(yù)處理樣值輸出,包括如下步驟:判斷所述原始樣值的跳變類型;根據(jù)所述跳變類型對所述原始樣值進行平滑處理,并將處理后的值作為所述預(yù)處理樣值輸出。優(yōu)選地,所述判斷所述原始樣值的跳變類型,包括:判斷所述原始樣值是否大于所述上次預(yù)處理樣值;若所述原始樣值大于所述上次預(yù)處理樣值,則所述跳變類型為正向跳變;若所述原始樣值小于所述上次預(yù)處理樣值,則所述跳變類型為反向跳變。優(yōu)選地,所述根據(jù)所述跳變類型對所述原始樣值進行平滑處理,并將處理后的值作為所述預(yù)處理樣值輸出,包括:若所述跳變類型為正向跳變,則將所述原始樣值減去360°的差值作為所述預(yù)處理樣值輸出;若所述跳變類型為反向跳變,則將所述原始樣值加上360°的和值作為所述預(yù)處理樣值輸出。優(yōu)選地,所述判斷所述原始樣值是否渡過一跳變過渡期,包括如下步驟:若所述跳變類型為正向跳變,則使正向跳變計數(shù)值加1,反向跳變計數(shù)值清零;若所述跳變類型為反向跳變,則使反向跳變計數(shù)值加1,正向跳變計數(shù)值清零;判斷所述正向跳變計數(shù)值或者所述反向跳變計數(shù)值是否達到計數(shù)閾值;若所述正向跳變計數(shù)值或者所述反向跳變計數(shù)值達到所述計數(shù)閾值,則所述原始樣值渡過跳變過渡期;若所述正向跳變計數(shù)值和/或所述反向跳變計數(shù)值沒有達到所述計數(shù)閾值,則所述原始樣值沒有渡過所述跳變過渡期。優(yōu)選地,所述對所述預(yù)處理樣值進行滑動濾波處理,以輸出無干擾檢測值,包括:求與計數(shù)閾值的個數(shù)相等的預(yù)處理樣值的均值,并將該均值作為所述無干擾檢測值輸出。本發(fā)明還提供一種應(yīng)用所述角度檢測方法的電子裝置,其特征在于,所述電子裝置包括角度傳感器和處理器,所述角度傳感器用于采集物體角度信息的原始樣值,所述處理器執(zhí)行所述角度檢測方法,以對角度傳感器采集到的物體角度信息的原始樣值進行處理。優(yōu)選地,所述電子裝置包括舵機。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點:本發(fā)明所提供的角度檢測方法及應(yīng)用所述角度檢測方法的電子裝置,可有效識別出采集到物體角度信息的原始樣值是否發(fā)生跳變,若發(fā)生跳變則對原始樣值進行平滑處理,并判斷原始樣值是否渡過跳變過渡期,若原始樣值已經(jīng)渡過跳變過渡期,則更新跳變過渡期內(nèi)所有的原始樣值為新的預(yù)處理樣值;再對預(yù)處理樣值進行滑動濾波處理,輸出無干擾檢測值。該角度檢測方法方法無需刪除跳變數(shù)據(jù)以保證數(shù)據(jù)的連續(xù)性,避免控制舵機轉(zhuǎn)動時出現(xiàn)卡頓現(xiàn)象;通過對發(fā)生跳變的原始樣值進行平滑處理以輸出并輸出預(yù)處理樣值,并在原始樣值已經(jīng)渡過跳變過渡期時,更新跳變過渡期內(nèi)所有的原始樣值為新的預(yù)處理樣值,再通過對預(yù)處理樣值進行滑動濾波處理,可保證無干擾檢測值的準確性和穩(wěn)定性。附圖說明下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:圖1是本發(fā)明一實施例中的電子裝置。圖2是本發(fā)明一實施例中的角度檢測方法的一流程圖。圖3是本發(fā)明一實施例中的角度檢測方法的另一流程圖。具體實施方式為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。本實施例中提供一種電子裝置,該電子裝置包括處理器10和與處理器10相連的角度傳感器20,角度傳感器10用于采集物體角度信息的原始樣值,處理器20執(zhí)行如下角度檢測方法,以對角度傳感器10采集到的物體角度信息的原始樣值進行處理,以使其輸出更準確的樣值。如圖1和圖2所示,該角度檢測方法包括如下步驟:S11:采集物體角度信息的原始樣值。在本實施例中,物體角度信息是角度傳感器所要檢測的物體的角度信息,物體角度信息是舵機輸出軸角度信息。本實施例中,采用全方位角度傳感器采集物體角度信息的原始樣值,以避免存在無法采集物體角度信息的原始樣值的角度盲區(qū)。本實施例中,角度傳感器每采集一次舵機輸出軸角度信息的原始樣值,即將該原始樣值通過控制器存儲在舵機內(nèi)部的存儲器中備份,以便于后續(xù)處理需調(diào)用到相應(yīng)的原始樣值。S12:判斷原始樣值是否發(fā)生跳變,即判斷采集到的舵機輸出軸角度信息的原始樣值是否發(fā)生從0°到360°跳變或者從360°到0°跳變。本實施例中,若原始樣值已經(jīng)發(fā)生跳變,則認定該原始樣值為跳變原始樣值。在本實施例中,舵機內(nèi)的控制器每接收到一個原始樣值,均需判斷該原始樣值是否發(fā)生跳變。其中,步驟S12具體包括如下步驟:S121:計算原始樣值與上次預(yù)處理樣值的差值的絕對值。S122:判斷原始樣值與上次預(yù)處理樣值的差值的絕對值是否大于或等于跳變閾值。本實施例中,跳變閾值設(shè)為180°,以便于判斷舵機輸出軸是否發(fā)生0°到360°跳變(即正向跳變)或者360°到0°跳變(即反向跳變)。S123:若原始樣值與上次預(yù)處理樣值的差值的絕對值大于或等于跳變閾值,則原始樣值發(fā)生跳變,執(zhí)行步驟S13。在本實施例中,由于角度傳感器每次采集物體角度信息的原始樣值的時間間隔較小,除非舵機輸出軸在0°與360°之間發(fā)生跳變(包括從0°跳變到360°,也包括從360°跳變到0°),否則原始樣值與上次預(yù)處理樣值的差值的絕對值不可能大于或等于跳變閾值,因此認定舵機輸出軸在0°與360°的臨界點之間跳變,執(zhí)行步驟S13對發(fā)生跳變的原始樣值進行處理。S124:若原始樣值與上次預(yù)處理樣值的差值的絕對值小于跳變閾值,則原始樣值不發(fā)生跳變,執(zhí)行步驟S16。在本實施例中,由于角度傳感器前后兩次采集物體角度信息的原始樣值的時間間隔較小,若原始樣值與上次預(yù)處理樣值的差值的絕對值小于跳變閾值,則說明原始樣值是在0°與360°之間不發(fā)生跳變,執(zhí)行步驟S15對不發(fā)生跳變的原始樣值進行處理。S13:若原始樣值發(fā)生跳變,則對原始樣值進行平滑處理,并將處理后的值作為預(yù)處理樣值輸出。具體地,對發(fā)生的跳變的所有原始樣值進行平滑處理,可避免因角度傳感器采集到的物體角度信息的原始樣值發(fā)生跳變而影響舵機輸出軸轉(zhuǎn)動的轉(zhuǎn)動效果。步驟S13具體包括:S131:判斷原始樣值的跳變類型。由于原始樣值發(fā)生跳變存在從0°跳變到360°與從360°跳變到0°兩種跳變類型,每種跳變類型是否渡過跳變過渡期需分別判斷,因此在確定原始樣值發(fā)生跳變時需進一步確定跳變類型。步驟S131具體包括如下步驟:S1311:判斷原始樣值是否大于上次預(yù)處理樣值。在本實施例中,由于步驟S13判斷確定原始樣值發(fā)生跳變的條件為原始樣值與上次預(yù)處理樣值的差值的絕對值大于或等于跳變閾值,因此只需比較確定原始樣值和上次預(yù)處理樣值的大小即可確定跳變類型。S1312:若原始樣值大于上次預(yù)處理樣值,即原始樣值大于或等于上次預(yù)處理樣值與跳變閾值的和值,則跳變類型為正向跳變(即從0°到360°跳變),執(zhí)行步驟S132。S1313:若原始樣值小于上次預(yù)處理樣值,即上次預(yù)處理樣值大于原始樣值,即上次預(yù)處理樣值大于或等于本次處理值與跳變閾值的和值,則跳變類型為反向跳變(從360°到0°跳變),執(zhí)行步驟S132。S132:根據(jù)跳變類型對原始樣值進行平滑處理,并將處理后的值作為預(yù)處理樣值輸出,以避免因角度傳感器采集到的物體角度信息的原始樣值發(fā)生跳變而影響舵機輸出軸轉(zhuǎn)動的轉(zhuǎn)動效果并執(zhí)行步驟S14。步驟S132具體包括如下步驟:S1321:若跳變類型為正向跳變(即從0°到360°跳變),則將原始樣值減去360°的差值作為預(yù)處理樣值輸出,從而使得原始樣值處理后的預(yù)處理樣值的絕對值在0°(即與沒有發(fā)生跳變前的原始樣值)附近,與上次預(yù)處理樣值較接近,以實現(xiàn)平滑過渡,避免跳變影響舵機輸出軸轉(zhuǎn)動的轉(zhuǎn)動效果。S1322:若跳變類型為反向跳變(即從360°到0°跳變),則將原始樣值加上360°的和值作為預(yù)處理樣值輸出,從而使得原始樣值處理后的預(yù)處理樣值的絕對值在360°(即與沒有發(fā)生跳變前的原始樣值)附近,與上次預(yù)處理樣值較接近,以實現(xiàn)平滑過渡,避免跳變影響舵機輸出軸轉(zhuǎn)動的轉(zhuǎn)動效果。S14:判斷原始樣值是否渡過一跳變過渡期。由于控制器對連續(xù)輸入的幾個原始樣值進行處理,逐一判斷原始樣值是否發(fā)生跳變,在原始樣值從0°跳變到360°或者從360°跳變到0°的過程中,若連續(xù)幾個原始樣值均是從0°跳變到360°且跳變次數(shù)達到計數(shù)閾值,則認為原始樣值已渡過跳變過渡期;或者若連續(xù)幾個原始樣值均是從360°跳變到0°且跳變次數(shù)達到計數(shù)閾值,則認為原始樣值已渡過跳變過渡期。本實施例中,預(yù)先設(shè)置一計數(shù)閾值,用于在連續(xù)與計數(shù)閾值的個數(shù)相等的原始樣值發(fā)生同一類型跳變時,認為該原始樣值渡過跳變過渡期。步驟S14具體包括如下步驟:S141:若跳變類型為正向跳變,則使正向跳變計數(shù)值加1,反向跳變計數(shù)值清零。其中,正向跳變計數(shù)值用于統(tǒng)計連續(xù)發(fā)生從0°度到360°跳變(即正向跳變)的次數(shù),反向跳變計數(shù)值用于統(tǒng)計連續(xù)發(fā)生從360°到0°跳變(即反向跳變)的次數(shù)。S142:若跳變類型為反向跳變,則使反向跳變計數(shù)值加1,正向跳變計數(shù)值清零。由于正向跳變計數(shù)值用于統(tǒng)計原始樣值連續(xù)發(fā)生從0°到360°跳變的次數(shù),而反向跳變計數(shù)值用于統(tǒng)計原始樣值連續(xù)發(fā)生從360°到0°跳變的次數(shù),而原始樣值只可能出現(xiàn)從0°到360°跳變、從360°到0°跳變和不跳變?nèi)N情況;若原始樣值不跳變,則正向跳變計數(shù)值和反向跳變計數(shù)值均清零;若出現(xiàn)從0°到360°跳變和從360°到0°跳變?nèi)我磺闆r發(fā)生,則其相應(yīng)的跳變計數(shù)值加1,而另一跳變計數(shù)值清零,以便于統(tǒng)計任一跳變類型的連續(xù)跳變次數(shù)。S143:判斷正向跳變計數(shù)值或者反向跳變計數(shù)值是否達到計數(shù)閾值。在本實施例中,該計數(shù)閾值為用于判斷渡過跳變過渡期所需的連續(xù)跳變次數(shù),只有同一跳變類型的連續(xù)跳變次數(shù)達到計數(shù)閾值時才可認定為渡過跳變過渡期。S144:若正向跳變計數(shù)值或者反向跳變計數(shù)值達到計數(shù)閾值,則原始樣值渡過跳變過渡期,執(zhí)行步驟S15。在本實施例中,若正向跳變計數(shù)值達到計數(shù)閾值,則認定原始樣值完成正向跳變過渡,平穩(wěn)渡過跳變過渡期。若反向跳變計數(shù)值達到計數(shù)閾值,則認定原始樣值完成反向跳變過渡,平穩(wěn)渡過跳變過渡期。S145:若正向跳變計數(shù)值和/或反向跳變計數(shù)值小于計數(shù)閾值(即沒有達到計數(shù)閾值),則原始樣值沒有的渡過跳變過渡期,將該原始樣值的預(yù)處理樣值輸出,執(zhí)行步驟S17。S15:若原始樣值渡過跳變過渡期,則將跳變過渡期內(nèi)所有的原始樣值更新為新的預(yù)處理樣值輸出,并執(zhí)行步驟S17??梢岳斫獾?,在原始樣值渡過一跳變過渡期時,將跳變過渡期內(nèi)的所有原始樣值全部替換為新的預(yù)處理值,使得執(zhí)行步驟S17之后的無干擾檢測值在渡過跳變過渡期之后立即的一側(cè),保證輸出的無干擾檢測值的準確性。S16:若原始樣值不發(fā)生跳變,則將原始樣值替換為預(yù)處理樣值,并輸出該預(yù)處理樣值,并執(zhí)行步驟S17。在本實施例中,若原始樣值不發(fā)生跳變,則原始樣值與上次預(yù)處理樣值之間波動較小,可將原始樣值作為預(yù)處理樣值輸出。若原始樣值渡過跳變過渡期,則原始樣值已經(jīng)平滑過渡,前后幾次原始樣值在本實施例中波動較小,此時可將原始樣值作為預(yù)處理樣值輸出。S17:對預(yù)處理樣值進行滑動濾波處理,以輸出無干擾檢測值。具體地,求與計數(shù)閾值的個數(shù)相等的預(yù)處理樣值的均值,并將該均值作為無干擾檢測值輸出,使得舵機控制器可根據(jù)該無干擾檢測值控制舵機輸出軸轉(zhuǎn)動到目標角度或保持在目標角度,以保證舵機轉(zhuǎn)動性能的穩(wěn)定性。在本實施例中,預(yù)處理樣值可以是原始樣值發(fā)生跳變且沒有渡過跳變過渡期時,經(jīng)過平滑處理的預(yù)處理樣值;或者是原始樣值發(fā)生的跳變且已經(jīng)渡過跳變過渡期時,將跳變過渡期內(nèi)所有的原始樣值更新為新的預(yù)處理樣值;或者是原始樣值不發(fā)生跳變,將原始樣值直接輸出的預(yù)處理樣值。采用與計數(shù)閾值的個數(shù)相等的預(yù)處理樣值的均值作為無干擾檢測值輸出,以避免輸出的無干擾檢測值產(chǎn)生較大波動,并且避免計算超過與計數(shù)閾值的個數(shù)相等的預(yù)處理樣值的均值導致計算延時,降低角度傳感器輸出無干擾檢測值的處理速度。本實施例中,設(shè)跳變閾值為180°,計數(shù)閾值N為5,即連續(xù)5次從0°到360度跳變或連續(xù)5次從360°到0°跳變時,則認為渡過跳變過渡期。角度傳感器連續(xù)20次采集物體角度信息的原始樣值如表一和表二所示,表一中無干擾檢測值是四舍五入的值,保留兩個小數(shù)。如表一所示,由于無干擾檢測值是與計數(shù)閾值的個數(shù)相等的預(yù)處理樣值的均值,即在本實施例中,無干擾檢測值為5個預(yù)處理樣值的均值,由于序號1之前的數(shù)據(jù)缺失,因此序號1-4可暫不計算無干擾檢測值。如表一所示,由于序號為5-7的原始樣值的正向跳變計數(shù)沒有達到5個,則直接計算5個預(yù)處理樣值的均值作為無干擾檢測值。如表二所示,序號為8的原始樣值的正向跳變計數(shù)達到5個,則執(zhí)行步驟S15,將5個原始樣值替代原先的5個預(yù)處理樣值作為新的預(yù)處理樣值,并執(zhí)行步驟S17計算出無干擾檢測值。如表二所示,序號為9-17的原始樣值的正向跳變計數(shù)或反向跳變計數(shù)均沒有達到5個,直接將5個預(yù)處理樣值的均值作為無干擾檢測值輸出,如表一和表二所示。如表二所示,序號為18的原始樣值的反向跳變計數(shù)達到5個,執(zhí)行步驟S15,將5個原始樣值替換5個預(yù)處理樣值作為新的預(yù)處理樣值,并執(zhí)行步驟S17計算出無干擾檢測值。序號為19-20的原始樣值的正向跳變計數(shù)或反向跳變計數(shù)均沒有達到5個,直接將5個預(yù)處理樣值的均值作為無干擾檢測值輸出。表一物體角度信息檢測處理結(jié)果一(單位:°)序號原始樣值預(yù)處理樣值正向跳變計數(shù)反向跳變計數(shù)無干擾檢測值10.10.100-20.20.200-30.10.100-4359.8-0.210-5359.9-0.1200.026359.9-0.130-0.027359.8-0.240-0.108359.8-0.2509359.9359.90010359.8359.80011359.9359.900120.1360.10113359.8359.810140.2360.201359.96150.1360.102360.02160.1360.103360.06170.1360.104360.06180.2360.205190.20.200200.10.100表二物體角度信息檢測處理結(jié)果二(單位:°)綜上所述,本實施例所提供的角度檢測方法,可有效識別出舵機是否發(fā)生0°到360°跳變或者360°到0°跳變,并分別進行平滑處理;在發(fā)生跳變并進行平滑處理后,判斷原始樣值是否渡過跳變過渡期,若原始樣值已經(jīng)渡過跳變過渡期,則更新跳變過渡期內(nèi)所有的原始樣值為新的預(yù)處理樣值;再對預(yù)處理樣值進行滑動濾波處理,輸出無干擾檢測值。該角度檢測方法方法無需刪除跳變數(shù)據(jù)以保證數(shù)據(jù)的連續(xù)性,避免控制舵機轉(zhuǎn)動時出現(xiàn)卡頓現(xiàn)象;通過對發(fā)生跳變的原始樣值進行平滑處理以輸出預(yù)處理樣值,并在原始樣值已經(jīng)渡過跳變過渡期時,更新跳變過渡期內(nèi)所有的原始樣值為新的預(yù)處理樣值,再通過對預(yù)處理樣值進行滑動濾波處理,可保證無干擾檢測值的準確性和穩(wěn)定性。本發(fā)明是通過上述具體實施例進行說明的,本領(lǐng)域技術(shù)人員應(yīng)當明白,在不脫離本發(fā)明范圍的情況下,還可以對本發(fā)明進行各種變換和等同替代。另外,針對特定情形或具體情況,可以對本發(fā)明做各種修改,而不脫離本發(fā)明的范圍。因此,本發(fā)明不局限于所公開的具體實施例,而應(yīng)當包括落入本發(fā)明權(quán)利要求范圍內(nèi)的全部實施方式。當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1