舵机锁位控制方法及舵机与流程

文档序号:11801753阅读:1503来源:国知局
舵机锁位控制方法及舵机与流程

本发明涉及机器人舵机领域,尤其涉及一种舵机锁位控制方法及舵机。



背景技术:

机器人是根据控制器发送的控制指令执行相应动作的机器设备。舵机是机器人的动力元件,是构建机器人关节部件的关键元件。机器人根据控制器的控制指令执行相关动作后,需使舵机齿轮转动到特定位置并固定,以完成锁位操作。具体地,现有舵机锁位控制过程中,通过舵机内的主控电路和角度传感器配合,以完成将舵机齿轮转动到特定位置并固定的目的。但这种舵机锁位控制方法只能通过主控电路和角度传感器配合以实现控制舵机齿轮锁位,控制方式不灵活。



技术实现要素:

本发明要解决的技术问题在于,针对现有舵机锁位控制方法存在的缺陷,提供一种舵机锁位控制方法及舵机。

本发明解决其技术问题所采用的技术方案是:一种舵机锁位控制方法,包括如下步骤:

舵机进入强锁位状态;

判断当前角度偏移值是否在第一预设时间内均大于预设角度偏移值;

若所述当前角度偏移值在第一预设时间内均大于所述预设角度偏移值,舵机进入弱锁位状态;

判断当前角度变化值是否在第二预设时间内均小于预设角度变化值;

若所述当前角度变化值在第二预设时间内均小于所述预设角度变化值,舵机进入强锁位状态。

优选地,所述“舵机进入强锁位状态”步骤后还包括:

判断舵机进入强锁位状态是否超过强锁位预设稳定用时;若是,则判断当前角度偏移值是否在第一预设时间内均大于预设角度偏移值;若否,则继续执行本步骤。

优选地,所述“判断当前角度偏移值是否在第一预设时间内均大于预设角度偏移值”包括步骤:

记录舵机的最新锁位目标值;

每隔单位时间采集一次舵机的当前角度值并保存;

根据所述最新锁位目标值和所述当前角度值计算所述当前角度偏移值。

优选地,还包括步骤:

将每一所述当前角度偏移值与所述预设角度偏移值进行比较,并判断所述当前角度偏移值是否大于所述预设角度偏移值;

若所述当前角度偏移值大于所述预设角度偏移值,则使角度偏差计数加1,并判断所述角度偏差计数是否大于第一计数阈值;若所述角度偏差计数大于所述第一计数阈值,则所述当前角度偏移值在第一预设时间内均大于预设角度值。

优选地,所述“判断所述当前角度偏移值是否在第一预设时间内均大于预设角度偏移值”还包括:

若所述当前角度偏移值不大于所述预设角度偏移值,则使所述角度偏差计数清零,并判断下一单位时间的角度偏移值是否大于所述预设角度偏移值;

若所述角度偏差计数不大于所述第一计数阈值,则判断下一单位时间的角度偏移值是否大于所述预设角度偏移值。

判断所述当前角度偏移值是否在第一预设时间内均大于预设角度偏移值;

优选地,所述“舵机进入弱锁位状态”步骤还包括:若所述当前角度偏移值在第一预设时间内均大于预设角度偏移值,则所述舵机进入弱锁位状态,并将所述第一预设时间内最后一个所述当前角度值更新为最新锁位目标值。

优选地,所述步骤“判断当前角度变化值是否在第二预设时间内均小于预设角度变化值”包括:

每隔单位时间采集一次舵机的当前角度值并保存;

根据本次采集的当前角度值与上一次采集的当前角度值计算当前角度变化值。

优选地,还包括步骤:

将每一所述当前角度变化值与所述预设角度变化值进行比较,并判断所述当前角度变化值是否小于预设角度变化值;

若所述当前角度变化值小于所述预设角度变化值,则使角度变化计数加1,并判断所述角度变化计数是否大于第二计数阈值;若所述角度变化计数大于所述第二计数阈值,则所述角度变化值在第二预设时间内均小于预设角度变化值。

优选地,还包括步骤:

若所述当前角度变化值不小于所述预设角度变化值,则使所述角度变化计数清零,并判断下一单位时间的所述当前角度变化值是否小于所述预设角度变化值;

若所述角度变化计数不大于所述第二计数阈值,则判断下一单位时间的所述当前角度变化值是否小于所述预设角度变化值

优选地,所述“舵机进入强锁位状态”步骤还包括:将所述第二预设时间内最后一个所述当前角度值更新为所述最新锁位目标值。

本发明还提供一种采用所述舵机锁位控制方法的舵机,包括主控电路、伺服电机、角度传感器、减速齿轮和输出轴,所述角度传感器采集输出角度信息,所述主控电路执行所述舵机锁位控制方法控制所述伺服电机转动,通过所述减速齿轮和输出轴输出。

本发明与现有技术相比具有如下优点:本发明所提供的舵机锁位控制方法,可通过外力使得舵机的当前角度偏移值在第一预设时间内均大于预设角度偏移值,即可使得舵机在强锁位状态下进入弱锁位状态;若当前角度变化值在第二预设时间内均小于预设角度变化值,则进入强锁位状态。该舵机锁位控制方法可通过外力控制舵机的当前角度值以实现对舵机齿轮的锁位控制,可实现舵机在强锁位状态和弱锁位状态灵活转换,控制方式简单灵活。

本发明所提供的采用舵机锁位控制方法的舵机,该舵机中的主控电路执行舵机锁位控制方法,可对舵机齿轮的强锁位状态和弱锁位状态的转换控制,控制方式简单灵活,使得舵机更容易满足其使用需求。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例1中的舵机锁位控制方法的一流程图;

图2是本发明实施例2中的舵机锁位控制方法的另一流程图;

图3是本发明实施例2中的舵机锁位控制方法的一局部流程图;

图4是本发明实施例2中的舵机锁位控制方法的另一局部流程图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

实施例1

图1示出本实施例中的舵机锁位控制方法的流程图。如图1所示,该舵机锁位控制方法包括如下步骤:

S11:舵机进入强锁位状态。具体地,舵机上电后,接收来自控制器的首次锁位指令,并根据该首次锁位指令使舵机进入强锁位状态。其中,强锁位状态是指舵机内主控电路控制齿轮转动到并保持在锁位目标值位置,若检测到齿轮转动的位置偏离锁位目标值位置,则控制舵机齿轮的输出力矩,给舵机齿轮施加与偏离方向相反的力,从而使舵机齿轮在收到新的锁位指令之前一直保持在锁位目标值位置的状态。

S12:判断当前角度偏移值是否在第一预设时间内均大于预设角度偏移值。其中,当前角度偏移值为当前角度值与最新锁位目标值的差值的绝对值。预设角度偏移值是预先设置的用于判定舵机齿轮偏离锁位目标值的角度偏移值。若当前角度偏移值大于预设角度偏移值,则说明有较大的外力使得舵机齿轮偏离锁位目标值。

S13:若当前角度偏移值在第一预设时间内均大于预设角度偏移值,舵机进入弱锁位状态。其中,弱锁位状态是指舵机内主控电路控制齿轮转动到锁位目标值位置后,若检测到有一长时间大于预定值(使舵机齿轮偏移锁位目标值位置的当前角度偏移值大于预设角度偏移值)的外力存在,则舵机减弱齿轮的输出力矩,并改变舵机锁位目标值位置,使其随当前角度值的变化而变化的状态。

可以理解地,若当前角度偏移值大于预设角度偏移值,则说明有较大的外力作用在舵机上,以使舵机齿轮偏离锁位目标值;若在第一预设时间内根据采集到的当前角度值计算出的当前角度偏移值均大于预设角度偏移值,将说明在第一预设时间内一直有外力作用在舵机上,使舵机齿轮长时间偏离锁位目标值,退出强锁位状态而进入弱锁位状态。

S14:判断当前角度变化值是否在第二预设时间内均小于预设角度变化值。其中,当前角度变化值为本次采集的当前角度值与上一次采集的当前角度值的差值的绝对值。预设角度变化值是预先设置的用于判定舵机齿轮输出角度变化程度的参考值;若当前角度变化值小于预设角度变化值,则说明舵机本次采集的当前角度值与上一次采集的当前角度值之间差值较小,基本保持静止不动。

S15:若当前角度变化值在第二预设时间内均小于预设角度变化值,舵机进入强锁位状态。可以理解地,若当前角度变化值在第二预设时间内均小于预设角度变化值,则说明舵机轮齿的角度在第二预设时间内处于较稳定的状态,此时恢复舵机的输出力矩,使舵机进入强锁位状态,有利于保证舵机的正常工作。

本实施例所提供的舵机锁位控制方法,可通过外力使得舵机的当前角度偏移值在第一预设时间内均大于预设角度偏移值,即可使得舵机在强锁位状态下进入弱锁位状态;若当前角度变化值在第二预设时间内均小于预设角度变化值,则进入强锁位状态。该舵机锁位控制方法可通过外力控制舵机的当前角度值以实现对舵机齿轮的锁位控制,可实现舵机在强锁位状态和弱锁位状态灵活转换,控制方式简单灵活。

实施例2

图2示出本实施例中的舵机锁位控制方法的流程图。如图2所示,该舵机锁位控制方法包括如下步骤:

S21:舵机进入强锁位状态。具体地,舵机上电后,接收来自控制器的首次锁位指令,并根据该首次锁位指令使舵机进入强锁位状态,记录舵机进入强锁位状态时的最新锁位目标值α0。具体地,强锁位状态是指舵机内主控电路控制齿轮转动到并保持在锁位目标值位置,若检测到齿轮转动的位置偏离锁位目标值位置,则控制舵机齿轮的输出力矩,给舵机齿轮施加与偏离方向相反的力,从而使舵机齿轮在收到新的锁位指令之前一直保持在锁位目标值位置的状态。

S22:在舵机进入强锁位状态时,判断舵机进入强锁位状态是否超过强锁位预设稳定用时。若是,执行步骤S23判断当前角度偏移值ε1是否在第一预设时间Δt1内均大于预设角度偏移值ε0;若否,则保持强锁位状态,继续执行步骤S22。可以理解地,由于舵机上电初始化时,可能出现较大幅度的摆动,使得舵机进入强锁位状态可能锁位不理想,因此要求舵机进入强锁位状态后要先等待一段时间(即强锁位预设稳定用时)使舵机锁位稳定下来,再去检测是否有较大的外力使得当前角度偏移值ε1是否在第一预设时间Δt1内均大于预设角度偏移值ε0。可以理解地,步骤S22的设置,可有效防止因误检测而使舵机在上电初始化时,因舵机进入强锁位状态时锁位不理想,而直接进入弱锁位状态,影响舵机的性能。

S23:判断当前角度偏移值ε1是否在第一预设时间Δt1内均大于预设角度偏移值ε0。其中,预设角度偏移值ε0是预先设置的用于判定舵机齿轮偏离锁位目标值的角度偏移值。若当前角度偏移值ε1大于预设角度偏移值ε0,则说明有较大的外力作用在舵机上,以使舵机齿轮偏离锁位目标值;若在第一预设时间Δt1内根据采集到的当前角度值β1计算出的当前角度偏移值ε1均大于预设角度偏移值ε0,将说明在第一预设时间Δt1内一直有外力作用在舵机上,使舵机齿轮长时间偏离锁位目标值,退出强锁位状态而进入弱锁位状态。可以理解地,舵机进入强锁位状态时会不断执行步骤S23,以确定在第一预设时间Δt1(连续时间)内所检测到的当前角度偏移值ε1是否均大于预设角度偏移值ε0。具体包括如下步骤:

S231:记录舵机的最新锁位目标值α0。可以理解地,在舵机进入强锁位状态时,即记录舵机的最新锁位目标值α0

S232:每隔单位时间t1采集到的当前角度值β1。

S233:根据最新锁位目标值α0和当前角度值β1计算当前角度偏移值ε1。具体地,每隔单位时间t1,通过设置在舵机齿轮上的角度传感器采集一次舵机的当前角度值β1并保存,并计算获取当前角度偏移值ε1。其中,当前角度偏移值ε1为当前角度值β1与最新锁位目标值α0的差值的绝对值,即ε1=|β1-α0|。

S234:将每一当前角度偏移值ε1与预设角度偏移值ε0进行比较,并判断当前角度偏移值ε1是否大于预设角度偏移值ε0。

S235:若当前角度偏移值ε1大于预设角度偏移值ε0,则使角度偏差计数n1加1,并判断角度偏差计数n1是否大于第一计数阈值N1;若角度偏差计数n1大于第一计数阈值N1,则当前角度偏移值ε1在第一预设时间Δt1内均大于预设角度值ε0。可以理解地,由于每一当前角度偏移值ε1为当前角度值β1与最新锁位目标值α0的差值的绝对值,而当前角度值β1每隔单位时间t1采集一次,若当前角度偏移值ε1大于预设角度偏移值ε0,则使角度偏差计数n1加1,通过计算单位时间t1与角度偏差计数n1的乘积即可获得当前角度偏移值ε1均大于预设角度偏移值ε0的时间,并将其与第一预设时间Δt1进行比较,即可判断当前角度偏移值ε1是否在第一预设时间Δt1内均大于预设角度偏移值ε0。其中,第一计数阈值N1可以为第一预设时间Δt1与单位时间t1的商值,通过比较角度偏差计数n1是否大于第一计数阈值N1,即可确定当前角度偏移值ε1是否在第一预设时间Δt1内均大于预设角度偏移值ε0,计算过程简单方便。

