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

云台控制方法、装置、云台控制设备及存储介质与流程

2022-03-02 01:49:18 来源:中国专利 TAG:


1.本技术涉及云台控制技术领域,具体而言,涉及一种云台控制方法、装置、云台控制设备及存储介质。


背景技术:

2.云台能够搭载例如相机等图像采集设备进行运行,以便于图像采集设备能够便捷的执行例如航拍、监测等任务。
3.其中,在一些实施方案中,可以通过对云台的姿态变化信息进行采集,并利用电机对该姿态变化信息进行处理,从而实现对云台的姿态进行控制。
4.然而,在对云台的姿态变化信息进行处理的过程中,由于采集的姿态变化信息噪声较大,导致云台的控制效果较差。


技术实现要素:

5.本技术的目的在于提供一种云台控制方法、装置、云台控制设备及存储介质,能够提升云台的姿态控制效果。
6.为了实现上述目的,本技术采用的技术方案如下:
7.第一方面,本技术提供一种云台控制方法,所述云台设置有增量式编码器;所述方法包括:
8.获取所述云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度;
9.获取所述云台的初始码盘计数值;其中,所述初始码盘计数值为所述云台处于所述初始位姿状态下所述增量式编码器的码盘计数值;
10.根据所述目标位姿变化角度以及所述初始码盘计数值,计算出所述云台处于所述当前位姿状态下的当前码盘计数值,以基于所述当前码盘计数值和所述初始位姿状态对所述云台进行姿态控制。
11.第二方面,本技术提供一种云台控制装置,所述云台设置有增量式编码器;所述装置包括:
12.获取模块,用于获取所述云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度;
13.所述获取模块还用于,获取所述云台的初始码盘计数值;其中,所述初始码盘计数值为所述云台处于所述初始位姿状态下所述增量式编码器的码盘计数值;
14.处理模块,用于根据所述目标位姿变化角度以及所述初始码盘计数值,计算出所述云台处于所述当前位姿状态下的当前码盘计数值,以基于所述当前码盘计数值和所述初始位姿状态对所述云台进行姿态控制。
15.第三方面,本技术提供一种云台控制设备,所述云台控制设备包括存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现上述的云台控制方法。
16.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的云台控制方法。
17.本技术提供的一种云台控制方法、装置、云台控制设备及存储介质,通过获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度,并获取云台在初始位姿状态下增量式编码器的初始码盘计数值,从而根据该目标位姿角度以及该初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,以基于该当前码盘计数值以及初始位姿状态对云台进行姿态控制;如此,能够利用比imu等设备测得的惯性姿态角精度更高的码盘计数值作为云台姿态控制的输入,以减少云台在进行姿态控制时输入的噪声,提升云台的姿态控制效果。
18.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
20.图1示出本技术提供的云台的一种示意性结构框图。
21.图2示出本技术提供的云台控制方法的一种示例性流程图。
22.图3示出相机坐标系与云台的关系示意图。
23.图4示出相机坐标系、基座坐标系以及云台的关系示意图。
24.图5示出本技术提供的云台控制装置的一种示例性结构图。
25.图中:100-云台控制设备;101-存储器;102-处理器;103-通信接口;300-云台控制装置;301-获取模块;302-处理模块。
具体实施方式
26.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术的一些实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术的组件可以以各种不同的配置来布置和设计。
27.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术选定的一些实施例。基于本技术中的一部分实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
29.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
30.在例如上述的针对云台的姿态进行控制的场景中,一些实施方式一般采用例如imu(inertial measurement unit,惯性测量单元)等惯性测量设备采集云台的姿态变化信息,比如采集云台在俯仰方向或者是横滚方向的角度变化信息等,从而根据该姿态变化信息,控制电机调整云台的姿态。
31.然而,例如imu等设备采集的姿态变化信息一般存在噪声,且不能直接测量角度变化值,使得电机在根据imu采集的姿态变化信息调整云台的姿态的过程中控制效果较差。
32.因此,基于上述实施方式的缺陷,本技术提供的一种可能的实施方式为:通过获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度,并获取云台在初始位姿状态下增量式编码器的初始码盘计数值,从而根据该目标位姿角度以及该初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,以基于该当前码盘计数值以及初始位姿状态对云台进行姿态控制;从而减少云台在进行姿态控制时输入的噪声,提升云台的姿态控制效果。
33.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
34.请参阅图1,图1示出本技术提供的云台控制设备100的一种示意性结构框图,在一些实施例中,云台控制设备100可以包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。
35.存储器101可用于存储软件程序及模块,如本技术提供的云台控制装置对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理,进而执行本技术提供的云台控制方法的步骤。该通信接口103可用于与其他节点设备进行信令或数据的通信。
36.其中,存储器101可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,eeprom)等。
37.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
38.可以理解的是,图1所示的结构仅为示意,云台控制设备100还可以包括比图1中所
示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
39.示例性地,在一些实施例中,云台可以设置有增量式编码器,该增量式编码器可以用于采集云台在姿态变化过程中的码盘计数值,并将采集的码盘计数值发送给云台控制设备100,使得云台控制设备100可以根据接收的码盘计数值,控制例如电机等设备以调整云台的姿态。
40.可以理解的是,在一些可能的实施方式,上述的云台控制设备100可以为配置为云台的控制设备,也可以是配置给无人机的控制设备,本技术对此不进行限定,或者是云台外挂的其他控制设备,本技术对此不进行限定。
41.下面以上述的云台控制设备100作为示例性执行主体,对本技术提供的云台控制方法进行示例性说明。
42.请参阅图2,图2示出本技术提供的云台控制方法的一种示例性流程图,该云台控制方法可以包括以下步骤:
43.步骤201,获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度。
44.步骤203,获取云台的初始码盘计数值。
45.步骤205,根据目标位姿变化角度以及初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,以基于当前码盘计数值和初始位姿状态对云台进行姿态控制。
46.在一些实施例中,云台可以设置有增量式编码器,比如该云台上可以设置有一增量式光电编码器,其中,增量式光电编码器是一种利用光栅衍射原理将转动角度转换为脉冲信息,从而得到转动角度的测量值的设备,相比于imu、霍尔传感器等原件一般具有更高的角度测量精度,因此,可以将增量式编码器应用在例如电机伺服系统控制等场景中。
47.其中,在执行本技术提供的云台控制方法的过程中,当云台的位姿发生变化,云台控制设备可以利用配置的例如imu等设备测得的参数,获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度。
48.需要说明的是,在本技术一些可能的场景中,上述的初始位姿状态可以用于表征云台在进行姿态控制时的初始状态,即该初始位姿状态可以作为云台的位姿零位。
49.当前,可以理解的是,该初始位姿状态可以为云台与水平位置相平行时的位姿状态,也可以是云台处于其他状态(比如朝向一设定角度)时的位姿状态,本技术对此不进行限定。
50.另外,云台控制设备可以获取一初始码盘计数值,该初始码盘计数值可以为云台处于初始位姿状态下增量式编码器的码盘计数值;比如,假定上述的初始位姿状态为云台处于水平状态时的位姿状态,则该初始码盘计数值可以为云台处于水平状态下增量式编码器的码盘计数值。
51.然后,针对云台控制设备获取得到的目标位姿变化角度,云台控制设备可以结合该目标位姿变化角度以及初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,从而使电机等机构能够基于当前码盘计数值以及初始位姿状态对云台进行姿态控制。
52.需要说明的是,云台控制设备在执行步骤201之前,还可以获得一触发信息,该触发信息可以用于指示更新增量式编码器的当前码盘计数值,即:云台控制设备在获得该触
发信息后,可以响应于该触发信息,以执行本技术提供的云台控制方法。
53.比如,在一些可能的实施方式中,该触发信息可以为云台的控制系统上电信号;又或者是,该触发信息还可以为获取不到码盘索引信号的指示信息;再或者是,该触发信息还可以为接收到的用于指示更新该当前位姿状态的码盘计数值的指令;本技术对此不进行限定。
54.另外,一些可能的场景中,一个增量式编码器一般仅能够测量云台在一个维度上的角度变化所对应的码盘计数值,当云台在至少两个维度的角度变化均需要测量,可以针对云台的每一个测量维度设置一个增量式编码器,从而测量云台在每个维度上角度变化所对应的码盘计数值,进而利用每个维度各自对应的码盘计数值,控制云台在对应维度的姿态。
55.因此,基于本技术提供的上述方案,通过获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度,并获取云台在初始位姿状态下增量式编码器的初始码盘计数值,从而根据该目标位姿角度以及该初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,以基于该当前码盘计数值以及初始位姿状态对云台进行姿态控制;如此,能够利用比imu等设备测得的惯性姿态角精度更高的码盘计数值作为云台姿态控制的输入,以减少云台在进行姿态控制时输入的噪声,提升云台的姿态控制效果。
56.其中,针对云台的初始码盘计数值,在一些可能的场景中,可以通过预先测量的方式,将云台处于初始位姿状态下增量式编码器的码盘计数值保存在云台本地,比如保存在云台的flash中;如此,在一些可能的实施方式中,云台控制设备在执行步骤203的过程中,可以通过读取flash的方式,在云台本地读取是否有保存云台处于初始位姿状态下增量式编码器的码盘计数值;当在云台本地读取到保存的云台处于初始位姿状态下增量式编码器的码盘计数值,则云台控制设备可以将读取到的码盘计数值作为初始码盘计数值。
57.另一方面,当在云台本地未读取到保存的云台处于初始位姿状态下增量式编码器的码盘计数值,则云台控制设备可以调整云台的位姿状态,比如转动云台的俯仰轴以及横滚轴中的至少一个,直至增量式编码器的码盘计数值指示为增量式编码器的索引信号,该索引信号可以用于指示增量式编码器的零位。
58.当增量式编码器确定出索引信号后,云台控制设备可以继续调整云台的位姿状态至初始位姿状态,比如调整云台的位姿状态使云台处于水平位置;可以理解的是,当云台的位姿状态发生变化,相应地,增量式编码器所指示的码盘计数值也会发生变化;当云台的位姿状态被调整至初始位姿状态,则可以将此时增量式编码器的码盘计数值作为初始码盘计数值,即:将增量式编码器在云台处于初始位姿状态时的码盘计数值确定为初始码盘计数值。
59.另外,在一些可能的场景中,若云台处于初始位姿状态时,增量式编码器的码盘计数值指示为增量式编码器的索引信息,则初始码盘计数值为0。
60.其中,云台控制设备在调整云台的位姿状态,使得增量式编码器的码盘计数值指示为增量式编码器的索引信号的过程中,受机械限位系统的影响,可能会机械限位附近来回转动,不仅对机械限位会造成冲击和损坏,还有可能对电机产生损耗,从而降低了整个云台系统的使用寿命。
61.因此,当确定出增量式码盘的初始码盘计数值之后,云台控制设备可以采用例如
上述的方式,将初始码盘计数值保存在云台本地,使得在下一次增量式编码器上电工作时,可以以云台的初始位姿状态作为云台姿态控制的起始状态,并将flash中保存的初始码盘计数值作为增量式编码器的零位点,而无需重复查找增量式编码器的索引信号,进而减少机械限位对云台系统的影响。
62.另外,在执行步骤201获取云台的目标位姿变化角度时,可以通过在云台的相机镜头配置一imu的方式,使得云台控制设备可以利用imu测得的参数,计算出云台从初始位置状态调整至当前位姿状态的目标位姿变化角度。
63.其中,结合图3所示,云台控制设备在计算的过程中,可以预先以相机镜头在空间中的坐标点构建相机坐标系,其中,该相机坐标系的x轴正方向可以为相机镜头的朝向,云台的俯仰轴和横滚轴均处于水平位置时重力加速度方向为相机坐标系的z轴正方向;另外,imu在安装时,可以设置imu的三轴与相机坐标系的三个坐标轴相互平行。
64.基于此,在执行步骤201的过程中,云台控制设备可以基于imu测得的云台在当前位姿状态下的加速度值,计算出云台从初始位姿状态调整至当前位姿状态对应的目标位姿变化角度。
65.示例性地,假定相机坐标系绕云台的横滚x轴、俯仰y轴和航向z轴旋转对应的变换矩阵分别为:
[0066][0067]
式中,φ、θ、ψ分别表示横滚角、俯仰角、航向角。
[0068]
基于此,将三个方向的变换矩阵相乘后,得到相机坐标系变换到云台坐标系的变换矩阵可以表示为:
[0069][0070]
当云台处于初始位姿状态,相机坐标系三轴的加速度向量可以表示如下:
[0071]
[a
x a
y az]
t
=[0 0
ꢀ‑
g]
t
[0072]
式中,a
x
、ay、az分别表示x方向、y轴方向以及z轴方向的加速度,g表示重力加速度。
[0073]
基于此,当云台的位姿状态发生变化,则变化后的加速度向量可以具有如下的转换关系:
[0074][0075]
式中,a
x

、ay′
、az′
分别表示转换后x方向、y轴方向以及z轴方向的加速度。
[0076]
将ω
zyx
的表达式代入上述转换关系并展开,获得如下等式关系:
[0077][0078]
因此,基于该等式关系,利用三角函数计算公式,得到云台的俯仰角以及横滚角的计算公式可以表示如下:
[0079][0080][0081]
因此,在执行步骤201的过程中,云台控制设备可以将imu测得的a
x

、ay′
、az′
三个参数代入上述公式,从而计算出云台的例如俯仰角以及横滚角等目标位姿变化角度。
[0082]
需要说明的是,由于imu等惯性测量设备一般存在零点漂移现象,imu直接测得的参数一般具有误差。
[0083]
因此,在一些可能的实施方式中,云台控制设备在执行步骤201之前,还可以获取该imu对应的零漂调整参数。
[0084]
基于此,云台控制设备在执行步骤201的过程中,则可以基于imu测得的云台在当前位姿状态下的加速度值以及该零漂调整参数,计算出云台从初始位姿状态调整至当前位置状态对应的目标位姿变化角度。
[0085]
比如,考虑到imu存在的零点漂移,则变化后的加速度向量可以具有如下的转换关系:
[0086][0087]
式中,a
x

、ay′
、az′
分别表示转换后x方向、y轴方向以及z轴方向的加速度,分别表示x方向、y轴方向以及z轴方向的零漂调整参数。
[0088]
将ω
zyx
的表达式代入上述转换关系并展开,获得的等式关系可以表示如下:
[0089][0090]
因此,基于该等式关系,利用三角函数计算公式,得到云台的俯仰角以及横滚角的计算公式可以表示如下:
[0091]
[0092][0093]
因此,在执行步骤201的过程中,云台控制设备可以将imu测得的a
x

