CN105929851A - 一种采用摇杆设备控制云台方法和装置 - Google Patents
一种采用摇杆设备控制云台方法和装置 Download PDFInfo
- Publication number
- CN105929851A CN105929851A CN201610214049.6A CN201610214049A CN105929851A CN 105929851 A CN105929851 A CN 105929851A CN 201610214049 A CN201610214049 A CN 201610214049A CN 105929851 A CN105929851 A CN 105929851A
- Authority
- CN
- China
- Prior art keywords
- current
- rocking bar
- cpu
- shared
- cpu usage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Selective Calling Equipment (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种采用摇杆设备控制云台的方法,其中,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法包括:所述计算设备按预设指令间隔,接收摇杆设备发起的操作指令;将所述操作指令写入指定队列;统计所述指定队列中操作指令的数量;判断所述数量是否超过预设参考值;若是,则确定需要删除的操作指令并进行删除;若否,则遍历所述指定队列中的已存指令,控制云台执行相应动作。本申请实施例通过,在队列中的操作指令大于一定数值时,删除队列中需要删除的指令,以减少计算设备依据操作指令向服务器发送指令信息的操作所耗费的计算资源。
Description
技术领域
本申请涉及自动控制技术领域,特别是涉及一种采用摇杆设备控制云台方法和一种采用摇杆设备控制云台装置。
背景技术
在录播产品的摄像机图像获取中,摄像机搭载在云台上,通过控制云台的旋转、俯仰来调整摄像机的摄像范围。云台的控制通过服务器、计算机、摇杆设备来实现。用户在使用摇杆设备生成操作指令后,摇杆设备将操作指令发送到计算机;计算机接收摇杆指令,然后向服务器发送相应的指令信号;服务器接收到指令信号后,将指令信号转换为云台控制信号,并云台控制信号发送到云台;最后云台根据云台控制信号,执行相应的动作。
目前,计算机一般以固定的指令接收密度,接收摇杆设备的操作指令,指令接收密度由用户根据计算机的性能测试调整,当指令密度设置过大时,计算机中接收指令的操作,和对指令的后续处理操作,将会占用大量CPU计算资源。
当需要对多台计算机设置指令密度时,需要用户重复进行测试调整,耗费大量时间;由于采用固定的指令接收密度,导致部分操作指令丢失,影响对云台控制的精准度。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种采用摇杆设备控制云台方法和相应的一种采用摇杆设备控制云台装置。
为了解决上述问题,本申请实施例公开了一种采用摇杆设备控制云台的方法,其中,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法包括:
所述计算设备按预设指令间隔,接收摇杆设备发起的操作指令;
将所述操作指令写入指定队列;
统计所述指定队列中操作指令的数量;
判断所述数量是否超过预设参考值;
若是,则确定需要删除的操作指令并进行删除;
若否,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
优选的,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
优选的,所述确定需要删除的操作指令并进行删除的步骤包括:
获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
按时间顺序,遍历当前队列中的两两相邻的操作指令;
获取所述操作指令的三维空间坐标值;
分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
返回所述判断所述数量是否超过预设参考值的步骤。
优选的,还包括:
判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
若否,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
优选的,所述依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔的步骤包括:
判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
若否,则增大所述当前的指令间隔;
返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
优选的,所述依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔的步骤包括:
判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例;
若否,则增大所述当前的指令间隔;
返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
同时,本申请还公开了一种采用摇杆设备控制云台的装置,其中,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的装置包括:
接收模块,用于按预设指令间隔,接收摇杆设备发起的操作指令;
写入模块,用于将所述操作指令写入指定队列;
统计模块,用于统计所述指定队列中操作指令的数量;
第一判断模块,用于判断所述数量是否超过预设参考值;
删除模块,用于若所述数量超过预设参考值,则确定需要删除的操作指令并进行删除;
控制模块,用于若所述数量未超过预设参考值,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
优选的,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
优选的,所述删除模块进一步包括:
容差值获取子模块,用于获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
遍历子模块,用于按时间顺序,遍历当前队列中的两两相邻的操作指令;
三维坐标获取子模块,用于获取所述操作指令的三维空间坐标值;
顺序删除子模块,用于分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
第一返回子模块,用于返回所述判断所述数量是否超过预设参考值的步骤。
优选的,还包括:
第二判断模块,用于判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
使用率获取模块,用于若在当前时间之前的预设第二时间段之内未调整过所述预设指令间隔,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
间隔调整模块,用于依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
优选的,所述间隔调整模块进一步包括:
第一状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
第一增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第二返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
优选的,所述间隔调整模块进一步包括:
第二状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例;
第二增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第三返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
本申请实施例包括以下优点:
本申请实施例通过,在队列中的操作指令大于一定数值时,删除队列中需要删除的指令,以减少计算设备依据操作指令向服务器发送指令信息的操作所耗费的计算资源。
本申请实施例中不采用设置固定指令间隔的方式,而通过依据计算设备的CPU使用率,自动调整接收操作指令的指令间隔。无需用户对各个计算设备都设置固定的指令间隔,也避免了由于固定指令间隔,导致部分操作指令丢失情况。
附图说明
图1是本申请的一种采用摇杆设备控制云台的方法实施例1的步骤流程图;
图2是本申请的一种采用摇杆设备控制云台的方法实施例2的步骤流程图;
图3是本申请的一种采用摇杆设备控制云台的方法实施例3的步骤流程图;
图4是本申请的一种采用摇杆设备控制云台的装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,当指令队列中的操作指令的数量大于一定数值时,则删除队列中需要删除的操作指令。
参照图1,示出了本申请的一种采用摇杆设备控制云台的方法实施例1的步骤流程图。其中,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法具体可以包括如下步骤:
步骤101,所述计算设备按预设指令间隔,接收摇杆设备发起的操作指令;
摇杆设备的操作指令用于,控制云台的水平角度、垂直角度、转动速度。摇杆设备中摇杆每偏转一定的角度,摇杆设备就会发起一个包含水平角度、垂直角度、转动速度的操作指令。例如,摇杆每偏转0.001的角度,摇杆设备就发起一个操作指令。
计算设备(如,计算机)按照一定的指令间隔来接收摇杆和设备发起的操作指令。
步骤102,将所述操作指令写入指定队列;
计算设备将接收到的操作指令写入队列中。
步骤103,统计所述指定队列中操作指令的数量;
计算设备将接收到的操作指令存储到队列尾。
计算设备从队列头中取出操作指令,并依据操作指令的内容向发送服务器相应的指令信息。
队列中操作指令的数目,由计算设备接收操作指令的间隔以及处理指令信息的速度决定。
步骤104,判断所述数量是否超过预设参考值;
作为本申请实施例的一种优选示例,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
步骤105,若是,则确定需要删除的操作指令并进行删除;
在当前队列中的操作指令的数目大于预设参考值时,确定队列中需要删除的指令并进行删除。
将预设第一时间段除以所述预设指令间隔得到的值,即在第一时间段内接收到的操作指令的数目。在当前队列中的操作指令的数目大于第一时间段内接收到的操作指令的数目时,则删除队列中需要删除的指令,需要删除的指令可以是前后相似的指令中一条指令。
步骤106,若否,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
在当前队列中的操作指令的数目不大于预设参考值时,计算设备依据操作指令的内容向服务器发送指令信息;服务器将指令信息转换为云台控制信号,并将云台控制信号发送到云台,云台根据云台控制信号执行相应的,旋转。
本申请实施例中,在队列中的操作指令大于一定数值时,删除队列中需要删除的指令,以减少计算设备依据操作指令向服务器发送指令信息的操作所耗费的计算资源。
作为本申请实施例的一种优选示例,所述步骤103中确定需要删除的操作指令并进行删除的步骤可以进一步包括如下子步骤:
子步骤S11,获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
若是第一次判断到当前队列中的操作指令的数量大于预设数目,则获取初始容差值作为目标容差值;
若不是第一次判断到当前队列中的操作指令的数量大于预设数目,则获取是一个目标容差值,将上一个目标容差值与一定的数值相加,得到当前的目标容差值。
当超过一定的时间未接收到操作指令后,认为,摇杆设备停止发送操作指令,并重置目标容差值。
子步骤S12,按时间顺序,遍历当前队列中的两两相邻的操作指令;
在队列头部存储的是最早获取的操作指令,在队列尾部存储的是最晚获取的操作指令。
从队列头部开始取两两相邻的操作指令。
子步骤S13,获取所述操作指令的三维空间坐标值;
获取两两相邻的两个操作指令的三维空间坐标值。具体的,操作指令的三维坐标值(X,Y,Z)中,X坐标对应控制云台的水平角度,Y坐标对应控制云台的垂直角度,Z坐标对应控制云台的转动速度。
子步骤S14,分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
分别比对两两相邻的操作指令之间三维空间坐标值,若各个三维空间坐标值之间差值都小于当前的目标容差值,则删除时间顺序在前的操作指令,即删除队列中顺序在前的操作指令。
三维空间坐标值之间的差值都小于目标容差值的两个操作指令,可以认为是相似的操作指令。将相似的指令中的一条删除,不会影响对云台控制的精准度,同时又能减少计算设备处理操作指令所要占用的计算资源。
子步骤S15,返回所述判断所述数量是否超过预设参考值的步骤。
在以一个目标容差值为准,确定了队列中需要删除的操作指令之后。重新确定队列中的操作指令的数量是否超过预设的参考值。若队列中的操作指令的数量仍然超过预设的参考值,则增大上一个目标容差值,得到新的目标容差值。采用新的目标容差值再次确定队列中需要删除的操作指令。然后再次确定队列中的操作指令的数量是否超过预设的参考值,直到队列中的操作指令的数量低于预设的参考值。
参照图2,示出了本申请的一种采用摇杆设备控制云台的方法实施例2的步骤流程图,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法具体可以包括如下模块:
步骤201,判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
计算设备判断在当前时间之前的预设第二时间段之内是否调整过预设指令间隔。
步骤202,若否,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
如果在当前时间之前的预设第二时间段之内没有调整过预设指令间隔,则获取当前计算设备的CPU总使用率,当前计算设备接收所述摇杆指令的操作所占的CPU使用率,当前计算设备调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔。
步骤203,依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
依据当前计算设备的CPU总使用率,当前计算设备接收所述摇杆指令的操作所占的CPU使用率,当前计算设备调整指令间隔的操作所占的CPU使用率,调整当前的指令间隔。
在当前CPU总使用率过高,和/或前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率过高时,增大计算设备接收操作指令的指令间隔,降低计算设备的CPU使用率。
作为本申请实施例的一种优选示例,所述步骤203具体可以包括如下子步骤:
子步骤S21,判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
判断当前计算设备的CPU总使用率是否低于预设第一比例,并且当前计算设备接收所述摇杆指令的操作所占的CPU使用率和当前计算机调整指令间隔的操作所占的CPU使用率的和,是否低于预设第二比例。
子步骤S22,若否,则增大所述当前的指令间隔;
若当前计算设备的CPU总使用率不满足均衡状态;则增大当前的指令间隔,降低计算机接收摇杆设备发起的操作指令的速度,以进一步降低计算设备的CPU使用率。
子步骤S23,返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
每次调整指令间隔后,则重新判断计算设备当前的CPU总使用率,计算设备接收所述摇杆指令的操作所占的CPU使用率,计算设备调整指令间隔的操作所占的CPU使用率。直到当前CPU的使用率满足均衡状态,则不再调整指令间隔。
在本申请实施例的另一种优选示例,所述步骤203具体可以包括如下子步骤:
子步骤S31,判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例;
判断当前计算设备的CPU总使用率是否高于预设第一比例,并且当前计算设备接收所述摇杆指令的操作所占的CPU使用率和当前计算机调整指令间隔的操作所占的CPU使用率的和,是否低于预设第三比例。
子步骤S32,若否,则增大所述当前的指令间隔;
若当前计算设备的CPU总使用率不满足均衡状态;则增大当前的指令间隔,降低计算机接收摇杆设备发起的操作指令的速度,以进一步降低计算设备的CPU使用率。
子步骤S33,返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
每次调整指令间隔后,则重新判断计算设备当前的CPU总使用率,计算设备接收所述摇杆指令的操作所占的CPU使用率,计算设备调整指令间隔的操作所占的CPU使用率。直到当前CPU的使用率满足均衡状态,则不再调整指令间隔。
参照图3,示出了本申请的一种采用摇杆设备控制云台的方法实施例3的步骤流程图。其中,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法具体可以包括如下步骤:
步骤301,按预设的目标指令间隔接收摇杆设备发送的操作指令;
步骤302,判断在第一时间段内是否调整过目标指令间隔,若否,则执行步骤303;若是,则执行步骤306;
步骤303,获取当前CPU使用率;
步骤304,判断是否到达均衡状态;若否,则执行步骤305;若是,则执行步骤307;
所述均衡状态为包括:当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;以及,在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例。例如,在当前CPU总使用率低于90%时,接收摇杆指令的操作所占的CPU使用率,以及调整指令间隔的操作所占的CPU使用率的和低于30%的状态;以及,在当前CPU总使用率高于90%时,接收摇杆指令的操作所占的CPU使用率,以及调整指令间隔的操作所占的CPU使用率的和低于20%的状态;
步骤305,从初始指令间隔起,逐次增大指令间隔;然后,返回步骤303;
步骤306,将到达均衡状态前,最后得到的指令间隔,或初始指令间隔,作为新的目标指令间隔;然后计算设备按新的目标指令间隔接收操作指令;
步骤307,解析操作指令;
操作指令包括(X,Y,Z),其中X为摇杆的水平角度(对应控制云台的水平角度);Y为摇杆的垂直角度(对应控制云台的垂直角度);Y为摇杆的俯仰角度(对应控制云台的转动速度)。
步骤308,将操作指令存储到队列中;
步骤309,判断当前队列中的指令的数量是否大于预设参考值;预设参考值为第二时间段除以当前指令间隔的值;若是,则执行步骤310;若否,则执行步骤314;
步骤310,从队列头部开始提取两两相邻的操作指令;
步骤311,获取初始容差值作为目标容差值;或,增大上一个目标容差值,作为新的目标容差值;
当超过一定的时间未接收到操作指令后,认为,摇杆设备停止发送操作指令,并重置目标容差值。
步骤312,分别比较两两相邻的两个操作指令的X、Y、Z值之间的差值;
步骤313,若两个操作指令的X、Y、Z值之间的差值都小于目标容差值,则删除队列中在前的操作指令;
步骤314,队列非空时,从队列头部取出操作指令,并依据指令内容控制云台执行相应动作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种采用摇杆设备控制云台的装置实施例的结构框图,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的装置具体可以包括如下模块:
接收模块41,用于按预设指令间隔,接收摇杆设备发起的操作指令;
写入模块42,用于将所述操作指令写入指定队列;
统计模块43,用于统计所述指定队列中操作指令的数量;
第一判断模块44,用于判断所述数量是否超过预设参考值;
删除模块45,用于若所述数量超过预设参考值,则确定需要删除的操作指令并进行删除;
控制模块46,用于若所述数量未超过预设参考值,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
作为本申请实施例的一种优选示例,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
作为本申请实施例的一种优选示例,所述删除模块进一步包括:
容差值获取子模块,用于获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
遍历子模块,用于按时间顺序,遍历当前队列中的两两相邻的操作指令;
三维坐标获取子模块,用于获取所述操作指令的三维空间坐标值;
顺序删除子模块,用于分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
第一返回子模块,用于返回所述判断所述数量是否超过预设参考值的步骤。
作为本申请实施例的一种优选示例,还包括:
第二判断模块,用于判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
使用率获取模块,用于若在当前时间之前的预设第二时间段之内未调整过所述预设指令间隔,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
间隔调整模块,用于依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
作为本申请实施例的一种优选示例,所述间隔调整模块进一步包括:
第一状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
第一增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第二返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
作为本申请实施例的一种优选示例,所述间隔调整模块进一步包括:
第二状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例。
第二增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第三返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算设备程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算设备可用程序代码的计算设备可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算设备程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算设备程序产品的流程图和/或方框图来描述的。应理解可由计算设备程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算设备程序指令到通用计算设备、专用计算设备、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算设备或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算设备程序指令也可存储在能引导计算设备或其他可编程数据处理终端设备以特定方式工作的计算设备可读存储器中,使得存储在该计算设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算设备程序指令也可装载到计算设备或其他可编程数据处理终端设备上,使得在计算设备或其他可编程终端设备上执行一系列操作步骤以产生计算设备实现的处理,从而在计算设备或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种采用摇杆设备控制云台的方法和一种采用摇杆设备控制云台的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种采用摇杆设备控制云台的方法,其特征在于,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的方法包括:
所述计算设备按预设指令间隔,接收摇杆设备发起的操作指令;
将所述操作指令写入指定队列;
统计所述指定队列中操作指令的数量;
判断所述数量是否超过预设参考值;
若是,则确定需要删除的操作指令并进行删除;
若否,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
2.根据权利要求1所述的方法,其特征在于,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
3.根据权利要求1所述的方法,其特征在于,所述确定需要删除的操作指令并进行删除的步骤包括:
获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
按时间顺序,遍历当前队列中的两两相邻的操作指令;
获取所述操作指令的三维空间坐标值;
分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
返回所述判断所述数量是否超过预设参考值的步骤。
4.根据权利要求1或2或3所述的方法,其特征在于,还包括:
判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
若否,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
5.根据权利要求4所述的方法,其特征在于,所述依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔的步骤包括:
判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
若否,则增大所述当前的指令间隔;
返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
6.根据权利要求4所述的方法,其特征在于,所述依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔的步骤包括:
判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例;
若否,则增大所述当前的指令间隔;
返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
7.一种采用摇杆设备控制云台的装置,其特征在于,所述摇杆设备与计算设备相连,所述云台与计算设备通信,所述的装置包括:
接收模块,用于按预设指令间隔,接收摇杆设备发起的操作指令;
写入模块,用于将所述操作指令写入指定队列;
统计模块,用于统计所述指定队列中操作指令的数量;
第一判断模块,用于判断所述数量是否超过预设参考值;
删除模块,用于若所述数量超过预设参考值,则确定需要删除的操作指令并进行删除;
控制模块,用于若所述数量未超过预设参考值,则遍历所述指定队列中的已存指令,控制云台执行相应动作。
8.根据权利要求7所述的装置,其特征在于,所述预设参考值为将预设第一时间段除以所述预设指令间隔得到的值。
9.根据权利要求7所述的装置,其特征在于,所述删除模块进一步包括:
容差值获取子模块,用于获取初始容差值,将所述初始容差值作为当前的目标容差值;或,获取上一个目标容差值,增大所述上一个目标容差值,得到当前的目标容差值;
遍历子模块,用于按时间顺序,遍历当前队列中的两两相邻的操作指令;
三维坐标获取子模块,用于获取所述操作指令的三维空间坐标值;
顺序删除子模块,用于分别比对所述两两相邻的操作指令之间三维空间坐标值,若差值都小于所述当前的目标容差值,则删除所述时间顺序在前的操作指令;
第一返回子模块,用于返回所述判断所述数量是否超过预设参考值的步骤。
10.根据权利要求7或8或9所述的装置,其特征在于,还包括:
第二判断模块,用于判断在当前时间之前的预设第二时间段之内是否调整过所述预设指令间隔;
使用率获取模块,用于若在当前时间之前的预设第二时间段之内未调整过所述预设指令间隔,则获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔;
间隔调整模块,用于依据所述当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率,增大所述当前的指令间隔。
11.根据权利要求10所述的装置,其特征在于,所述间隔调整模块进一步包括:
第一状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率低于预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第二比例的状态;
第一增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第二返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
12.根据权利要求10所述的装置,其特征在于,所述间隔调整模块进一步包括:
第二状态判断子模块,用于判断当前CPU的使用率是否满足均衡状态;所述均衡状态包括:在当前的CPU总使用率高于所述预设第一比例时,所述当前接收所述摇杆指令的操作所占的CPU使用率,以及当前调整指令间隔的操作所占的CPU使用率的和,低于预设第三比例的状态;所述预设第一比例大于所述预设第二比例,所述预设第二比例大于所述预设第三比例;
第二增大子模块,用于若不满足均衡状态,则增大所述当前的指令间隔;
第三返回子模块,用于返回所述获取当前的CPU总使用率,当前接收所述摇杆指令的操作所占的CPU使用率,当前调整指令间隔的操作所占的CPU使用率,以及,当前的指令间隔的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610214049.6A CN105929851B (zh) | 2016-04-07 | 2016-04-07 | 一种采用摇杆设备控制云台方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610214049.6A CN105929851B (zh) | 2016-04-07 | 2016-04-07 | 一种采用摇杆设备控制云台方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105929851A true CN105929851A (zh) | 2016-09-07 |
CN105929851B CN105929851B (zh) | 2019-08-09 |
Family
ID=56840229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610214049.6A Active CN105929851B (zh) | 2016-04-07 | 2016-04-07 | 一种采用摇杆设备控制云台方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105929851B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019178764A1 (zh) * | 2018-03-21 | 2019-09-26 | 深圳市大疆创新科技有限公司 | 一种多摇杆控制方法、云台及系统 |
CN111258240A (zh) * | 2018-11-30 | 2020-06-09 | 杭州海康威视数字技术股份有限公司 | 一种控制云台的方法及装置 |
CN112040133A (zh) * | 2020-09-09 | 2020-12-04 | 浙江大华技术股份有限公司 | 设备的控制方法、装置、存储介质以及电子装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1637723A (zh) * | 2003-12-22 | 2005-07-13 | 松下电器产业株式会社 | 存储系统控制方法 |
JP2006113960A (ja) * | 2004-10-18 | 2006-04-27 | Yaskawa Electric Corp | 位置指令作成方法およびこれを実行する位置制御装置 |
JP2009048400A (ja) * | 2007-08-20 | 2009-03-05 | Yaskawa Electric Corp | ディジタル制御装置とその制御方法 |
CN103024348A (zh) * | 2012-11-06 | 2013-04-03 | 前卫视讯(北京)科技发展有限公司 | 视频监控的运维管理系统 |
CN103049393A (zh) * | 2012-10-23 | 2013-04-17 | 北京奇虎科技有限公司 | 内存空间管理方法和装置 |
CN103064797A (zh) * | 2012-12-21 | 2013-04-24 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
CN103399821A (zh) * | 2013-06-28 | 2013-11-20 | 贵阳朗玛信息技术股份有限公司 | jitterbuf内存处理方法及装置 |
CN105095115A (zh) * | 2014-04-28 | 2015-11-25 | 华为技术有限公司 | 存储空间管理方法和装置 |
-
2016
- 2016-04-07 CN CN201610214049.6A patent/CN105929851B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1637723A (zh) * | 2003-12-22 | 2005-07-13 | 松下电器产业株式会社 | 存储系统控制方法 |
JP2006113960A (ja) * | 2004-10-18 | 2006-04-27 | Yaskawa Electric Corp | 位置指令作成方法およびこれを実行する位置制御装置 |
JP2009048400A (ja) * | 2007-08-20 | 2009-03-05 | Yaskawa Electric Corp | ディジタル制御装置とその制御方法 |
CN103049393A (zh) * | 2012-10-23 | 2013-04-17 | 北京奇虎科技有限公司 | 内存空间管理方法和装置 |
CN103024348A (zh) * | 2012-11-06 | 2013-04-03 | 前卫视讯(北京)科技发展有限公司 | 视频监控的运维管理系统 |
CN103064797A (zh) * | 2012-12-21 | 2013-04-24 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
CN103399821A (zh) * | 2013-06-28 | 2013-11-20 | 贵阳朗玛信息技术股份有限公司 | jitterbuf内存处理方法及装置 |
CN105095115A (zh) * | 2014-04-28 | 2015-11-25 | 华为技术有限公司 | 存储空间管理方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019178764A1 (zh) * | 2018-03-21 | 2019-09-26 | 深圳市大疆创新科技有限公司 | 一种多摇杆控制方法、云台及系统 |
CN110383199A (zh) * | 2018-03-21 | 2019-10-25 | 深圳市大疆创新科技有限公司 | 一种多摇杆控制方法、云台及系统 |
CN110383199B (zh) * | 2018-03-21 | 2021-11-23 | 深圳市大疆创新科技有限公司 | 一种多摇杆控制方法、云台及系统 |
CN111258240A (zh) * | 2018-11-30 | 2020-06-09 | 杭州海康威视数字技术股份有限公司 | 一种控制云台的方法及装置 |
CN112040133A (zh) * | 2020-09-09 | 2020-12-04 | 浙江大华技术股份有限公司 | 设备的控制方法、装置、存储介质以及电子装置 |
CN112040133B (zh) * | 2020-09-09 | 2022-06-14 | 浙江大华技术股份有限公司 | 设备的控制方法、装置、存储介质以及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105929851B (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7241729B2 (ja) | リソーススケジューリング方法、装置、設備、記憶媒体、及びプログラム | |
US10120820B2 (en) | Direct memory access transmission control method and apparatus | |
US10901785B2 (en) | Task deployment method, task deployment apparatus, and storage medium | |
WO2018028566A1 (zh) | 虚拟对象的移动同步方法、客户端、服务器及存储介质 | |
CN112764616B (zh) | 一种电子墨水屏手写加速方法、装置、设备及存储介质 | |
JP7269265B2 (ja) | 映像フレームの伝送方法、装置、電子機器及び可読記憶媒体 | |
CN111553282A (zh) | 用于检测车辆的方法和装置 | |
CN110494848A (zh) | 任务处理方法、设备及机器可读存储介质 | |
CN105929851A (zh) | 一种采用摇杆设备控制云台方法和装置 | |
WO2023246330A1 (zh) | 资源调整方法、装置、计算设备集群及可读存储介质 | |
EP4047456A1 (en) | Method and device for predicting drawing point of stylus pen | |
CN110297810B (zh) | 一种流数据处理方法、装置及电子设备 | |
CN106569893B (zh) | 流量控制方法及设备 | |
WO2023279970A1 (zh) | 基于区块链的数据同步的方法和装置 | |
CN110149476A (zh) | 一种延时摄影方法、装置、系统及终端设备 | |
CN111459645A (zh) | 一种任务调度方法、装置和电子设备 | |
CN109428786A (zh) | 网络性能监控方法和装置 | |
CN105677744A (zh) | 一种文件系统中提高服务质量的方法和装置 | |
CN115454637A (zh) | 图像渲染方法、装置、设备和介质 | |
KR101779791B1 (ko) | 읽기 속도에 기반한 정보 전송 | |
CN109521969B (zh) | 一种固态硬盘数据回收方法、装置和计算机可读存储介质 | |
CN113364701B (zh) | 基于rtt的结合比例积分微分控制的拥塞控制方法及设备 | |
CN110347497A (zh) | 一种将多个存储设备划分设备组的方法及装置 | |
CN113220650A (zh) | 数据存储方法、装置、设备、存储介质及程序 | |
CN102843369B (zh) | Ui界面的网络访问方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510665, Guangzhou high tech Industrial Development Zone, Guangdong Science Town 162 science Avenue, creative building B2, building second, 201 units Applicant after: Guangzhou Ncast Electronic Science & Technology Co., Ltd. Address before: 510665 Guangdong city of Guangzhou province Tianhe District Tong Road 188, room 409, 407 Applicant before: Guangzhou Ncast Electronic Science & Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |