一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种终端设备及其控制方法和装置与流程

2021-12-01 00:52:00 来源:中国专利 TAG:


1.本技术涉及图像处理领域,尤其涉及一种终端设备及其控制方法和装置。


背景技术:

2.防抖云台的工作原理:当防抖云台存在横滚角(roll)方向的运动时,云台支架能够在横滚角逆方向运动,使防抖云台上固定的摄像机在横滚角方向保持稳定;当防抖云台存在俯仰角(pitch)方向的运动时,云台支架能够在俯仰角逆方向运动,使防抖云台上固定的摄像机在俯仰角方向保持稳定;当防抖云台存在偏航角(yaw)方向的运动时,云台支架能够在偏航角逆方向运动,使防抖云台上固定的摄像机在偏航角方向保持稳定。
3.防抖云台通常会部署测量传感器,如imu(inertial measurement unit,惯性测量单元)等,imu是一种六轴惯性测量传感器,能够采集防抖云台的加速度值和角速度值,基于角速度值就可以获知防抖云台的姿态角,以横滚角方向的姿态角为例,这个姿态角表示防抖云台在横滚角方向的运动情况,基于横滚角方向的运动情况控制云台支架运动,使得摄像机横滚角方向保持不变。
4.综上所述,防抖云台通常用于防止由于运动导致的图像画面抖动,工作原理是,基于测量传感器的测量数据计算摄像机的姿态角,基于姿态角控制电机抵消由于运动产生的角度位移,使摄像机始终保持在期望姿态,保持画面稳定。
5.但是,在防抖云台的使用过程中,难免会出现运动状态突变情况,如跑动、剧烈晃动等,这些运动状态突变情况均会导致防抖云台发生碰撞,导致画面抖动严重,无法对防抖云台进行有效控制,图像会出现画面歪斜抖动等不良现象。


技术实现要素:

