一种虚拟仪表指针旋转控制方法及装置与流程

文档序号:11133090阅读:838来源:国知局
一种虚拟仪表指针旋转控制方法及装置与制造工艺

本发明涉及汽车虚拟仪表技术领域,尤其涉及一种虚拟仪表指针旋转控制方法及装置。



背景技术:

随着计算机技术的发展,虚拟仪表在汽车行业中也得到了广泛的运用。由于虚拟仪表的外观可定制和组合,所以汽车虚拟仪表越来越受到众多车厂的青睐,成为当前国内汽车仪表发展的趋势。在虚拟仪表中速度表和转速表是整个仪表盘的核心,它们的指示方式通常是模拟指针式的机械仪表来指示当前的速度值和转速值,所以虚拟仪表中的速度表和转速表中的虚拟UI指针的旋转方式直接关系到整个虚拟仪表效果。

受限于虚拟仪表平台硬件资源配置,虚拟UI指针的旋转方式通常都是采用匀速的方式进行旋转或者是根据当前采集到的数值,然后给定一个角度值,直接把UI指针旋转到仪表表盘给定角度值所在的位置,如图1、图2所示,图1表示经过多步均匀地旋转到指定位置,图2表示一步旋转到指定位置,这两种UI指针旋转方式不像机械仪表那样通过驱动步进电机来带动仪表指针经过加减速过程到达指定位置,所以达不到指针旋转平滑连续性需求。并且上述两种UI指针旋转方式让驾驶员在观察仪表时,感觉不到车速或转速那种变化趋势,导致虚拟仪表盘的整体显示效果不佳。



技术实现要素:

本发明提供一种虚拟仪表指针旋转控制方法及装置,旨在解决现有技术中的缺陷,实现提高虚拟仪表整体显示效果。

为达到上述目的,本发明所采取的技术方案为:

本发明一方面提供一种虚拟仪表指针旋转控制方法,包括:

S1、确定指针旋转角度θ;

S2、根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列;

S3、指针根据旋转角度值序列旋转至目标角度。

具体地,所述步骤S2包括:

S201、确定指针旋转步数n;

S202、确定拐点角度值θinf

S203、确定拐点步数ninf

S204、根据预设关系式计算旋转角度值序列。

具体地,所述拐点角度值θinf=(θmovstart)/2,其中,θmov为UI指针旋转的最大角度值,θstart为启动旋转角度值。

具体地,所述拐点步数其中n为指针旋转步数,θinf为拐点角度值,θstart为启动旋转角度值。

具体地,所述步骤S204包括:

a)当步数序号k≤ninf时,通过下列式子来计算:

b)当步数序号k>ninf时,通过下列式子来计算:

其中,

本发明另一方面提供一种虚拟仪表指针旋转控制装置,包括车速获取模块、旋转角度确定模块、角度离散模块、指针驱动模块;

所述车速获取模块,用于获取仪表盘的车速指示数值;

所述旋转角度确定模块,用于根据相应比例将车速指示数值转化为指针旋转的角度值;

所述角度离散模块,用于根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列;

所述指针驱动模块,用于根据旋转角度值序列驱动指针旋转;

所述角度离散模块包括旋转步数设置模块、拐点角度确定模块、拐点步数确定模块、旋转角度值序列计算模块;

所述旋转步数设置模块,用于设置指针旋转步数;

所述拐点角度确定模块,用于确定拐点角度值;

所述拐点步数确定模块,用于确定拐点步数;

所述旋转角度值序列计算模块,用于根据预设关系式计算旋转角度值序列。

具体地,所述拐点角度确定模块根据下面的式子来确定拐点角度值θinf

θinf=(θmovstart)/2

其中,θmov为UI指针旋转的最大角度值,θstart为启动旋转角度值。

具体地,所述拐点步数确定模块根据下面的式子来确定拐点步数ninf

其中,指针旋转步数n、指针旋转的最大角度值θmov、启动旋转角度值θstart确定。

具体地,所述旋转角度值序列计算模块根据下列预设关系式计算旋转角度值序列:

a)当步数序号k≤ninf时,通过下列式子来计算:

b)当步数序号k>ninf时,通过下列式子来计算:

其中,

本发明的有益效果在于:本发明在虚拟仪表指针加减速旋转过程中利用S型曲线求得各个步数的旋转角度值进行旋转控制,克服了通常UI指针旋转方式带来的缺点,能够获得UI指针旋转平滑连续的需求,使虚拟仪表展现出来的显示效果更佳。

附图说明

图1是现有虚拟仪表指针旋转方法示意图;

图2是现有虚拟仪表指针旋转方法另一示意图;

图3是本发明的虚拟仪表指针旋转控制的方法流程图;

图4是本发明的角度曲线离散化示意图;

图5是本发明的角度离散化流程图;

图6是本发明的虚拟仪表指针旋转控制的结构示意图;

图7是本发明的虚拟仪表指针旋转控制的另一结构示意图。