S236:若当前角度偏移值ε1不大于预设角度偏移值ε0,则使角度偏差计数n1清零,并判断下一单位时间的当前角度偏移值ε1是否大于预设角度偏移值ε0。可以理解地,若任一单位时间的当前角度偏移值ε1不大于预设角度偏移值ε0,则其不可能在第一预设时间Δt1内的当前角度偏移值ε1均大于预设角度偏移值ε0,故使角度偏差计数n1清零,并判断下一单位时间的当前角度偏移值ε1是否大于预设角度偏移值ε0。

S237:若角度偏差计数n1不大于第一计数阈值N1,则判断下一单位时间的当前角度偏移值ε1是否大于预设角度偏移值ε0。可以理解地,只需使角度偏差计数n1大于第一计数阈值N1,即可认定第一预设时间Δt1内的当前角度偏移值ε1均大于预设角度偏移值ε0,因此,若角度偏差计数n1不大于第一计数阈值N1,则需计算下一单位时间的当前角度偏移值ε1是否大于预设角度偏移值ε0,直到角度偏差计数n1大于第一计数阈值N1。

S24:若当前角度偏移值ε1在第一预设时间Δt1内均大于预设角度偏移值ε0,则舵机进入弱锁位状态。即在第一预设时间Δt1这一连续时间内所检测到的当前角度偏移值ε1均大于预设角度偏移值ε0。可以理解地,弱锁位状态是指舵机内主控电路控制齿轮转动到锁位目标值位置后,若检测到有一长时间大于预定值(使舵机齿轮偏移锁位目标值位置的当前角度偏移值ε1大于预设角度偏移值ε0)的外力存在,则舵机减弱齿轮的输出力矩,并改变舵机锁位目标值位置,使其随当前角度值β1的变化而变化的状态。可以理解地,若当前角度偏移值ε1在第一预设时间Δt1内没有均大于预设角度偏移值ε0,则舵机不进入弱锁位状态,则继续执行步骤S23。

可以理解地,当舵机处于强锁位状态时,若当前角度偏移值ε1在第一预设时间Δt1内均大于预设角度偏移值ε0,则舵机由强锁位状态进入弱锁位状态,并将第一预设时间Δt1内最后一个当前角度值β1更新为最新锁位目标值α0,以使舵机实现由强锁位状态到弱锁位状态的灵活变换,使舵机的控制方式更简单灵活。

S25:将第一预设时间Δt1内最后一个当前角度值β1更新为最新锁位目标值α0。在下一单位时间t1,以第一预设时间Δt1内最后一个当前角度值β1更新为最新锁位目标值α0。

S26:判断当前角度变化值θ1是否在第二预设时间Δt2内均小于预设角度变化值θ0。其中,当前角度变化值θ1为本次采集的当前角度值与上一次采集的当前角度值的差值的绝对值。预设角度变化值θ0是预先设置的用于判定舵机齿轮输出角度变化程度的参考值。若当前角度变化值θ1小于预设角度变化值θ0,则说明舵机本次采集的当前角度值与上一次采集的当前角度值之间差值较小,基本保持静止不动。

S261:每隔单位时间t1采集一次舵机的当前角度值β1并保存。

S262:根据本次采集的当前角度值与上一次采集的当前角度值计算当前角度变化值。本实施例中,角度传感器采集到的本次舵机的当前角度值可以用β1来表示,上一次采集到的当前角度值可以用来β0表示,下一次采集到的当前角度值可以用β2来表示。其中,当前角度变化值θ1为本次采集的当前角度值β1与上一次采集的当前角度值β0的差值的绝对值,即θ1=|β1-β0|。

S263:将每一当前角度变化值θ1与预设角度变化值θ0进行比较,并判断当前角度变化值θ1是否小于预设角度变化值θ0。

