合页角度的检测方法及相关设备与流程
未命名
09-22
阅读:64
评论:0
合页角度的检测方法及相关设备
1.本技术为申请日为2021年11月19日,申请号为202111398160.2,发明创造名称为“合页角度的检测方法及相关设备”的分案申请。
技术领域
2.本技术涉及折叠屏技术领域,尤其涉及一种合页角度的检测方法及相关设备。
背景技术:
3.随着折叠屏技术逐渐成熟,市面上的折叠屏手机也越来越多。为了提高用户使用折叠屏手机时的体验,许多开发人员开发了与折叠屏技术相关联的一系列功能。例如,设计了折叠屏手机展开后自适应大屏显示播放视频的功能等等。
4.然而,在实现这一系列功能的过程中,往往需要获取到当前折叠屏手机的合页角度,以确定出当前折叠屏手机的姿态。因此,现有的折叠屏手机具有获取准确的合页角度的需求。
技术实现要素:
5.本技术提供了一种合页角度的检测方法及相关设备,目的在于获取准确的合页角度。
6.为了实现上述目的,本技术提供了以下技术方案:
7.第一方面,本技术公开了一种合页角度的检测方法,应用于可折叠的电子设备,可折叠的电子设备的折叠屏包括第一屏和第二屏,合页角度的检测方法包括:确定电子设备的运动状态、以及公共轴与水平面的相对位置。其中,公共轴为折叠屏的折叠边所在的轴线。然后根据运动状态和相对位置,确定出目标算法。其中,目标算法,包括:加速度传感器算法、陀螺仪传感器算法、或者融合算法。其中融合算法为融合加速度传感器的数据和陀螺仪传感器的数据,计算出合页角度的算法。最后使用确定出的目标算法,计算电子设备的合页角度。其中,合页角度为第一屏和第二屏之间的夹角。
8.本技术的合页角度的检测方法,通过确定出的可折叠的电子设备的运动状态、以及公共轴与水平面的相对位置关系,确定出了目标算法,进而使用目标算法来计算合页角度,能得到更为准确的合页角度。本技术实施例在检测合页角度的过程中,考虑到了运动状态以及折叠屏的公共轴与水平面的相对位置关系,对不同算法计算合页角度的准确度的影响,进而可计算出更为准确的合页角度,优化了电子设备中需要使用到合页角度的功能。
9.在一种可能的实现方式中,电子设备的运动状态包括:处于静止状态或不处于静止状态。公共轴与水平面的相对位置包括:公共轴垂直于水平面或者公共轴不垂直于水平面。
10.在另一种可能的实现方式中,根据运动状态和相对位置,确定出目标算法,包括:若电子设备处于静止状态,则将加速度传感器算法确定为目标算法。若电子设备不处于静止状态、且公共轴不垂直于水平面,则将融合算法,或者陀螺仪传感器算法确定,确定为目
标算法。若电子设备不处于静止状态、且公共轴垂直于水平面,则将陀螺仪传感器算法确定为目标算法。
11.在另一种可能的实现方式中,确定电子设备的运动状态,包括:若电子设备的加速度向量的模长与重力加速度之间的差值小于或等于第一预设值,则认为加速度向量的模长与重力加速度的值接近,确定出电子设备的运动状态为静止状态。若加速度向量的模长与重力加速度之间的差值大于第一预设值,则认为加速度向量的模长与重力加速度的值不接近,确定出电子设备的运动状态为不处于静止状态。
12.在另一种可能的实现方式中,确定公共轴与水平面的相对位置,包括:若加速度向量在公共轴上的分量与重力加速度之间的差值小于或等于第一预设值,则认为加速度向量在公共轴上的分量接近于重力加速度,确定出公共轴垂直于水平面。若加速度向量在公共轴上的分量与重力加速度之间的差值大于第一预设值,则认为加速度向量在公共轴上的分量不接近于重力加速度,确定出公共轴不垂直于水平面。
13.在另一种可能的实现方式中,使用确定出的目标算法,计算电子设备的合页角度,包括:若确定出合页角度发生变化,则使用确定出的目标算法,计算电子设备的合页角度。
14.在另一种可能的实现方式中,确定出合页角度发生变化,包括:若角速度差与零之间的差值大于第二预设值,则确定出合页角度发生变化。其中,角速度差为第一陀螺仪传感器绕公共轴的角速度与第二陀螺仪传感器绕公共轴的角速度之间的差值。第一陀螺仪传感器设置于第一屏对应的机体,第二陀螺仪传感器设置于第二屏对应的机体。
15.在另一种可能的实现方式中,确定电子设备的运动状态、以及公共轴与水平面的相对位置,包括:若确定出折叠屏不处于闭合状态,则确定电子设备的运动状态、以及公共轴与水平面的相对位置。
16.在另一种可能的实现方式中,确定出折叠屏不处于闭合状态,包括:根据磁力数据,确定出折叠屏不处于闭合状态。其中,磁力数据由磁传感器检测磁铁的磁场强度得到,磁传感器设置于第一屏对应的机体,磁铁设置于第二屏对应的机体。
17.在另一种可能的实现方式中,根据磁力数据,确定出折叠屏不处于闭合状态,包括:若磁力数据小于或等于第一预设磁力值,则确定出折叠屏不处于闭合状态。
18.在另一种可能的实现方式中,若目标算法为融合算法,则使用确定出的目标算法,计算电子设备的合页角度,包括:根据第一陀螺仪传感器采集的绕公共轴的角速度、第二陀螺仪传感器采集的绕公共轴的角速度、使用加速度传感器算法计算出的合页角度、采样周期、过程协方差、以及关键参数测量误差,使用融合算法计算得到所述电子设备的合页角度。其中,融合算法基于卡尔曼滤波算法构造,第一陀螺仪传感器设置于第一屏对应的机体,第二陀螺仪传感器设置于第二屏对应的机体。
19.在另一种可能的实现方式中,若目标算法为加速度传感器算法,则使用确定出的目标算法,计算电子设备的合页角度,包括:根据加速度向量在第一屏坐标系的x1o1z1平面的投影向量,以及加速度向量在第二屏坐标系的x2o2z2平面的投影向量,使用加速度传感器算法计算得到电子设备的合页角度。其中,加速度向量在第一屏坐标系的x1o1z1平面的投影向量由第一加速度传感器采集得到,加速度向量在第二屏坐标系的x2o2z2平面的投影向量由第二加速度传感器采集得到,第一加速度传感器设置于第一屏对应的机体,第二加速度传感器设置于第二屏对应的机体,第一屏坐标系的y1轴与第二屏坐标系的y2轴平行。
20.在另一种可能的实现方式中,若目标算法为陀螺仪传感器算法,则使用确定出的目标算法,计算电子设备的合页角度,包括:根据第一陀螺仪传感器采集的绕所述公共轴的角速度、第二陀螺仪传感器采集的绕所述公共轴的角速度、上一次计算出的合页角度、以及采样周期,使用陀螺仪传感器算法计算得到电子设备的合页角度。其中,第一陀螺仪传感器设置于第一屏对应的机体,第二陀螺仪传感器设置于第二屏对应的机体。
21.第二方面,本技术公开了一种可折叠的电子设备,包括:折叠屏,折叠屏包括第一屏和第二屏,一个或多个处理器,存储器,其上存储有程序。当程序被一个或多个处理器执行时,使得可折叠的电子设备执行如上述第一方面中任意一项所述的合页角度的检测方法。
附图说明
22.图1a为本技术实施例公开的折叠屏手机在展开及折叠过程中的变化示意图;
23.图1b为本技术实施例公开的折叠屏手机在播放视频的过程中进行展开以及折叠过程中的视频界面变化示意图;
24.图2a为本技术实施例公开的可折叠的电子设备的硬件结构示意图;
25.图2b为本技术实施例公开的折叠屏手机的硬件布局示意图;
26.图3为本技术实施例公开的可折叠的电子设备的软件框架示意图;
27.图4a为本技术实施例公开的两个平面之间的夹角示意图;
28.图4b为本技术实施例公开的合页角度的检测方法的流程示意图;
29.图5为本技术实施例公开的展开过程中磁传感器检测到的磁力变化示意图;
30.图6为本技术实施例公开的磁力向量的模长和合页角度之间的关系示意图;
31.图7a为本技术实施例公开的折叠屏手机检测合页角度的场景图一;
32.图7b为本技术实施例公开的不同算法下的合页角度变化示意图;
33.图7c为本技术实施例公开的折叠屏手机检测合页角度的场景图二;
34.图7d为本技术实施例公开的折叠屏手机检测合页角度的场景图三;
35.图7e为本技术实施例公开的折叠屏手机检测合页角度的场景图四;
36.图7f为本技术实施例公开的折叠屏手机检测合页角度的场景图五;
37.图7g为本技术实施例公开的折叠屏手机检测合页角度的场景图六;
38.图8a为本技术实施例公开的实验一对应的合页角度变化示意图;
39.图8b为本技术实施例公开的实验二对应的合页角度变化示意图;
40.图8c为本技术实施例公开的实验三对应的合页角度变化示意图。
具体实施方式
41.本技术说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
42.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
43.随着折叠屏技术逐渐成熟,市面上的折叠屏手机也越来越多。如图1a所示,折叠屏手机的折叠屏包括:第一屏和第二屏。折叠屏按照折叠边折叠,形成第一屏和第二屏。折叠边所在的虚拟轴线为公共轴。第一屏可以包括第一屏的内屏和外屏,第二屏也可以包括第二屏的内屏和外屏。其中,内屏指的是折叠屏处于折叠状态时,位于内部的屏,外屏反之,是闭合状态时位于外部的屏。第一屏和第二屏之间的夹角为折叠屏手机的合页角度α。折叠屏手机包括:第一屏对应的机体(简称第一机体)和第二屏对应的机体(第二机体)。第一机体和第二机体之间通过连接轴相连。
44.折叠屏手机的形态可以根据用户的需要而改变。例如,当用户想要方便携带时,则可以将折叠屏手机进行折叠,折叠过程可以从图1a示出的折叠方向按照(1)展开状态、(2)支架状态、(3)折叠状态的顺序变化手机形态。当用户想要大屏观看视频时,则可以将折叠屏手机展开。如图1a所示,可以将折叠屏手机进行展开,展开过程折叠屏手机可以按照图1a示出的(3)折叠状态、(2)支架状态、(1)展开状态的顺序变化手机形态。
45.为了提高用户使用折叠屏手机的体验,许多开发人员开发了与折叠屏相关联的一系列功能。例如,设计了展开后自适应放大显示内容,且折叠后自适应缩小显示内容的功能。举例说明,如图1b所示,折叠屏手机由图1b的(1)展开为(2)时,播放视频的界面自适应放大,且播放任务仍然继续,当由图1b的(2)折叠为(1)时,播放视频的界面自适应缩小,且播放任务仍然继续。
46.具体的,与折叠屏相关联的一系列功能还有很多,本技术不再一一赘述。而在执行一系列与折叠屏相关联的功能的过程中,通常需要获取到折叠屏手机的合页角度。例如,随着折叠屏手机的展开或折叠,播放视频的界面需自适应调整显示尺寸。因此,折叠屏手机具有获取准确的合页角度的需求。
47.介于获取准确的合页角度的需求,本技术实施例提出的一种合页角度的检测方法。本技术实施例提出的合页角度的检测方法,除了可以应用于折叠屏手机中,还可以应用于平板电脑,笔记本电脑,超级移动个人计算机(ultra-mobile personal computer,umpc),手持计算机,上网本等可折叠的电子设备中,即本技术实施例中可以计算任意的可折叠的电子设备的合页角度。
48.如图2a所示,可折叠的电子设备200,可以包括:处理器210,智能传感集线器210a,传感器模块220,第一陀螺仪传感器220a,第一加速度传感器220b,第二陀螺仪传感器220c,第二加速度传感器220d,磁传感器220e,折叠屏230,音频模块240,以及磁铁240a。
49.其中,第一陀螺仪传感器220a、第一加速度传感器220b、以及磁传感器220e可以设置于如图1a示出的第一机体内,第二陀螺仪传感器220c、第二加速度传感器220d、以及磁铁240a可以设置于如图1a示出的第二机体内。
50.可以理解的是,本实施例示意的结构并不构成对可折叠的电子设备的具体限定。在另一些实施例中,可折叠的电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
51.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字
信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
52.处理器210中还可以包括智能传感集线器(sensorhub)210a,用于连接并处理来自各种传感器设备的数据。例如,在本技术实施例中,智能传感集线器210a连接并处理第一陀螺仪传感器220a、第一加速度传感器220b、第二陀螺仪传感器220c、第二加速度传感器220d、以及磁传感器220e的数据,根据传感器的数据执行下述图4b示出的合页角度的检测方法,具体执行过程可参见下述图4b的合页角度的检测方法的描述,此处不再赘述。
53.折叠屏230用于显示图像,视频等。折叠屏230可以理解为是一种可折叠的柔性屏幕。折叠屏230包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。折叠屏230,包括,第一屏230a和第二屏230b。折叠屏230可沿着折叠边进行展开或者折叠,形成第一屏230a和第二屏230b。第一屏230a和第二屏230b的相关描述可以参考图1a中的第一屏和第二屏。
54.第一陀螺仪传感器220a可以用于确定电子设备的运动姿态。例如,可以通过第一陀螺仪传感器220a确定第一屏围绕第一屏的三个轴(即,x1,y1和z1轴)的角速度。在本技术实施例中,第一陀螺仪传感器220a可以用于确定出第一屏围绕第一屏坐标系的y1轴(即折叠屏的公共轴)的角速度。第一陀螺仪传感器220a也可以用于拍摄防抖。
55.第二陀螺仪传感器220c也可以用于确定电子设备的运动姿态。在本技术实施例中,可以通过第二陀螺仪传感器220c确定第二屏围绕第二屏的三个轴(即,x2,y2和z2轴)的角速度。在本技术实施例中,第二陀螺仪传感器220c可以用于确定出第二屏围绕第二屏的y2轴(即折叠屏的公共轴,y1轴和y2轴是同一个轴)的角速度。第二陀螺仪传感器220c也可以用于拍摄防抖。
56.第一加速度传感器220b可检测第一屏在各个方向上(一般为第一屏所确定出的三轴x1,y1以及z1)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
57.第二加速度传感器220d可检测第二屏在各个方向上(一般为第二屏所确定出的三轴x2,y2以及z2)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
58.磁传感器220e用于检测磁铁240a的磁场强度,得到磁力数据,通过磁力数据检测折叠屏的展开或闭合。在本技术实施例中,磁传感器220e设置于第一屏对应的机体(第一机体)中。智能传感集线器210a根据磁传感器220e在磁铁240a的磁场作用下所获取到的磁力数据,判断折叠屏处于展开状态还是闭合状态。进而根据检测到的开合状态,决定是否启动合页角度检测。具体的,可参阅图4b示出的合页角度的检测方法中的步骤s401至步骤s403的相关部分。
59.磁铁240a用于产生磁场,在本技术实施例中,磁铁240a设置于第二屏对应的机体
(第二机体)中。在一些实施例中,由于扬声器中具有磁铁,因此磁铁240a也可以是扬声器。扬声器也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器收听音乐,或收听免提通话。磁铁240a可以让磁传感器220e检测到磁力,随着折叠屏开合状态的变化,磁传感器220e与磁铁240a之间的距离相应发生变化,磁传感器220e检测到的磁铁240a的磁场强度也会发生变化,进而磁传感器220e采集到的磁力数据也会随之发生变化,进而智能传感集线器210a可通过磁传感器220e检测到的磁力数据,检测出折叠屏的开合状态。
60.举例说明,在一些实施例中,若图2a示出的可折叠的设备为折叠屏手机时,折叠屏手机内部的硬件布局可以如图2b所示。第一陀螺仪传感器220a、第一加速度传感器220b、以及磁传感器220e设置于第一机体内,第二陀螺仪传感器220c、第二加速度传感器220d、以及磁铁240a设置于第二机体内。第一陀螺仪传感器220a和第二陀螺仪传感器220c平行放置,第一加速度传感器220b和第二加速度传感器220d平行放置,以使得第一屏坐标系下的y1轴能够与第二屏坐标系下的y2轴平行。磁铁240a和磁传感器220e之间的距离可以设定为2cm,具体根据应用场景对精度的要求而定。由于磁传感器220e容易被外界磁场干扰,可以不将磁传感器220e放到第一屏的边缘位置。
61.另外,在上述部件之上,运行有操作系统。例如ios操作系统,android开源操作系统,windows操作系统等。在该操作系统上可以安装运行应用程序。
62.可折叠的电子设备200的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明可折叠的电子设备的软件结构。
63.图3是本技术实施例的可折叠的电子设备的软件结构框图。
64.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
65.应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
66.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
67.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
68.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
69.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
70.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
71.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,
视频文件等等。
72.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。
73.androidruntime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
74.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
75.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
76.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl),角度算法模块以及闭合检测算法模块等。在本技术实施例中,角度算法模块和闭合检测算法模块用于配合执行图4b示出的合页角度的检测算法,具体可参见图4b示出的合页角度的检测算法的相关内容。
77.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
78.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
79.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
80.2d图形引擎是2d绘图的绘图引擎。
81.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
82.需要说明的是,本技术实施例虽然以android系统为例进行说明,但是其基本原理同样适用于基于ios、或windows等操作系统的电子设备。
83.为了便于理解,这里介绍下本技术实施例涉及的相关技术原理:
84.(1)第一屏坐标系和第二屏坐标系。如图2b所示,第一屏坐标系x1y1z1下的x1轴和y1轴分别平行或重合于第一屏的长和宽,而z1轴则垂直于第一屏所在的平面。第一屏坐标系所选择的原点o1除了可以在如图2b所示的位置,也可以选择第一屏上的其他位置作为原点。而第二屏坐标系x2y2z2也与第一屏坐标系的建立方式类似,此处不再赘述。当第一屏坐标系和第二屏坐标系选择的原点重合时,y1轴和y2轴也重合,为可折叠电子设备的折叠边所在的虚拟轴线(即可折叠的电子设备的公共轴)。
85.(2)采用加速度传感器计算合页角度的算法,简称加速度传感器(acceleration transducer,acc)算法。acc算法通过加速度传感器采集到的加速度数据计算出合页角度。加速度数据具体可以是加速度向量的坐标。
86.具体的,使用acc算法计算合页角度的原理为:如图4a所示,求取可折叠的电子设备的合页角度α,可以转换为求取第一屏所在平面的法向量和第二屏所在平面的法向量
之间的夹角θ。
87.静止状态下,可折叠的电子设备只受重力,而重力向量相当于地球坐标系的z轴,重力向量在手机坐标系(即第一屏坐标系或者第二屏的坐标系)的坐标,相当于是地球坐标系相对于手机坐标系的相对坐标,因此可以将求取第一屏和第二屏之间的合页角度的问题,转换为求取重力向量(即重力加速度向量)在第一屏坐标系以及重力向量(即重力加速度向量)在第二屏坐标系下的夹角。
88.具体的,静止状态下,第一加速度传感器采集到的第一屏坐标系x1y1z1下的加速度向量(即重力加速度向量)为(a1,b1,c1),第二加速度传感器采集到的第二屏坐标系x2y2z2下的加速度向量为(a2,b2,c2),因此,将a1,b1,c1,a2,b2,c2代入至公式一中,计算得到取第一屏的法向量和第二屏的法向量之间的夹角θ。其中,第一加速度传感器的工作原理可参见图2a中的第一加速度传感器220b的描述,第二加速度传感器的工作原理可参见图2a中的第二加速度传感器220d的描述。
89.公式一为:其中,合页角度α等于180-θ。
90.又由于第一屏坐标系和第二屏坐标系的y轴是平行的,因此公式一可以转换为公式二,即把第一加速度传感器采集到的加速度向量在第一屏坐标系的x1o1z1平面的投影向量(a1,c1),以及第二加速度传感器采集到的加速度向量在第二屏坐标系的x2o2z2平面的投影向量(a2,c2)代入至公式二中,计算得到合页角度。
91.公式二为其中,合页角度α等于180-θ。
92.acc算法除了可以是公式一、公式二这样的算法形式,还可以有其他的具体算法形式,此处不做限制。
93.(3)采用陀螺仪传感器计算合页角度的算法,简称陀螺仪传感器(gyro)算法。gyro算法即通过陀螺仪传感器采集到的角速度计算出合页角度的算法。具体的,如图2b可以看出,第一屏坐标系和第二屏坐标系的y轴平行或者重合(即折叠边所在的轴),而只有沿y轴的旋转才会影响合页角度的大小。因此在使用角速度计算合页角度时,可以只对y轴的分量进行积分。
94.具体的,针对每一个采样周期,将第一陀螺仪传感器在该采样周期内采集到的绕y1轴旋转的角速度gyroy1,以及第二陀螺仪传感器在该采样周期内采集到的绕y2轴旋转的角速度gyroy2,以及上一个采样周期计算出的合页角度a代入至公式三中,计算得到当前的合页角度α。其中,第一陀螺仪传感器的工作原理可参见图2a中的第一陀螺仪传感器220a的描述,第二陀螺仪传感器的工作原理可参见图2a中的第二陀螺仪传感器220c的描述。
95.公式三为:α=a+(gyroy2-gyroy1)
×
delatt。其中,delatt为采样周期的值。
96.gyro算法除了可以是公式三这样的算法形式,还可以有其他的具体算法形式,此处不做限制。
97.(4)采用加速度传感器和陀螺仪传感器计算合页角度的融合算法,简称加速度传感器和陀螺仪传感器的融合算法,即a+g融合算法,在本技术实施例中也可以进一步简称为
融合算法。a+g融合算法为通过陀螺仪传感器采集到的角速度数据以及加速度传感器采集到的加速度数据,融合计算出合页角度的算法。其中,可以用于融合角速度和加速度数据的a+g融合算法有很多,例如可以使用卡尔曼滤波融合加速度和角速度的数据,计算出合页角度。本技术实施例中对于融合角速度和加速度计算出合页角度的算法的具体形式,不做限制。
98.基于卡尔曼滤波所构造的a+g融合算法模型为:
99.预估计算过程:
100.eangle=eangle+delatt
×
gyro;
101.p=p+q;
102.测量计算过程:
103.k=p/(p+r);
104.eangle=eangle+k
×
(angle-eangle);
105.p=(1-k)
×
p。
106.其中,gyro=gyroy2-gyroy1。gyroy1是第一陀螺仪传感器在某一个采样周期内采集到的绕y1轴旋转的角速度,gyroy2是第二陀螺仪传感器在该采样周期内采集到的绕y2轴旋转的角速度。delatt为采样周期的值。eangle为合页角度算法模型所估算出的合页角度,初始输入到模型中的eangle可以随意假设,或者使用上一次计算出的合页角度作为eangle。p为先验估计协方差,初始输入到模型中的p可以是个介于0到1之间的不为0的数,具体可任意设定。q为过程协方差,相当于是基于卡尔曼滤波所构造的a+g融合算法模型内部的系统误差,是个预先根据经验预先调试设定好的固定值,例如可以为0.000001。r为关键参数测量误差,相当于是采用加速度传感器计算合页角度的算法本身所具有的误差,也是个根据经验预先调试设定好的固定值,例如可以为1.5。k是协方差,属于模型内部运算过程中产生的参数,不需要外部输入到模型中。angle是采用加速度传感器计算合页角度的算法,所计算出的合页角度值。
107.在基于卡尔曼滤波所构造的a+g融合算法模型中,预先设定好q和r的值,且假设一个任意的eangle和p输入到模型中,即可通过预估计算过程的公式,预估出一个新的eangle和p。然后通过测量计算过程中的公式可以更新eangle和p。再将测量计算过程中更新出的eangle和p在迭代到预估计算过程中的公式内,反复迭代多次后,即可输出一个较为准确的合页角度eangle。
108.基于卡尔曼滤波所构造的a+g融合算法模型中,以陀螺仪传感器所计算出的合页角度算法为主,融合acc算法所计算出的合页角度的数据,虽然可折叠的电子设备在运动时,通过acc算法计算出的合页角度误差比较大,但大小变化的趋势,可以弥补gyro算法的误差。基于卡尔曼滤波所构造的a+g融合算法模型具有计算简单、效率高、收敛快的优点,同时可以滤掉高频、低频的干扰,还可以不依赖精确的初始合页角度。
109.下面将具体结合图4b,阐述本技术实施例所提出的合页角度的检测方法。
110.参阅图4b,图4b为本技术实施例提出的一种合页角度的检测方法,应用于本技术实施例提出的可折叠的电子设备中,以折叠屏手机为例,描述以下步骤:
111.s401、闭合检测算法模块根据磁力数据,确定折叠屏是否处于闭合状态。
112.其中,磁力数据通过电子设备中的磁传感器采集得到,磁力数据与折叠屏的合页
角度之间存在对应关系。通过磁传感器采集到的磁力数据,即可确定出一个对应的合页角度,进而再根据合页角度,确定出折叠屏是否处于闭合状态。
113.闭合状态指的是折叠屏的合页角度接近于零的状态,非闭合状态则是合页角度大于零的状态,也可以认为是折叠屏打开的状态。如图1a所示,当如图1a中的(1)所示,折叠屏完全展开时,形成折叠屏的展开状态,即不处于闭合状态,将折叠屏按照(1)所示的折叠方向折叠之后,如图1a中的(2)所示,折叠屏的折叠角度α大于零,折叠屏形成支架状态时,同样也是一种折叠屏打开的状态,即也不处于闭合状态。而如图1a中的(3)所示,合页角度α几乎为零时,第一屏和第二屏相重合,此时则为闭合状态(或者称为折叠状态)。
114.在一些实施例中,磁力数据可以为磁力向量的模长。闭合检测算法模块通过磁力向量的模长与合页角度之间的对应关系,确定出当前的合页角度,进而可以根据确定出的合页角度,确定出折叠屏是否处于闭合状态。
115.在一些实施例中,磁力向量的模长与合页角度呈负相关关系。具体的,如图5所示,当图2a的电子设备的折叠屏230被折叠为第一屏230a和第二屏230b时,磁铁240a内部的磁铁发出的磁感线会穿过磁传感器220e,进而使得磁传感器220e采集到磁力向量的模长。当折叠屏手机按照(1)、(2)、(3)的顺序展开时,第一屏230a和第二屏230b之间的合页角度在逐渐增大,由图5中的(1)、(2)、(3)可以看出,随着合页角度的增大,穿过磁传感器220e的磁感线就越来越少,磁传感器220e检测到的磁力向量的模长就会越小。
116.在一些实施例中,当确定出的合页角度大于或等于第一预设角度值时,即磁力向量的模长小于或等于第一预设磁力值时,确定出折叠屏不处于闭合状态(即处于打开状态)。例如,如图6所示,第二预设角度可以设定为10度,而对应的第二预设磁力值为1930。即当磁力向量的模长小于或等于1930时,说明合页角度大于或等于10度,确定出折叠屏不处于闭合状态。
117.在一些实施例中,当确定出的合页角度小于或等于第二预设角度值时,即磁力向量的模长大于或等于第二预设磁力值时,确定出折叠屏为闭合状态。例如图6所示,可以将第一预设角度值设定为5度,对应的第一预设磁力值为2800,即当磁力向量的模长大于或等于2800时,说明合页角度小于或等于5度,确定出折叠屏为闭合状态。其中,第一预设角度值和第二预设角度值可以相等,也可以不相等。进而第一预设磁力值和第二预设磁力值也可以相等,也可以不相等。
118.其中,若步骤s401确定出折叠屏不处于闭合状态,则需要角度算法模块启动进行折叠屏的合页角度的检测,因此需要执行步骤s402,而如果步骤s401确定出折叠屏是处于闭合状态,就说明不需要检测折叠屏的合页角度,因此需执行步骤s403。
119.需要说明的是,步骤s401是一个实时执行或者周期性执行的步骤,步骤s401可以是每次确定出折叠屏是否处于闭合状态后,都执行步骤s402或s403,也可以是仅在确定出的折叠屏的状态发生变更时(例如由闭合状态变为非闭合状态),再执行步骤s402或步骤s403。
120.s402、闭合检测算法模块通知角度算法模块启动。
121.角度算法模块启动,指的是角度算法模块启动检测折叠屏的合页角度。当折叠屏处于不处于闭合状态(即处于打开状态)时,证明可能需要打开折叠屏实现一些功能,(例如图1a、图1b的场景所展现的功能),而这些功能需要检测折叠屏当前的姿态,即需要知道折
叠屏的合页角度,因此需要角度算法模块启动检测合页角度。
122.在一些实施例中,闭合检测算法模块通知角度算法模块启动的方式有很多,例如可以是通过发送启动指令的方式通知角度算法模块。又例如,也可以是发送启动请求的方式通知角度算法模块。具体通知角度算法模块的方式不做限制。
123.角度算法模块响应闭合检测算法模块的启动通知,启动检测合页角度,开始执行步骤步骤s404。在一些实施例中,启动检测合页角度的准备过程可以是:创建用于执行合页角度检测的线程,以及控制启动合页角度检测过程中所需要用到的传感器启动工作。例如,可以是控制图2a示出的第一陀螺仪传感器220a、第一加速度传感器220b、第二陀螺仪传感器220c、以及第二加速度传感器220d启动工作。
124.s403、闭合检测算法通知角度算法模块关闭。
125.角度算法模块关闭,指的是角度算法模块停止检测折叠屏的合页角度。当折叠屏处于闭合状态时,证明当前不需要执行任何需要用到合页角度的功能,因此可以通知角度算法模块关闭,以节省功耗,提高运行效率。
126.在一些实施例中,闭合检测算法模块通知角度算法模块关闭的方式有很多,例如可以是通过发送关闭指令的方式通知角度算法模块。又例如,也可以是发送关闭请求的方式通知角度算法模块。具体通知角度算法模块的方式不做限制。
127.角度算法模块响应闭合检测算法模块的关闭通知,停止检测合页角度。在一些实施例中,关闭检测合页角度的过程可以是:结束合页角度检测的线程,以及控制启动合页角度检测过程中所需要用到的传感器停止工作,即传感器停止采集数据。例如,可以是控制图2a示出的第一陀螺仪传感器220a、第一加速度传感器220b、第二陀螺仪传感器220c、以及第二加速度传感器220d停止工作。由于折叠屏处于闭合状态时,角度算法模块不工作,合页角度检测过程中所需要用到的传感器也不工作,停止了合页角度检测,因此降低了功耗,提高了运行效率。
128.s404、角度算法模块判断是否处于静止状态。
129.角度算法模块开始检测折叠屏手机的合页角度时,需要先判断当前折叠屏手机的运动状态,以选择出合适的角度算法来计算合页角度。其中,本技术实施例中的静止状态可以理解为是一种相对静止状态,在静止状态下,折叠屏手机相当于只受到重力。
130.当角度算法模块判断出处于静止状态时,则说明可以适合使用在静止状态下计算精度较高的acc算法来计算合页角度,当角度算法模块不处于静止状态,则说明并不适合使用acc算法,进而需要进一步确定当前合适的角度算法。
131.在一些实施例中,角度算法模块通过获取折叠屏手机的加速度向量的模长,来确定折叠屏手机是否处于静止状态(即确定折叠屏手机的运动状态)。当加速度向量的模长接近于9.8m/s2,即接近于重力加速度的值的时候,就判断出处于静止状态。具体的,当电子设备的加速度向量的模长与重力加速度之间的差值小于或等于第一预设值,则认为加速度向量的模长与重力加速度接近,判断出电子设备的运动状态为静止状态。而当若加速度向量的模长与重力加速度之间的差值大于第一预设值,则认为加速度向量的模长与重力加速度不接近,判断出电子设备的运动状态为不处于静止状态。其中,第一预设值可以根据实际经验设定,第一预设值的值可以接近于0。
132.在一些实施例中,可以通过加速度传感器来获取折叠屏手机的加速度向量的模
长。例如,若折叠屏手机如图2a所示,则可以通过第一加速度传感器220b或者第二加速度传感器220d来获取加速度向量的模长。
133.当角度算法模块判断出处于静止状态时,执行步骤s405。而当角度算法模块判断出不处于静止状态时,则执行步骤s408。
134.s405、角度算法模块判断公共轴是否垂直于水平面。
135.其中,公共轴如图2b所示,为折叠边所在的轴,也可以理解为是第一屏坐标系x1y1z1下的y1轴或者第二屏坐标系x2y2z2下的y2轴。水平面指的是地球坐标系下的水平面。
136.当步骤s404确定出处于静止状态之后,则说明当前合适的用于计算合页角度的算法为acc算法,但acc算法在公共轴不垂直于水平面时才可准确计算出合页角度,因此需要进一步判断公共轴是否垂直于水平面。
137.当公共轴垂直于水平面时,且步骤s404还判断出了折叠屏手机处于静止状态时,执行步骤s406。当公共轴不垂直于水平面,且步骤s404还判断出了折叠屏手机处于静止状态时,则执行步骤s407。
138.在一些实施例中,执行步骤s405的方式可以是:根据加速度在公共轴上的分量来判断公共轴是否垂直于水平面。具体的,通过加速度传感器获取加速度向量在公共轴上的分量,例如可通过图2a中的第一加速度传感器220b或者第二加速度传感器220d。若加速度向量在公共轴上的分量(即在第一屏坐标系下的y1轴的分量,或者第二屏坐标系下的y2轴的分量)接近于9.8,则判断出公共轴垂直于水平面。
139.在一些实施例中,如果加速度向量在公共轴上的分量与重力加速度之间的差值小于或等于第一预设值,则确定出公共轴垂直于水平面。如果加速度向量在公共轴上的分量与重力加速度之间的差值大于第一预设值,则确定出公共轴不垂直于水平面。其中,第一预设值可以是一个接近于0的数,重力加速度的值为9.8。当加速度向量在公共轴上的分量与重力加速度之间的差值小于或等于第一预设值时,则认为加速度向量在公共轴上的分量接近于重力加速度9.8,判断出公共轴垂直于水平面。由于步骤s404已判断出处于静止状态,仅受重力,因此当重力加速度的值全部都在公共轴上时,就说明重力的方向与公共轴重合,公共轴垂直于水平面。相反的,当加速度向量在公共轴上的分量与重力加速度之间的差值大于第一预设值时,就认为加速度向量在公共轴上的分量不接近于重力加速度,就判断出了公共轴不垂直于水平面。
140.s406、角度算法模块不重新计算折叠屏的合页角度。
141.其中,不重新计算折叠屏的合页角度,也可以理解为是继续使用上一次计算出的折叠屏的合页角度作为当前检测到的折叠屏的合页角度,即最后一次(或者说最新一次)检测出的合页角度作为当前检测出的合页角度。
142.需要说明的是,自步骤s402通知角度算法模块启动开始,角度算法模块都会周期性的,或者实时的计算折叠屏的合页角度,直到角度算法模块被通知关闭为止。而图4b示出的流程图则是示例性的以某一次检测合页角度的过程为例进行的说明。针对当前的一次检测合页角度的过程,当确定出不需要重新计算合页角度时,则直接将最新一次检测出的合页角度,作为当前检测到的合页角度。
143.由于步骤s404判断出了折叠屏手机当前处于静止状态,而静止状态下,通过acc算
法计算合页角度,相较于使用gyro算法会更为准确。但由于步骤s405判断出了公共轴垂直于水平面,而使用acc算法计算合页角度时,是通过加速度向量在第一屏坐标系下的x1o1z1平面的投影,以及加速度向量在第二屏坐标系下的x2o2z2平面的投影来计算合页角度的。因此,当公共轴垂直于水平面,且为静止状态时,说明折叠屏手机只受重力加速度的影响,且重力加速度向量与公共轴重合,在xoz平面没有投影,无法使用acc算法计算合页角度。又由于可折叠的电子设备处于静止状态,没有受到其他外力的影响,合页角度没有发生改变,因此可以不重新计算合页角度。而acc算法的技术原理可参见前述对acc算法的介绍,此处不再赘述。
144.举例说明,如图7a所示,当用户将折叠屏手机放置在桌子上,且折叠边与水平面垂直时,此时折叠屏手机内部不重新计算合页角度。
145.在一些实施例中,不重新计算折叠屏的合页角度之后,可以将上一次计算出的折叠屏的合页角度,作为当前检测出的合页角度,若当前折叠屏手机的功能需要使用到折叠屏的合页角度,则可使用上一次计算出的折叠屏的合页角度。
146.具体的,在一些实施例中,若当前为角度算法模块首次计算(检测)合页角度,则可以将闭合检测算法模块最新通过磁力向量的模长所计算出的合页角度,作为当前的合页角度。具体的,闭合检测算法模块通过磁力向量的模长计算出合页角度的过程可以参阅步骤s401部分的相关内容,此处不再赘述。在另一些实施例中,若当前不是角度算法模块首次计算合页角度,则直接使用角度算法模块上一次计算出的合页角度作为当前检测出的合页角度即可。
147.需要说明的是,静止状态下,使用加速度计算合页角度,相较于gyro算法计算合页角度会更为准确的原因是:通过前述对gyro算法的介绍可知,gyro算法需要通过上一个采样周期计算出的合页角度a计算出当前的合页角度。因此,若只使用gyro算法计算合页角度,就需要初始的合页角度十分精确,而且随着时间的增加陀螺仪传感器所采集的角速度的误差积累下来会越来越大。因此在通常情况下,使用acc算法计算合页角度会更为准确。尤其是在静止状态时,只受重力加速度影响,通过acc算法所计算出的合页角度准确度是比较高的。
148.举例说明,参阅图7b,图7b采用多种算法检测出的合页角度的变化图。具体的,将合页角度为67度的折叠屏手机的运动状态从静止到晃动,最终回归静止。由图7b可以看出,相较于(1)示出的acc算法所计算的合页角度,(2)示出的gyro算法随着时间的增加,测量出的角度逐渐偏离真实值67度。而acc算法,在静止时段内,即0至73秒,以及721至961秒阶段,所计算出的合页角度的值没有发生变化,都是67度。由此可以看出,静止状态下,使用acc算法相较于gyro算法,更可以准确计算出合页角度。
149.s407、角度算法模块使用acc算法计算合页角度。
150.在一些实施例中,当确定出折叠屏手机处于静止状态,且公共轴不垂直于水平面后,说明当前可以使用acc算法计算合页角度。由前述图7b的相关描述可知,静止状态下使用acc算法计算合页角度的准确度较高,且当前的公共轴不垂直于水平面,第一加速度传感器可以采集到加速度向量在第一屏坐标系的x1o1z1平面的投影,第二加速度传感器也可以采集到加速度向量在第二屏坐标系的x2o2z2平面的投影,因此满足了使用acc算法的条件。
151.举例说明,如图7c示出的场景中,折叠屏手机的被用户静止放置在桌面上,且折叠
边与水平面不垂直,此时折叠屏手机在使用acc算法计算合页角度。
152.在一些实施例中,角度算法模块获取第一加速度传感器采集到的加速度向量(a1,b1,c1),以及第二加速度传感器采集到的加速度向量(a2,b2,c2),代入至前述提及的公式一中,计算得到cosθ,确定出θ,进而通过合页角度α等于180减去θ,计算出合页角度。
153.在另一些实施例中,由于第一屏坐标系和第二屏坐标系的y轴相同,因此角度算法模块还可以是获取第一加速度传感器采集到的加速度向量在x1o1z1平面的投影(a1,c1),以及第二加速度传感器采集到的加速度向量在x2o2z2平面的投影(a2,c2),代入至前述提及到的公式二中,计算得到cosθ,确定出θ,进而通过合页角度α等于180减去θ,计算出合页角度。
154.具体的,acc算法的技术原理可参考前述对acc算法的相关介绍,此处不再赘述。且第一加速度传感器和第二加速度传感器的介绍可参考图2a示出的相关部分,此处也不再赘述。
155.在静止状态下,虽然合页角度没有发生改变,但仍然可以使用acc算法计算出准确度较高的合页角度,在之前所得到的合页角度存在误差时,即可通过使用acc算法计算出准确的合页角度,校正之前计算过程中的误差。
156.s408、角度算法模块判断公共轴是否垂直于水平面。
157.角度算法模块在步骤s404中确定出算法模块不处于静止状态后,则说明当前折叠屏手机的加速度不仅有重力加速度,还有其他加速度的影响,因此并不适用于使用acc算法,进而还需要通过步骤s408进一步确定是需要使用gyro算法、还是a+g融合算法计算合页角度。
158.当判断出公共轴垂直于水平面时,说明不能使用到acc算法计算出的合页角度,进而说明无法使用a+g融合算法,如若需要计算合页角度,则需要使用gyro算法。当判断出公共轴不垂直于水平面时,则说明能够使用到acc算法计算出的合页角度,因此可以使用a+g融合算法来计算合页角度。
159.通过步骤s408可确定出当前适合用于计算合页角度的算法是哪个。但通过步骤s408确定出了可使用的算法后,仍需做进一步的判断当前是否需要使用算法去计算合页角度。因此,当判断出公共轴垂直于水平面,确定出适合使用gyro算法之后,则需要执行步骤s409,进一步判断合页角度是否发生变化,以确定当前是否需要计算合页角度。同样的,当判断出公共轴不垂直于水平面,确定出适合使用a+g融合算法之后,也需要执行步骤s410,进一步判断合页角度是否发生变化,已确定当前是否需要计算合页角度。
160.其中,步骤s408的执行过程和原理可参考步骤s405,此处不再赘述。
161.s409、角度算法模块判断合页角度是否发生变化。
162.当角度算法模块判断出合页角度没有发生变化,则执行步骤s411,即不重新计算合页角度。当角度算法模块判断出合页角度发生了变化,则执行步骤s412,使用gyro算法来计算合页角度。
163.在一些实施例中,执行步骤s409的一种实施方式为:角度算法模块根据陀螺仪传感器采集的角速度确定合页角度是否发生变化。具体的,由于能够引起合页角度发生变化的,是y轴的角速度的改变。因此,在一些实施例中,角度算法模块可以获取第一陀螺仪传感器采集到的绕y1轴旋转的角速度gyroy1,以及获取第二陀螺仪传感器采集到的绕y2轴旋转的角速度gyroy2。当gyroy2与gyroy1的差值等于零(或者接近于零),即gyroy2与gyroy1的
差值(角速度差)与零之间的差值小于或等于第二预设值时,则说明合页角度没有发生变化。其中,第二预设值可以是接近于零的值。反之,当gyroy1与gyroy2的差值不等于零(或者不接近于零),即gyroy2与gyroy1的差值(角速度差)与零之间的差值大于第二预设值时,则说明合页角度发生了变化。
164.s410、角度算法模块判断合页角度是否发生变化。
165.当角度算法模块判断出合页角度没有发生变化,则执行步骤s413,即不重新计算合页角度。当角度算法模块判断出合页角度发生了变化,则执行步骤s414,使用a+g融合算法来计算合页角度。
166.具体的,角度算法模块执行步骤s410的过程和原理可参考步骤s409,此处不再赘述。
167.s411、角度算法模块不重新计算折叠屏的合页角度。
168.在不处于静止状态的情况下,且公共轴垂直于水平面时,可以确定出适用的算法是gyro算法,但若判断出合页角度没有发生变化,也可以不重新计算折叠屏的合页角度,可以直接使用上一次计算出的合页角度,即当前该次检测合页角度的过程不再计算当前的合页角度,而是使用最近一次(或者说最新一次)计算出的合页角度作为当前检测出的合页角度。
169.举例说明,如图7d所示的场景:用户在走路过程中拿着折叠屏手机观看,此时折叠屏手机的折叠边垂直于水平面,虽然折叠屏手机不处于静止状态,但是用户并未改变折叠屏手机的形态,即没有改变合页角度,因此图7d示出的场景下,折叠屏手机不重新计算合页角度。
170.其中,步骤s411的执行原理和过程可参考步骤s406。
171.s412、角度算法模块使用gyro算法计算合页角度。
172.通过前述的判断是否处于静止状态以及判断公共轴是否垂直于水平面,可确定出当不处于静止状态,且公共轴垂直于水平面时,适用的算法可以是gyro算法,且又通过前述的判断合页角度是否发生变化确定出当前的合页角度发生了改变,因此,需要使用gyro算法去计算合页角度。
173.举例说明,如图7e所示的场景,用户在行走过程中,正在打开折叠屏手机,此时折叠边垂直于地面且不处于静止状态,因此折叠屏手机使用了gyro算法计算合页角度。
174.在一些实施例中,角度算法模块获取第一陀螺仪传感器采集到的绕y1轴旋转的角速度gyroy1,以及第二陀螺仪传感器采集到的绕y2轴旋转的角速度gyroy2,并将gyroy1、gyroy2、以及上一次计算出的合页角度a代入至公式三中,计算得到当前的合页角度α。
175.其中,gyro算法的原理可参考前述对gyro算法的介绍,此处不再赘述。
176.s413、角度算法模块不重新计算折叠屏的合页角度。
177.通过前述的判断是否处于静止状态以及判断公共轴是否垂直于水平面,可确定出当不处于静止状态,且公共轴不垂直于水平面时,适用的算法可以是a+g融合算法,但合页角度没有发生变化,因此,不需要重新计算折叠屏的合页角度,可以直接使用上一次计算出的合页角度,即当前该次检测合页角度的过程不再计算当前的合页角度,而是使用最近一次(或者说最新一次)计算出的合页角度作为当前检测出的合页角度。
178.举例说明,如图7f所示,用户在行走过程中拿着折叠屏手机观看,此时折叠屏手机
的折叠边不垂直于水平面,虽然折叠屏手机不处于静止状态,但是用户并未改变折叠屏手机的形态,即没有改变合页角度,因此图7f示出的场景下,折叠屏手机不重新计算合页角度。
179.s414、角度算法模块使用a+g融合算法计算合页角度。
180.通过前述的判断是否处于静止状态以及判断公共轴是否垂直于水平面,可确定出当前在不处于静止状态、以及公共轴不垂直与水平面时,适用的算法为a+g融合算法,且又通过前述的判断合页角度是否发生变化确定出当前的合页角度发生了改变,因此,需要使用a+g融合算法去计算合页角度。
181.举例说明,如图7g所示,用户在行走过程中正在打开折叠屏手机,此时折叠屏手机不处于静止状态,且折叠边也不垂直于水平面,因此折叠屏手机使用a+g融合算法计算合页角度。
182.需要说明的是,在确定出折叠屏手机不处于静止状态,且公共轴不垂直于水平面时,可以使用a+g融合算法的原因为:通过图7b示出的(3)可知,合页角度为67度的折叠屏手机,在合页角度未发生变化的情况下,由静止、晃动、再到静止的过程中,acc算法在晃动阶段(即非静止阶段)计算出的合页角度是不准确的,又跟(2)示出的gyro算法相比,gyro算法随着时间的推移,计算出的合页角度误差是会越来越大的,而(3)示出的基于卡尔曼滤波的a+g融合算法,所计算出的合页角度不论是什么样的运动状态下,均稳定在67度左右。因此,当折叠屏手机不处于静止状态,且公共轴不垂直于水平面时,可以使用准确度较高的a+g融合算法。
183.在另一些实施例中,例如对合页角度的准确度要求较低的场景下,步骤s414中用于计算合页角度的算法也可以是gyro算法。
184.在一些实施例中,角度算法模块可以将当前acc算法计算出的合页角度angle、第一陀螺仪传感器采集到的绕y1轴旋转的角速度gyroy1、第二陀螺仪传感器采集到的绕y2轴旋转的角速度gyroy2、预设的过程协方差q、预设的关键参数测量误差r输入到基于卡尔曼滤波所构造的a+g融合算法模型中,在模型中反复迭代n次后,输出预估的合页角度eangle,作为角度算法模块当前检测到的合页角度。其中,n的值可以根据经验进行设定,例如根据经验确定出n为150次时,所输出的eangle与真实的合页角度之间的误差较小,即可以将n设定为150。具体的,有关a+g融合算法的技术原理可以参考前述对a+g融合算法的介绍,此处不再赘述。
185.需要说明的是,步骤s404至步骤s414仅仅是示例性的计算一次合页角度的过程,若需要再次检测合页角度,则重复执行步骤s404至步骤s414。
186.还需要说明的是,在另一些实施例中,也可以不执行步骤s401至步骤s403,即角度算法模块也可以一直处于启动状态,即一直检测合页角度。
187.由前述步骤s404至步骤s414可知,本技术实施例中,角度算法模块通过步骤s404、步骤s405以及步骤s408来确定当前的运动状态(即是否处于静止状态)以及折叠屏的公共轴与水平面的相对位置关系(即公共轴是否垂直于水平面),进而可根据当前的运动状态以及公共轴与水平面的相对位置关系,从acc算法、gyro算法、以及a+g融合算法中匹配出目标算法(即当前场景下计算准确度更高的合页角度算法)。具体的,当处于静止状态、且公共轴不垂直于水平面时,使用acc算法作为目标算法,计算合页角度。当不处于静止状态、且公共
轴垂直于水平面时,使用gyro算法作为目标算法,计算合页角度。当不处于静止状态、且公共轴不垂直于水平面时,使用a+g融合算法作为目标算法,来计算合页角度。
188.而步骤s409和步骤s410中,当确定出不处于静止状态之后,还根据合页角度是否发生变化,来确定需不需要使用确定出的目标算法来计算合页角度。如果合页角度没有发生变化,则可以不计算合页角度,节省功耗,提高运行效率。在另一些实施例中,在步骤s404确定出处于静止状态、且步骤s405确定出了公共轴不垂直于水平面时,同样也可以根据合页角度是否发生变化,来确定需不需要使用确定出的目标算法(acc算法)。
189.而在另一些实施例中,也可以不执行步骤s409和步骤s410,即步骤s408判断出公共轴垂直于水平面后,可以直接执行步骤s412计算合页角度,而判断出公共轴不垂直于水平面后,则可以直接执行步骤s414计算合页角度。
190.需要说明的是,判断处于静止状态、判断公共轴是否垂直于水平面以及判断合页角度算法是否发生变化的先后顺序并不影响本技术实施例的实现。
191.由前述的步骤s401至步骤s403可知,步骤s401至步骤s403的目的为:可折叠的电子设备仅在折叠屏不处于闭合状态时,启动检测合页角度,而在折叠屏处于闭合状态时,则关闭检测合页角度,而具体是通过闭合检测算法模块和角度算法模块配合实现该目的,还是仅通过一个模块实现该目的,本技术实施例不作限制。同样的步骤s404至步骤s414的执行模块除了可以是角度算法模块,也可以是其他的一个或多个模块配合执行。本技术实施例对图4b示出的合页角度的检测方法的具体执行模块不作限制。
192.由于电子设备在不同的场景(即不同的运动状态、不同的公共轴与水平面的相对位置关系)下,使用不同的合页角度算法,所计算出的合页角度的准确度是不同的,因此本技术实施例中,通过可折叠的电子设备当前的运动状态、以及折叠屏的公共轴与水平面的相对位置关系,从多个合页角度算法中匹配出了目标算法,进而使用目标算法来计算合页角度,能得到更为准确的合页角度。本技术实施例在检测合页角度的过程中,考虑到了运动状态以及折叠屏的公共轴与水平面的相对位置关系,对合页角度算法的准确度的影响,进而可计算出更为准确的合页角度,优化了电子设备中需要使用到合页角度的功能。
193.以下为应用了本技术实施例的图4b所提供的自研算法的折叠屏手机,与应用了另一种合页角度算法x2的折叠屏手机之间的对比实验:
194.实验一:分别对自研算法的折叠屏手机和x2算法的折叠屏手机,按照50hz的频率采集折叠屏的合页角度,且高频率折叠39次,折叠速度平均每次1秒。
195.如图8a所示,可以看出x2算法检测合页角度的曲线变化不平滑,存在检测到的合页角度跳跃的情况,例如401秒、801秒的时候,都存在合页角度跳跃变化的情况。而自研算法的变化曲线则更为平滑。在实验一结束时刻,公共轴垂直桌面折叠,合页角度的真实值为80度左右,应用x2算法的折叠屏手机出现了灭屏现象,检测出的合页角度为35度,出现明显误差。而自研算法则准确的检测出了80度左右的合页角度。
196.因此,通过实验一可知,在高频率折叠运动的场景下,本技术实施例的自研算法准确度优于x2算法。
197.实验二:分别对自研算法的折叠屏手机和x2算法的折叠屏手机,进行了33次慢速折叠,平均2.57秒折叠一次。
198.如图8b所示,慢速折叠的情况下,自研算法相较于x2算法更加平滑,x2算法有角度
跳跃问题(例如1601秒左右、1801至2001秒左右出现跳跃),实验二结束时的实际合页角度为73度,而x2计算结果为32度,自研算法计算结果为54度,误差小于x2算法。且x2算法在慢速折叠的过程还出现了灭屏现象。
199.因此,通过实验二可知,在低频率折叠运动的场景下,本技术实施例的自研算法准确度优于x2算法。
200.实验三:分别对自研算法的折叠屏手机和x2算法的折叠屏手机,在用户走路状态下折叠4.7分钟,中间(约11476至12241秒)暂停折叠,检查合页角度是否可以收敛。
201.如图8c所示,在走路过程中,低频折叠时,自研算法和x2算法的检测精度相当,高频折叠时x2角度跳跃,不平滑,容易出现比实际角度小的计算角度。中间展开暂停时,x2算法还出现错误,之后才逐渐修复收敛。
202.因此,通过实验三可知,在用户走路状态下对折叠屏折叠运动的场景下,本技术实施例的自研算法准确度优于x2算法。
技术特征:
1.一种合页角度的检测方法,其特征在于,应用于可折叠的电子设备,所述可折叠的电子设备的折叠屏包括第一屏和第二屏,所述合页角度的检测方法包括:确定所述电子设备的运动状态、以及公共轴与水平面的相对位置;其中,所述公共轴为所述折叠屏的折叠边所在的轴线;根据所述运动状态和所述相对位置,确定出目标算法;其中,所述目标算法,包括:加速度传感器算法、陀螺仪传感器算法、或者融合算法;其中所述融合算法为融合加速度传感器的数据和陀螺仪传感器的数据,计算出合页角度的算法;所述根据所述运动状态和所述相对位置,确定出目标算法,包括:若所述电子设备处于静止状态、且公共轴不垂直于水平面,则将加速度传感器算法确定为目标算法;若所述电子设备不处于静止状态、且公共轴不垂直于水平面,则将融合算法,或者陀螺仪传感器算法确定,确定为目标算法;若所述电子设备不处于静止状态、且公共轴垂直于水平面,则将陀螺仪传感器算法确定为目标算法;使用确定出的目标算法,计算所述电子设备的合页角度;其中,所述合页角度为所述第一屏和所述第二屏之间的夹角。2.根据权利要求1所述的合页角度的检测方法,其特征在于,所述确定所述电子设备的运动状态,包括:若所述电子设备的加速度向量的模长与重力加速度之间的差值小于或等于第一预设值,则确定出所述电子设备的运动状态为静止状态;若所述加速度向量的模长与重力加速度之间的差值大于所述第一预设值,则确定出所述电子设备的运动状态为不处于静止状态。3.根据权利要求1至2任一所述的合页角度的检测方法,其特征在于,所述公共轴与水平面的相对位置的确定方法,包括:若加速度向量在公共轴上的分量与重力加速度之间的差值小于或等于第一预设值,则确定出所述公共轴垂直于水平面;若所述加速度向量在公共轴上的分量与重力加速度之间的差值大于所述第一预设值,则确定出所述公共轴不垂直于水平面。4.根据权利要求1所述的合页角度的检测方法,其特征在于,所述使用确定出的目标算法,计算所述电子设备的合页角度,包括:若确定出合页角度发生变化,则使用确定出的目标算法,计算所述电子设备的合页角度。5.根据权利要求4所述的合页角度的检测方法,其特征在于,所述确定出合页角度发生变化,包括:若角速度差与零之间的差值大于第二预设值,则确定出合页角度发生变化;其中,所述角速度差为第一陀螺仪传感器绕公共轴的角速度与第二陀螺仪传感器绕所述公共轴的角速度之间的差值;所述第一陀螺仪传感器设置于所述第一屏对应的机体,所述第二陀螺仪传感器设置于所述第二屏对应的机体。6.根据权利要求1所述的合页角度的检测方法,其特征在于,所述确定所述电子设备的运动状态、以及公共轴与水平面的相对位置,包括:若确定出所述折叠屏不处于闭合状态,则确定所述电子设备的运动状态、以及公共轴与水平面的相对位置。
7.根据权利要求6所述的合页角度的检测方法,其特征在于,所述确定出所述折叠屏不处于闭合状态,包括:根据磁力数据,确定出折叠屏不处于闭合状态;其中,所述磁力数据由磁传感器检测磁铁的磁场强度得到;所述磁传感器设置于所述第一屏对应的机体;所述磁铁设置于所述第二屏对应的机体。8.根据权利要求7所述的合页角度的检测方法,其特征在于,所述根据磁力数据,确定出折叠屏不处于闭合状态,包括:若磁力数据小于或等于第一预设磁力值,则确定出折叠屏不处于闭合状态。9.根据权利要求1所述的合页角度的检测方法,其特征在于,若所述目标算法为加速度传感器算法,则使用确定出的目标算法,计算所述电子设备的合页角度,包括:根据加速度向量在第一屏坐标系的x1o1z1平面的投影向量,以及加速度向量在第二屏坐标系的x2o2z2平面的投影向量,使用加速度传感器算法计算得到所述电子设备的合页角度;其中,所述加速度向量在第一屏坐标系的x1o1z1平面的投影向量由第一加速度传感器采集得到;所述加速度向量在第二屏坐标系的x2o2z2平面的投影向量由第二加速度传感器采集得到;所述第一加速度传感器设置于所述第一屏对应的机体,所述第二加速度传感器设置于所述第二屏对应的机体;所述第一屏坐标系的y1轴与第二屏坐标系的y2轴平行。10.根据权利要求1所述的合页角度的检测方法,其特征在于,若所述目标算法为陀螺仪传感器算法,则使用确定出的目标算法,计算所述电子设备的合页角度,包括:根据第一陀螺仪传感器采集的绕所述公共轴的角速度、第二陀螺仪传感器采集的绕所述公共轴的角速度、上一次计算出的合页角度、以及采样周期,使用陀螺仪传感器算法,计算得到所述电子设备的合页角度;其中,所述第一陀螺仪传感器设置于所述第一屏对应的机体,所述第二陀螺仪传感器设置于所述第二屏对应的机体。11.根据权利要求1所述的合页角度的检测方法,其特征在于,若所述目标算法为融合算法,则使用确定出的目标算法,计算所述电子设备的合页角度,包括:基于卡尔曼滤波算法,根据初始输入的合页角度、角速度差、以及采样周期,计算得到预估的合页角度;并根据初始输入的先验估计协方差和过程协方差,计算得到预估的先验估计协方差;其中,所述角速度差为第一陀螺仪传感器绕公共轴的角速度与第二陀螺仪传感器绕所述公共轴的角速度之间的差值;根据所述预估的先验估计协方差和关键参数测量误差,计算得到协方差;根据所述预估的合页角度、所述协方差、以及角度差值,计算得到更新后的合页角度;并根据所述协方差和所述预估的先验估计协方差,计算得到更新后的先验估计协方差;其中,所述角度差值为:采用所述加速度传感器算法计算出的合页角度和所述预估的合页角度之间的差值;将所述更新后的合页角度作为新的初始输入的合页角度、并将所述更新后的先验估计协方差作为新的初始输入的先验估计协方差,返回至所述基于卡尔曼滤波算法,根据初始输入的合页角度、角速度差、以及采样周期,计算得到预估的合页角度;并根据初始输入的先验估计协方差和过程协方差,计算得到预估的先验估计协方差的步骤,直至返回的次数达到n次为止,将所述预估的合页角度确定出所述电子设备的合页角度;n为正整数。12.一种可折叠的电子设备,其特征在于,包括:
折叠屏,所述折叠屏包括第一屏和第二屏;一个或多个处理器;存储器,其上存储有程序;当所述程序被所述一个或多个处理器执行时,使得所述可折叠的电子设备执行如权利要求1至11中任意一项所述的合页角度的检测方法。
技术总结
本申请公开了一种合页角度的检测方法及相关设备,涉及折叠屏技术领域,目的在于准确计算出折叠屏的合页角度。具体方案应用于可折叠的电子设备,可折叠的电子设备包括第一屏和第二屏,通过确定电子设备的运动状态、以及公共轴与水平面的相对位置,然后根据运动状态和相对位置,确定出目标算法,确定出的目标算法在当前的运动状态和相对位置下,计算合页角度的准确度较高。其中,目标算法,包括:加速度传感器算法、陀螺仪传感器算法、或者融合算法。融合算法为融合加速度传感器的数据和陀螺仪传感器的数据,计算出合页角度的算法。然后使用确定出的目标算法,可准确计算电子设备的合页角度。角度。角度。
技术研发人员:王鹏 贾现召
受保护的技术使用者:荣耀终端有限公司
技术研发日:2021.11.19
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种熔盐缓冲装置的制作方法 下一篇:激光加工系统及方法与流程