、ay′
、az′
三个参数,以及获取的零漂调整参数代入上述公式,计算出云台的例如俯仰角以及横滚角等目标位姿变化角度;如此,在计算目标位姿变化角度的过程中,通过结合imu的零漂调整参数进行计算,能够提高该目标位姿变化角度的精度。
[0094]
其中,需要说明的是,在一些实施例中,云台控制设备可以采用例如上述获取初始码盘计数值相似的方式,在云台本地读取是否保存有imu的零漂调整参数;当在云台本地读取到保存的零漂调整参数,则利用读取的零漂调整参数执行步骤201;当在云台本地未读取到保存的零漂调整参数,则可以通过在预设时间段内imu各个轴的采集参数,计算出imu的零漂调整参数。
[0095]
比如,假定在计算imu的零漂调整参数的过程中,在预设时间段内针对imu的三个轴向分别采集k个加速度测量值,则imu的零漂调整参数的计算方式可以表示如下:
[0096][0097][0098]
式中,当i=x,则表示imu在x轴方向的零漂调整参数;当i=y,则表示imu在y轴方向的零漂调整参数;表示imu在z轴方向的零漂调整参数。
[0099]
基于此,云台控制设备可以将计算得到的imu的零漂调整参数用于执行步骤201;另外,云台控制设备还可以将计算得到的imu的零漂调整参数保存在云台本地,比如保存在云台的flash中,使得云台控制设备在下一次执行步骤201之前,可以利用在云台本地读取零漂调整参数,从而利用读取到的零漂调整参数执行步骤201,以提高计算效率。
[0100]
另外,基于上述计算得到的目标位姿变化角度,云台控制设备在执行步骤205的过程中,可以基于增量式编码器旋转一圈的总码盘计数值,采用如下公式计算出云台处于当前位姿状态下的当前码盘计数值:
[0101][0102]
式中,n表示增量式编码器旋转一圈的总码盘计数值,θ表示俯仰角,n
′i表示云台在俯仰角θ时俯仰方向的当前码盘计数值,n
i0
表示云台处于初始位姿状态时增量式编码器的初始码盘计数值,n
′i表示当前码盘计数值。
[0103]
其中,可以理解的是,上述是以俯仰角作为目标位姿变化角度为例,对俯仰方向的当前码盘计数值的计算方式进行的说明;针对横滚方向的当前码盘计数值,则可以将上述公式中的俯仰角θ替换为横滚角φ进行计算。
[0104]
另外,需要说明的是,在一些可能的场景中,云台控制设备可以采用本技术提供的方式计算出上述的目标位姿变化角度,也可以采用接收其他设备发送的方式获取该目标位
姿变化角度,本技术对此不进行限定。
[0105]
并且,在例如上述结合imu执行步骤201的实施方式中,可以只采用一个imu进行计算;但在该实施方式中,一般需要将云台的底座设置为与水平面相平行,即要求云台的初始位姿状态为水平状态。
[0106]
然而,在一些可能的场景中,云台的初始位姿状态一般无法处于绝对的水平,导致计算出的当前码盘计数值可能存在一些误差。
[0107]
因此,在一些其他的实施方式中,还可以采用双imu的方案执行步骤201;比如,在一些实施方式中,云台可以设置有第一imu和第二imu,其中,第一imu可以设置在云台的相机镜头,第二imu可以设置在云台的基座。
[0108]
结合图4所示,可以预先基于相机镜头在空间中的坐标点构建相机坐标系,该相机坐标系的x轴正方向可以为相机镜头的朝向,云台的俯仰轴和横滚轴均处于水平位置时重力加速度方向为相机坐标系的z轴正方向,第一imu的三轴分别与相机坐标系的x轴、y轴、z轴相互平行;另外,还可以基于基座在空间中的坐标点构建基座坐标系,该基座坐标系可以与相机坐标系相互平行,且x轴、y轴及z轴的正方向的指向也相同,并且,第二imu的三轴也可以分别与基座坐标系的x轴、y轴、z轴相互平行。
[0109]
基于此,在执行步骤201的过程中,云台控制设备可以根据第一imu和第二imu测得的加速度值,计算出云台对应的目标位姿变化角度。
[0110]
示例性地,假定相机坐标系以及基座坐标系绕云台的滚x轴、俯仰y轴和航向z轴分别旋转的角度表示为φi、θi、ψi,则各个轴对应的变换矩阵分别可以表示为:
[0111][0112]
式中,φi、θi、ψi分别表示绕x轴旋转横滚角、绕y轴旋转的俯仰角、绕z轴旋转的航向角;i=1、2,且i=1时,表示的是相机坐标系的参数,i=2时,表示的是基座坐标系的参数。
[0113]
因此,相机坐标系以及基座坐标系变换到云台坐标系的变换矩阵表示为:
[0114][0115]
在一些可能的场景中,比如云台处于水平等状态,相机镜头以及基座的三轴加速度可以表示如下:
[0116]ai
=[a
x a
y az]
t
=[0 0
ꢀ‑
g]
t
[0117]
式中,i=1、2,且i=1时,表示的是相机坐标系的参数,i=2时,表示的是基座坐标系的参数。
[0118]
基于此,当云台的位姿状态发生变化,则变化后的加速度向量可以具有如下的转换关系:
[0119][0120]
式中,a

