角度检测方法及应用该方法的电子装置与流程

文档序号:11100197阅读:810来源:国知局
角度检测方法及应用该方法的电子装置与制造工艺
本发明涉及传感器检测领域,尤其涉及一种角度检测方法及应用该方法的电子装置。
背景技术
:现有很多电子装置上安装有角度传感器,如应用于智能机器人上的舵机。在智能机器人中,舵机作为智能机器人中的动力元件,是智能机器人实现智能化的关键元件。舵机内安装有角度传感器和控制器。其中,角度传感器用于感测物体角度信息值;在舵机内,该物体角度信息为舵机输出轴角度信息。控制器用于根据角度传感器采集到的舵机输出轴角度信息精确地控制舵机输出轴转动位置,使舵机输出轴转动到目标角度或保持在目标角度。目前,舵机内通常安装有全方位角度传感器,可实现舵机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