S264:若当前角度变化值θ1小于预设角度变化值θ0,则使角度变化计数n2加1,并判断角度变化计数n2是否大于第二计数阈值N2;若角度变化计数n2大于第二计数阈值N2,则当前角度变化值θ1在第二预设时间Δt2内均小于预设角度变化值θ0。可以理解地,每一当前角度变化值θ1为本次采集的当前角度值β1与上一次采集的当前角度值β0的差值的绝对值,而当前角度值β1每隔单位时间t1采集一次,若当前角度变化值θ1小于预设角度变化值θ0,则使角度变化计数n2加1,通过计算单位时间t1与角度变化计数n2的乘积即可获得当前角度变化值均小于预设角度变化值θ0的时间,并将其与第二预设时间Δt2进行比较,即可判断当前角度变化值θ1是否在第二预设时间Δt2内均小于预设角度变化值θ0。其中,第二计数阈值N2可以为第二预设时间Δt2与单位时间t1的商值,通过比较角度变化计数n2是否大于第二计数阈值N2,即可确定当前角度变化值θ1是否在第二预设时间Δt2内均小于预设角度变化值θ0。

S265:若当前角度变化值θ1不小于预设角度变化值θ0,则使所述角度变化计数n2清零,并判断下一单位时间的所述当前角度变化值θ1是否小于所述预设角度变化值θ0。可以理解地,若任一单位时间的当前角度变化值θ1不小于所述预设角度变化值θ0,则其不可能在第二预设时间Δt2内的当前角度变化值θ1均小于预设角度变化值θ0,故使所述角度变化计数n2清零,并判断下一单位时间的所述当前角度变化值θ1是否小于所述预设角度变化值θ0。

S266:若角度变化计数n2不大于第二计数阈值N2,则判断下一单位时间的当前角度变化值θ1是否小于预设角度变化值θ0。可以理解地,只需使角度变化计数n2大于第二计数阈值N2,即可认定第二预设时间Δt2内的当前角度变化值θ1均小于预设角度变化值θ0。因此,若角度变化计数n2不大于第二计数阈值N2,则判断下一单位时间的当前角度变化值θ1是否小于预设角度变化值θ0。

S27:若当前角度变化值θ1在第二预设时间Δt2内均小于预设角度变化值θ0,则舵机进入强锁位状态。当前角度变化值θ1在第二预设时间Δt2内均小于预设角度变化值θ0,则说明舵机在第二预设时间Δt2内前后N2个单位时间内的当前角度变化值θ1均小于预设角度变化值θ0,舵机齿轮的角度处于较稳定的状态,此时恢复舵机的输出力矩,使舵机进入强锁位状态,有利于保证舵机的正常工作。可以理解地,若当前角度变化值θ1在第二预设时间Δt2内没有均小于预设角度变化值θ0,则继续执行步骤S26。

S28:将第二预设时间Δt2内最后一个当前角度值更新为最新锁位目标值α0。在下一单位时间t1采集到的当前角度值β1并计算当前角度偏移值ε1时,以当前角度值β1与更新后的最新锁位目标值α0的差值的绝对值作为当前角度偏移值ε1。

可以理解地,当舵机处于弱锁位状态时,若当前角度变化值θ1在第二预设时间Δt2内均小于预设角度变化值θ0,则舵机由弱锁位状态进入强锁位状态,并将第二预设时间Δt2内最后一个当前角度值更新为最新锁位目标值,以使舵机实现由弱锁位状态到强锁位状态的灵活转换,使舵机的控制方式更简单灵活。

本实施例所提供的舵机锁位控制方法,可通过外力使得舵机的当前角度偏移值ε1在第一预设时间Δt1内均大于预设角度偏移值ε0,即可使得舵机在强锁位状态下进入弱锁位状态;若当前角度变化值θ1在第二预设时间Δt2内均小于预设角度变化值θ0,则进入强锁位状态。该舵机锁位控制方法可通过外力控制舵机的当前角度值的变化以实现对舵机齿轮的强锁位状态和弱锁位状态的转换控制,控制方式简单灵活,使得舵机更容易满足其使用需求。

实施例3

本实施例公开一种采用实施例1或实施例2中的舵机锁位控制方法的舵机。该舵机包括主控电路、伺服电机、角度传感器、减速齿轮和输出轴,角度传感器采集输出角度信息,主控电路执行实施例1或2中的舵机锁位控制方法控制伺服电机转动,通过减速齿轮和输出轴输出。该舵机中的主控电路执行舵机锁位控制方法,可对舵机齿轮的强锁位状态和弱锁位状态的转换控制,控制方式简单灵活,使得舵机更容易满足其使用需求。

本发明是通过上述具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换和等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1