xi
、a

yi
、a

zi
分别表示转换后x方向、y轴方向以及z轴方向的加速度,i=1、2,且i=1时,表示的是相机坐标系的参数,i=2时,表示的是基座坐标系的参数。
[0121]
将的表达式代入上述转换关系并展开,获得如下等式关系:
[0122][0123]
因此,基于该等式关系,利用三角函数计算公式,得到云台的相机镜头以及基座各自的对地俯仰角和横滚角可以表示如下:
[0124][0125][0126]
式中,φi表示对地俯仰角,θi表示对地横滚角;i=1、2,且i=1时,表示的是相机坐标系的参数,i=2时,表示的是基座坐标系的参数。
[0127]
因此,云台控制设备在执行步骤201的过程中,可以先利用例如上述的计算公式,根据第一imu测得的第一加速度值,以及第二imu测得的第二加速度值,分别计算出第一imu对应的第一对地角度以及第二imu对应的第二对地角度;其中,第一加速度值为云台从初始位姿状态调整至当前位姿状态的过程中,第一imu在当前位姿状态下测得的加速度值,第二加速度值为第二imu在云台处于当前位姿状态下测得的加速度值。
[0128]
可以理解的是,在上述的方案中,第一imu对应的第一对地角度即为相机镜头对应的第一对地角度,第二imu对应的第二对地角度即为基座对应的第二对地角度。
[0129]
另外,在本技术的一些实施例中,在采用两个imu的方案执行步骤201的场景中,云台控制设备也可以采用例如上述单个imu的方案,通过获取第一imu和第二imu各自对应的零漂调整参数,并结合每个imu各自对应的零漂调整参数,计算出第一imu对应的第一对地角度以及第二imu对应的第二对地角度。
[0130]
比如,假定imu在x方向、y轴方向以及z轴方向的零漂调整参数分别表示为i=1、2,且i=1时,表示的是相机坐标系的参数,i=2时,表示的是基座坐标系的参数;则变化后的加速度向量具有的转换关系可以表示如下:
[0131]
[0132]
对该转换关系进行展开,则将的表达式代入上述转换关系并展开,则获得的等式关系可以表示如下:
[0133][0134]
因此,基于该等式关系,利用三角函数计算公式,得到云台的相机镜头以及基座各自的对地俯仰角和横滚角可以表示如下:
[0135][0136][0137]
因此,在计算第一imu对应的第一对地角度以及第二imu对应的第二对地角度的过程中,通过结合第一imu和第二imu各自对应的零漂调整参数,能够提高第一对地角度和第二对地角度的计算精度。
[0138]
接下来,云台控制设备可以基于计算得到的第一对地角度以及第二对地角度,计算出云台对应的目标位姿变化角度。
[0139]
其中,结合上述可知,云台对应的目标位姿变化角度可以包括在俯仰方向的第一位姿变化角度以及在横滚方向的第二位姿变化角度。
[0140]
在一些实施例中,以计算云台在俯仰方向的第一位姿变化角度为例,上述的第一对地角度可以包括第一imu测得的在俯仰方向的第一俯仰角度,上述的第二对地角度可以包括第二imu测得的在俯仰方向的第二俯仰角度。
[0141]
其中,在一些可能的场景中,相机镜头与基座之间在航向轴上可以不存在相对的旋转角度,在该场景下,基座坐标系到相机坐标系的坐标变换矩阵可以表示为:
[0142][0143]
式中,φc表示相机镜头相对于基座的俯仰角,θc表示相机镜头相对于基座的横滚角。
[0144]
由于此时相机镜头与基座对地的朝向相同,则相机坐标系相对于大地坐标系的坐标变换矩阵可以表示为:
[0145][0146]
因此,利用坐标变换关系,得到基座到镜头的变换矩阵可以表示如下:
[0147][0148]
其中,上述表达公式中,等式两边矩阵中的第一行第一列元素对应相等,因此,可得如下关系:
[0149]
cosθc=cosθ1cosθ2cos2ψ1 cosθ1cosθ2sin2ψ1 sinθ1sinθ2[0150]
ꢀꢀꢀꢀꢀ
=cosθ1cosθ2 sinθ1sinθ2[0151]
ꢀꢀꢀꢀꢀ
=cos(θ
2-θ1)
[0152]
因此,相机镜头相对于基座转动的俯仰角,也就是相机镜头的俯仰轴与零位点的偏差角度为:
[0153]
θc=θ
2-θ1[0154]
因此,按照上述公式,在一些实施例中,云台控制设备在计算云台在俯仰方向的第一位姿变化角度的过程中,可以根据第一俯仰角与第二俯仰角度之差,生成云台对应的第一位姿变化角度。
[0155]
另外,在本技术其他的一些实施例中,比如在云台对应的目标位姿变化角度为云台在横滚方向的第二位姿变化角度的场景中,上述的第一对地角度还可以包括第一imu测得的在横滚方向的第一横滚角度,上述的第二对地角度还可以包括第二imu测得的在横滚方向的第二横滚角度。
[0156]
其中,针对上述转换矩阵中第三行的第二列进行展开,具有如下等式关系:
[0157]
sinφc=cosφ1sinθ1sinφ2sinθ2cos2ψ-cosφ1sinθ1cosφ2sinψcosψ sinφ1sinφ2sinθ2sinψcosψ-sinφ1cosφ2sin2ψ cosφ1sinθ1sinφ2sinθ2sin2ψ cosφ1sinθ1cosφ2sinψcosψ-sinφ1sinφ2cosθ2sinψcosψ-sinφ1cosφ2cos2ψ cosφ1cosθ1sinφ2cosθ2[0158] =cosφ1sinθ1sinφ2sinθ2 sinφ1cosφ2 cosφ1cosθ1sinφ2cosθ2[0159]
对上述公式进行反正弦求解,则相机镜头横滚轴相对于零位点的偏差计算公式可以表示如下:
[0160]
φc=arcsin(cosφ1sinθ1sinφ2sinθ2 sinφ1cosφ2 cosφ1cosθ1sinφ2cosθ2)
[0161]
式中,θ1和θ2分别表示第一俯仰角和第二俯仰角,φ1和φ2分别表示第一横滚角和第二横滚角。
[0162]
因此,在一些实施例中,当云台对应的目标位姿变化角度为云台在横滚方向的第二位姿变化角度,则可以将上述的反正弦求解得到的公式作为预设的横滚角处理函数,并利用该预设的横滚角函数对第一俯仰角度、第二俯仰角度、第一横滚角度及第二横滚角度进行处理,从而生成云台对应的第二位姿变化角度。
[0163]
接下来,在上述的使用两个imu计算目标位姿变化角度的实施方式中,针对计算获得的目标位姿变化角度,云台控制设备可以采用与单个imu的实施方式类似的策略,基于目标位姿变化角度生成对应的当前码盘计数值。
[0164]
比如,云台控制设备可以基于如下公式计算出云台处于当前位姿状态下的当前码盘计数值:
[0165][0166]
式中,n表示增量式编码器旋转一圈的总码盘计数值,angle表示相机镜头相对于
基座的俯仰角φc或横滚角θc,i=x、y,x表示云台的横滚轴,y表示俯仰轴,n
i0
表示云台处于初始位姿状态时增量式编码器的初始码盘计数值,n
′i表示当前码盘计数值。
[0167]
需要说明的是,增量式编码器一圈的最大计数值一般是固定的,在利用本技术提供的上述方案计算出云台处于当前位姿状态下的当前码盘计数值的过程中,计算得到的当前码盘计数值可能大于增量式编码器的最大计数值、或者是小于0等情况;比如在一些场景中,假定增量式编码器一圈的最大计数值为360,则云台控制设备计算得到的当前码盘计数值可能大于360,也可能小于0。
[0168]
然而,针对大于增量式编码器的最大计数值、或者是小于0的当前码盘计数值,由于超出了电机的处理程序查表的索引范围,可能导致处理程序无法处理该当前码盘计数值,进而出现云台的控制异常。
[0169]
因此,在一些实施例中,针对计算得到的当前码盘计数值,云台控制设备还可以对该当前码盘计数值进行调整,以使调整后的当前码盘计数值处于预设的计数值范围内。
[0170]
比如,在前述的示例中,假定增量式编码器一圈的最大计数值为360,该预设的计数值范围[0,360],则在云台控制设备计算得到的当前码盘计数值不在该预设的计数值范围的情况下,可以将该当前码盘计数值调整至该预设的计数值范围内。
[0171]
示例性地,云台控制设备可以记录有第一计数阈值和第二计数阈值,第一计数阈值可以小于第二计数阈值,第一计数阈值和第二计数阈值构建的范围区间可以作为上述预设的计数值范围;比如,第一计数阈值可以为上述的0,第二计数阈值可以为上述的360。
[0172]
基于此,云台控制设备在对当前码盘计数值进行调整的过程中,可以将当前码盘计数值与第一计数阈值以及第二计数阈值进行对比,当该当前码盘计数值小于第一计数阈值,则将该当前码盘计数值加上设定的计数调整步长;当该当前码盘计数值大于或等于第二计数阈值,则可以将该当前码盘计数值减去该设定的计数调整步长。
[0173]
比如,云台控制设备可以按照以下公式对当前码盘计数值进行调整:
[0174][0175]
式中,l表示第一计数阈值,m表示第二计数阈值,n
′i表示当前码盘计数值,ni表示更新后的当前码盘计数值。
[0176]
其中,在一些可能的实施方式中,该设定的计数调整补偿可以为第二计数阈值与第一计数阈值之差;比如在前述示例中,该设定的计数调整步长可以为360。
[0177]
如此,按照本技术提供的上述方案,能够使电机用于姿态控制的码盘计数值处于预设的计数值范围内,从而避免对云台的控制异常。
[0178]
另外,基于与本技术提供的上述云台控制方法相同的发明构思,请参阅图5,本技术还提供一种云台控制装置300,该云台控制装置300可以包括获取模块301及处理模块302。其中:
[0179]
获取模块301,用于获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度;
[0180]
获取模块301还用于,获取云台的初始码盘计数值;其中,初始码盘计数值为云台
处于初始位姿状态下增量式编码器的码盘计数值;
[0181]
处理模块302,用于根据目标位姿变化角度以及初始码盘计数值,计算出云台处于当前位姿状态下的当前码盘计数值,以基于当前码盘计数值和初始位姿状态对云台进行姿态控制。
[0182]
可选地,在一些可能的实施方式中,获取模块301在获取云台的初始码盘计数值时,具体用于:
[0183]
当在云台本地读取到保存的云台处于初始位姿状态下增量式编码器的码盘计数值,则将读取到的码盘计数值作为初始码盘计数值;
[0184]
当在云台本地未读取到保存的云台处于初始位姿状态下增量式编码器的码盘计数值,则调整云台的位姿状态,直至增量式编码器的码盘计数值指示为增量式编码器的索引信号;
[0185]
调整云台的位姿状态至初始位姿状态,并将增量式编码器在云台处于初始位姿状态时的码盘计数值确定为初始码盘计数值;
[0186]
将初始码盘计数值保存在云台本地。
[0187]
可选地,在一些可能的实施方式中,云台还包括有imu;
[0188]
获取模块301在获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度时,具体用于:
[0189]
基于imu测得的云台在当前位姿状态下的加速度值,计算出云台从初始位姿状态调整至当前位姿状态对应的目标位姿变化角度。
[0190]
可选地,在一些可能的实施方式中,获取模块301在基于imu测得的云台在当前位姿状态下的加速度值,计算出云台从初始位姿状态调整至当前位姿状态对应的目标位姿变化角度之前,还用于:
[0191]
获取imu对应的零漂调整参数;
[0192]
基于imu测得的云台从当前位姿状态下的加速度值,计算出云台从初始位姿状态调整至当前位姿状态对应的目标位姿变化角度,包括:
[0193]
基于imu测得的云台在当前位姿状态下的加速度值以及零漂调整参数,计算出云台从初始位姿状态调整至当前位姿状态对应的目标位姿变化角度。
[0194]
可选地,在一些可能的实施方式中,云台还设置有第一imu和第二imu;
[0195]
获取模块301在获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度时,具体用于:
[0196]
根据第一imu测得的第一加速度值,以及第二imu测得的第二加速度值,分别计算出第一imu对应的第一对地角度以及第二imu对应的第二对地角度;其中,第一加速度值为云台从初始位姿状态调整至当前位姿状态的过程中,第一imu在当前位姿状态下测得的加速度值,第二加速度值为第二imu在当前位姿状态下测得的加速度值;
[0197]
根据第一对地角度以及第二对地角度,计算出云台对应的目标位姿变化角度。
[0198]
可选地,在一些可能的实施方式中,目标位姿变化角度包括云台在俯仰方向的第一位姿变化角度;第一对地角度包括第一imu测得的在俯仰方向的第一俯仰角度,第二对地角度为第二imu测得的在俯仰方向的第二俯仰角度;
[0199]
获取模块301在根据第一对地角度以及第二对地角度,计算出云台对应的目标位
姿变化角度时,具体用于:
[0200]
根据第一俯仰角度与第二俯仰角度之差,生成云台对应的第一位姿变化角度。
[0201]
可选地,在一些可能的实施方式中,目标位姿变化角度还包括云台在横滚方向的第二位姿变化角度;第一对地角度还包括第一imu测得的在横滚方向的第一横滚角度,第二对地角度还包括第二imu测得的在横滚方向的第二横滚角度;
[0202]
获取模块301在根据第一对地角度以及第二对地角度,计算出云台对应的目标位姿变化角度时,还用于:
[0203]
利用预设的横滚角处理函数对第一俯仰角度、第二俯仰角度、第一横滚角度及第二横滚角度进行处理,生成云台对应的第二位姿变化角度。
[0204]
可选地,在一些可能的实施方式中,获取模块301在获取云台从初始位姿状态调整至当前位姿状态的目标位姿变化角度之前,还用于:
[0205]
获得触发信息,触发信息用于指示更新增量式编码器的当前码盘计数值;
[0206]
其中,触发信息包括以下至少一种:
[0207]
云台的控制系统上电信号;或,获取不到码盘索引信号的指示信息;或,接收到用于指示更新当前位姿状态的码盘计数值的指令。
[0208]
可选地,在一些可能的实施方式中,处理模块302还用于:
[0209]
对当前码盘计数值进行调整,以使调整后的当前码盘计数值处于预设的计数值范围内。
[0210]
可选地,在一些可能的实施方式中,预设的计数值范围为第一计数阈值和第二计数阈值构成的范围区间,第一计数阈值小于第二计数阈值;
[0211]
处理模块302在对当前码盘计数值进行调整时,具体用于:
[0212]
当当前码盘计数值小于第一计数阈值,则将当前码盘计数值加上设定的计数调整步长;
[0213]
当当前码盘计数值大于或等于第二计数阈值,则将当前码盘计数值减去设定的计数调整步长。
[0214]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的一些实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
[0215]
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
[0216]
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0217]
另外,在本技术的一些实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0218]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术的一些实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0219]
以上所述仅为本技术的部分实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0220]
对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
再多了解一些

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

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

相关文献