具体实施方式

下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。

如图3所示,本发明的实施例一方面提供一种虚拟仪表指针旋转控制方法,包括:

步骤1、确定指针旋转角度θ。

指针旋转角度θ可以通过车身CAN获取仪表盘的车速指示数值,再根据相应比例将车速指示数值转化为指针旋转的角度值。例如,读取的车速指示数值为60km/h,需要将指针旋转30度。

步骤2、根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列。

S型曲线是一种运动控制方法,它是由被控对象的加减速阶段速度呈S型而得来。S型曲线的核心思想是让加速度不产生突变,从而使被控对象的速度控制具有快速、平稳的特性。

根据虚拟仪表特性,UI指针最底层旋转操作是获取旋转角度值,再通过相应的旋转函数来驱动UI指针旋转,所以要实现UI指针模拟S型曲线加减速旋转,必须将旋转角度θ按照S型加减速曲线离散化为多个旋转角度值序列θk。根据S型曲线算法原理,角度加减速阶段曲线离散化如图4所示,其中θ为旋转角度,n为旋转步数。

具体地,如图5所示,对旋转角度θ进行离散化的步骤包括:

步骤201、确定指针旋转步数n。

指针旋转步数n需要根据具体设计因素来确定,包括指针旋转速度的快慢、执行一次UI指针旋转的时间和UI指针指示值的更新频率等因素来确定。

步骤202、确定拐点角度值θinf

具体地,拐点角度值θinf=(θmovstart)/2,其中,θmov为UI指针旋转的最大角度值,θstart为启动旋转角度值。

步骤203、确定拐点步数ninf

具体地,拐点步数其中n为指针旋转步数,θinf为拐点角度值,θstart为启动旋转角度值。

步骤204、根据预设关系式计算旋转角度值序列。

具体地,根据第一预设关系式计算第一组旋转角度值序列θ1k,根据第二预设关系式计算第二组旋转角度值序列θ2k

其中,

步骤3、指针根据旋转角度值序列旋转至目标角度。

上述步骤仅描述了指针由初始速度加速旋转到匀速的过程,由于在S曲线中,指针由速度减速旋转到初始速度的过程与之对称,因此不再赘述。

UI指针在加减速旋转过程中利用S型曲线求得各个步数的旋转角度值进行旋转控制,克服了通常UI指针旋转方式带来的缺点,能够获得UI指针旋转平滑连续的需求,使虚拟仪表展现出来的显示效果更佳。

如图6、图7所示,本发明另一方面提供一种虚拟仪表指针旋转控制装置,包括车速获取模块、旋转角度确定模块、角度离散模块、指针驱动模块;

所述车速获取模块,用于获取仪表盘的车速指示数值;

所述旋转角度确定模块,用于根据相应比例将车速指示数值转化为指针旋转的角度值;

所述角度离散模块,用于根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列;

所述指针驱动模块,用于根据旋转角度值序列驱动指针旋转。

所述角度离散模块包括旋转步数设置模块、拐点角度确定模块、拐点步数确定模块、旋转角度值序列计算模块;

所述旋转步数设置模块,用于设置指针旋转步数;

所述拐点角度确定模块,用于确定拐点角度值;

所述拐点步数确定模块,用于确定拐点步数;

所述旋转角度值序列计算模块,用于根据预设关系式计算旋转角度值序列。

本发明的虚拟仪表指针旋转控制装置的工作过程为:

首先,车速获取模块通过车身CAN获取仪表盘的车速指示数值(例如60km/h),旋转角度确定模块再根据相应比例将车速指示数值转化为指针旋转的角度值(例如30度)。然后,角度离散模块根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列。最后,指针驱动模块根据所述旋转角度值序列驱动指针旋转到达目标位置处。

具体地,所述角度离散模块根据S型曲线对旋转角度θ进行离散化,得到旋转角度值序列的工作过程为:

旋转步数设置模块根据指针旋转速度的快慢、执行一次UI指针旋转的时间和UI指针指示值的更新频率等因素确定指针旋转步数n;

拐点角度确定模块根据指针旋转的最大角度值θmov、启动旋转角度值θstart确定拐点角度,具体来说,是通过下面的式子来确定:

θinf=(θmovstart)/2

拐点步数确定模块模块根据指针旋转步数n、指针旋转的最大角度值θmov、启动旋转角度值θstart确定拐点步数ninf,具体来说,是通过下面的式子来确定:

然后,旋转角度值序列计算模块根据预设关系式计算旋转角度值序列,具体来说,分为如下两种情况:

a)当步数序号k≤ninf时,通过下列式子来计算:

b)当步数序号k>ninf时,通过下列式子来计算:

其中,

通过上述装置,UI指针在加减速旋转过程中利用S型曲线求得各个步数的旋转角度值进行旋转控制,克服了通常UI指针旋转方式带来的缺点,能够获得UI指针旋转平滑连续的需求,使虚拟仪表展现出来的显示效果更佳。

以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1