6.本技术提供一种终端设备,包括设备本体及设置在所述设备本体上的防抖云台,所述防抖云台包括成像模组、测量传感器、控制芯片和电机;其中:
7.所述成像模组,用于采集目标场景的图像;
8.所述测量传感器,用于采集所述成像模组的运动数据;
9.所述控制芯片,用于基于所述运动数据确定所述成像模组对应的当前姿态值,确定所述成像模组对应的目标姿态值;基于所述当前姿态值和所述目标姿态值的偏差值确定参数修正值,基于所述参数修正值对初始控制参数进行修正,得到目标控制参数;基于所述偏差值和所述目标控制参数确定控制电压,基于所述控制电压生成电机控制参数,并将电机控制参数传输给电机;
10.所述电机,用于利用所述电机控制参数对所述成像模组进行转动,以使所述成像模组在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
11.本技术提供一种终端设备的控制方法,所述终端设备包括设备本体及设置在所述设备本体上的防抖云台,所述防抖云台包括成像模组、测量传感器、控制芯片和电机;所述成像模组采集目标场景的图像,所述测量传感器采集所述成像模组的运动数据,所述方法
应用于所述控制芯片,所述方法包括:
12.基于所述运动数据确定所述成像模组对应的当前姿态值;
13.确定所述成像模组对应的目标姿态值;
14.基于所述当前姿态值和所述目标姿态值的偏差值确定参数修正值,并基于所述参数修正值对初始控制参数进行修正,得到目标控制参数;
15.基于所述偏差值和所述目标控制参数确定控制电压;
16.基于所述控制电压生成电机控制参数,并将所述电机控制参数传输给电机,以使所述电机利用所述电机控制参数对所述成像模组进行转动,以使所述成像模组在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
17.本技术提供一种终端设备的控制装置,所述终端设备包括设备本体及设置在所述设备本体上的防抖云台,所述防抖云台包括成像模组、测量传感器、控制芯片和电机;所述成像模组采集目标场景的图像,所述测量传感器采集所述成像模组的运动数据,所述装置应用于所述控制芯片,所述装置包括:
18.确定模块,用于基于所述运动数据确定所述成像模组对应的当前姿态值;以及,确定所述成像模组对应的目标姿态值;
19.修正模块,用于基于所述当前姿态值和所述目标姿态值的偏差值确定参数修正值,并基于所述参数修正值对初始控制参数进行修正,得到目标控制参数;
20.所述确定模块,还用于基于所述偏差值和所述目标控制参数确定控制电压;
21.生成模块,用于基于所述控制电压生成电机控制参数;
22.发送模块,用于将所述电机控制参数传输给所述电机,以使所述电机利用所述电机控制参数对所述成像模组进行转动,以使所述成像模组在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
23.由以上技术方案可见,本技术实施例中,可以基于当前姿态值和目标姿态值的偏差值确定参数修正值,并基于参数修正值对初始控制参数进行修正,得到目标控制参数,基于目标控制参数确定控制电压,并基于控制电压生成电机控制参数,从而基于该电机控制参数对电机进行控制,以使电机对成像模组进行转动,且由成像模组在转动后位置采集目标场景的图像,从而能够消除图像中的画面抖动,有效降低了画面抖动程度。考虑到电机性能差异(如电机从静止到运动所需要的启动电压,由于受生产工艺环节影响,可能存在较大差异),上述方式采用动态索引模糊控制算法,减少了参数调整的个数和难度,并且对电机个体差异有更大的可靠性。上述方式能够提高防抖云台的稳定性和抗干扰能力,即使出现运动状态突变情况,也可以使得成像模组采集的图像,不会出现画面歪斜抖动等不良现象,优化成像模组采集的图像,提高画面稳定性。
附图说明
24.图1是本技术一种实施方式中的终端设备的结构示意图;
25.图2是本技术一种实施方式中的终端设备的控制方法的流程示意图;
26.图3是本技术一种实施方式中的终端设备的控制方法的示意图;
27.图4a是本技术一种实施方式中的工作区域的示意图;
28.图4b是本技术一种实施方式中的碰撞过程中的角速度值的示意图;
29.图5是本技术一种实施方式中的动态索引模糊pid控制的示意图;
30.图6a和图6b是本技术一种实施方式中的动态索引模糊pid控制的示意图;
31.图7是本技术一种实施方式中的防堵转模块的堵转判断操作的流程图;
32.图8是本技术一种实施方式中的终端设备的控制装置的结构示意图。
具体实施方式
33.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
34.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
35.本技术实施例中提出一种终端设备,比如说,对于一些设备来说,其由工作人员在执行工作时随身携带,具有集实时视音频采集、照相、录音、对讲、定位等功能于一体,为便于描述,将上述设备记为终端设备,如记录仪等。
36.参见图1所示,为终端设备的一个结构示意图,该终端设备可以包括设备本体(在图1中并未示出)及设置在设备本体上的防抖云台,该防抖云台可以包括但不限于成像模组11、测量传感器12、控制芯片13和电机14。
37.成像模组11,用于采集目标场景的图像。比如说,成像模组11可以是用于采集图像的传感器,可以通过成像模组11采集目标场景的图像。
38.测量传感器12,用于采集成像模组11的运动数据。比如说,测量传感器12可以如imu等,测量传感器12与成像模组11可以集成在一起,从而实时测量成像模组11的运动数据,如成像模组11的加速度值和角速度值等。
39.控制芯片13,用于基于成像模组11的运动数据确定成像模组11对应的当前姿态值,并确定成像模组11对应的目标姿态值。基于该当前姿态值和该目标姿态值的偏差值确定参数修正值,并基于该参数修正值对初始控制参数进行修正,得到目标控制参数。基于该偏差值和该目标控制参数确定控制电压,并基于该控制电压生成电机控制参数,并将该电机控制参数传输给电机14。
40.电机14,用于利用该电机控制参数对成像模组11进行转动,以使成像模组11在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
41.在一种可能的实施方式中,测量传感器12,用于周期性采集成像模组11的运动数据;控制芯片13基于成像模组11的运动数据确定成像模组11对应的当前姿态值时具体用于:基于测量传感器12在每个周期采集的运动数据,确定目标周期(即所有周期中的任一周期)的运动数据与目标周期的上一个周期的运动数据之间的变化率。若该变化率大于预设阈值,则可以丢弃目标周期的运动数据,不再基于该运动数据确定初始姿态值;若该变化率不大于预设阈值,则基于目标周期的运动数据确定成像模组11在目标周期对应的当前姿态
值。
42.在一种可能的实施方式中,目标姿态值可以包括目标俯仰角、目标横滚角和目标偏航角中的至少一个;控制芯片13确定成像模组11对应的目标姿态值时具体用于:确定防抖云台对应的工作模式,该工作模式可以为水平模式或跟随模式,水平模式表示目标角度不跟随防抖云台的运动而变化,跟随模式表示目标角度跟随防抖云台的运动而变化。在此基础上,若该工作模式为水平模式,则确定目标俯仰角为预期水平角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度。若该工作模式为跟随模式,则确定目标俯仰角为预期机械角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度。示例性的,若预期机械角度为机械零位角度,则可以将正向限位位置对应的角度与反向限位位置对应的角度的中心角度,确定为该机械零位角度。
43.在一种可能的实施方式中,控制芯片13基于当前姿态值和目标姿态值的偏差值确定参数修正值时具体用于:对目标周期的误差值和误差变化率进行量化,得到误差量化值和误差变化率量化值,该误差值可以是基于当前姿态值(即目标周期的当前姿态值)与目标姿态值的偏差值确定,该误差变化率可以是基于目标周期的误差值与上一个周期的误差值确定。对误差量化值和误差变化率量化值进行模糊处理,得到该误差值所属的第一模糊子集和该误差变化率所属的第二模糊子集、以及该误差值对应的第一隶属度和该误差变化率对应的第二隶属度。基于第一模糊子集和第二模糊子集确定解模糊参数值,并基于该解模糊参数值、第一隶属度和第二隶属度进行解模糊处理,得到参数修正值。
44.在一种可能的实施方式中,目标姿态值可以包括目标俯仰角、目标横滚角和目标偏航角中的至少一个;当前姿态值可以包括当前俯仰角、当前横滚角和当前偏航角中的至少一个。基于此,若目标姿态值为目标俯仰角,当前姿态值为当前俯仰角,则控制电压可以为俯仰方向的控制电压,电机控制参数可以为俯仰方向的电机控制参数,且该电机控制参数用于控制电机14在俯仰方向对成像模组11进行转动。若目标姿态值为目标横滚角,当前姿态值为当前横滚角,则控制电压可以为横滚方向的控制电压,电机控制参数可以为横滚方向的电机控制参数,且该电机控制参数用于控制电机14在横滚方向对成像模组11进行转动。若目标姿态值为目标偏航角,当前姿态值为当前偏航角,则控制电压可以为偏航方向的控制电压,电机控制参数可以为偏航方向的电机控制参数,且该电机控制参数用于控制电机14在偏航方向对成像模组11进行转动。
45.需要注意的是,三个方向可以对应三个电机,即电机14可以是三个电机,分别是俯仰方向的电机,横滚方向的电机,偏航方向的电机。
46.在一种可能的实施方式中,电机控制参数至少可以包括三相pwm(pulse width modulation,脉冲宽度调制)波;控制芯片13基于控制电压生成电机控制参数,并将电机控制参数传输给电机14时具体用于:基于该控制电压和电机14的目标转子角度生成三相pwm波,并将该三相pwm波传输给电机14。
47.电机14利用电机控制参数对成像模组11进行转动时具体用于:利用该三相pwm波确定控制力矩,并基于该控制力矩对成像模组11进行转动。
48.示例性的,电机14上部署有霍尔传感器,该霍尔传感器用于获取电机14的目标转子角度,并将电机14的目标转子角度发送给控制芯片13。
49.在一种可能的实施方式中,霍尔传感器,用于采集电机14的当前转子角度,并基于
已配置的校准参数对当前转子角度进行校正,得到电机14的校正后的目标转子角度,并将该目标转子角度发送给控制芯片13。示例性的,校准参数包括霍尔传感器的采样偏置、霍尔传感器的幅值比和霍尔传感器的安装偏置角度。
50.在一种可能的实施方式中,控制芯片13基于偏差值和目标控制参数确定控制电压之后还用于:确定该控制电压是否大于电压阈值;若是,则可以累积电机14的异常控制时长,若否,则可以将电机14的异常控制时长更新为0。
51.然后,确定电机14的异常控制时长是否大于时长阈值;如果否,则执行基于控制电压生成电机控制参数,并将电机控制参数传输给电机14;如果是,则将控制电压调整为0,基于调整后的控制电压生成电机控制参数,并将电机控制参数传输给电机14,以通过该电机控制参数控制电机14重新运行。
52.本技术实施例中还提出一种终端设备的控制方法,终端设备可以包括设备本体及设置在该设备本体上的防抖云台,该防抖云台可以包括但不限于成像模组、测量传感器、控制芯片和电机。其中,成像模组可以采集目标场景的图像,测量传感器可以采集成像模组的运动数据,该方法可以应用于控制芯片,参见图2所示,为该终端设备的控制方法的流程示意图,该方法可以包括:
53.步骤201、基于该运动数据确定成像模组对应的当前姿态值。
54.示例性的,测量传感器可以周期性的采集成像模组的运动数据,在此基础上,基于测量传感器在每个周期采集的运动数据,控制芯片可以确定目标周期的运动数据与目标周期的上一个周期的运动数据之间的变化率。若该变化率大于预设阈值,则丢弃目标周期的运动数据;若该变化率不大于预设阈值,则基于目标周期的运动数据确定成像模组在目标周期对应的当前姿态值。
55.步骤202、确定成像模组对应的目标姿态值。
56.示例性的,目标姿态值可以包括目标俯仰角、目标横滚角和目标偏航角中的至少一个;控制芯片可以确定防抖云台对应的工作模式,该工作模式为水平模式或跟随模式,水平模式表示目标角度不跟随防抖云台的运动而变化,跟随模式表示目标角度跟随防抖云台的运动而变化。在此基础上,若工作模式为水平模式,则确定目标俯仰角为预期水平角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度;若工作模式为跟随模式,则确定目标俯仰角为预期机械角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度。其中,若预期机械角度为机械零位角度,则可以将正向限位位置对应的角度与反向限位位置对应的角度的中心角度,确定为该机械零位角度。
57.步骤203、基于当前姿态值和目标姿态值的偏差值确定参数修正值,并基于该参数修正值对初始控制参数进行修正,得到目标控制参数。
58.示例性的,可以对目标周期的误差值和误差变化率进行量化,得到误差量化值和误差变化率量化值;其中,该误差值可以是基于目标周期的当前姿态值与目标姿态值的偏差值确定,该误差变化率可以是基于目标周期的误差值与上一个周期的误差值确定。然后,对该误差量化值和该误差变化率量化值进行模糊处理,得到该误差值所属的第一模糊子集和该误差变化率所属的第二模糊子集、以及该误差值对应的第一隶属度和该误差变化率对应的第二隶属度。然后,基于该第一模糊子集和该第二模糊子集确定解模糊参数值,并基于该解模糊参数值、第一隶属度和第二隶属度进行解模糊处理,得到参数修正值。
59.步骤204、基于偏差值和该目标控制参数确定控制电压。
60.步骤205、基于该控制电压生成电机控制参数,并将该电机控制参数传输给电机,以使电机利用该电机控制参数对成像模组进行转动,以使成像模组在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
61.示例性的,目标姿态值可以包括目标俯仰角、目标横滚角和目标偏航角中的至少一个;当前姿态值可以包括当前俯仰角、当前横滚角和当前偏航角中的至少一个。基于此,若目标姿态值为目标俯仰角,当前姿态值为当前俯仰角,则控制电压为俯仰方向的控制电压,电机控制参数为俯仰方向的电机控制参数,且电机控制参数用于控制电机(如俯仰方向的电机)在俯仰方向对成像模组进行转动。若目标姿态值为目标横滚角,当前姿态值为当前横滚角,则控制电压为横滚方向的控制电压,电机控制参数为横滚方向的电机控制参数,且电机控制参数用于控制电机(如横滚方向的电机)在横滚方向对成像模组进行转动。若目标姿态值为目标偏航角,当前姿态值为当前偏航角,则控制电压为偏航方向的控制电压,电机控制参数为偏航方向的电机控制参数,且电机控制参数用于控制电机(如偏航方向的电机)在偏航方向对成像模组进行转动。
62.示例性的,电机控制参数可以包括三相pwm波,控制芯片可以基于控制电压和电机的目标转子角度生成三相pwm波,并将三相pwm波传输给电机,以使电机利用三相pwm波确定控制力矩,并基于控制力矩对成像模组进行转动。其中,关于电机的目标转子角度,电机上可以部署霍尔传感器,且霍尔传感器可以获取电机的目标转子角度,并将电机的目标转子角度发送给控制芯片。
63.示例性的,步骤204之后,控制芯片还可以确定该控制电压是否大于电压阈值;若是,则累积电机的异常控制时长,若否,则将电机的异常控制时长更新为0。然后,确定电机的异常控制时长是否大于时长阈值;如果否,则执行步骤205;如果是,则将控制电压调整为0,基于调整后的控制电压生成电机控制参数,将电机控制参数传输给电机,以通过该电机控制参数控制电机重新运行。
64.由以上技术方案可见,本技术实施例中,可以基于当前姿态值和目标姿态值的偏差值确定参数修正值,并基于参数修正值对初始控制参数进行修正,得到目标控制参数,基于目标控制参数确定控制电压,并基于控制电压生成电机控制参数,从而基于该电机控制参数对电机进行控制,以使电机对成像模组进行转动,且由成像模组在转动后位置采集目标场景的图像,从而能够消除图像中的画面抖动,有效降低了画面抖动程度。考虑到电机性能差异(如电机从静止到运动所需要的启动电压,由于受生产工艺环节影响,可能存在较大差异),上述方式采用动态索引模糊控制算法,减少了参数调整的个数和难度,并且对电机个体差异有更大的可靠性。上述方式能够提高防抖云台的稳定性和抗干扰能力,即使出现运动状态突变情况,也可以使得成像模组采集的图像,不会出现画面歪斜抖动等不良现象,优化成像模组采集的图像,提高画面稳定性。
65.以下结合具体应用场景,对本技术实施例的上述技术方案进行说明。
66.在介绍本技术实施例的技术方案之前,先介绍与本技术有关的概念:
67.防抖云台:用于防止由于运动导致的图像画面抖动,工作原理是,基于测量传感器的测量数据计算摄像机的姿态角,基于该姿态角控制电机抵消由于运动产生的角度位移,使摄像机始终保持在期望姿态,保持画面稳定。
68.pmsm(permanent magnet synchronous motor,永磁同步电机):pmsm是使用正弦波信号驱动的永磁电机,需要提供转子的实时位置信号来调节定子电流,使定子电流形成的旋转磁场可以与转子磁场同步旋转。一般情况下,转子是指永磁铁所在的组件,定子是指有(三相)漆包电线绕组的组件。
69.霍尔传感器:根据霍尔效应制成的磁敏式传感器,霍尔传感器的输出信号与其检测的磁场强度成正比变化,应用于永磁同步电机的驱动系统,获得连续的转子位置信号。霍尔传感器具有体积小、重量轻、易于批量化生产等优点。
70.svpwm(space vector pulse width modulation,空间矢量脉宽调制):是将逆变器和电机看做一个整体进行调节控制,使用八个基本电压矢量合成期望的电压矢量,建立逆变器功率器件的开关状态,并依据电机磁链和电压的关系,实现对电动机恒磁通变压变频调速,能够用于对永磁同步电机进行控制。
71.pid(proportion integration differentiation,比例积分微分):是将偏差的比例(p)、积分(i)和微分(d)通过线性组合构成控制量,对被控对象进行控制。
72.启动电压:是指电压从零开始逐步变大(或者,电压从最大值开始逐步变小)时,使得电机从静止状态到转动状态时的临界电压。
73.欧拉角:物体绕坐标系三个坐标轴(如x轴、y轴和z轴)的旋转角度,分别为俯仰角、横滚角、偏航角,统称为欧拉角。坐标系可以是世界坐标系,也可以是物体坐标系,旋转顺序任意,通常以飞机为例,偏航角是指水平方向的机头指向,俯仰角是指与水平面方向的夹角,横滚角是指飞机绕机身的翻滚。
74.imu(inertial measurement unit,惯性传感器):包含加速度计和陀螺仪,输出六轴数据,加速度计用于测量三轴加速度,陀螺仪用于测量三轴角速度。
75.力矩:表示力对物体作用时所产生的转动效应的物理量,力和力臂的乘积可以是力矩,力矩是一个矢量,力矩的单位可以是牛顿*米。
76.在终端设备的使用过程中,由于终端设备由工作人员在执行工作时随身携带,难免会出现运动状态突变情况,如跑动、剧烈晃动等,这些运动状态突变情况均会导致画面抖动严重,图像会出现画面歪斜抖动等问题。针对上述问题,本技术实施例提出一种终端设备及其控制方法,能够有效降低画面抖动程度。
77.本技术实施例中,可以将成像模组(包括镜头、图像传感器、配套电路板等)放置在防抖机械结构上,同时将测量传感器(即惯性传感器,如imu等)与成像模组集成在一起,以实时测量成像模组的当前姿态,从而基于当前姿态控制电机纠正抖动引起的角度误差,达到防抖的目的,保证画面的稳定。综上所述,终端设备在硬件上增加了测量传感器、电机(本实施例的电机为多轴电机,如三轴电机)、控制芯片等硬件模块,将这些硬件模块统称为防抖云台。
78.本技术实施例中,参见图3所示,终端设备的控制方法由姿态解算模块、控制解算模块、电机控制模块实现,即包括姿态解算步骤(姿态解算模块实现)、控制解算步骤(控制解算模块实现)、电机控制步骤(电机控制模块实现)。
79.针对姿态解算模块,输入数据是测量传感器采集的运动数据(如加速度值和角速度值),姿态解算模块通过滤波算法进行姿态解算,输出数据是成像画面的偏移角度,即欧拉角度(如俯仰角、横滚角和偏航角等)和角速度值等。
80.针对控制解算模块,输入数据是成像画面(即成像模组采集的图像)的偏移角度,控制解算模块计算成像画面的偏移角度与预期角度的误差,基于该误差通过pid算法得到控制电压,控制解算模块的输出数据是控制电压。
81.针对电机控制模块,输入数据是控制电压,电机控制模块可以基于该控制电压确定电机控制参数,该电机控制参数可以如用于控制电机的三相pwm波,电机控制模块的输出数据为电机控制参数,即将电机控制参数输出给电机,从而对电机进行控制。电机是使用带霍尔传感器的永磁同步电机,通过向电机输出三相pwm波,能够控制电机到预期角度,从而起到防抖效果。
82.第一,姿态解算模块(位于控制芯片):姿态解算模块用于确定成像模组的姿态信息,输入数据是测量传感器的测量数据(如加速度值和角速度值等运动数据),输出数据是成像模组的姿态信息(如欧拉角、角速度等姿态信息)。
83.比如说,测量传感器能够周期性的测量成像模组的运动数据,并将成像模组的运动数据发送给姿态解算模块,由姿态解算模块基于该运动数据确定成像模组对应的姿态信息,可以将该姿态信息记为当前姿态值(用于表示当前周期的姿态值,本文的“当前”均表示采集数据的当前周期),该当前姿态值可以包括当前俯仰角、当前横滚角、当前偏航角。以及,该当前姿态值还可以包括当前俯仰角的角速度值、当前横滚角的角速度值、当前偏航角的角速度值。
84.示例性的,姿态解算模块可以包括姿态滤波处理子模块和防碰撞子模块。
85.姿态滤波处理子模块:用于构建滤波模型,通过反复迭代的滤波算法确定成像模组的姿态信息,该滤波算法可以包括但不限于卡尔曼滤波算法等,对此不做限制。在此基础上,基于成像模组的运动数据,可以基于卡尔曼滤波算法对该运动数据进行滤波处理,得到成像模组对应的当前姿态值。
86.当然,上述只是确定当前姿态值的示例,对此确定方式不做限制,只要基于成像模组的运动数据,可以得到成像模组对应的当前姿态值即可。
87.防碰撞子模块:在终端设备的使用过程中,可能存在剧烈碰撞,导致测量传感器输出的运动数据不连续,从而影响姿态解算的正确性,导致成像模组一直处在错误姿态,即姿态滤波处理子模块确定的当前姿态值错误。为了解决上述问题,使得姿态滤波处理子模块确定出正确的当前姿态值,可以引入防碰撞子模块。防碰撞子模块用于对成像模组的运动数据进行修正,在基于修正后的运动数据确定成像模组对应的当前姿态值时,可以得到正确的当前姿态值。
88.示例性的,成像模组处在错误姿态,即当前姿态值错误,其原因在于:成像模组的姿态角(如俯仰角、横滚角和偏航角等)是具有限定范围的,即姿态角需要处于该限定范围内,也就是说,需要对电机的三个轴进行转动限位,即不能整周(360度)旋转,从而有利于姿态角的解算且能够适应场景需求。
89.以某个方向(如横滚角方向、俯仰角方向、偏航角方向等)的姿态角为例,参见图4a所示,防抖云台的工作区域分为防抖工作角度区域、限位角度区域和边界角度区域。限位角度是指防抖云台能够转动的最大角度,由机械结构控制,只能在限位角度内自由转动。防抖工作角度是指算法控制的角度,防抖云台在该范围内能够进行防抖工作。边界角度是指限位角度的边缘与防抖工作角度的边缘之间的角度,边界角度是为了防止防抖云台碰到限位
角度的边缘所预留的缓冲。当边界角度较小时(由于尺寸限制,导致边界角度较小,如5度等),由于外力突变导致防抖云台碰撞到机械限位(图4a所示的虚线)时,会导致姿态角失真,当恢复到防抖工作角度范围内时,由于姿态角失真会导致防抖失效。
90.比如说,针对运动状态突变情况,如跑动、剧烈晃动或者跌落等,会导致防抖云台发生碰撞(即防抖云台转动到限位或者突然跌落等发生撞击的运动现象),使得防抖云台碰撞到机械限位,产生碰撞失效现象(即防抖云台发生碰撞后,姿态角出现错误导致防抖失效的现象),也就是说,测量传感器采集的角速度值不连续,出现较大的跳跃值,而基于不连续的角速度值确定姿态角时,姿态角可能会出现错误,即得到错误的姿态角。例如,由于防抖云台存在机械限位,在防抖云台使用过程中难免会发生碰撞限位现象,而碰撞本身是一个瞬间性物理现象,这会造成测量传感器采集的角速度值发生较大跳跃,而姿态角是基于角速度值积分得到,角速度值发生较大跳跃时就会造成姿态角解算发生严重错误。参见图4b所示,是碰撞过程中测量传感器采集的角速度值,x轴为采集频率,采集频率是500hz,y轴为角速度值,单位是rad/s。从图4b可以看出,在发生碰撞现象时,角速度值的连续性严重降低,角速度值的最大间隔达到8rad/s,而一般角速度值的间隔为0.01rad/s,这种存在巨大跳跃的角速度值将会导致姿态角的积分发生严重错误,即得到的是错误的姿态角。
91.综上所述,姿态滤波处理子模块确定的当前姿态值可能会出现错误,为此,可以引入防碰撞子模块,防碰撞子模块可以采用如下操作对成像模组的运动数据进行修正,从而基于修正后的运动数据得到正确的当前姿态值(即姿态角)。
92.碰撞判断操作:防碰撞子模块根据角速度值、加速度值的变化率来判断是否发生碰撞,如超过阈值的判断为发生碰撞,进入碰撞恢复操作。
93.碰撞恢复操作:当判断当前值为碰撞突变值时,防碰撞子模块采取不将当前值(即当前周期的角速度值、加速度值等)加入积分、滤波等操作。以及,还可以加快姿态滤波处理子模块的更新速度,以使得姿态解算尽快恢复正确。
94.比如说,测量传感器可以周期性的采集成像模组的运动数据,且防碰撞子模块可以得到每个周期的运动数据(如角速度值、加速度值等),如周期1的运动数据、周期2的运动数据、周期3的运动数据,以此类推。
95.在得到周期2的运动数据后,可以将周期2作为目标周期,将周期1作为目标周期的上一个周期,比较周期2的角速度值与周期1的角速度值之间的变化率1,比较周期2的加速度值与周期1的加速度值之间的变化率2。若变化率1大于第一预设阈值,和/或,变化率2大于第二预设阈值,第二预设阈值与第一预设阈值相同或者不同,则表示发生碰撞。在发生碰撞时,丢弃周期2的运动数据,不将当前值加入积分、滤波等操作,从而对异常的运动数据进行修正,避免采用异常的运动数据确定当前姿态值。若变化率1不大于第一预设阈值,且变化率2不大于第二预设阈值,则表示未发生碰撞。在未发生碰撞时,可以基于周期2的运动数据确定成像模组11在周期2的当前姿态值,如俯仰角、横滚角和偏航角等,对此确定方式不做限制,如采用卡尔曼滤波算法等。
96.第二,控制解算模块(位于控制芯片):用于采用动态索引模糊pid控制方式确定控制电压,输入数据是成像模组的当前姿态值,输出数据是控制电压。
97.1、控制模式。根据实际应用的需要,可以将防抖云台对应的工作模式划分为水平模式和跟随模式,由用户选择使用水平模式还是跟随模式。当然,除了为水平模式和跟随模
式,还可以有其它类型的工作模式,对此不做限制。
98.水平模式表示目标角度不跟随防抖云台的运动而变化,即使用固定的预期角度(一般为零度),通过pid控制俯仰角处于水平姿态。比如说,水平模式表示俯仰角是预期角度,且俯仰角不跟随防抖云台的运动而变化。
99.跟随模式(也可以称为俯仰跟随模式)表示目标角度跟随防抖云台的运动而变化,即在俯仰轴方向,镜头的预期角度始终垂直于设备本体,拍摄的图像随佩戴者变化而变化,变化速率可选择快速跟随和平滑跟随两种,通过调整pid参数来实现两种不同速率。显然,在跟随模式下,俯仰角跟随防抖云台的运动而变化。比如说,俯仰角由电机的霍尔传感器计算得到,称为机械角度,pid控制电机保持俯仰角的机械角度在零度(即与设备本体垂直),即机械零位角度。
100.本技术实施例中,可以确定成像模组对应的目标姿态值,比如说,可以基于防抖云台对应的工作模式确定成像模组对应的目标姿态值,该目标姿态值可以包括目标俯仰角、目标横滚角和目标偏航角中的至少一个。
101.比如说,若该工作模式为水平模式,则该目标俯仰角可以为预期水平角度,该预期水平角度可以根据经验配置,如水平零度等,该目标横滚角可以为预期水平角度,如水平零度等,该目标偏航角可以为预期机械角度。
102.又例如,若该工作模式为跟随模式,则该目标俯仰角可以为预期机械角度,该目标横滚角可以为预期水平角度,该目标偏航角可以为预期机械角度。
103.在上述实施例中,关于预期机械角度,也可以根据经验配置,是跟随防抖云台的运动而变化的角度值,如可以将预期机械角度配置为机械零位角度,机械零位角度能够使俯仰角的机械角度在零度,即俯仰角与设备本体垂直。
104.示例性的,若预期机械角度为机械零位角度,则可以将正向限位位置对应的角度与反向限位位置对应的角度的中心角度,确定为该机械零位角度。
105.比如说,针对目标俯仰角为机械零位角度,可以包括:电机的俯仰轴需要在一定的限位范围内活动,俯仰轴的限位中心点就是俯仰轴的机械零位角度。在防抖云台上电启动后,可以进行一次寻找俯仰轴的机械零位角度的操作,即给电机的俯仰轴上一个正向力矩,电机转子转动到俯仰轴的正向限位位置,记录此时的转子角度thetaa。然后,给电机的俯仰轴上一个反向力矩,电机转子转动到俯仰轴的反向限位位置,记录此时的转子角度thetab。转子角度thetaa和转子角度thetab的中心点(即两个转子角度的差值除以二)对应转子角度theta0,而转子角度theta0就是俯仰轴的机械零位角度。在此基础上,在之后每次的俯仰轴的机械角度计算时,获取当前转子角度thetacur,减去theta0,即可得到当前时刻的俯仰轴的机械角度,对此后续处理过程不做限制。
106.针对目标偏航角为机械零位角度,可以包括:电机的偏航轴需要在一定的限位范围内活动,偏航轴的限位中心点就是偏航轴的机械零位角度。关于偏航轴的机械零位角度的获取方式,参见俯仰轴的机械零位角度,在此不再赘述。
107.2、动态索引模糊pid控制。考虑到电机性能差异(如电机从静止到运动所需要的启动电压,由于受生产工艺环节影响,可能存在较大差异),本实施例可以采用动态索引模糊pid控制算法,减少参数调整的个数和难度,对电机个体差异有更大的可靠性。动态索引模糊pid控制的输入数据是成像模组对应的当前姿态值和成像模组对应的目标姿态值,输出
数据是控制电压。参见图5所示,动态索引模糊pid控制可以包括量化、模糊化、模糊推理、解模糊和pid参数修正等操作。比如说,可以采用如下步骤实现动态索引模糊pid控制:
108.步骤s11、基于目标周期的当前姿态值与目标姿态值的偏差值(即该当前姿态值与该目标姿态值之间的差值)确定目标周期的误差值e,并基于目标周期的误差值e和目标周期的上一个周期的误差值确定目标周期的误差变化率δe。比如说,可以采用如下公式确定误差变化率δe:δe=e(k)

e(k

1)。
109.比如说,在得到周期2的当前姿态值后,将周期2作为目标周期,将周期1作为目标周期的上一个周期,基于周期2的当前姿态值与目标姿态值的偏差值确定周期2的误差值e,基于周期2的误差值e与周期1的误差值确定周期2的误差变化率δe,如基于周期2的误差值e与周期1的误差值的差值确定δe。
110.在得到周期3的当前姿态值后,基于周期3的当前姿态值与目标姿态值的偏差值确定周期3的误差值e,基于周期3的误差值e与周期2的误差值确定周期3的误差变化率δe,以此类推,可以得到每个周期的误差值e和误差变化率δe。
111.步骤s12、量化操作:对目标周期的误差值e和误差变化率δe进行量化,得到误差值e对应的误差量化值和误差变化率δe对应的误差变化率量化值。
112.比如说,可以通过量化规则(根据经验配置),将目标周期的误差值e转化为一定的数字级别,对此转换过程不做限制。该数字级别可以位于相对于0对称的数字区间,如该数字级别可以位于数字区间(

3,

2,

1,0,1,2,3),该数字级别就是误差值e对应的误差量化值,如数字区间内的取值。
113.又例如,可以通过量化规则将目标周期的误差变化率δe转化为一定的数字级别,该数字级别可以位于相对于0对称的数字区间,如(

3,

2,

1,0,1,2,3),该数字级别就是误差变化率δe对应的误差变化率量化值。
114.步骤s13、模糊化操作:对误差量化值和误差变化率量化值进行模糊处理,得到误差值e所属的第一模糊子集和误差变化率δe所属的第二模糊子集、以及误差值e对应的第一隶属度和误差变化率δe对应的第二隶属度。
115.比如说,数字区间(

3,

2,

1,0,1,2,3)可以与集合(nb,nm,ns,zo,ps,pm,pb)对应,在得到误差量化值后,通过查询该对应关系,就可以得到误差值e所属的第一模糊子集,如集合(nb,nm,ns,zo,ps,pm,pb)内的取值,如误差量化值
“‑
2.5”落在了nb和nm之间,对应第一模糊子集“nb,nm”。同理,在得到误差变化率量化值后,通过查询该对应关系,就可以得到误差变化率δe所属的第二模糊子集,如误差变化率量化值
“‑
1.4”落在了nm和ns之间,对应第二模糊子集“nm,ns”。
116.示例性的,可以采用隶属度函数计算出误差值e对应的第一隶属度并采用隶属度函数计算出误差变化率δe对应的第二隶属度,对此隶属度的计算过程不做限制。此外,关于该隶属度函数,可以包括但不限于三角形隶属度函数、梯形隶属度函数、高斯隶属度函数等,对此隶属度函数不做限制。例如使用三角形隶属度函数,假设e属于nb的隶属度为a(a<1),则属于nm的隶属度为1

a;假设δe属于nm的隶属度为b(b<1),则属于ns的隶属度为1

b。
117.步骤s14、模糊推理操作:基于误差值e所属的第一模糊子集和误差变化率δe所属的第二模糊子集确定解模糊参数值,即解模糊操作使用的参数值。
118.比如说,预先建立模糊规则库(也可以称为模糊规则表),对此模糊规则库不做限
制,可以根据技术知识和实际操作经验建立。参见表1所示,为模糊规则库的示例。步骤s14中,可以通过误差值e所属的第一模糊子集和误差变化率δe所属的第二模糊子集查询模糊规则库,得到解模糊参数值。比如说,若第一模糊子集为“nb,nm”,第二模糊子集为“nm,ns”,则解模糊参数值为“pb,pb,pm,pm”(按二维表格中从左往右,从上往下顺序排列)。
119.表1
[0120][0121]
步骤s15、解模糊操作:基于解模糊参数值、第一隶属度和第二隶属度进行解模糊处理,得到参数修正值。比如说,通过模糊推理得到一系列的模糊表达,需要解模糊操作得到精确数据,如可以采用加权平均法等解模糊方法,当然,加权平均法只是解模糊方法的示例,对此不做限制,后续以加权平均法为例。
[0122]
参见如下公式,为加权平均法的一个示例:
[0123]
在上述公式中,f
ij
=μ
1i
(e)
·
μ
2j
(δe),μ
1i
(e)表示误差值e对应的第一隶属度的第i个值,如第一隶属度为(a,1

a),则i为0时,μ
10
(e)=a;μ
2j
(δe)表示误差变化率δe对应的第二隶属度的第j个值,则j为0时,μ
20
(δe)=b;如v
ij
是模糊规则库中的数值,即根据第一模糊子集和第二模糊子集查找模糊规则表得到的解模糊参数值,如“pb,pb,pm,pm”;δk是参数修正值。
[0124]
i表示误差值e对应的第一隶属度的第i个值,j表示误差变化率δe对应的第二隶属度的第j个值,比如说,假设预先配置m*n个模糊规则库(每个模糊规则库参见表1所示),则i的取值范围为[1,m],j的取值范围为[1,n]。基于每个模糊规则库可以得到解模糊参数值,基于该解模糊参数值,可以基于上述公式得到参数修正值。
[0125]
步骤s16、pid参数修正操作:基于参数修正值对初始控制参数进行修正,得到目标控制参数,即为初始控制参数添加参数修正值,得到目标控制参数。
[0126]
比如说,初始控制参数可以包括初始比例系数k
p
,初始积分系数k
i
和初始微分系数k
d
,在步骤s14和步骤s15中,可以预先配置比例系数的模糊规则库,基于比例系数的模糊规则库得到比例系数的参数修正值δk
p
,预先配置积分系数的模糊规则库,基于积分系数的模糊规则库得到积分系数的参数修正值δk
i
,预先配置微分系数的模糊规则库,基于微分系数的模糊规则库得到微分系数的参数修正值δk
d
。在实际应用中,比例系数的模糊规则库与积分系数的模糊规则库可以相同或不同;比例系数的模糊规则库与微分系数的模糊规
则库可以相同或不同;积分系数的模糊规则库与微分系数的模糊规则库可以相同或不同。
[0127]
比如说,基于初始比例系数k
p
和比例系数的参数修正值δk
p
,可以得到目标比例系数k
p’,k
p’=k
p
δk
p
,基于初始积分系数k
i
和积分系数的参数修正值δk
i
,可以得到目标积分系数k
i’,k
i’=k
i
δk
i
,基于初始微分系数k
d
和微分系数的参数修正值δk
d
,可以得到目标微分系数k
d’,k
d’=k
d
δk
d

[0128]
在一种可能的实施方式中,在初始化阶段,通过pid动态索引表得到电机的三个初始参数k(0):k
p0
,k
i0
,k
d0
,在迭代过程开始后,基于参数修正值(如参数修正值δk
p
,参数修正值δk
i
,参数修正值δk
d
),参数修正值与系数α相乘后,用来修正前一次迭代得到的pid三个参数k(n

1):k
pn
‑1,k
in
‑1,k
dn
‑1,前一次迭代得到的pid三个参数就是初始比例系数k
p
,初始积分系数k
i
和初始微分系数k
d
。修正公式如下:k(n)=k(n

1) δk*α。显然,将初始比例系数k
p
和参数修正值δk
p
代入该公式,就可以得到目标比例系数k
p’,初始比例系数k
p
表示上一个周期的比例系数,目标比例系数k
p’表示当前周期的比例系数。同理,也可以得到目标积分系数k
i’和目标微分系数k
d’。
[0129]
步骤s17、基于当前姿态值与目标姿态值的偏差值(即该当前姿态值与该目标姿态值之间的差值,即误差值e)和目标控制参数确定控制电压。
[0130]
比如说,基于误差值e、目标比例系数(后续记为k
p
)、目标积分系数(后续记为k
i
)和目标微分系数(后续记为k
d
),可以采用如下公式得到控制电压。
[0131][0132]
u(k)表示控制电压,k
p
表示目标比例系数,k
i
表示目标积分系数,t表示采样周期,k表示采样序号,k
d
表示目标微分系数,e(k

1)是第(k

1)时刻所得的偏差信号,即第(k

1)时刻的当前姿态值与目标姿态值之间的差值,e(k)是第k时刻所得的偏差信号,即第k时刻的当前姿态值与目标姿态值之间的差值。
[0133]
示例性的,模糊pid控制,是找到pid三个参数(比例系数k
p
、积分系数k
i
和微分系数k
d
)与误差值e、误差变化率δe之间的模糊关系,根据模糊规则对三个参数进行自适应调整。理想控制效果的pid参数初始值,动态索引模糊pid控制,是在模糊pid控制的基础上,加上动态索引功能,根据当前电机的性能统计,索引得到一个较为理想的pid初始值。在实际开发过程中,发现电机间由于生产工艺的原因存在一定差异,特别是启动电压(是指电压从零开始逐步变大(或变小),使得电机从静止到转动时的临界电压)变化较大,本实施例中,针对不同的启动电压,建立初始pid参数(初始比例系数k
p
、初始积分系数k
i
和初始微分系数k
d
)索引表:取变化范围较大的电机,通过调试得到最佳初始pid参数(初始比例系数k
p
、初始积分系数k
i
和初始微分系数k
d
),形成一个索引表。实际使用时,可以获取个体电机的启动电压,然后根据启动电压值先查表、再插值的方法,得到每个电机实际的初始pid参数,也就是,上述确定动态索引表得到初始控制参数,通过模糊控制得到参数修正值,基于参数修正值对初始控制参数进行修正,得到目标控制参数的过程。关于个体电机的启动电压,可以在出厂阶段进行测试然后储存,也可以在每次开机时进行测试然后储存,对此不做限制。
[0134]
在一种可能的实施方式中,动态索引模糊pid控制的示意图,可以参见图6a所示,将当前俯仰角作为当前姿态值,将目标俯仰角作为目标姿态值,输入给角度环pid控制器,
采用步骤s11

步骤s17得到控制电压,该控制电压为俯仰方向的控制电压。此外,将当前横滚角作为当前姿态值,将目标横滚角作为目标姿态值,输入给角度环pid控制器,采用步骤s11

步骤s17得到控制电压,该控制电压为横滚方向的控制电压。此外,将当前偏航角作为当前姿态值,将目标偏航角作为目标姿态值,输入给角度环pid控制器,采用步骤s11

步骤s17得到控制电压,该控制电压为偏航方向的控制电压。综上所述,可以得到俯仰方向的控制电压、横滚方向的控制电压和偏航方向的控制电压。
[0135]
在另一种可能的实施方式中,动态索引模糊pid控制的示意图,可以参见图6b所示,将当前俯仰角作为当前姿态值,将目标俯仰角作为目标姿态值,输入给角度环pid控制器,由角度环pid控制器采用步骤s11

步骤s17得到俯仰角的目标角速度值,即,步骤s17中公式输出的u(k)表示俯仰角的目标角速度值,而不是控制电压。然后,将俯仰角的当前角速度值(即姿态解算模块输出的俯仰角的角速度值)作为当前姿态值,将俯仰角的目标角速度值作为目标姿态值,输入给角速度环pid控制器,由角速度环pid控制器采用步骤s11

步骤s17得到俯仰角的控制电压,该控制电压为俯仰方向的控制电压。
[0136]
此外,将当前横滚角作为当前姿态值,将目标横滚角作为目标姿态值,输入给角度环pid控制器,采用步骤s11

步骤s17得到横滚角的目标角速度值。将横滚角的当前角速度值作为当前姿态值,将横滚角的目标角速度值作为目标姿态值,输入给角速度环pid控制器,采用步骤s11

步骤s17得到横滚角的控制电压,该控制电压为横滚方向的控制电压。将当前偏航角作为当前姿态值,将目标偏航角作为目标姿态值,输入给角度环pid控制器,采用步骤s11

步骤s17得到偏航角的目标角速度值。将偏航角的当前角速度值作为当前姿态值,将偏航角的目标角速度值作为目标姿态值,输入给角速度环pid控制器,采用步骤s11

步骤s17得到偏航角的控制电压,该控制电压为偏航方向的控制电压。
[0137]
同样的,在图6b中,也可以得到俯仰方向的控制电压、横滚方向的控制电压和偏航方向的控制电压。在图6b中,采用内外两环串联调节,这增强了系统的抗干扰性,即增强稳定性,由于是两个pid控制器进行控制,能够比单个pid控制器控制更多的变量,使得pid控制器的适应能力更强。
[0138]
3、防堵转模块。当出现意外情况时,例如,防抖云台的姿态超过可调节范围、姿态解算出错等意外情况,为了防止电机一直处于上力状态,则本实施例中引入防堵转模块,该防堵转模块能够执行堵转判断操作和堵转恢复操作,基于堵转判断操作和堵转恢复操作避免电机一直处于上力状态。
[0139]
堵转判断操作:用于判断电机是否长时间施加较大的控制电压t。如果长时间施加较大的控制电压t,则输出堵转状态,否则,输出非堵转状态。
[0140]
堵转恢复操作:若当前为堵转状态,则进行恢复,将控制电压变为0,将堵转状态清零,电机控制程序重新开始控制,并在显示屏端提示用户电机自动恢复。若连续n次(n可以任意配置,如3等)堵转恢复不成功,则将控制电压变为0,堵转状态不清零,电机控制程序停止,并提示用户选择重启设备。
[0141]
比如说,在每个周期均可以得到控制电压,每次得到控制电压后,确定该控制电压是否大于电压阈值(可以根据经验配置)。若是,则表示当前周期施加较大的控制电压t,可以累积电机的异常控制时长(即将当前的异常控制时长加上1个周期的时长,得到更新后的异常控制时长)。若否,则将电机的异常控制时长更新为0,即重传开始对电机的异常控制时
长进行计时。
[0142]
在累积电机的异常控制时长之后,还可以确定更新后的异常控制时长是否大于时长阈值(根据经验配置)。如果否,则表示施加较大的控制电压t的时长较短,不需要执行堵转恢复操作,可以基于该控制电压进行后续处理。如果是,则表示施加较大的控制电压t的时长较长,需要执行堵转恢复操作。
[0143]
在执行堵转恢复操作时,需要将控制电压调整为0,即不再基于该控制电压进行后续处理,而是将控制电压调整为0,基于调整后的控制电压0进行后续处理,从而使用控制电压0控制电机14重新运行,即电机控制程序重新开始控制。
[0144]
示例性的,防堵转模块的堵转判断操作的流程,可以参见图7所示。
[0145]
步骤701、将力矩累加清0,并将时间累加清0,并将堵转次数清0。
[0146]
比如说,torque_sum=0,time_cnt=0,stuck_cnt=0。
[0147]
步骤702、将当前力矩累加到总力矩变量,并进行时间累加。
[0148]
比如说,torque_sum =torque_cur,time_cnt 。
[0149]
步骤703、判断时间累加是否超过时长阈值。
[0150]
如果是,则执行步骤704,如果否,则执行步骤702。
[0151]
步骤704、判断总力矩是否超过力矩阈值。
[0152]
如果是,则执行步骤705,如果否,则执行步骤706。
[0153]
步骤705、堵转次数加1,比如说,stuck_cnt ,之后执行步骤707。
[0154]
步骤706、堵转次数清0,比如说,stuck_cnt=0,之后执行步骤707。
[0155]
步骤707、力矩累加清0,时间累加清0,如torque_sum=0,time_cnt=0。
[0156]
步骤708、判断堵转次数是否超过次数阈值。
[0157]
如果是,则执行步骤709,如果否,则执行步骤702。
[0158]
步骤709、输出堵转状态。
[0159]
第三,电机控制模块(位于控制芯片):用于基于控制电压确定电机控制参数,并将电机控制参数输出给电机,从而对电机进行控制。输入数据是控制电压,输出数据是电机控制参数,如三相pwm波,电机是使用带霍尔传感器的永磁同步电机,通过向电机输出三相pwm波,能够控制电机按一定速度和方向转动。
[0160]
1、霍尔校准模块(位于霍尔传感器)。在基于控制电压生成电机控制参数(后续以三相pwm波为例)时,需要基于控制电压和电机的目标转子角度生成三相pwm波,而目标转子角度是电机上部署的霍尔传感器获取的。比如说,霍尔传感器能够采集电机的当前转子角度,而当前转子角度可能存在较大误差,需要对当前转子角度进行校正,因此,可以在霍尔传感器部署霍尔校准模块,霍尔校准模块可以维护校准参数,并基于校准参数对当前转子角度进行校正,得到校正后的目标转子角度,由霍尔传感器将校正后的目标转子角度发送给电机控制模块。
[0161]
示例性的,本实施例的电机可以为永磁同步电机,永磁同步电机可以使用两个霍尔传感器获取转子角度(即转子位置),并使用软件实现电机控制,提高控制精度、灵活性和可靠性,具有体积小、价格低等优势。转子角度的获取是永磁同步电机控制的关键步骤,利用转子角度,可以通过一系列坐标变换,将永磁同步电机定子上的三相交流电流等价为同步转速旋转的两相正交的直流电流,实现解耦,简化了控制。综上所述,准确的转子角度是
获取较大的控制力矩,提高电机能效的关键,为了得到准确的转子角度,本实施例引入霍尔校准模块,通过霍尔校准模块提高霍尔传感器计算转子角度的精度。
[0162]
本实施例中,霍尔校准模块负责两方面的校准:对两个霍尔传感器获取的正弦信号进行校准,使两者零基准点、幅值等一致。对霍尔传感器的偏置角度进行校准。在正式运行前的测试过程,霍尔校正模块可以获取校准参数,并存储校准参数,在正式运行过程中,霍尔校正模块基于该校准参数实现校准。
[0163]
示例性的,该校准参数可以包括但不限于:霍尔传感器的采样偏置、霍尔传感器的幅值比和霍尔传感器的安装偏置角度。比如说,可以将两个霍尔传感器记为霍尔传感器a和霍尔传感器b,霍尔校准模块可以获取霍尔传感器a的硬件adc(analog to digital converter,模拟信号转换数字信号)采样偏置,记为采样偏置1,并获取霍尔传感器b的硬件adc采样偏置,记为采样偏置2。霍尔校准模块还可以获取霍尔传感器a的幅值与霍尔传感器b的幅值之间的比例,记为幅值比。霍尔校准模块还可以获取霍尔传感器a与电机的安装偏角(或者,霍尔传感器b与电机的安装偏角),记为安装偏置角度。
[0164]
关于采样偏置1和采样偏置2,永磁同步电机可以转动一段时间(如匀速转动),霍尔传感器a采集这段时间的正弦波1,霍尔传感器b采集这段时间的正弦波2。在此基础上,霍尔校准模块基于正弦波1确定采样偏置1,如将正弦波1对应的所有采样点的平均值作为采样偏置1,霍尔校准模块基于正弦波2确定采样偏置2,如将正弦波2对应的所有采样点的平均值作为采样偏置2。
[0165]
关于幅值比,霍尔校准模块基于正弦波1确定霍尔传感器a的幅值,如正弦波1的最大值与正弦波1的最小值的差值(即波峰和波谷的幅度),霍尔校准模块基于正弦波2确定霍尔传感器b的幅值。然后,可以基于霍尔传感器a的幅值和霍尔传感器b的幅值确定该幅值比,如基于二者的比值确定该幅值比。
[0166]
关于安装偏置角度,可以是霍尔传感器a与电机的安装角度。
[0167]
综上所述,霍尔校准模块可以存储采样偏置1、采样偏置2、幅值比和安装偏置角度等校准参数,在正式运行过程中,霍尔校正模块可以基于校准参数实现校准。比如说,在正式运行过程中,针对霍尔传感器a采集的采样点值x,使用采样偏置1对转子角度x进行校准,得到校准后的转子角度x’,如采样点值x减去采样偏置1,得到采样点值x’,针对霍尔传感器b采集的采样点值y,使用采样偏置2对采样点值y进行校准,得到校准后的采样点值y’,如采样点值y减去采样偏置2,得到采样点值y’。然后,基于幅值比对采样点值x’或者采样点值y’进行校准,以对采样点值y’进行校准为例,可以得到校准后的采样点值y”,如采样点值y’与幅值比的乘积。基于霍尔传感器a采样点值x’和霍尔传感器b采样点值y”,以及安装偏置角度,可以得到永磁同步电机的校正后的目标转子角度。当然,上述只是对当前转子角度进行校准的示例,对此不做限制,只要能够基于校准参数对当前转子角度进行校准,得到校正后的目标转子角度即可。
[0168]
示例性的,关于转子角度的解算过程,可以使用两个相隔120度或90度的霍尔传感器(即霍尔传感器a和霍尔传感器b之间的角度为120度或90度)来计算转子角度。基于校正后的两个线性霍尔传感器的值(即霍尔传感器a采样点值x’和霍尔传感器b采样点值y”),可以解算出永磁同步电机当前的转子角度和转速等信息。
[0169]
在理想情况下,通过两个霍尔传感器(霍尔传感器a和霍尔传感器b)采集到的信号
与转子磁链成正比,且假设磁链呈正弦分布,则有如下公式成立:
[0170][0171]
在上述公式中,sign
a
和sign
b
是霍尔传感器a和霍尔传感器b采集到的有效信号值(已经使用霍尔校准模块得到的校准参数去除偏置,即霍尔传感器a采样点值x’和霍尔传感器b采样点值y”),θ
h
是电机的转子相对于霍尔传感器a的角度,在0~360之间变化,θ
ab
是霍尔传感器a和霍尔传感器b之间的角度分布,是90或者120度。
[0172]
当θ
ab
=90度时,则上述公式的改写方程可以参见如下公式:
[0173][0174]
基于上述公式,可以得到如下所示的相对角度的计算方程,并通过两个霍尔传感器的信号正负值所定位的角度区间,获得准确的原始角度计算数据:
[0175][0176]
当θ
ab
=120度时,使用θ
s
=θ
h

60,上述公式的改写方程参见如下公式:
[0177][0178]
通过三角函数变换,可以构造新的正余弦信息,参见如下公式:
[0179][0180]
最终可以得到反正切角度,该反正切角度可以参见如下公式所示:
[0181][0182]
综上可以看出,无论是θ
ab
=90度,还是θ
ab
=120度,均可以得到θ
h
,θ
h
是电机的转子相对于霍尔传感器a的角度,然后,使用霍尔传感器的安装偏置角度θ
ofs
进行修正,就可以得到电机转子的真实解算角度:θ
e
=θ
h
θ
ofs

