CN108008759B - 摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 - Google Patents
摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108008759B CN108008759B CN201711238538.6A CN201711238538A CN108008759B CN 108008759 B CN108008759 B CN 108008759B CN 201711238538 A CN201711238538 A CN 201711238538A CN 108008759 B CN108008759 B CN 108008759B
- Authority
- CN
- China
- Prior art keywords
- calibration
- coordinate value
- rocker
- value
- horizontal axis
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011031 large-scale manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05G—CONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
- G05G23/00—Means for ensuring the correct positioning of parts of control mechanisms, e.g. for taking-up play
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
本发明公开了一种摇杆校准方法,方法包括:接收摇杆实测点的坐标值;确定坐标值所属的校准区域,调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值;该方法实时对接收到的实测点的坐标值利用其对应的校准区域的校准方程进行校准,以减小目标物实际位置和预想控制位置的偏差,从而在不增加硬件成本的基础上提升摇杆使用性能,提升用户体验;本发明还公开了一种摇杆校准装置、系统、摇杆及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本发明涉及电子机械技术领域,特别涉及一种摇杆校准方法、装置、系统、摇杆及计算机可读存储介质。
背景技术
摇杆广泛应用在游戏手柄,飞行控制器等需要获取坐标输入的场合。通过摇动摇杆可以控制人物或物体的任意移动。但是由于摇杆自身的差异性、摇杆的性能和产品的装配误差的原因,会造成摇杆在使用的时候目标物实际位置和预想控制位置有很大偏差。造成用户体验较差。
因此,如何对摇杆进行校准,以提升摇杆使用性能,提升用户体验,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种摇杆校准方法、装置、系统、摇杆及计算机可读存储介质,通过在使用过程中对实测点的坐标值进行校准,以提升摇杆使用性能,提升用户体验。
为解决上述技术问题,本发明提供一种摇杆校准方法,所述方法包括:
接收摇杆实测点的坐标值;
确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值。
可选的,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值,包括:
若所述坐标值的横轴坐标值处于横轴中心校准区域,则将所述横轴坐标值赋值为标准中心横轴坐标值;
若所述坐标值的纵轴坐标值处于纵轴中心校准区域,则将所述纵轴坐标值赋值为标准中心纵轴坐标值。
可选的,所述横轴中心校准区域和所述纵轴中心校准区域的确定方式,包括:
分别接收所述摇杆从行程左端释放后自由停止位置处对应的第一横轴坐标值以及从行程右端释放后自由停止位置处对应的第二横轴坐标值;
利用所述第一横轴坐标值和所述第二横轴坐标值形成横轴中心校准区域;
分别接收所述摇杆从行程上端释放后自由停止位置处对应的第一纵轴坐标值以及从行程下端释放后自由停止位置处对应的第二纵轴坐标值;
利用所述第一纵轴坐标值和所述第二纵轴坐标值形成纵轴中心校准区域。
可选的,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值,包括:
若所述坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到所述实测点的校准横轴坐标值X;
若所述坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到所述实测点的校准横轴坐标值X;
若所述坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到所述实测点的校准纵轴坐标值Y;
若所述坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到所述实测点的校准纵轴坐标值Y;
其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
可选的,所述横轴左端校准区域、横轴右端校准区域、纵轴上端校准区域以及纵轴下端校准区域的确定方式,包括:
分别接收所述摇杆在最左端位置处的横轴左端校准区域边界值、最右端位置处的横轴右端校准区域边界值、最上端位置处的纵轴上端校准区域边界值以及最下端位置处的纵轴下端校准区域边界值;
利用横轴左端校准区域边界值以及所述第一横轴坐标值形成横轴左端校准区域;
利用横轴右端校准区域边界值以及所述第二横轴坐标值形成横轴右端校准区域;
利用纵轴上端校准区域边界值以及所述第一纵轴坐标值形成纵轴上端校准区域;
利用纵轴下端校准区域边界值以及所述第二纵轴坐标值形成纵轴下端校准区域。
本发明还提供一种摇杆校准装置,所述装置包括:
接收模块,用于接收摇杆实测点的坐标值;
校准模块,用于确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值。
本发明还提供一种摇杆,包括:
摇杆主体,用于根据用户操作进行移动;
处理器,用于接收摇杆实测点的坐标值,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值。
本发明还提供一种摇杆校准系统,所述系统包括:上位机以及如上述所述的摇杆;其中,
所述上位机,用于根据获取的所述摇杆边界坐标值确定校准区域,并确定各所述校准区域对应的校准方程。
可选的,所述系统还包括:
手柄固定工位,用于固定所述摇杆。
可选的,所述系统还包括:
四向校准工装,用于将所述摇杆推到对应的边界位置。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述摇杆校准方法的步骤。
本发明所提供的一种摇杆校准方法,方法包括:接收摇杆实测点的坐标值;确定坐标值所属的校准区域,调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值。
可见,该方法对接收到的实测点的坐标值,利用其对应的校准区域的校准方程对实测点的坐标值进行校准,以减小目标物实际位置和预想控制位置的偏差,从而在不增加硬件成本的基础上提升摇杆使用性能,提升用户体验;本发明还提供了一种摇杆校准装置、系统、摇杆及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的摇杆校准方法的流程图;
图2为本发明实施例所提供的一种具体的横轴中心校准区域和纵轴中心校准区域的示意图;
图3为本发明实施例所提供的一种具体的校准区域的示意图;
图4为本发明实施例所提供的一种具体摇杆校准实施例示意图;
图5为本发明实施例所提供的摇杆校准装置的结构框图;
图6为本发明实施例所提供的摇杆的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的摇杆校准方法的流程图;该方法可以包括:
S100、接收摇杆实测点的坐标值。
S110、确定坐标值所属的校准区域,并调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值。
具体的,本实施例在用户对摇杆进行操作时获取实测点(即可以理解为摇杆在用户的操作下的运动的轨迹对应的点即为各个实测点,本实施例仅仅以一个实测点为例说明对实测点的校准过程,每个实测点都可以按照该方法进行校准。因此当每个实测点都进行校准后形成的轨迹也即校准后的轨迹)的坐标值。根据该坐标值即可以确定其对应的校准区域,并在确定校准区域后调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值。即最终的输出的是校准坐标值。
本实施例并不限定校准区域的数量。用户可以根据实际摇杆的硬件特点进行选择。例如第一种情况:现有的摇杆其结构设计可以是360度摇动,用户在停止操作摇杆时,摇杆在弹簧(或者其他弹性部件)的带动下,能够回到中心点,但是由于机械摩擦和每次回弹的速度,力度不一致,导致最终的中心点不一致(即不能够准确的回到最初始的中心点,例如停在最初始的中心点的附近),这样就会出现目标物实际位置和预想控制位置的偏差。这种偏差体现在游戏上就会造成用户体验较差,比如灵敏度比较高的跑酷游戏,有可能人物会向某个方向一直跑。而现有技术中仅依赖摇杆自身的机械回中,不做任何校准处理,这样导致摇杆的性能只能依赖摇杆自身的机械精度,对摇杆机械硬件要求高,增加了摇杆成本,且不利于大规模生产(因为需要对摇杆的机械精度进行验证等)。针对第一种情况,可以仅选取一个较准区域,即中心较准区域。例如第二种情况:由于摇杆自身的差异性、摇杆的性能和产品的装配误差的原因,会造成摇杆在使用的时候目标物实际位置和预想控制位置有较大偏差。针对第二种情况偏大较大的情况,可能需要设定多个校准区域,以便针对每种校准区域设定对应的校准方程来对该校准区域内的实测点的坐标值进行较准。
进一步本实施例也不限定校准区域的确定方法。用户可以根据实际情况进行确定。例如即便是同一批元件,每个元件也不会完全一致。因此每个摇杆的硬件组合后的实际效果也会存在或多或少的区别,因此用户即可以针对每个摇杆的实际情况,为每个摇杆设置其对应的校准区域;也可以是利用预定数量(并不对具体的预定数量的数值进行限定,其可以是由用户进行确定)样本摇杆,统计各个样本摇杆的校准区域,进而确定总体校准区域。比如,对5000个摇杆进行试验,根据正态分布统计试验结果,并确定最终的校准区域(本实施例并不对具体的统计方式进行限定)。当然用户也可以自己制定校准区域(例如可以参考统计结果,或者是对摇杆模拟使用的实验结果)。
对应的本实施例也不对校准方程的数量和校准方程本身进行限定。用户可以根据校准区域、对应的摇杆的硬件特性以及摇杆坐标进行设定。例如针对上述第一种情况,其主要是由于中心点的偏移造成的目标物实际位置和预想控制位置的偏差。因此,在确定了中心较准区域后,可以将属于中心校准区域中的所有位置的坐标都赋值为标准情况下的中心点坐标值,如利用四个方向回中的位置点,规划出一个内圈,强制作为一个中心点,如此一来可以有效规避机械精度不一致的情形,大大提高生产良率,同时提升消费者的体验。针对第二种情况,可以根据每个校准区域内产生目标物实际位置和预想控制位置存在偏差的原因,可以根据如何对坐标修正以减少或者克服该偏差,从而为每个校准区域设定对应的校准方程。
进一步,本实施例并不限定具体的执行主体,例如可以是摇杆中的处理器,也可以是与摇杆相连的上位机。其中,本实施例并不对摇杆的具体结构进行限定。例如摇杆的内部结构为两组垂直摆放的滑线变阻器,分别对应摇杆的X轴和Y轴输出。摇杆输出的物理量为坐标映射到电阻值变化。经过电路转换,可以将摇杆输出电阻变化转换为电压变化。经过单片机等处理器,可以将电压变化转换为ADC数值。
基于上述技术方案,本发明实施例提的摇杆校准方法,该方法对接收到的实测点的坐标值,利用其对应的校准区域的校准方程对实测点的坐标值进行校准,以减小目标物实际位置和预想控制位置的偏差,从而在不增加硬件成本的基础上提升摇杆使用性能,提升用户体验。
基于上述实施例,针对第一种情况时,确定坐标值所属的校准区域,并调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值可以包括:
若坐标值的横轴坐标值处于横轴中心校准区域,则将横轴坐标值赋值为标准中心横轴坐标值;
若坐标值的纵轴坐标值处于纵轴中心校准区域,则将纵轴坐标值赋值为标准中心纵轴坐标值。
具体的,横轴中心校准区域内所有的点的坐标值都会被赋值为中心横轴坐标值,纵轴中心校准区域内所有的点的坐标值都会被赋值为中心纵轴坐标值。例如摇杆左右摆动定义为X轴,假设其值的范围是1-9,上下摆动摆动定义为Y轴,假设其值的范围是1-9,理想情况下,X轴的中心值应为5,Y轴的中心值应为5,即标准中心横轴坐标值为5,标准中心纵轴坐标值为5。若坐标值的横轴坐标值处于横轴中心校准区域(例如在4到6之间),则将横轴坐标值赋值为标准中心横轴坐标值X=128;坐标值的纵轴坐标值处于纵轴中心校准区域(例如在4到6之间),则将纵轴坐标值赋值为标准中心纵轴坐标值Y=128。又例如当摇杆的实际坐标设置形式为摇杆X轴输出坐标范围0-255,摇杆Y轴输出坐标范围0-255时,理论上摇杆自由状态下位置坐标为X,Y=(128,128)即标准中心横轴坐标值为128,标准中心纵轴坐标值为128。若坐标值的横轴坐标值处于横轴中心校准区域,则将横轴坐标值赋值为标准中心横轴坐标值X=128;坐标值的纵轴坐标值处于纵轴中心校准区域,则将纵轴坐标值赋值为标准中心纵轴坐标值Y=128。即本实施例并不对具体的标准中心横轴坐标值和标准中心纵轴坐标值的数值进行限定,其可以根据实际摇杆坐标的设置情况进行确定。即摇杆在设定坐标系下的实际中心点对应的横轴坐标和纵轴坐标。
进一步,本实施例并不对横轴中心校准区域和纵轴中心校准区域的长度数值以及两者之间的长度是否相同进行限定。两者的区域大小一致例如例子中所说的都是4到6之间,也可以是一个为4到6之间,一个为3到7之间等。本实施例也不限定该横轴中心校准区域和纵轴中心校准区域是否需要相对于中心点对称。可以根据摇杆的实际情况进行确定,一般情况下可以设置为对称的。例如当中心点的横坐标为5时,横轴中心校准区域可以是[4,6];中心点的纵坐标为5时,纵轴中心校准区域可以是[4,6]。具体可以参考图2,提供了一种具体的横轴中心校准区域和纵轴中心校准区域的示意图。
用户可以根据摇杆的实际情况确定横轴中心校准区域和纵轴中心校准区域。优选的,本实施例提供一种具体的横轴中心校准区域和纵轴中心校准区域的确定方式。该步骤的执行主体可以是上位机,即上位机连接带校准摇杆,来确定其横轴中心校准区域以及纵轴中心校准区域。具体确定过程可以如下:
分别接收摇杆从行程左端释放后自由停止位置处对应的第一横轴坐标值以及从行程右端释放后自由停止位置处对应的第二横轴坐标值;
利用第一横轴坐标值和第二横轴坐标值形成横轴中心校准区域;
分别接收摇杆从行程上端释放后自由停止位置处对应的第一纵轴坐标值以及从行程下端释放后自由停止位置处对应的第二纵轴坐标值;
利用第一纵轴坐标值和第二纵轴坐标值形成纵轴中心校准区域。
具体的,本实施例通过获取摇杆在四方向上回中的位置点对应的坐标值,确定横轴中心校准区域以及纵轴中心校准区域。可以理解为将四个方向回中的位置点,规划出一个内圈,强制作为一个中心点,即通过该校准区域的设定来有效规避机械精度不一致的情形,大大提高生产良率,同时提升消费者的体验。即克服了现有技术中摇杆回归中心点依赖于机械精度,比较难以控制,且由此造成的生产组装时良率一般,不利于大规模生产的缺点。
本实施例并不限定摇杆如何到达行程左端。例如可以是有技术人员将其推至行程左端,或者是由四向校准工装将其推至行程左端。本实施例也不限定行程左端的具体位置,可以由用户自己设定或修改。例如将形成最左端作为行程左端,也可以将距离最左端预设距离范围内的区域均可以作为行程左端。一般情况下可以选择最左端作为行程左端。同理,本实施例并不限定摇杆如何到达行程右端、上端和下端。本实施例也不限定行程右端、上端和下端的具体位置。下面以各端的极限情况说明上述过程即:
将摇杆推到行程最上方然后回中;将摇杆推到行程最下方然后回中;将摇杆推到行程最左方然后回中;将摇杆推到行程最右方然后回中;上位机记录4个回中位置处的ADC值。本实施例并不限定记录第一横轴坐标值、第二横轴坐标值、第一纵轴坐标值和第二纵轴坐标值的顺序。
进一步,为了保证推动摇杆的力度一致,可以使用四向校准工装来推动摇杆。进一步,为了保证记录的摇杆的回中的位置的准确性,可以将摇杆固定后执行推动回中的过程。例如利用手柄固定工位将摇杆固定,以确保摇杆在校准过程中,手柄不会有位移。下面以四向校准工装、手柄固定工位以及获取摇杆数据的上位机三者来说明上述校准区域的获取过程:
首先将摇杆固定在手柄固定工位;然后利用四向校准工装将摇杆推到上方,然后回中,推到下方,然后回中,推到左方,然后回中,推到右方,然后回中。上位机一直在线获取每次回中的数值;上位机根据4个回中值,计算出内圈范围。即确定横轴中心校准区域以及纵轴中心校准区域。进一步,利用该方法还可以限定摇杆的其他校准区域,例如摇杆外圈区域(摇杆外边界区域)。
进一步,当为多个摇杆设定横轴中心校准区域以及纵轴中心校准区域时,可以根据最终设定的横轴中心校准区域以及纵轴中心校准区域来排除出厂前的不良品。即,当横轴中心校准区域以及纵轴中心校准区域是通过对同一种多个摇杆进行试验,并根据实验数据统计获得的,那么在确定横轴中心校准区域以及纵轴中心校准区域后,之后在进行校准时,若出现摇杆回中时不能处于横轴中心校准区域或纵轴中心校准区域,则认定是不良品。即以图2为例,若出厂前检测到某个摇杆回中时,横轴坐标值为3,则认为其是不良品;或者是横轴坐标值为7,则认为其是不良品。
当然摇杆出厂后,随着用户的使用,可能还会出现进一步偏离横轴中心校准区域或纵轴中心校准区域的情况,此时用户也可以选择重新确定横轴中心校准区域以及纵轴中心校准区域。具体确定方法可以参照本实施例。
优选的,用户可以参照上述横轴中心校准区域以及纵轴中心校准区域确定形式,选择仅仅确定摇杆的边界校准区域。并确定边界校准区域对应的校准方程。
基于上述技术方案,本发明实施例提的摇杆校准方法,该方法对接收到的实测点的坐标值,利用其对应的横轴中心校准区域以及纵轴中心校准区域的校准方程对实测点的坐标值进行校准,以减小目标物实际位置和预想控制位置的偏差,从而在不增加硬件成本的基础上提升摇杆使用性能,提升用户体验。
基于上述实施例,针对第二种情况,确定坐标值所属的校准区域,并调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值可以包括:
若坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到实测点的校准横轴坐标值X;
若坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到实测点的校准横轴坐标值X;
若坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到实测点的校准纵轴坐标值Y;
若坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到实测点的校准纵轴坐标值Y;
其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
下面请参考图3,以具体例子说明上述过程:该例子中摇杆的理论状态为摇杆X轴输出坐标范围0-255;摇杆Y轴输出坐标范围0-255;摇杆自由状态下位置坐标为X,Y=(128,128);即根据校准要求,摇杆处于行程区域最左端时X轴坐标为0,处于行程区域最右端时X轴坐标为255,处于行程区域最上端时Y轴坐标为0,处于行程区域最下端时Y轴坐标为255。摇杆处于中心区域时X,Y=(128,128)。XADC_B、XADC_C、YADC_D、YADC_E分别表示BCDE四个点X轴或Y轴ADC数值即第一横轴坐标值、第二横轴坐标值、第一纵轴坐标值以及第二纵轴坐标值。如果已知摇杆当前的ADC坐标(Xadc,Yadc),可以通过如下公式得出摇杆校准后的坐标(X,Y)。
当XADCmin≤Xadc<XADC_B
X=(Xadc-XADCmin)×128÷(XADC_B-XADCmin)
当XADC_B≤Xadc≤XADC_C
X=128
当XADC_C<Xadc≤XADCmax
X=(Xadc-XADC_C)×127÷(XADCmax-XADC_C)+128
当YADCmin≤Yadc<YADC_D
Y=(Yadc-YADCmin)×128÷(YADC_D-YADCmin)
当YADC_D≤Yadc≤YADC_E
Y=128
当YADC_E<Yadc≤YADCmax
Y=(Yadc-YADC_E)×127÷(YADCmax-YADC_E)+128
求出的实测点的校准横轴坐标值X以及实测点的校准纵轴坐标值Y,即为校准后需要输出的该实测点的坐标值。
具体的,根据上述实施例中的论述,本实施例中也不对上述四个校准区域的长度数值以及两者之间的长度是否相同进行限定。
用户可以根据摇杆的实际情况确定上述四个校准区域(即横轴左端校准区域、横轴右端校准区域、纵轴上端校准区域以及纵轴下端校准区域)。优选的,本实施例提供一种具体的确定方式。该步骤的执行主体可以是上位机,即上位机连接带校准摇杆,来确定上述四个校准区域。具体确定过程可以如下:
分别接收摇杆在最左端位置处的横轴左端校准区域边界值、最右端位置处的横轴右端校准区域边界值、最上端位置处的纵轴上端校准区域边界值以及最下端位置处的纵轴下端校准区域边界值;
利用横轴左端校准区域边界值以及第一横轴坐标值形成横轴左端校准区域;
利用横轴右端校准区域边界值以及第二横轴坐标值形成横轴右端校准区域;
利用纵轴上端校准区域边界值以及第一纵轴坐标值形成纵轴上端校准区域;
利用纵轴下端校准区域边界值以及第二纵轴坐标值形成纵轴下端校准区域。
具体的,本实施例获取摇杆在四方向上行程最远处的位置点对应的坐标值,以及摇杆在四方向上回中的位置点对应的坐标值,确定上述四个校准区域。例如图3中的Xmin、Xmax、Ymin以及Ymax也即X轴ADC最小值XADCmin和最大值XADCmax,Y轴ADC最小值YADCmin和最大值YADCmax。本实施例并不限定如何获取上述四个边界极值。例如请参考图2可以是从A点开始,把摇杆依照最大边际旋转一周,期间一直采集X轴和Y轴ADC数值。可以得出X轴ADC最小值XADCmin和最大值XADCmax,Y轴ADC最小值YADCmin和最大值YADCmax。四个中心边界四个数值可以参上上述实施例的获取方式,例如把摇杆从中心区域掰到行程最左端Xmin,然后缓慢释放,让摇杆自由回到位置点B,点B就是中心区域最左端,同理可得出中心区域最右端C,最上端D,最下端E。
当然摇杆出场后,随着用户的使用,可能还会出现进一步偏离上述四个校准区域的情况,此时用户也可以选择重新确定上述四个校准区域。具体确定方法可以参照本实施例。上述校准区域的确定过程的执行主体可以是上位机。
下面请参考图4,说明上述校准过程。以图4中对应数值为摇杆的实际测量ADC数值。
当摇杆处于自由状态时,摇杆的ADC坐标实测为(Xadc,Yadc)=(1834,1730)。根据条件应该将Xadc,Yadc分别带入公式X=128和Y=128。可得摇杆校准后的坐标(X,Y)=(128,128)。此坐标满足摇杆处于自由状态下坐标输出为(128,128)的要求。当把摇杆掰到最左侧时,摇杆的ADC坐标实测为(Xadc,Yadc)=(520,1740)。根据条件应将Xadc带入公式X=(Xadc-XADCmin)×128÷(XADC_B-XADCmin),Yadc带入公式Y=128。计算结果如下:
X=(520-520)×128÷(1665-520)=0
Y=128
可得校准后坐标为(0,128),与目标值一致。可以得出,本实施例在应用摇杆校准方面是可行的。
基于上述技术方案,本发明实施例提的摇杆校准方法,该方法对接收到的实测点的坐标值,利用其对应的校准区域的校准方程对实测点的坐标值进行校准,以减小目标物实际位置和预想控制位置的偏差。即本实施例利用双圆形区域校准,包括摇杆最大行程区域校准和中心点区域校准。应用该方法校准的摇杆,输出性能参数可以得到更高的提升。尤其对于自身性能差的摇杆,本实施例更能突显优势。从而在不增加硬件成本的基础上提升摇杆使用性能,提升用户体验。纠正由于摇杆自身差异性、性能不好和装配误差所造成摇杆输出坐标不符合预期的问题。
下面对本发明实施例提供的摇杆校准装置、系统、摇杆及计算机可读存储介质进行介绍,下文描述的摇杆校准装置、系统、摇杆及计算机可读存储介质与上文描述的摇杆校准方法可相互对应参照。
请参考图5,图5为本发明实施例所提供的摇杆校准装置的结构框图;该装置可以包括:
接收模块100,用于接收摇杆实测点的坐标值;
校准模块200,用于确定坐标值所属的校准区域,并调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值。
基于上述实施例,该校准模块200包括:
中心校准单元,用于若所述坐标值的横轴坐标值处于横轴中心校准区域,则将所述横轴坐标值赋值为标准中心横轴坐标值;若所述坐标值的纵轴坐标值处于纵轴中心校准区域,则将所述纵轴坐标值赋值为标准中心纵轴坐标值。
边界校准单元,用于若所述坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到所述实测点的校准纵轴坐标值Y;若所述坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到所述实测点的校准纵轴坐标值Y;
其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
需要说明的是,基于上述任意实施例,该装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括FPGA,CPLD,单片机等。
请参考图6,图6为本发明实施例所提供的摇杆的结构框图;该摇杆可以包括:
摇杆主体300,用于根据用户操作进行移动;
处理器400,用于接收摇杆实测点的坐标值,确定坐标值所属的校准区域,并调用校准区域对应的校准方程对坐标值进行校准得到实测点的校准坐标值。
本发明还提供一种摇杆校准系统,该系统可以包括:上位机以及上述实施例所述的摇杆;其中,
上位机,用于根据获取的摇杆边界坐标值确定校准区域,并确定各校准区域对应的校准方程。
基于上述实施例,该系统还可以包括:
手柄固定工位,用于固定摇杆。
基于上述任意实施例,该系统还可以包括:
四向校准工装,用于将摇杆推到对应的边界位置。
本发明该提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例摇杆校准方法的步骤。
其中,计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种摇杆校准方法、装置、系统、摇杆及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种摇杆校准方法,其特征在于,所述方法包括:
接收用户对摇杆进行操作时获取的摇杆实测点的坐标值;
确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值;
其中,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值,包括:
若所述坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到所述实测点的校准横轴坐标值X;
若所述坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到所述实测点的校准横轴坐标值X;
若所述坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到所述实测点的校准纵轴坐标值Y;
若所述坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到所述实测点的校准纵轴坐标值Y;
其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
2.根据权利要求1所述的方法,其特征在于,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值,包括:
若所述坐标值的横轴坐标值处于横轴中心校准区域,则将所述横轴坐标值赋值为标准中心横轴坐标值;
若所述坐标值的纵轴坐标值处于纵轴中心校准区域,则将所述纵轴坐标值赋值为标准中心纵轴坐标值。
3.根据权利要求2所述的方法,其特征在于,所述横轴中心校准区域和所述纵轴中心校准区域的确定方式,包括:
分别接收所述摇杆从行程左端释放后自由停止位置处对应的第一横轴坐标值以及从行程右端释放后自由停止位置处对应的第二横轴坐标值;
利用所述第一横轴坐标值和所述第二横轴坐标值形成横轴中心校准区域;
分别接收所述摇杆从行程上端释放后自由停止位置处对应的第一纵轴坐标值以及从行程下端释放后自由停止位置处对应的第二纵轴坐标值;
利用所述第一纵轴坐标值和所述第二纵轴坐标值形成纵轴中心校准区域。
4.根据权利要求1所述的方法,其特征在于,所述横轴左端校准区域、横轴右端校准区域、纵轴上端校准区域以及纵轴下端校准区域的确定方式,包括:
分别接收所述摇杆在最左端位置处的横轴左端校准区域边界值、最右端位置处的横轴右端校准区域边界值、最上端位置处的纵轴上端校准区域边界值以及最下端位置处的纵轴下端校准区域边界值;
利用横轴左端校准区域边界值以及所述第一横轴坐标值形成横轴左端校准区域;
利用横轴右端校准区域边界值以及所述第二横轴坐标值形成横轴右端校准区域;
利用纵轴上端校准区域边界值以及所述第一纵轴坐标值形成纵轴上端校准区域;
利用纵轴下端校准区域边界值以及所述第二纵轴坐标值形成纵轴下端校准区域。
5.一种摇杆校准装置,其特征在于,所述装置包括:
接收模块,用于接收用户对摇杆进行操作时获取的摇杆实测点的坐标值;
校准模块,用于确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值;
其中,所述校准模块,包括:
边界校准单元,用于若所述坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到所述实测点的校准纵轴坐标值Y;若所述坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到所述实测点的校准纵轴坐标值Y;
其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
6.一种摇杆,其特征在于,包括:
摇杆主体,用于根据用户操作进行移动;
处理器,用于接收用户对摇杆进行操作时获取的摇杆实测点的坐标值,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值;其中,确定所述坐标值所属的校准区域,并调用所述校准区域对应的校准方程对所述坐标值进行校准得到所述实测点的校准坐标值,包括:若所述坐标值的横轴坐标值Xadc处于横轴左端校准区域,则调用校准方程X=(Xadc-XADCmin)×G÷(XADC_B-XADCmin)进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的横轴坐标值Xadc处于横轴右端校准区域,则调用校准方程X=(Xadc-XADC_C)×(G-1)÷(XADCmax-XADC_C)+G进行校准得到所述实测点的校准横轴坐标值X;若所述坐标值的纵轴坐标值Yadc处于纵轴上端校准区域,则调用校准方程Y=(Yadc-YADCmin)×G÷(YADC_D-YADCmin)进行校准得到所述实测点的校准纵轴坐标值Y;若所述坐标值的纵轴坐标值Yadc处于纵轴下端校准区域,则调用校准方程Y=(Yadc-YADC_E)×(G-1)÷(YADCmax-YADC_E)+G进行校准得到所述实测点的校准纵轴坐标值Y;其中,XADCmin为横轴左端校准区域边界值,XADC_B为第一横轴坐标值,G为标准中心横轴坐标值;XADCmax为横轴右端校准区域边界值,XADC_C为第二横轴坐标值;YADCmin为纵轴上端校准区域边界值,YADC_D为第一纵轴坐标值,YADCmax为纵轴下端校准区域边界值,YADC_E为第二纵轴坐标值。
7.一种摇杆校准系统,其特征在于,所述系统包括:上位机以及如权利要求6所述的摇杆;其中,
所述上位机,用于根据获取的所述摇杆边界坐标值确定校准区域,并确定各所述校准区域对应的校准方程。
8.根据权利要求7所述的系统,其特征在于,还包括:
手柄固定工位,用于固定所述摇杆。
9.根据权利要求8所述的系统,其特征在于,还包括:
四向校准工装,用于将所述摇杆推到对应的边界位置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述摇杆校准方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711238538.6A CN108008759B (zh) | 2017-11-30 | 2017-11-30 | 摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711238538.6A CN108008759B (zh) | 2017-11-30 | 2017-11-30 | 摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108008759A CN108008759A (zh) | 2018-05-08 |
CN108008759B true CN108008759B (zh) | 2020-05-22 |
Family
ID=62055277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711238538.6A Active CN108008759B (zh) | 2017-11-30 | 2017-11-30 | 摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108008759B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109470499B (zh) * | 2018-10-11 | 2020-08-11 | 歌尔股份有限公司 | 摇杆校准测试工装、系统和方法 |
CN110597350B (zh) * | 2019-10-22 | 2021-07-30 | 深圳市道通智能航空技术股份有限公司 | 一种摇杆校准方法、装置及遥控装置 |
CN112800571B (zh) * | 2019-11-14 | 2024-07-05 | 广州极飞科技股份有限公司 | 摇杆回中死区确定方法、摇杆回中确定方法及相关装置 |
CN110960851B (zh) * | 2019-12-26 | 2024-06-21 | 东莞东聚电子电讯制品有限公司 | 一种游戏手柄摇杆自动校准机构及其校准方法 |
CN114588623A (zh) * | 2022-03-22 | 2022-06-07 | 深圳市七熊科技有限公司 | 一种摇杆的边界与中心点校准方法及系统 |
CN114849227A (zh) * | 2022-04-22 | 2022-08-05 | 深圳市七熊科技有限公司 | 一种摇杆数据纠正圆形的方法及系统 |
CN115738233B (zh) * | 2022-11-11 | 2024-02-06 | 广州小鸡快跑网络科技有限公司 | 一种游戏手柄的摇杆校准测试方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201267713Y (zh) * | 2008-07-29 | 2009-07-08 | 曹思明 | 一种枪型多功能游戏输入手柄 |
CN104215439B (zh) * | 2013-06-04 | 2017-01-25 | 名硕电脑(苏州)有限公司 | 摇杆中心点校正方法 |
CN106621318B (zh) * | 2016-12-30 | 2019-11-29 | 大连大学 | 一种基于传感器mpu6050采集信号的手柄摇杆系统和方法 |
CN107137925A (zh) * | 2017-06-11 | 2017-09-08 | 吴昊阳 | 一种游戏手柄系统及其控制方法 |
-
2017
- 2017-11-30 CN CN201711238538.6A patent/CN108008759B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108008759A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108008759B (zh) | 摇杆校准方法、装置、系统、摇杆及计算机可读存储介质 | |
CN103018651B (zh) | 用于mems器件的在片测试系统及其测试方法 | |
CN101784862B (zh) | 试样的表面形状的测定方法及装置 | |
CN108287633A (zh) | 一种压力传感器的校准方法及装置 | |
CN107181489A (zh) | 一种模数转换校准方法及装置 | |
CN108010558A (zh) | 一种存储器的信号完整性测试方法 | |
CN109218136B (zh) | Wifi连接性能测试方法、装置、计算机设备和存储介质 | |
CN102608519B (zh) | 基于节点信息的电路故障诊断方法 | |
CN110174922B (zh) | 一种hsi时钟频率的校准方法和装置 | |
CN104931785B (zh) | 一种基于众数法的pcb特性阻抗的测试方法 | |
CN111679600B (zh) | 控制系统的比较方法、控制终端和计算机可读存储介质 | |
CN103234700A (zh) | 快速测量被测物体转动惯量的方法 | |
JP6697850B2 (ja) | ゴルフボールの弾道予測方法、ゴルフボールの弾道予測装置及びゴルフクラブの選定方法 | |
JP6697851B2 (ja) | ゴルフボールの弾道予測方法、ゴルフボールの弾道予測装置及びゴルフクラブの選定方法 | |
CN106474704B (zh) | 校正方法与运动器材 | |
CN116088553A (zh) | 一种机器人的弹跳控制方法、装置、介质、电子设备 | |
JP6197261B2 (ja) | 測定機の校正方法及びその装置 | |
CN108039189A (zh) | 一种存储器的信号完整性测试方法 | |
CN104101418A (zh) | 一种电子分析天平微量加载与漂移判别方法 | |
CN205049594U (zh) | 一种水流流速测量装置 | |
CN208432199U (zh) | 一种新型孔径检测治具、孔径测量高度规 | |
CN109143020B (zh) | 一种pcb板测试方法、装置及测试设备 | |
CN108303713A (zh) | 一种参考站稳定性的自动检验方法 | |
CN109297691A (zh) | 一种烟机参数的检测设备及方法 | |
CN113447045B (zh) | 一种惯性系统精度可靠度分析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |