麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

角度檢測方法及應用該方法的電子裝置與流程

文檔序號:11100197閱讀:948來源:國知局
角度檢測方法及應用該方法的電子裝置與制造工藝
本發明涉及傳感器檢測領域,尤其涉及一種角度檢測方法及應用該方法的電子裝置。
背景技術
:現有很多電子裝置上安裝有角度傳感器,如應用于智能機器人上的舵機。在智能機器人中,舵機作為智能機器人中的動力元件,是智能機器人實現智能化的關鍵元件。舵機內安裝有角度傳感器和控制器。其中,角度傳感器用于感測物體角度信息值;在舵機內,該物體角度信息為舵機輸出軸角度信息。控制器用于根據角度傳感器采集到的舵機輸出軸角度信息精確地控制舵機輸出軸轉動位置,使舵機輸出軸轉動到目標角度或保持在目標角度。目前,舵機內通常安裝有全方位角度傳感器,可實現舵機360°旋轉,在一定程度上保障舵機轉動性能現有全方位角度傳感器中,由于外界干擾,使得全方位角度傳感器采集到的物體角度信息的原始樣值不準確,使得控制器控制舵機輸出軸轉動到的實際角度相較目標角度時出現偏差,為避免由于外界干擾導致物體角度信息的原始樣值不準確,現有技術中將采集到的多個物體角度信息的原始樣值的均值作為無干擾檢測值輸出。現有全方位角度傳感器連續采集到的多個物體角度信息值可能發生在從0°到360°跳變(即正向跳變)或者從360°到0°跳變(即反向跳變),若將連續檢測到的跳變前與跳變后的若干個物體角度信息值的均值作為無干擾檢測值輸出給控制器,該無干擾檢測值會嚴重偏離跳變前和跳變后的物體角度信息值,使得控制器控制舵機輸出軸轉動時產生較大的波動,進而導致根據該無干擾檢測值控制舵機輸出軸轉動到的實際角度相較目標角度會出現較大的偏差,影響舵機轉動性能。技術實現要素:本發明要解決的技術問題在于,針對現有全方位角度傳感在出現跳變時,輸出的物體角度信息值與實際角度信息會出現較大偏差的的問題,提供一種角度檢測方法及應用該方法的電子裝置。本發明解決其技術問題所采用的技術方案是:一種角度檢測方法,包括如下步驟:采集物體角度信息的原始樣值;判斷原始樣值是否發生跳變;若所述原始樣值發生跳變,則對所述原始樣值進行平滑處理,并將處理后的值作為預處理樣值輸出;判斷所述原始樣值是否渡過一跳變過渡期;若所述原始樣值渡過所述跳變過渡期,則將所述跳變過渡期內所有的原始樣值更新為新的所述預處理樣值輸出;對所述預處理樣值進行滑動濾波處理,以輸出無干擾檢測值。優選地,若所述原始樣值不發生跳變,則將所述原始樣值作為預處理樣值輸出;若所述原始樣值沒有渡過所述跳變過渡期,則將所述預處理值輸出。優選地,所述判斷原始樣值是否發生跳變,包括如下步驟:計算所述原始樣值與上次預處理樣值的差值的絕對值;判斷所述絕對值是否大于或等于跳變閾值;若所述絕對值大于或等于所述跳變閾值,則所述原始樣值發生跳變;若所述絕對值小于所述跳變閾值,則所述原始樣值不發生跳變。優選地,所述對所述原始樣值進行平滑處理,并將處理后的值作為所述預處理樣值輸出,包括如下步驟:判斷所述原始樣值的跳變類型;根據所述跳變類型對所述原始樣值進行平滑處理,并將處理后的值作為所述預處理樣值輸出。優選地,所述判斷所述原始樣值的跳變類型,包括:判斷所述原始樣值是否大于所述上次預處理樣值;若所述原始樣值大于所述上次預處理樣值,則所述跳變類型為正向跳變;若所述原始樣值小于所述上次預處理樣值,則所述跳變類型為反向跳變。優選地,所述根據所述跳變類型對所述原始樣值進行平滑處理,并將處理后的值作為所述預處理樣值輸出,包括:若所述跳變類型為正向跳變,則將所述原始樣值減去360°的差值作為所述預處理樣值輸出;若所述跳變類型為反向跳變,則將所述原始樣值加上360°的和值作為所述預處理樣值輸出。優選地,所述判斷所述原始樣值是否渡過一跳變過渡期,包括如下步驟:若所述跳變類型為正向跳變,則使正向跳變計數值加1,反向跳變計數值清零;若所述跳變類型為反向跳變,則使反向跳變計數值加1,正向跳變計數值清零;判斷所述正向跳變計數值或者所述反向跳變計數值是否達到計數閾值;若所述正向跳變計數值或者所述反向跳變計數值達到所述計數閾值,則所述原始樣值渡過跳變過渡期;若所述正向跳變計數值和/或所述反向跳變計數值沒有達到所述計數閾值,則所述原始樣值沒有渡過所述跳變過渡期。優選地,所述對所述預處理樣值進行滑動濾波處理,以輸出無干擾檢測值,包括:求與計數閾值的個數相等的預處理樣值的均值,并將該均值作為所述無干擾檢測值輸出。本發明還提供一種應用所述角度檢測方法的電子裝置,其特征在于,所述電子裝置包括角度傳感器和處理器,所述角度傳感器用于采集物體角度信息的原始樣值,所述處理器執行所述角度檢測方法,以對角度傳感器采集到的物體角度信息的原始樣值進行處理。優選地,所述電子裝置包括舵機。本發明與現有技術相比具有如下優點:本發明所提供的角度檢測方法及應用所述角度檢測方法的電子裝置,可有效識別出采集到物體角度信息的原始樣值是否發生跳變,若發生跳變則對原始樣值進行平滑處理,并判斷原始樣值是否渡過跳變過渡期,若原始樣值已經渡過跳變過渡期,則更新跳變過渡期內所有的原始樣值為新的預處理樣值;再對預處理樣值進行滑動濾波處理,輸出無干擾檢測值。該角度檢測方法方法無需刪除跳變數據以保證數據的連續性,避免控制舵機轉動時出現卡頓現象;通過對發生跳變的原始樣值進行平滑處理以輸出并輸出預處理樣值,并在原始樣值已經渡過跳變過渡期時,更新跳變過渡期內所有的原始樣值為新的預處理樣值,再通過對預處理樣值進行滑動濾波處理,可保證無干擾檢測值的準確性和穩定性。附圖說明下面將結合附圖及實施例對本發明作進一步說明,附圖中:圖1是本發明一實施例中的電子裝置。圖2是本發明一實施例中的角度檢測方法的一流程圖。圖3是本發明一實施例中的角度檢測方法的另一流程圖。具體實施方式為了對本發明的技術特征、目的和效果有更加清楚的理解,現對照附圖詳細說明本發明的具體實施方式。本實施例中提供一種電子裝置,該電子裝置包括處理器10和與處理器10相連的角度傳感器20,角度傳感器10用于采集物體角度信息的原始樣值,處理器20執行如下角度檢測方法,以對角度傳感器10采集到的物體角度信息的原始樣值進行處理,以使其輸出更準確的樣值。如圖1和圖2所示,該角度檢測方法包括如下步驟:S11:采集物體角度信息的原始樣值。在本實施例中,物體角度信息是角度傳感器所要檢測的物體的角度信息,物體角度信息是舵機輸出軸角度信息。本實施例中,采用全方位角度傳感器采集物體角度信息的原始樣值,以避免存在無法采集物體角度信息的原始樣值的角度盲區。本實施例中,角度傳感器每采集一次舵機輸出軸角度信息的原始樣值,即將該原始樣值通過控制器存儲在舵機內部的存儲器中備份,以便于后續處理需調用到相應的原始樣值。S12:判斷原始樣值是否發生跳變,即判斷采集到的舵機輸出軸角度信息的原始樣值是否發生從0°到360°跳變或者從360°到0°跳變。本實施例中,若原始樣值已經發生跳變,則認定該原始樣值為跳變原始樣值。在本實施例中,舵機內的控制器每接收到一個原始樣值,均需判斷該原始樣值是否發生跳變。其中,步驟S12具體包括如下步驟:S121:計算原始樣值與上次預處理樣值的差值的絕對值。S122:判斷原始樣值與上次預處理樣值的差值的絕對值是否大于或等于跳變閾值。本實施例中,跳變閾值設為180°,以便于判斷舵機輸出軸是否發生0°到360°跳變(即正向跳變)或者360°到0°跳變(即反向跳變)。S123:若原始樣值與上次預處理樣值的差值的絕對值大于或等于跳變閾值,則原始樣值發生跳變,執行步驟S13。在本實施例中,由于角度傳感器每次采集物體角度信息的原始樣值的時間間隔較小,除非舵機輸出軸在0°與360°之間發生跳變(包括從0°跳變到360°,也包括從360°跳變到0°),否則原始樣值與上次預處理樣值的差值的絕對值不可能大于或等于跳變閾值,因此認定舵機輸出軸在0°與360°的臨界點之間跳變,執行步驟S13對發生跳變的原始樣值進行處理。S124:若原始樣值與上次預處理樣值的差值的絕對值小于跳變閾值,則原始樣值不發生跳變,執行步驟S16。在本實施例中,由于角度傳感器前后兩次采集物體角度信息的原始樣值的時間間隔較小,若原始樣值與上次預處理樣值的差值的絕對值小于跳變閾值,則說明原始樣值是在0°與360°之間不發生跳變,執行步驟S15對不發生跳變的原始樣值進行處理。S13:若原始樣值發生跳變,則對原始樣值進行平滑處理,并將處理后的值作為預處理樣值輸出。具體地,對發生的跳變的所有原始樣值進行平滑處理,可避免因角度傳感器采集到的物體角度信息的原始樣值發生跳變而影響舵機輸出軸轉動的轉動效果。步驟S13具體包括:S131:判斷原始樣值的跳變類型。由于原始樣值發生跳變存在從0°跳變到360°與從360°跳變到0°兩種跳變類型,每種跳變類型是否渡過跳變過渡期需分別判斷,因此在確定原始樣值發生跳變時需進一步確定跳變類型。步驟S131具體包括如下步驟:S1311:判斷原始樣值是否大于上次預處理樣值。在本實施例中,由于步驟S13判斷確定原始樣值發生跳變的條件為原始樣值與上次預處理樣值的差值的絕對值大于或等于跳變閾值,因此只需比較確定原始樣值和上次預處理樣值的大小即可確定跳變類型。S1312:若原始樣值大于上次預處理樣值,即原始樣值大于或等于上次預處理樣值與跳變閾值的和值,則跳變類型為正向跳變(即從0°到360°跳變),執行步驟S132。S1313:若原始樣值小于上次預處理樣值,即上次預處理樣值大于原始樣值,即上次預處理樣值大于或等于本次處理值與跳變閾值的和值,則跳變類型為反向跳變(從360°到0°跳變),執行步驟S132。S132:根據跳變類型對原始樣值進行平滑處理,并將處理后的值作為預處理樣值輸出,以避免因角度傳感器采集到的物體角度信息的原始樣值發生跳變而影響舵機輸出軸轉動的轉動效果并執行步驟S14。步驟S132具體包括如下步驟:S1321:若跳變類型為正向跳變(即從0°到360°跳變),則將原始樣值減去360°的差值作為預處理樣值輸出,從而使得原始樣值處理后的預處理樣值的絕對值在0°(即與沒有發生跳變前的原始樣值)附近,與上次預處理樣值較接近,以實現平滑過渡,避免跳變影響舵機輸出軸轉動的轉動效果。S1322:若跳變類型為反向跳變(即從360°到0°跳變),則將原始樣值加上360°的和值作為預處理樣值輸出,從而使得原始樣值處理后的預處理樣值的絕對值在360°(即與沒有發生跳變前的原始樣值)附近,與上次預處理樣值較接近,以實現平滑過渡,避免跳變影響舵機輸出軸轉動的轉動效果。S14:判斷原始樣值是否渡過一跳變過渡期。由于控制器對連續輸入的幾個原始樣值進行處理,逐一判斷原始樣值是否發生跳變,在原始樣值從0°跳變到360°或者從360°跳變到0°的過程中,若連續幾個原始樣值均是從0°跳變到360°且跳變次數達到計數閾值,則認為原始樣值已渡過跳變過渡期;或者若連續幾個原始樣值均是從360°跳變到0°且跳變次數達到計數閾值,則認為原始樣值已渡過跳變過渡期。本實施例中,預先設置一計數閾值,用于在連續與計數閾值的個數相等的原始樣值發生同一類型跳變時,認為該原始樣值渡過跳變過渡期。步驟S14具體包括如下步驟:S141:若跳變類型為正向跳變,則使正向跳變計數值加1,反向跳變計數值清零。其中,正向跳變計數值用于統計連續發生從0°度到360°跳變(即正向跳變)的次數,反向跳變計數值用于統計連續發生從360°到0°跳變(即反向跳變)的次數。S142:若跳變類型為反向跳變,則使反向跳變計數值加1,正向跳變計數值清零。由于正向跳變計數值用于統計原始樣值連續發生從0°到360°跳變的次數,而反向跳變計數值用于統計原始樣值連續發生從360°到0°跳變的次數,而原始樣值只可能出現從0°到360°跳變、從360°到0°跳變和不跳變三種情況;若原始樣值不跳變,則正向跳變計數值和反向跳變計數值均清零;若出現從0°到360°跳變和從360°到0°跳變任一情況發生,則其相應的跳變計數值加1,而另一跳變計數值清零,以便于統計任一跳變類型的連續跳變次數。S143:判斷正向跳變計數值或者反向跳變計數值是否達到計數閾值。在本實施例中,該計數閾值為用于判斷渡過跳變過渡期所需的連續跳變次數,只有同一跳變類型的連續跳變次數達到計數閾值時才可認定為渡過跳變過渡期。S144:若正向跳變計數值或者反向跳變計數值達到計數閾值,則原始樣值渡過跳變過渡期,執行步驟S15。在本實施例中,若正向跳變計數值達到計數閾值,則認定原始樣值完成正向跳變過渡,平穩渡過跳變過渡期。若反向跳變計數值達到計數閾值,則認定原始樣值完成反向跳變過渡,平穩渡過跳變過渡期。S145:若正向跳變計數值和/或反向跳變計數值小于計數閾值(即沒有達到計數閾值),則原始樣值沒有的渡過跳變過渡期,將該原始樣值的預處理樣值輸出,執行步驟S17。S15:若原始樣值渡過跳變過渡期,則將跳變過渡期內所有的原始樣值更新為新的預處理樣值輸出,并執行步驟S17。可以理解地,在原始樣值渡過一跳變過渡期時,將跳變過渡期內的所有原始樣值全部替換為新的預處理值,使得執行步驟S17之后的無干擾檢測值在渡過跳變過渡期之后立即的一側,保證輸出的無干擾檢測值的準確性。S16:若原始樣值不發生跳變,則將原始樣值替換為預處理樣值,并輸出該預處理樣值,并執行步驟S17。在本實施例中,若原始樣值不發生跳變,則原始樣值與上次預處理樣值之間波動較小,可將原始樣值作為預處理樣值輸出。若原始樣值渡過跳變過渡期,則原始樣值已經平滑過渡,前后幾次原始樣值在本實施例中波動較小,此時可將原始樣值作為預處理樣值輸出。S17:對預處理樣值進行滑動濾波處理,以輸出無干擾檢測值。具體地,求與計數閾值的個數相等的預處理樣值的均值,并將該均值作為無干擾檢測值輸出,使得舵機控制器可根據該無干擾檢測值控制舵機輸出軸轉動到目標角度或保持在目標角度,以保證舵機轉動性能的穩定性。在本實施例中,預處理樣值可以是原始樣值發生跳變且沒有渡過跳變過渡期時,經過平滑處理的預處理樣值;或者是原始樣值發生的跳變且已經渡過跳變過渡期時,將跳變過渡期內所有的原始樣值更新為新的預處理樣值;或者是原始樣值不發生跳變,將原始樣值直接輸出的預處理樣值。采用與計數閾值的個數相等的預處理樣值的均值作為無干擾檢測值輸出,以避免輸出的無干擾檢測值產生較大波動,并且避免計算超過與計數閾值的個數相等的預處理樣值的均值導致計算延時,降低角度傳感器輸出無干擾檢測值的處理速度。本實施例中,設跳變閾值為180°,計數閾值N為5,即連續5次從0°到360度跳變或連續5次從360°到0°跳變時,則認為渡過跳變過渡期。角度傳感器連續20次采集物體角度信息的原始樣值如表一和表二所示,表一中無干擾檢測值是四舍五入的值,保留兩個小數。如表一所示,由于無干擾檢測值是與計數閾值的個數相等的預處理樣值的均值,即在本實施例中,無干擾檢測值為5個預處理樣值的均值,由于序號1之前的數據缺失,因此序號1-4可暫不計算無干擾檢測值。如表一所示,由于序號為5-7的原始樣值的正向跳變計數沒有達到5個,則直接計算5個預處理樣值的均值作為無干擾檢測值。如表二所示,序號為8的原始樣值的正向跳變計數達到5個,則執行步驟S15,將5個原始樣值替代原先的5個預處理樣值作為新的預處理樣值,并執行步驟S17計算出無干擾檢測值。如表二所示,序號為9-17的原始樣值的正向跳變計數或反向跳變計數均沒有達到5個,直接將5個預處理樣值的均值作為無干擾檢測值輸出,如表一和表二所示。如表二所示,序號為18的原始樣值的反向跳變計數達到5個,執行步驟S15,將5個原始樣值替換5個預處理樣值作為新的預處理樣值,并執行步驟S17計算出無干擾檢測值。序號為19-20的原始樣值的正向跳變計數或反向跳變計數均沒有達到5個,直接將5個預處理樣值的均值作為無干擾檢測值輸出。表一物體角度信息檢測處理結果一(單位:°)序號原始樣值預處理樣值正向跳變計數反向跳變計數無干擾檢測值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表二物體角度信息檢測處理結果二(單位:°)綜上所述,本實施例所提供的角度檢測方法,可有效識別出舵機是否發生0°到360°跳變或者360°到0°跳變,并分別進行平滑處理;在發生跳變并進行平滑處理后,判斷原始樣值是否渡過跳變過渡期,若原始樣值已經渡過跳變過渡期,則更新跳變過渡期內所有的原始樣值為新的預處理樣值;再對預處理樣值進行滑動濾波處理,輸出無干擾檢測值。該角度檢測方法方法無需刪除跳變數據以保證數據的連續性,避免控制舵機轉動時出現卡頓現象;通過對發生跳變的原始樣值進行平滑處理以輸出預處理樣值,并在原始樣值已經渡過跳變過渡期時,更新跳變過渡期內所有的原始樣值為新的預處理樣值,再通過對預處理樣值進行滑動濾波處理,可保證無干擾檢測值的準確性和穩定性。本發明是通過上述具體實施例進行說明的,本領域技術人員應當明白,在不脫離本發明范圍的情況下,還可以對本發明進行各種變換和等同替代。另外,針對特定情形或具體情況,可以對本發明做各種修改,而不脫離本發明的范圍。因此,本發明不局限于所公開的具體實施例,而應當包括落入本發明權利要求范圍內的全部實施方式。當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 贵定县| 天津市| 克山县| 绍兴市| 远安县| 武汉市| 滨海县| 辰溪县| 晋中市| 东海县| 宝鸡市| 营口市| 寿宁县| 湖北省| 永德县| 乐陵市| 靖安县| 高州市| 潮州市| 三穗县| 塘沽区| 宝鸡市| 池州市| 锡林郭勒盟| 丽水市| 广灵县| 福贡县| 新津县| 汝州市| 高阳县| 昌都县| 深州市| 江津市| 项城市| 沛县| 民勤县| 沁源县| 姚安县| 铅山县| 紫金县| 辽源市|