[0183]
在上述公式中,θ
ofs
就是校准参数中的安装偏置角度,θ
h
是采用上述公式计算出的转子相对于霍尔传感器a的角度,θ
e
就是校正后的目标转子角度。
[0184]
综上所述,霍尔传感器可以得到校正后的目标转子角度,并将该校正后的目标转子角度发送给电机控制模块。这样,电机控制模块可以基于控制电压和电机的目标转子角度生成三相pwm波,并将三相pwm波发送给电机,从而对电机进行控制。
[0185]
2、电机控制模块。在得到电机的控制电压和电机的目标转子角度后,电机控制模块可以基于该控制电压和该目标转子角度生成三相pwm波(该三相pwm波作为控制信号),比如说,通过七段式svpwm(space vector pulse width modulation,空间矢量脉宽调制)等算法生成三相pwm波,当然,七段式svpwm算法只是一个示例,对此不做限制,只要能够生成三相pwm波即可。
[0186]
比如说,电机控制模块可以采用七段式svpwm算法,七段式svpwm算法的输入数据是控制电压和目标子角度,输出数据是三相pwm波。
[0187]
电机控制模块在得到三相pwm波后,可以将三相pwm波输出给电机,从而驱动电机(如永磁同步电机)高效运转。电机在接收到三相pwm波后,可以利用三相pwm波确定成像模组的控制力矩,对此不做限制。在得到成像模组的控制力矩之后,就可以基于该控制力矩对成像模组(即防抖云台)进行转动,以使成像模组在转动后位置采集目标场景(即需要实现图像采集的任一场景)的图像,以消除图像中的画面抖动,即采集的图像中不存在画面抖动。
[0188]
在上述实施例中,若控制电压为俯仰方向的控制电压,则电机控制参数为俯仰方向的电机控制参数,即三相pwm波是俯仰方向的三相pwm波,该三相pwm波用于控制电机在俯仰方向上对成像模组进行转动。或者,若控制电压为横滚方向的控制电压,则电机控制参数为横滚方向的电机控制参数,即三相pwm波是横滚方向的三相pwm波,该三相pwm波用于控制电机在横滚方向上对成像模组进行转动。或者,若控制电压为偏航方向的控制电压,则电机控制参数为偏航方向的电机控制参数,即三相pwm波是偏航方向的三相pwm波,该三相pwm波用于控制电机在偏航方向上对成像模组进行转动。
[0189]
在一种可能的实施方式中,三相pwm波可以包括三个方向的波形,如俯仰方向的波形、横滚方向的波形、偏航方向的波形。将该三个方向上的三相pwm波发送给电机,以使电机基于俯仰方向的波形在俯仰方向上对成像模组进行转动,以使电机基于横滚方向的波形在横滚方向上对成像模组进行转动,以使电机基于偏航方向的波形在偏航方向上对成像模组进行转动。
[0190]
需要注意的是,在上述实施例中,电机的数量可以为三个,分别记为俯仰电机、横滚电机和偏航电机,在基于俯仰方向的波形在俯仰方向上对成像模组进行转动时,是由俯仰电机对成像模组进行转动;在基于横滚方向的波形在横滚方向上对成像模组进行转动时,是由横滚电机对成像模组进行转动;在基于偏航方向的波形在偏航方向上对成像模组进行转动时,是由偏航电机对成像模组进行转动。当然,电机的数量也可以小于3个,如只包括俯仰电机、横滚电机和偏航电机的部分,假设只包括俯仰电机和横滚电机,那么,只能在俯仰方向上对成像模组进行转动,并在横滚方向上对成像模组进行转动。
[0191]
由以上技术方案可见,本技术实施例中,使用带有两个霍尔传感器的永磁同步电机,体积小、价格低,满足终端设备的要求。为了提高霍尔传感器计算转子角度的精度,引入霍尔校准模块对霍尔信号进行校正,提高转子角度的精度,得到较大的控制力矩,提高能效。可以提供两种控制模式,水平模式和跟随模式,用户可通过控制界面进行选择,增强对各种使用场景的适用性,水平模式的目标角度为水平0度,跟随模式的俯仰轴角度跟随用户视角变化。考虑到电机性能差异,采用动态索引模糊pid控制算法,减少参数调整的个数和难度,对电机个体差异有更大的鲁棒性。在pid控制的基础上,增加防堵转模块,防止在意外情况下,电机因一直受力而过热甚至损坏,避免由于控制错误导致电机长期受力损毁。采用不同于互补滤波的新滤波算法,额外引入边界碰撞导致测量传感器失效问题的解决方案,称为防碰撞模块,进一步保证防抖效果的可靠性。通过引入防碰撞模块,避免碰撞后防抖云台长时间处于不正确姿态。
[0192]
基于与上述方法同样的申请构思,本技术实施例中提出一种终端设备的控制装
置,所述终端设备包括设备本体及设置在所述设备本体上的防抖云台,所述防抖云台包括成像模组、测量传感器、控制芯片和电机;所述成像模组采集目标场景的图像,所述测量传感器采集所述成像模组的运动数据,参见图8所示,为所述装置的结构示意图,所述装置应用于所述控制芯片,所述装置包括:
[0193]
确定模块81,用于基于所述运动数据确定所述成像模组对应的当前姿态值;以及,确定所述成像模组对应的目标姿态值;修正模块82,用于基于所述当前姿态值和所述目标姿态值的偏差值确定参数修正值,并基于所述参数修正值对初始控制参数进行修正,得到目标控制参数;所述确定模块81,还用于基于所述偏差值和所述目标控制参数确定控制电压;生成模块83,用于基于所述控制电压生成电机控制参数;发送模块84,用于将所述电机控制参数传输给所述电机,以使所述电机利用所述电机控制参数对所述成像模组进行转动,以使所述成像模组在转动后位置采集目标场景的图像,以消除图像中的画面抖动。
[0194]
示例性的,所述测量传感器用于周期性采集所述成像模组的运动数据;所述确定模块81基于所述运动数据确定所述成像模组对应的当前姿态值时具体用于:基于所述测量传感器在每个周期采集的运动数据,确定目标周期的运动数据与目标周期的上一个周期的运动数据之间的变化率;若所述变化率大于预设阈值,则丢弃目标周期的运动数据;若所述变化率不大于预设阈值,则基于目标周期的运动数据确定所述成像模组在目标周期对应的当前姿态值。
[0195]
示例性的,所述目标姿态值具体包括目标俯仰角、目标横滚角和目标偏航角中的至少一个;所述确定模块81确定所述成像模组对应的目标姿态值时具体用于:确定所述防抖云台对应的工作模式,所述工作模式为水平模式或跟随模式;其中,所述水平模式表示目标角度不跟随所述防抖云台的运动而变化,所述跟随模式表示目标角度跟随所述防抖云台的运动而变化;若所述工作模式为水平模式,则确定目标俯仰角为预期水平角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度;若所述工作模式为跟随模式,则确定目标俯仰角为预期机械角度、确定目标横滚角为预期水平角度、确定目标偏航角为预期机械角度;其中,若预期机械角度为机械零位角度,则将正向限位位置对应的角度与反向限位位置对应的角度的中心角度,确定为所述机械零位角度。
[0196]
示例性的,所述修正模块82基于所述当前姿态值和所述目标姿态值的偏差值确定参数修正值时具体用于:对目标周期的误差值和误差变化率进行量化,得到误差量化值和误差变化率量化值;其中,所述误差值是基于所述当前姿态值与所述目标姿态值的偏差值确定,所述误差变化率是基于目标周期的误差值与上一个周期的误差值确定;对所述误差量化值和所述误差变化率量化值进行模糊处理,得到所述误差值所属的第一模糊子集和所述误差变化率所属的第二模糊子集、以及所述误差值对应的第一隶属度和所述误差变化率对应的第二隶属度;基于第一模糊子集和第二模糊子集确定解模糊参数值;基于所述解模糊参数值、第一隶属度和第二隶属度进行解模糊处理,得到所述参数修正值。
[0197]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0198]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0199]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0200]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0201]
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0202]
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0203]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献