云台及其控制方法、外置控制装置
文献发布时间:2023-06-19 09:23:00
技术领域
本发明涉及云台控制领域,尤其涉及一种云台及其控制方法、外置控制装置。
背景技术
目前,用户通过控制外置控制装置的姿态来控制云台的姿态,实现了体感控制云台的目的。通常,外置控制装置将其实时姿态告知云台,云台根据外置控制装置的实时姿态大小直接转动。然而,通常情况下,不同时刻的姿态大小可能存在差异,上述根据实时姿态大小直接转动方式,会使得云台在不同时刻的转动速度差异较为明显,导致云台转动的速度不均匀、不细腻。
为解决上述云台速度不均匀、不细腻的问题,若云台在不同时刻采用同一速度运动,则会存在云台姿态在未达到当前期望姿态前,外置控制装置即产生新的期望姿态,导致云运动延时较为严重的问题。
另外,外置控制装置的姿态无法直观反映用户控制外置控制装置的快慢,因此,云台在根据外置控制装置的姿态运动时,不能根据用户控制外置控制装置的快慢对应控制云台运动的快慢,导致云台运动的快慢与用户控制速度的快慢不一致,云台运动无法体现真实的用户控制行为,用户体验较差。
发明内容
本发明提供一种云台及其控制方法、外置控制装置。
具体地,本发明是通过如下技术方案实现的:
根据本发明的第一方面,提供一种云台控制方法,所述云台与外置控制装置通信连接,所述方法包括:
获取所述外置控制装置的角速度;
对所述角速度进行积分处理,确定所述云台的目标姿态;
根据所述目标姿态,控制所述云台转动;
其中,所述积分处理的积分频率大于所述云台与所述外置控制装置之间的通信频率。
根据本发明的第二方面,提供一种云台,与外置控制装置无线通信连接,所述云台包括:
存储装置,用于存储程序指令;
一个或多个处理器,调用所述存储装置中存储的程序指令,当所述程序指令被执行时,所述一个或多个处理器单独地或共同地被配置成用于实施如下操作:
获取所述外置控制装置的角速度;
对所述角速度进行积分处理,确定所述云台的目标姿态;
根据所述目标姿态,控制所述云台转动;
其中,所述积分处理的积分频率大于所述云台与所述外置控制装置之间的通信频率。
根据本发明的第三方面,提供一种云台控制方法,所述方法应用于云台通信连接的外置控制装置,所述方法包括:
获取所述外置控制装置的角速度;
发送所述角速度至所述云台,使得所述云台根据所述角速度控制所述云台的姿态。
根据本发明的第四方面,提供一种外置控制装置,与云台无线通信连接,所述外置控制装置包括:
角速度检测传感器;以及
处理器,与所述角速度检测传感器电耦合连接,所述处理器用于:
通过所述角速度检测传感器获取所述外置控制装置的角速度;
发送所述角速度至所述云台,使得所述云台根据所述角速度控制所述云台的姿态。
由以上本发明实施例提供的技术方案可见,本发明的云台在对外置控制装置的对角速度进行积分处理,确定云台的目标姿态时,将积分处理的积分频率设置成大于云台与外置控制装置之间的通信频率,云台转动的速度变化较为平滑,减小了云台不同时刻的速度差异,使得云台转动的速度较为均匀和细腻;同时,云台基于外置控制装置的角速度进行运动,云台运动的速度快慢能够与用户控制外置控制装置的快慢相对应,云台运动能够体现真实的用户控制行为,从而带来较佳的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明一实施例中的云台控制系统的结构图;
图1B是本发明一实施例中云台控制系统的应用场景图;
图2是本发明一实施例中的云台控制方法在云台侧的方法流程图;
图3是本发明另一实施例中的云台控制方法在云台侧的方法流程图;
图4是本发明一实施例中的云台的结构框图;
图5是本发明一实施例中的云台控制方法在外置控制装置侧的方法流程图;
图6是本发明一实施例中的外置控制装置的结构框图。
附图标记:
100:云台;110:存储装置;120:第一处理器;
200:外置控制装置;210:角速度检测传感器;220:第二处理器。
具体实施方式
目前,外置控制装置会将其实时姿态发送至云台,再由云台根据外置控制装置的实时姿态大小直接转动。由于不同时刻的姿态大小可能存在差异,若采用上述根据实时姿态大小直接转动的方式,可能会导致云台在不同时刻的转动速度差异较为明显,导致云台转动的速度不均匀、不细腻。
另外,外置控制装置的姿态无法直观反映用户控制外置控制装置的快慢,因此,云台在根据外置控制装置的姿态运动时,不能根据用户控制外置控制装置的快慢对应控制云台运动的快慢,导致云台运动的快慢与用户控制速度的快慢不一致,云台运动无法体现真实的用户控制行为,用户体验较差。
针对上述问题,本发明实施例的云台控制方法,在外置控制装置侧实施如下操作:获取所述外置控制装置的角速度;发送所述角速度至所述云台,使得所述云台根据所述角速度控制所述云台的姿态。在云台侧实施如下操作:获取所述外置控制装置的角速度;对所述角速度进行积分处理,确定所述云台的目标姿态;根据所述目标姿态,控制所述云台转动;其中,所述积分处理的积分频率大于所述云台与所述外置控制装置之间的通信频率。
本发明的云台在对外置控制装置的对角速度进行积分处理,确定云台的目标姿态时,将积分处理的积分频率设置成大于云台与外置控制装置之间的通信频率,云台转动的速度变化较为平滑,减小了云台不同时刻的速度差异,使得云台转动的速度较为均匀和细腻;同时,云台基于外置控制装置的角速度进行运动,云台运动的速度快慢能够与用户控制外置控制装置的快慢相对应,云台运动能够体现真实的用户控制行为,从而带来较佳的用户体验。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
参见图1A,本发明实施例的云台100与外置控制装置200通信连接,可选的,云台100与外置控制装置200基于无线通信方式实现通信连接,该无线通信方式可以为蓝牙、wifi或其他无线通信方式;可选的,云台100与外置控制装置200基于有线通信方式实现通信连接。
本发明实施例的外置控制装置200可以为手机、平板电脑等,也可以为云台100的体感控制装置。
在图1B所示的实施例中,外置控制装置200为手机,用户通过控制手机的姿态来控制云台100转动。可选的,当手机的显示面朝向用户,且手机竖直放置(如图1B所示的手机放置方向)时,用户控制手机向前(朝向用户的方向,也即沿着手机的长度方向)转动或向后转动,对应控制云台100的俯仰角;用户控制手机向左转动或向右转动(手机的显示面的朝向基本不变),对应控制云台100的偏航角;用户控制手机向左翻动或向右翻动,对应控制云台100的横滚角。可以理解,当手机的显示面朝向天空端或地面端,且手机水平放置时,上述操作以及对应的云台100的控制角度也是可以适用的,当然,在实际应用中,上述操作以及对应的云台100的控制角度可以有其它方式,此处不做具体限定。
实施例一和实施例二将分别从云台100侧、外置控制装置200侧对云台控制方法的实现过程进行详细描述。
实施例一
图2是本发明一实施例中的云台控制方法在云台100侧的方法流程图;如图2所示,所述云台控制方法可以包括但不限于如下步骤:
S201:获取外置控制装置200的角速度;
在某些实施例中,云台100接收外置控制装置200发送的该外置控制装置200的角速度,本实施例中,云台100被动的接收外置控制装置200的角速度;可选的,当云台100与外置控制装置200基于蓝牙通信时,云台100可以通过蓝牙接收外置控制装置200发送的外置控制装置200的角速度。当然,当云台100与外置控制装置200基于其他通信方式通信时,云台100接收外置控制装置200发送的外置控制装置200的角速度的通信链路相应变化。
在某些实施例中,云台100从外置控制装置200读取该外置控制装置200的角速度;可选的,云台100按照预设时间间隔访问外置控制装置200的数据端口,云台100主动读取该外置控制装置200的角速度。
在某些实施例中,通过步骤S201获取角速度为外置控制装置200在其体坐标系下的第一角速度;其中,外置控制装置200包括角速度检测传感器,通过步骤S201获取角速度为角速度检测传感器检测的外置控制装置200在其体坐标系下的第一角速度。该角速度检测传感器可以为陀螺仪,也可以为其他角速度检测传感器。例如,当外置控制装置200为手机时,角速度检测传感器为手机内置的陀螺仪。需要说明的是,外置控制装置200的体坐标系是以外置控制装置200为机体为参照建立的坐标系。
在某些实施例中,通过步骤S201获取角速度为外置控制装置200在绝对坐标系下的第二角速度,该第二角速度根据外置控制装置200在其体坐标系下的第一角速度确定。其中,外置控制装置200包括角速度检测传感器,第一角速度由角速度检测传感器检测获得。本实施例的绝对坐标系可以为世界坐标系,也可以为其他绝对坐标系。可以理解的是,第二角速度所在的坐标系可以与用于控制云台100的角速度所在的坐标系相同。
S202:对角速度进行积分处理,确定云台100的目标姿态,其中,积分处理的积分频率大于云台100与外置控制装置200之间的通信频率;
在对角速度进行积分处理时,将积分处理的积分频率设置成大于云台100与外置控制装置200之间的通信频率,确定的云台100的目标姿态是平滑过渡的,减小了云台100在不同时刻转动的速度差异,使得云台100转动的速度较为均匀和细腻。本实施例中,积分处理的积分区间对应的积分时长△t=1/积分频率。积分处理的积分频率可以为默认数值,也可以由用户设定。可选的,积分处理的积分频率为1kHz(单位:千赫兹),云台100与外置控制装置200之间的通信频率为20Hz(单位:赫兹)。当然,积分处理的积分频率、云台100与外置控制装置200之间的通信频率也可以设置为其他大小。
在某些实施例中,步骤S201获取的角速度为外置控制装置200在其体坐标系下的第一角速度omega_body(x,y,z),云台100需要将第一角速度转换成绝对坐标系下的第二角速度omega_ned(x,y,z),再对第二角速度进行积分处理,确定云台100的目标姿态。参见图3,云台100在对角速度进行积分处理,确定云台100的目标姿态时,具体包括如下步骤,
S301:将第一角速度转换成绝对坐标系下的第二角速度;
S302:对第二角速度进行积分处理,确定云台100的目标姿态。
下面,详细介绍将外置控制装置200在其体坐标系下的第一角速度omega_body(x,y,z)转换成绝对坐标系下的第二角速度omega_ned(x,y,z)的实现过程。
可选的,将第一角速度转换成绝对坐标系下的第二角速度可以包括但不限于步骤(1)~(3):
(1)、获取外置控制装置200的姿态信息;
云台100可访问外置控制装置200的接口,以读取该外置控制装置200的姿态信息。该接口可以为硬件数据接口,也可以为程序接口。当然,外置控制装置200的姿态信息可以由外置控制装置200发送至云台100。
其中,姿态信息可以包括姿态四元数,也可以包括外置控制装置200的其他姿态信息。
(2)、根据姿态信息,确定体坐标系与绝对坐标系进行坐标转换的转换关系;
其中,根据姿态信息,确定体坐标系与绝对坐标系进行坐标转换的转换关系的实现过程可以包括但不限于步骤(21)~(22):
(21)、将姿态四元数转换成欧拉角;
本实施例中,姿态四元数为Q_real(q
本实施例中,将姿态四元数转换成欧拉角公式为:
θ=-arcsin(2(q
(22)、根据欧拉角,确定转换关系。
在某些实施例中,根据欧拉角,确定坐标转换关系可以包括:将欧拉角中对应偏航方向的角度值设为0;根据欧拉角中对应横滚方向的角度值、对应俯仰方向的角度值以及对应偏航方向的角度值,确定转换关系。当外置控制装置200为手机时,将ψ设置为0,在手机横放(手机显示面垂直于水平面,且手机的长度方向为左右方向)和竖放(手机显示面垂直于水平面,且手机的长度方向为上下方向)时,控制手机向前转动(沿着手机的长度方向)或向后转动,均对应控制云台100的俯仰角;若ψ不等于0,则手机竖放时,控制手机向前转动(沿着手机的长度方向)或向后转动,对应控制云台100的俯仰角;手机横放时,控制手机向前转动或向后转动,对应控制云台100的偏航角,导致体感控制不统一。
本实施例中,体坐标系与绝对坐标系进行坐标转换的转换关系采用余弦矩阵表示,体坐标系与绝对坐标系进行坐标转换的余弦矩阵表示为:
其中,R
R
R
可以理解的,体坐标系与绝对坐标系进行坐标转换的转换关系也可采用其他表示方式,不限于采用余弦矩阵表示体坐标系与绝对坐标系进行坐标转换的转换关系。
(3)、根据转换关系和第一角速度,得到第二角速度。
第二角速度omega_ned(x,y,z)的计算方式包括但不限于如下公式:
omega_ned(x,y,z)=omega_body(x,y,z)*R
可以理解地,上述步骤(1)~(3)也可以在外置控制器中实现。
在某些实施例中,步骤S201获取的角速度为外置控制装置200在绝对坐标系下的第二角速度omega_ned(x,y,z),云台100直接对第二角速进行积分处理,确定云台100的目标姿态。
此外,可以将步骤S202的执行过程放在定时器中,实现了角速度的循环积分。当然,步骤S202的执行过程也可以不放在定时器中。
在某些实施例中,云台100设有定时器,通过定时器对角速度进行积分处理,确定云台100的目标姿态。可选的,定时器定义三个角速度变量(即云台100运动速度,这三个角速度变量均为欧拉角速度的分量变量):横滚角速度Vgx、俯仰角速度Vgy以及偏航角速度Vgz,这三个角速度变量在定时器中不断循环积分,对应转换成目标姿态:横滚轴姿态tar_x,俯仰轴姿态tar_y以及偏航轴姿态tar_z。
可选的,积分频率与定时器的工作频率大小相等;可选的,定时器的工作频率为1kHz。当然,积分频率与定时器的工作频率大小也可以不相等。
可选的,云台100还设有外部中断程序。当步骤S201获取的角速度为外置控制装置200在其体坐标系下的第一角速度omega_body(x,y,z)时,云台100会将第一角速度转换成绝对坐标系下的第二角速度omega_ned(x,y,z)(本实施例中,第二角速度也为欧拉角速度),再在外部中断程序中将第二角速度赋值给云台100运动速度;当步骤S201获取的角速度为外置控制装置200在绝对坐标系下的第二角速度omega_ned(x,y,z)时,在外部中断程序中将第二角速度赋值给云台100运动速度。将第二角速度赋值给云台100运动速度时,具体的,Vgx=omega_ned(x)、Vgy=omega_ned(y)、Vgz=omega_ned(z)。
需要说明的是,omega_body(x,y,z)中的x、y、z分别为外置控制装置200在其体坐标系下的横滚角速度、俯仰角速度、偏航角速度;omega_ned(x,y,z)中的x、y、z分别为外置控制装置200在绝对坐标系下的横滚角速度、俯仰角速度、偏航角速度。
另外,步骤S201中角速度的获取频率与通信频率大小可以相等,也可以不相等。
在某些实施例中,步骤S201中角速度的获取频率与通信频率大小相等,如20Hz,本实施例的云台控制方法还可以包括:若获取到新的角速度,则将积分处理的当前角速度替换成新的角速度。本实施例中,云台100运动是基于外置控制装置200的实时角速度的,云台100运动的速度快慢能够与用户控制外置控制装置200的快慢相对应,云台100运动能够体现真实的用户控制行为,从而带来较佳的用户体验。
进一步的,在某些实施例中,云台100还包括计数器,计数器用于记录新的角速度的获取次数,从而判断云台100和外置控制装置200之间的通信质量。在本实施例中,所述云台控制方法还包括:在每次获取到新的角速度时,更新计数器的计数值。可选的,计数器的初始值(云台100开启时计数器的计数值)为0,在每次获取到新的角速度时,计数器的计数值加1。当云台100关机时,计数器的计数值重新清零。
相关技术中,当云台100未获取到外置控制装置200的姿态,或者获取到的外置控制装置200的姿态大小为0时,云台100立即停止运动,实际上,云台100未获取到外置控制装置200的姿态可能是由于通信速度慢、掉帧、通信连接稳定等导致云台100和外置控制装置200之间的通信质量暂时变差,如果云台100和外置控制装置200之间的通信恢复间隔较短,则云台100立即停止运动会导致云台100即刻卡顿,给用户带来不好的控制体验。
为防止云台100未获取到新的角速度时,云台100立即停止运动导致的云台100卡顿情况的发生,本实施例的云台100基于计数值的未更新的时长大小,对云台100进行不同的控制。
可选的,若计数值未更新的时长小于或等于预设时长阈值,则对最近一次获取的角速度进行积分处理,确定云台100的实时目标姿态;根据实时目标姿态,控制云台100转动。计数值未更新的时长小于或等于预设时长阈值,这表明云台100未获取到新的角速度可能是云台100和外置控制装置200之间的通信质量暂时变差的原因,云台100和外置控制装置200之间的通信实际未中断,且用户可能还在操作外置控制装置200,因此,控制云台100继续保持最近一次获取的角速度运动,给用户带来较佳的控制体验。
可选的,若计数值未更新的时长大于预设时长阈值,则停止云台100的转动。计数值未更新的时长大于预设时长阈值,这表明云台100和外置控制装置200之间的通信中断了,云台100停止运动。
上述预设时长阈值的大小可以根据需要设置,也可以为默认数值大小。可选的,步骤S201中角速度的获取频率以及云台100与外置控制装置200之间的通信频率均为20Hz,预设时长阈值为100ms(单位:毫秒),即若计数值未更新的时长不超过100ms,则认为云台100与外置控制装置200之间的通信未中断;若计数值未更新的时长大于100ms,则认为云台100与外置控制装置200之间的通信完全中断,需要云台100停止运动。
S203:根据目标姿态,控制云台100转动。
通过上述步骤S203,即可控制云台100运动至目标姿态对应的位置。
云台100在根据目标姿态,控制云台100转动时,可以采用闭环控制方式。可以理解地,根据目标姿态,控制云台100转动的实现过程为现有技术,本发明实施例不作详细描述。
对应于上述实施例的云台控制方法,本发明实施例还提供一种云台100,参见图4,该云台100包括:存储装置110和一个或多个第一处理器120。
其中,存储装置110,用于存储程序指令;一个或多个第一处理器120,调用存储装置110中存储的程序指令,当程序指令被执行时,一个或多个第一处理器120单独地或共同地被配置成用于实施如下操作:获取外置控制装置200的角速度;对角速度进行积分处理,确定云台100的目标姿态;根据目标姿态,控制云台100转动;其中,积分处理的积分频率大于云台100与外置控制装置200之间的通信频率。
第一处理器120可以实现如本发明图2、图3所示实施例的云台控制方法,可参见上述实施例的云台控制方法对本实施例的云台100进行说明。
上述存储装置110可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置110也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储装置110还可以包括上述种类的存储器的组合。
上述第一处理器120可以是中央处理器(central processing unit,CPU)。该第一处理器120还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
实施例二
本实施例的云台控制方法应用于云台100通信连接的外置控制装置200,该外置控制装置200可以为手机、平板电脑等,也可以为云台100的体感控制装置。参见图5,所述云台控制方法可以包括如下步骤:
S501:获取外置控制装置200的角速度;
在某些实施例中,角速度为角速度检测传感器检测的外置控制装置200在其体坐标系下的第一角速度。可选的,外置控制装置200包括角速度检测传感器,通过角速度检测传感器检测获得外置控制装置200在其体坐标系下的第一角速度。该角速度检测传感器可以为陀螺仪,也可以为其他角速度检测传感器。例如,当外置控制装置200为手机时,角速度检测传感器为手机内置的陀螺仪。需要说明的是,外置控制装置200的体坐标系是以外置控制装置200为机体为参照建立的坐标系。
在某些实施例中,角速度为外置控制装置200在绝对坐标系下的第二角速度。获取外置控制装置200的角速度的过程可以包括如下步骤(1)~(2):
(1)、获取外置控制装置200在其体坐标系下的第一角速度;
步骤(1)中获取第一角速度的方式与上述实施例中获取第一角度的方式相同,此处不再赘述。
(2)、将外置控制装置200的体坐标系下的第一角速度转换成绝对坐标系下的第二角速度。
其中,通过外置控制装置200将第一角速度转换成第二角速度的实现过程与上述实施例一中通过云台100将第一角速度转换成第二角速度的实现过程相类似,本实施例不再赘述。
S502:发送角速度至云台100,使得云台100根据角速度控制云台100的姿态。
外置控制装置200可以通过蓝牙或其他通信链路发送角速度至云台100。
并且,外置控制装置200发送至云台100的角速度可以为第一角速度,也可以为第二角速度。本实施例中,外置控制装置200发送至云台100的角速度为第二角速度,将第一角速度转换至第二角速度的过程放在外置控制装置200中,减少了云台100的运算,进一步优化了云台100的控制。
对应于本实施例的云台控制方法,本发明实施例还提供一种外置控制装置200,参见图6,该外置控制装置200包括角速度检测传感器210以及第二处理器220,其中,角速度检测传感器210与第二处理器220电耦合连接。该角速度检测传感器210可以为陀螺仪,也可以为其他角速度检测传感器。
第二处理器220用于:通过角速度检测传感器210获取外置控制装置200的角速度;发送角速度至云台100,使得云台100根据角速度控制云台100的姿态。
第二处理器220可以实现如本发明图5所示实施例二的云台控制方法,可参见上述实施例二的云台控制方法对本实施例的外置控制装置200进行说明。
上述第二处理器220可以是中央处理器(central processing unit,CPU)。该第二处理器220还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例的云台控制方法的步骤。
所述计算机可读存储介质可以是前述任一实施例所述的云台或外置控制装置的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是云台或外置控制装置的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括云台或外置控制装置的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述云台或外置控制装置所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
- 云台及其控制方法、外置控制装置
- 可拆卸控制装置、云台装置和手持云台的控制方法