CN110036259B - 一种姿态矩阵的计算方法及设备 - Google Patents
一种姿态矩阵的计算方法及设备 Download PDFInfo
- Publication number
- CN110036259B CN110036259B CN201780074727.6A CN201780074727A CN110036259B CN 110036259 B CN110036259 B CN 110036259B CN 201780074727 A CN201780074727 A CN 201780074727A CN 110036259 B CN110036259 B CN 110036259B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- sensor
- time
- coordinate
- ground
- 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
- 239000011159 matrix material Substances 0.000 title claims abstract description 431
- 238000004364 calculation method Methods 0.000 title claims abstract description 42
- 238000005070 sampling Methods 0.000 claims abstract description 335
- 230000009466 transformation Effects 0.000 claims abstract description 211
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000012937 correction Methods 0.000 claims description 248
- 238000005259 measurement Methods 0.000 claims description 134
- 239000013598 vector Substances 0.000 claims description 128
- 230000014509 gene expression Effects 0.000 claims description 98
- 230000001133 acceleration Effects 0.000 claims description 65
- 230000033001 locomotion Effects 0.000 claims description 29
- 230000005484 gravity Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 12
- 238000012847 principal component analysis method Methods 0.000 claims description 5
- 210000002683 foot Anatomy 0.000 description 213
- 238000004422 calculation algorithm Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 34
- 210000003423 ankle Anatomy 0.000 description 29
- 210000000707 wrist Anatomy 0.000 description 20
- 244000309466 calf Species 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000000386 athletic effect Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 230000036772 blood pressure Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 235000019577 caloric intake Nutrition 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000001624 hip Anatomy 0.000 description 1
- 210000001699 lower leg Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/183—Compensation of inertial measurements, e.g. for temperature effects
- G01C21/188—Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Human Computer Interaction (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种姿态矩阵的计算方法及设备,涉及终端技术领域,能够减少计算量,降低设备的功耗,节省设备的内存。方法为:根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵,第一坐标变换矩阵为常数矩阵,第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵,第二坐标变换矩阵为脚坐标系与地面坐标系之间的坐标变换矩阵,i为大于0的整数,根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵,姿态矩阵为传感器坐标系与地面坐标系之间的坐标变换矩阵。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种姿态矩阵的计算方法及设备。
背景技术
运动距离作为用户运动(例如走路或跑步等)统计的一个重要参数,能够反映用户运动量的大小。基于运动距离可以推算出用户的配速、卡路里、步长等运动信息。这些运动信息与步频、运动时间结合,可以给用户的运动量、运动能力等做一个全面的评估。依据该评估可以给用户提供运动指导,帮助用户制定个性化的运动计划。
现有技术提供了一种计算用户运动距离的方案,参见图1,该方案通过对便携设备中的三轴陀螺仪、三轴加速计以及三轴磁力计等传感器实时的测量值进行复杂融合,计算传感器实时的姿态矩阵,即传感器坐标系到地面坐标系的实时的坐标变换矩阵,进而根据实时的姿态矩阵计算传感器在地面坐标系中实时的加速度,从而根据实时的加速度计算传感器在地面坐标系中的速度和距离。其中,传感器在地面坐标系中的距离可以用于表示用户的运动距离。
在该方案中,由于对三轴陀螺仪、三轴加速计和三轴磁力计等传感器的实时测量值进行融合的算法较为复杂,例如,无损卡尔曼滤波算法或扩展卡尔曼滤波算法等,且通常涉及到复杂的矩阵求逆、协方差矩阵计算等,因而计算量大,从而使得便携设备的功耗和内存占用都较大。
发明内容
本申请实施例提供一种姿态矩阵的计算方法及设备,能够减少计算量,降低设备的功耗,节省设备的内存。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种姿态矩阵的计算方法,应用于便携设备,该便携设备包括传感器,传感器包括陀螺仪。该方法涉及传感器坐标系、脚坐标系和地面坐标系,脚坐标系根据脚和小腿的方向定义。该方法包括:便携设备根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵。而后,便携设备根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵。其中,第一坐标变换矩阵为常数矩阵,第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵。第二坐标变换矩阵为脚坐标系与地面坐标系之间的坐标变换矩阵,i为大于0的整数。姿态矩阵为传感器坐标系与地面坐标系之间的坐标变换矩阵。
这样,本申请实施例提供的方法可以根据陀螺仪实时的测量值,计算实时的姿态矩阵,而不需要结合加速度计和磁力计实时的测量值计算实时的姿态矩阵,因而不会涉及到陀螺仪与加速计或磁力计等传感器的实时的测量值的复杂融合,从而不会涉及到融合过程中的复杂的矩阵求逆以及协方差矩阵计算等,因而可以减少姿态矩阵计算过程中的计算量,降低便携设备的功耗,节省便携设备的内存。
结合第一方面,在一种可能的实现方式中,姿态矩阵为传感器坐标系到地面坐标系的坐标变换矩阵,第一坐标变换矩阵为传感器坐标系到脚坐标系的坐标变换矩阵,第二坐标变换矩阵为脚坐标系到地面坐标系的坐标变换矩阵。
这样,便携设备可以计算传感器坐标系到地面坐标系的坐标变换矩阵。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,传感器还包括加速度计。在根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵之后,该方法还包括:便携设备根据第i个采样时刻对应的加速度计的测量值和第i个采样时刻对应的姿态矩阵,计算第i个采样时刻对应的传感器在地面坐标系中的加速度。便携设备根据第i个采样时刻对应的传感器在地面坐标系中的加速度,计算第i个采样时刻对应的传感器在地面坐标系中的速度。而后,便携设备根据q个采样时刻对应的传感器在地面坐标系中的速度,计算传感器在地面坐标系中的距离,q为大于或者等于2的整数。
这样,便携设备可以根据姿态矩阵计算传感器在地面坐标系中的加速度、速度和距离。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,该方法还包括:便携设备对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度进行校正,以使得在第j个校正时刻,校正后的传感器在地面坐标系的第n坐标轴的速度为0,j为大于0的整数,n的取值为一、二或者三。其中,校正时刻为在包括脚着地时刻的预设时长内,传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,脚着地时刻为加速度计的测量值表示的向量的模长的极大值对应的时刻。
这样,便携设备可以在第j个校正时刻之后,对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的传感器在地面坐标系的任意坐标轴的速度进行校正。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在第j个校正时刻之后,便携设备根据q个采样时刻对应的传感器在地面坐标系中的速度,计算传感器在地面坐标系中的距离包括:便携设备根据第j个校正时刻与第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度,计算在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离。便携设备根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离,与第j-1个校正时刻对应的传感器在地面坐标系的总的距离,计算第j个校正时刻对应的传感器在地面坐标系的总的距离。
这样,便携设备可以根据校正后的速度计算距离。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在第j个校正时刻与第j-1个校正时刻之间的时间段内,便携设备对各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度进行校正包括:对于第j个校正时刻与第j-1个校正时刻之间的时间段内的各采样时刻,便携设备根据表达式四分别对各采样时刻对应的传感器在地面坐标系的第n坐标轴的速度进行校正。表达式四为:
其中,tj表示第j个校正时刻,tj-1表示第j-1个校正时刻,表示第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示校正后的第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示第j个校正时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示第j-1个校正时刻对应的传感器在地面坐标系的第n坐标轴的速度。
这样,便携设备可以根据第j个校正时刻和第j-1个校正时刻分别对应的传感器在地面坐标系的任意一个坐标轴的速度,校正第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的任意一个坐标轴的速度。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在第j个校正时刻之后,该方法还包括:便携设备构造旋转矩阵。便携设备将旋转矩阵乘以第j个校正时刻之后的第m个采样时刻对应的姿态矩阵,以获得第m个采样时刻对应的校正后的姿态矩阵,m为大于0的整数。校正时刻为在包括脚着地时刻的预设时长内,传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,脚着地时刻为加速度计的测量值表示的向量的模长的极大值对应的时刻;旋转矩阵为如下表达式五:
其中,C表示旋转矩阵,θ表示旋转角。
这样,便携设备可以在每个校正时刻之后,校正一次姿态矩阵,并根据校正后的姿态矩阵计算后续采样时刻对应的姿态矩阵。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备构造旋转矩阵包括:便携设备根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴和第三坐标轴的距离;或者,根据第j个校正时刻传感器在地面坐标系的第二坐标轴的速度中的至少一种,计算旋转矩阵中的旋转角。便携设备根据旋转角和表达式五构造旋转矩阵。其中,旋转角θ为表达式六中的第一旋转角θ1、表达式七中的第二旋转角θ2或表达式八中的第三旋转角θ3。其中,表达式六为:
表达式七为:
表达式八为:
θ3=kθ1+(1-k)θ2,0≤k≤1;
其中,arctan表示求反正切;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴的距离;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴的距离;表示第j个校正时刻对应的传感器在地面坐标系的第二坐标轴的速度;az表示重力加速度;T1表示第j个校正时刻与第j-1个校正时刻之间的时间段。
这样,当旋转矩阵为θ1时,可以减小在第j个校正时刻与第j+1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离。当旋转矩阵C为θ2时,可以减小第j+1个校正时刻传感器在地面坐标系的第二坐标轴的速度。当旋转矩阵C为θ3时,可以减小在第j个校正时刻与第j+1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴的距离,以及在第j+1个校正时刻传感器在地面坐标系的第二坐标轴的速度。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备根据第i个采样时刻对应的加速度计的测量值和第i个采样时刻对应的姿态矩阵,计算第i个采样时刻对应的传感器在地面坐标系中的加速度包括:便携设备根据第i个采样时刻对应的加速度计的测量值、第i个采样时刻对应的姿态矩阵和表达式一,计算第i个采样时刻对应的传感器在地面坐标系中的加速度。表达式一为:
这样,便携设备可以计算每个采样时刻对应的传感器在地面坐标系中的加速度。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,脚坐标系的第一坐标轴、脚坐标系的第二坐标轴和脚坐标系的第三坐标轴相互垂直,脚坐标系的第二坐标轴在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,脚坐标系的第三坐标轴与小腿的延伸方向平行。
这样,脚坐标系的三个坐标轴相互垂直,当用户运动时,脚坐标系的第二坐标轴和脚坐标系的第三坐标轴随着脚和小腿绕脚坐标系的第一坐标轴转动。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,在根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,便携设备计算第i个采样时刻对应的第二坐标变换矩阵之前,该方法还包括:便携设备根据加速度计的测量值和陀螺仪的测量值,计算第一坐标变换矩阵。
这样,便携设备可以根据计算获得的第一坐标变换矩阵这一常数矩阵,计算第二坐标变换矩阵。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备根据加速度计的测量值和陀螺仪的测量值,计算第一坐标变换矩阵包括:当加速度计的测量值的波动范围大于或者等于第一预设值时,便携设备根据陀螺仪的测量值和主成分分析法计算第一向量,第一向量为脚坐标系的第一坐标轴在传感器坐标系中的向量表示。当连续时间段Q内加速度计的测量值的波动范围小于第一预设值时,便携设备根据连续时间段Q内加速度计的测量值计算第二向量,第二向量为脚坐标系的第三坐标轴在传感器坐标系中的向量表示,且第二向量为单位向量。便携设备根据第一向量和第二向量计算第三向量,第三向量为脚坐标系的第二坐标轴在传感器坐标系中的向量表示,第三向量与第一向量和第二向量相互垂直。第一向量、第二向量和第三向量形成第一坐标变换矩阵。
这样,可以分别得到脚坐标系的三个坐标轴在传感器坐标系中的向量表示,即得到第一坐标变换矩阵。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备根据连续时间段Q内加速度计的测量值计算第二向量包括:便携设备根据连续时间段Q内加速度计的测量值的平均值计算第二向量。
其中,根据平均值得到的第二向量更为准确。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,地面坐标系的第一坐标轴、地面坐标系的第二坐标轴和地面坐标系的第三坐标轴相互垂直,地面坐标系的第二坐标轴与用户的前进方向平行,地面坐标系的第三坐标轴与重力方向平行。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,地面坐标系的第一坐标轴与脚坐标系的第一坐标轴的方向相同,地面坐标系的第二坐标轴的方向为用户的前进方向,脚坐标系的第二坐标轴的方向为脚跟指向脚尖的方向。
当地面坐标系的第一坐标轴与脚坐标系的第一坐标轴的方向相同,地面坐标系的第二坐标轴的方向为用户的前进方向,脚坐标系的第二坐标轴的方向为脚跟指向脚尖的方向时,可以方便计算。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵包括:便携设备将第一坐标变换矩阵与第i个采样时刻对应的陀螺仪的测量值相乘,以获得第i个采样时刻对应的传感器在脚坐标系中的角速度。便携设备根据第i个采样时刻对应的传感器在脚坐标系中的角速度,计算第i个采样时刻对应的第二坐标变换矩阵。
这样,便携设备可以根据每个采样时刻对应的传感器在脚坐标系中的角速度,计算每个采样时刻分别对应的第二坐标变换矩阵。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,便携设备根据第i个采样时刻对应的传感器在脚坐标系中的角速度,计算第i个采样时刻对应的第二坐标变换矩阵包括:便携设备根据第i个采样时刻对应的传感器在脚坐标系中的角速度和传感器的采样间隔,以及表达式二或表达式三,计算第i个采样时刻对应的第二坐标变换矩阵。表达式二为:
表达式三为:
其中,表示第i个采样时刻对应的第二坐标变换矩阵,表示第i-1个采样时刻对应的第二坐标变换矩阵,exp()表示以自然常数e为底的指数函数,T0表示传感器的采样间隔,表示在第i个采样时刻,传感器绕脚坐标系第二坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第三坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第一坐标轴转动的角速度。
这样,便携设备可以根据当前采样时刻对应的传感器在脚坐标系中的角速度,以及当前采样时刻的前一个采样时刻对应的第二坐标变换矩阵,计算当前采样时刻对应的第二坐标变换矩阵。
第二方面,本申请实施例提供一种便携设备,便携设备包括传感器和处理器,传感器包括陀螺仪,处理器用于:根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵。而后,根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵。其中,第一坐标变换矩阵为常数矩阵,第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵。第二坐标变换矩阵为脚坐标系与地面坐标系之间的坐标变换矩阵,i为大于0的整数。姿态矩阵为传感器坐标系与地面坐标系之间的坐标变换矩阵。
结合第二方面,在一种可能的实现方式中,姿态矩阵为传感器坐标系到地面坐标系的坐标变换矩阵,第一坐标变换矩阵为传感器坐标系到脚坐标系的坐标变换矩阵,第二坐标变换矩阵为脚坐标系到地面坐标系的坐标变换矩阵。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,传感器还包括加速度计,处理器还用于:根据第i个采样时刻对应的加速度计的测量值和第i个采样时刻对应的姿态矩阵,计算第i个采样时刻对应的传感器在地面坐标系中的加速度。根据第i个采样时刻对应的传感器在地面坐标系中的加速度,计算第i个采样时刻对应的传感器在地面坐标系中的速度。根据q个采样时刻对应的传感器在地面坐标系中的速度,计算传感器在地面坐标系中的距离,q为大于或者等于2的整数。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器还用于:在根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵之前,根据加速度计的测量值和陀螺仪的测量值,计算第一坐标变换矩阵。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,脚坐标系的第一坐标轴、脚坐标系的第二坐标轴和脚坐标系的第三坐标轴相互垂直,脚坐标系的第二坐标轴在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,脚坐标系的第三坐标轴与小腿的延伸方向平行。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,地面坐标系的第一坐标轴、地面坐标系的第二坐标轴和地面坐标系的第三坐标轴相互垂直,地面坐标系的第二坐标轴与用户的前进方向平行,地面坐标系的第三坐标轴与重力方向平行。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:将第一坐标变换矩阵与第i个采样时刻对应的陀螺仪的测量值相乘,以获得第i个采样时刻对应的传感器在脚坐标系中的角速度。根据第i个采样时刻对应的传感器在脚坐标系中的角速度,计算第i个采样时刻对应的第二坐标变换矩阵。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器还用于:对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度进行校正,以使得在第j个校正时刻,校正后的传感器在地面坐标系的第n坐标轴的速度为0,j为大于0的整数,n的取值为一、二或者三。其中,校正时刻为在包括脚着地时刻的预设时长内,传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,脚着地时刻为加速度计的测量值表示的向量的模长的极大值对应的时刻。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器还用于:在第j个校正时刻之后,根据第j个校正时刻与第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度,计算在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离。根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离,与第j-1个校正时刻对应的传感器在地面坐标系的总的距离,计算第j个校正时刻对应的传感器在地面坐标系的总的距离。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器还用于:在第j个校正时刻之后,构造旋转矩阵。将旋转矩阵乘以第i个采样时刻对应的姿态矩阵,以获得校正后的第i个采样时刻对应的姿态矩阵。校正时刻为在包括脚着地时刻的预设时长内,传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,脚着地时刻为加速度计的测量值表示的向量的模长的极大值对应的时刻;旋转矩阵为如下表达式五:
其中,C表示旋转矩阵,θ表示旋转角;
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:根据第i个采样时刻对应的加速度计的测量值、第i个采样时刻对应的姿态矩阵和表达式一,计算第i个采样时刻对应的传感器在地面坐标系中的加速度。表达式一为:
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:当加速度计的测量值的波动范围大于或者等于第一预设值时,根据陀螺仪的测量值和主成分分析法计算第一向量,第一向量为脚坐标系的第一坐标轴在传感器坐标系中的向量表示。当连续时间段Q内加速度计的测量值的波动范围小于第一预设值时,根据连续时间段Q内加速度计的测量值计算第二向量,第二向量为脚坐标系的第三坐标轴在传感器坐标系中的向量表示,且第二向量为单位向量。根据第一向量和第二向量计算第三向量,第三向量为脚坐标系的第二坐标轴在传感器坐标系中的向量表示,第三向量与第一向量和第二向量相互垂直。第一向量、第二向量和第三向量形成第一坐标变换矩阵。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:根据连续时间段Q内加速度计的测量值的平均值计算第二向量。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:根据第i个采样时刻对应的传感器在脚坐标系中的角速度和传感器的采样间隔,以及表达式二或表达式三,计算第i个采样时刻对应的第二坐标变换矩阵,表达式二为:
表达式三为:
其中,表示第i个采样时刻对应的第二坐标变换矩阵,表示第i-1个采样时刻对应的第二坐标变换矩阵,exp()表示以自然常数e为底的指数函数,T0表示传感器的采样间隔,表示在第i个采样时刻,传感器绕脚坐标系第二坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第三坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第一坐标轴转动的角速度。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:对第j个校正时刻与第j-1个校正时刻之间的时间段内的各采样时刻,根据表达式四分别对各采样时刻对应的传感器在地面坐标系的第n坐标轴的速度进行校正;表达式四为:
其中,tj表示第j个校正时刻,tj-1表示第j-1个校正时刻,表示第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示校正后的第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示校正时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示第j-1个校正时刻对应的传感器在地面坐标系的第n坐标轴的速度。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,处理器具体用于:根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴和第三坐标轴的距离;或者,根据第j个校正时刻传感器在地面坐标系的第二坐标轴的速度中的至少一种,计算旋转矩阵中的旋转角。根据旋转角和表达式五构造旋转矩阵。其中,旋转角θ为表达式六中的第一旋转角θ1、表达式七中的第二旋转角θ2或表达式八中的第三旋转角θ3。其中,表达式六为:
表达式七为:
表达式八为:
θ3=kθ1+(1-k)θ2,0≤k≤1;
其中,arctan表示求反正切;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴的距离;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴的距离;表示第j个校正时刻对应的传感器在地面坐标系的第二坐标轴的速度;az表示重力加速度;T1表示第j个校正时刻与第j-1个校正时刻之间的时间段。
第三方面提供一种方法,当便携设备检测到该便携设备佩戴在手臂、手部或手腕上时,便携设备自动采用第一算法来计算走路或跑步距离;便携设备检测到用户查看时,便携设备显示计步结果的同时标识出是佩戴在手臂、手部或手腕上的计步结果。当该便携设备检测到该便携设备佩戴在脚踝、小腿或脚部时,便携设备自动采用第二算法来计算走路或跑步距离;便携设备检测到用户查看时,便携设备在显示计步结果的同时标识出是佩戴在脚踝、小腿或脚部的计步结果。其中,第二算法为第一方面及任一项实现方式所提供的方法。第一算法可以为通用的算法或适用于便携设备佩戴在手臂、手部或手腕上的计步算法。采用此方法可以给用户提供一种新奇的体验。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,第一算法也可以与第二算法相同。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,当便携设备检测到便携设备佩戴在脖子上时,便携设备自动采用第三算法来计算走路或跑步距离。便携设备检测到用户查看时,便携设备在显示计步结果的同时标识出是佩戴在脖子上的计步结果。其中,第三算法可以为通用算法,或者是适用于便携设备佩戴在脖子上的计步算法。采用此方法可以给用户提供一种新奇的体验。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,第三算法也可以与第一算法相同。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,当便携设备检测到便携设备佩戴在脚踝、小腿或脚部时,便携设备自动关闭血压,和/或心跳等生理参数检测模块。采用这种实现方式有避免不必要的耗电,提高便携设备的工作时间。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,当便携设备检测到便携设备佩戴在脖子上时,便携设备自动关闭血压,和/或心跳等生理参数检测模块。采用这种实现方式有避免不必要的耗电,提高便携设备的工作时间。
第四方面,本申请实施例提供一种便携设备,包括传感器、处理器和存储器,传感器包括陀螺仪和加速度计,存储器用于存储指令,处理器用于执行指令以使得便携设备执行如第一方面任一项或第三方面任一项中的姿态矩阵的计算方法。
第五方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在便携设备上运行时,使得便携设备执行如第一方面任一项中的姿态矩阵的计算方法。
第六方面,本申请实施例提供一种包含指令的计算机程序产品,当其在便携设备上运行时,使得便携设备执行如第一方面任一项或第三方面任一项中的姿态矩阵的计算方法。
第七方面,本申请实施例提供一种设备,设备以芯片的产品形态存在,设备的结构中包括处理器和存储器,存储器用于与处理器耦合,用于保存设备的程序指令和数据,处理器用于执行存储器中存储的程序指令,使得设备执行如第一方面任一项中的姿态矩阵的计算方法中数据处理的功能。
结合上述任意方面和上述任一种可能的实现方式,在另一种可能的实现方式中,传感器坐标系、脚坐标系和地面坐标系为直角坐标系。
附图说明
图1为现有技术提供的一种姿态矩阵的计算方法流程图;
图2a为本申请实施例提供的一种可穿戴设备的外观示意图;
图2b为本申请实施例提供的另一种可穿戴设备的外观示意图;
图2c为本申请实施例提供的一种主体的示意图;
图2d为本申请实施例提供的另一种主体的示意图;
图2e为本申请实施例提供的另一种主体的示意图;
图2f为本申请实施例提供的一种可穿戴设备的结构示意图;
图3为本申请实施例提供的一种手机的结构示意图;
图4a为本申请实施例提供的一种可穿戴设备的佩戴示意图;
图4b为本申请实施例提供的另一种可穿戴设备的佩戴示意图;
图4c为本申请实施例提供的另一种可穿戴设备的佩戴示意图;
图5a为本申请实施例提供的一种传感器坐标系的示意图;
图5b为本申请实施例提供的另一种传感器坐标系的示意图;
图5c为本申请实施例提供的另一种传感器坐标系的示意图;
图6a为本申请实施例提供的一种姿态矩阵的计算方法流程图;
图6b为本申请实施例提供的另一种姿态矩阵的计算方法流程图;
图7a为本申请实施例提供的一种距离计算方法流程图;
图7b为本申请实施例提供的另一种距离计算方法流程图;
图8为本申请实施例提供的一种速度与加速度的对应关系图;
图9a为本申请实施例提供的一种右手直角坐标系的示意图;
图9b为本申请实施例提供的一种左手直角坐标系的示意图;
图10为本申请实施例提供的一种脚坐标系的示意图;
图11a为本申请实施例提供的另一种脚坐标系的示意图;
图11b为本申请实施例提供的另一种脚坐标系的示意图;
图11c为本申请实施例提供的另一种脚坐标系的示意图;
图11d为本申请实施例提供的另一种脚坐标系的示意图;
图11e为本申请实施例提供的另一种脚坐标系的示意图;
图11f为本申请实施例提供的另一种脚坐标系的示意图;
图12为本申请实施例提供的另一距离计算方法流程图;
图13为本申请实施例提供的一种第一向量与传感器坐标系的关系图;
图14为本申请实施例提供的一种用户静止站立的示意图;
图15为本申请实施例提供的一种地面坐标系的示意图;
图16a为本申请实施例提供的另一种地面坐标系的示意图;
图16b为本申请实施例提供的另一种地面坐标系的示意图;
图16c为本申请实施例提供的另一种地面坐标系的示意图;
图17为本申请实施例提供的一种坐标系的变换关系示意图;
图18为本申请实施例提供的一种脚坐标系与地面坐标系的对应关系图;
图19为本申请实施例提供的一种脚着地时刻示意图;
图20为本申请实施例提供的一种速度校正示意图;
图21为本申请实施例提供的一种重力方向的距离示意图;
图22为本申请实施例提供的一种姿态矩阵校正示意图;
图23为本申请实施例提供的另一种距离计算方法流程图;
图24为本申请实施例提供的一种距离计算方法时序图;
图25为本申请实施例提供的另一种距离计算方法流程图;
图26为本申请实施例提供的一种可穿戴设备的计步结果显示示意图;
图27为本申请实施例提供的另一种可穿戴设备的计步结果显示示意图;
图28为本申请实施例提供的一种便携设备的结构示意图;
图29为本申请实施例提供的另一种便携设备的结构示意图。
具体实施方式
在现有姿态矩阵的计算方法中,由于对陀螺仪、加速计和磁力计等传感器的实时测量值进行融合的算法较为复杂,涉及到矩阵求逆、协方差矩阵计算等复杂过程,因而计算量大,从而使得便携设备的功耗和内存占用都较大。本申请实施例提供了一种优化的姿态矩阵的计算方法及设备,可以根据一个常数矩阵和陀螺仪的实时测量值计算实时的姿态矩阵,而不需要结合加速度计和磁力计的实时测量值计算实时的姿态矩阵,因而不会涉及到陀螺仪与加速计或磁力计的实时测量值的复杂融合,从而不会涉及到融合过程中复杂的矩阵求逆和协方差矩阵计算等,因而可以减少计算量,降低设备的功耗,节省设备的内存。
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。如下所示:
便携设备:包括但不限于手机,平板电脑(例如,iPad),个人数字助理(personaldigital assistant,PDA),可穿戴设备(包括但不限于:智能手表,智能手环,运动环,智能眼镜等)。
可穿戴设备:即直接穿戴在身上,或是整合到用户的衣服或配件的一种便携设备。
主成分分析(principal component analysis,PCA)法:是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量可以称为主成分。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请实施例涉及的便携设备,可以用于感测用户的运动情况,便携设备包括但不限于手机、平板电脑、可穿戴设备或个人数字助理等设备。示例性的,当该便携设备为可穿戴设备时,图2a提供了一种可穿戴设备10的外观示意图。该可穿戴设备10可以包括主体11和连接件12,主体11可以包括屏幕13、按钮14等。其中,屏幕13可以用于向用户提示各种信息,例如时间、运动速度、运动距离、消耗的卡路里等。当该屏幕13为触控屏时,该屏幕13与按钮14可以用于输入用户的指示信息,例如开机、关机、暂停等。连接件12可以用于将可穿戴设备设置在用户身上的某个部位。主体11还可以包括听筒15、麦克风16等部件,可以用于发出语音提示、进行音乐播放、输入用户的语音指示等。此外,可以理解的是,主体11还可以包括其它部件,例如USB接口等。
图2a提供了一种外观类似于手表的可穿戴设备10,可穿戴设备10还可以为其它形态,本申请实施例不作具体限定。例如,可穿戴设备10还可以为如图2b所示的环形装置,连接件12具体可以为卡扣件,可以用于将可穿戴设备10卡扣在手腕、脚踝、手臂、腿部等部位,或者连接件12还可以为固定带,可以将可穿戴设备10固定在在手腕、脚踝、手臂、腿部等部位。
此外,参见图2c,主体11还可以与连接件12分离而独立使用。例如,主体11可以放置在口袋里、握在手中等。并且,主体11还可以作为装饰品,佩戴于用户的脖子、脚踝或者手腕、腰间、衣服表面等部位。示例性的,参见图2d和图2e,主体11为环状,可以作为项链佩戴在用户的脖子部位。具体的,当主体11仅作为装饰品使用时,可以不启动本申请实施例提供的优化算法(计算姿态矩阵的算法和计算距离的算法等)以及其它功能(例如计时功能)。主体11在被触发时,可以启动优化本申请实施例提供的优化算法,也可以启动其它功能。其中,主体11被触发的方式可以有很多,包括主体11被检测到佩戴在预设部位,或者主体11被连续晃动,或者主体11被持续触摸等方式。
图2f提供了另一种可穿戴设备20的结构示意图。参见图2f,该可穿戴设备20可以包括传感器21、处理模块22、存储模块23、输入模块24和提示模块25等。其中,传感器21可以用于监测可穿戴设备20的实时状态,具体可以包括加速度计、陀螺仪等。处理模块22可以用于对传感器21的检测数据进行处理。存储模块23可以用于存储传感器21的检测数据,存储处理模块22处理后的检测数据,以及存储控制指令。输入模块24可以用于接收用户输入的指示信息,例如可以是图2a中的屏幕13、按钮14或麦克风16。提示模块25可以用于向用户显示各种提示信息,例如可以是图2a中的屏幕13或听筒15。此外,可穿戴设备20还可以包括其它模块,例如无线传输模块26等。
当该便携设备为手机时,图3提供了一种手机30的结构示意图。该手机30可以包括:屏幕31、处理器32、存储器33、电源34、射频(radio frequency,RF)电路35、传感器36和音频电路37等部件,这些部件之间可以以总线连接,也可以直连连接。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多的部件,或者组合某些部件,或者不同的部件布置。
其中,屏幕31具体可以是触摸显示屏或非触摸显示屏,可以用于用户界面显示。处理器32是手机30的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器33内的软件程序和/或模块,以及调用存储在存储器33内的数据,执行手机30的各种功能和处理数据,从而对手机30进行整体监控。存储器33可用于存储数据、软件程序以及模块。电源34可以通过电源管理系统与处理器32逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。RF电路35可用于收发信息或通话过程中,信号的接收和发送。传感器36可以包括加速度计,用于采集手机在各个方向上(一般为三轴)加速度的大小,静止时可采集出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。传感器36还可以包括压力传感器、光传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其它传感器。音频电路37可以用于提供用户与手机30之间的音频接口。尽管未示出,手机30还可以包括全球定位系统(global positioning system,GPS)模块、无线保真(wirelessfidelity,Wi-Fi)模块、蓝牙模块、摄像头等功能模块,在此不再一一赘述。
应理解:平板电脑和个人数字助理的结构与图3中手机的结构类似,此处不再赘述。
为使本申请实施例的目的、技术方案和优点更加清楚,下面结合图2a和图2f所示的可穿戴设备中的具体部件,对本申请实施例提供的姿态矩阵的计算方法进行详细描述。
本申请实施例中的可穿戴设备可以佩戴在用户的脚踝、脚部或小腿部位。示例性的,可穿戴设备佩戴在用户脚踝部位的示意图可以参见图4a,佩戴在用户脚面部位的示意图可以参见图4b,佩戴在用户小腿部位的示意图可以参见图4c。
本申请以下实施例将以图4a所示的可穿戴设备佩戴在用户的小腿部位的情况为例进行说明。应理解:上述便携设备可以完全代替可穿戴设备适用于下面描述的任一种技术方案。可穿戴设备佩戴在用户脚踝部位或脚部的情况与佩戴在小腿部位的情况类似,本申请实施例将不再详细说明。
在本申请实施例中,可穿戴设备中的传感器可以包括陀螺仪,具体可以是三轴陀螺仪,即陀螺仪的测量值可以包括三个坐标轴分别对应的三个分量。本申请实施例提供的姿态矩阵的计算方法涉及传感器坐标系、脚坐标系和地面坐标系。其中,传感器坐标系通常为传感器出厂时定义的坐标系,也可以是传感器出厂时定义的坐标系经过简单变换后的坐标系,这里不作具体限定。示例性的,传感器坐标系的定义方式可以参见图5a、5b或图5c等。脚坐标系根据脚和小腿的方向定义,地面坐标系是固定在地球表面的一种坐标系。
参见图6a和图6b,本申请实施例提供的姿态矩阵的计算方法主要可以包括:
步骤101、可穿戴设备根据第一坐标变换矩阵和一个采样时刻(例如,第i个采样时刻,i为大于0的整数)对应的陀螺仪的测量值,计算该采样时刻对应的第二坐标变换矩阵,第一坐标变换矩阵为常数矩阵。
其中,第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵。在本申请实施例中,脚坐标系是根据用户的脚和小腿的方向定义的,在用户运动过程中,当可穿戴设备佩戴于用户的脚踝、脚或小腿部位时,传感器相对于佩戴部位是固定的,传感器在地面坐标系中的位置随着脚踝、脚或小腿等佩戴部位位置的变化而变化,传感器坐标系相对于脚坐标系是固定的,传感器坐标系与脚坐标系之间的坐标变换矩阵是常数矩阵。第二坐标变换矩阵为脚坐标系与地面坐标系之间的坐标变换矩阵。脚坐标系与地面坐标系之间的坐标变换矩阵是随时间实时变化的矩阵。
在可穿戴设备中,传感器中的陀螺仪可以根据预设的采样频率或采样间隔在每个采样时刻实时采集测量值。在每个采样时刻,可穿戴设备可以根据第一坐标变换矩阵和采样时刻采集的陀螺仪的测量值,计算采样时刻对应的第二坐标变换矩阵。由于第一坐标变换矩阵为常数矩阵,因而可穿戴设备可以根据一个常数矩阵以及每个采样时刻分别对应的陀螺仪的测量值,计算每个采样时刻分别对应的第二坐标变换矩阵。
也就是说,可穿戴设备可以根据传感器坐标系与脚坐标系之间的坐标变换矩阵这个常数矩阵,以及每个采样时刻分别对应的陀螺仪的测量值,计算每个采样时刻分别对应的脚坐标系与地面坐标系之间的坐标变换矩阵。
对于第i个采样时刻,可穿戴设备可以根据传感器坐标系与脚坐标系之间的坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的脚坐标系与地面坐标系之间的坐标变换矩阵。
以下将以计算第i个采样时刻对应的姿态矩阵为例进行说明。计算其它采样时刻对应的姿态矩阵的过程与计算第i个采样时刻对应的姿态矩阵类似,本申请实施例将不再赘述。
步骤102、可穿戴设备根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵。
其中,姿态矩阵为传感器坐标系与地面坐标系之间的坐标变换矩阵,与第二坐标变换矩阵一致,姿态矩阵也是随时间实时变化的矩阵。
在计算获得第i个采样时刻对应的第二坐标变换矩阵后,可穿戴设备可以将第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵相乘,以得到第i个采样时刻对应的实时的姿态矩阵,即:
也就是说,可穿戴设备可以根据传感器坐标系与脚坐标系之间的坐标变换矩阵这个常数矩阵,以及脚坐标系与地面坐标系之间的坐标变换矩阵这个实时变化的矩阵,计算传感器坐标系与地面坐标系之间的坐标变换矩阵这个实时变化的矩阵。
结合步骤101和步骤102可知,可穿戴设备可以根据传感器坐标系与脚坐标系之间的坐标变换矩阵这个常数矩阵,以及陀螺仪实时的测量值,计算传感器坐标系与地面坐标系之间实时变化的坐标变换矩阵。
可见,本申请实施例提供的方法可以根据陀螺仪实时的测量值,计算实时的姿态矩阵,而不需要结合加速度计和磁力计实时的测量值计算实时的姿态矩阵,因而不会涉及到陀螺仪与加速计或磁力计等传感器的实时的测量值的复杂融合,从而不会涉及到融合过程中的复杂的矩阵求逆以及协方差矩阵计算等,因而可以减少姿态矩阵计算过程中的计算量,降低可穿戴设备的功耗,节省可穿戴设备的内存。
具体的,在一种情况下,上述姿态矩阵可以为第一姿态矩阵,第一姿态矩阵为传感器坐标系到地面坐标系的坐标变换矩阵,第一坐标变换矩阵可以为传感器坐标系到脚坐标系的坐标变换矩阵,第二坐标变换矩阵可以为脚坐标系到地面坐标系的坐标变换矩阵。
在另一种情况下,姿态矩阵也可以为第二姿态矩阵,第二姿态矩阵可以为地面坐标系到传感器坐标系的坐标变换矩阵。第二姿态矩阵为第一姿态矩阵的逆矩阵或转置矩阵。
本申请以下实施例中将以姿态矩阵为第一姿态矩阵为例进行说明。
进一步地,在可穿戴设备中,传感器还可以包括加速度计。该加速度计具体可以是三轴加速度计,即加速度计的测量值包括三个轴对应的三个分量。参见图7a和图7b,在上述步骤102之后,该方法还可以包括:
步骤103、可穿戴设备根据第i个采样时刻对应的加速度计的测量值和第i个采样时刻对应的姿态矩阵,计算第i个采样时刻对应的传感器在地面坐标系中的加速度。
在步骤102中得到第i个采样时刻对应的第二坐标变换矩阵之后,在步骤103中,可穿戴设备可以根据加速度计在第i个采样时刻实时的测量值,计算传感器在地面坐标系中的加速度。
具体的,可穿戴设备可以根据如下表达式一,计算第i个采样时刻对应的传感器在地面坐标系中的加速度:
在表达式一中,表示第i个采样时刻对应的传感器在地面坐标系中的加速度,表示第i个采样时刻对应的传感器在地面坐标系的第一坐标轴的加速度,表示第i个采样时刻对应的传感器在地面坐标系的第二坐标轴的加速度,表示第i个采样时刻对应的传感器在地面坐标系的第三坐标轴的加速度,表示第i个采样时刻对应的姿态矩阵,表示第i个采样时刻对应的加速度计的测量值,表示第i个采样时刻对应的加速度计在传感器坐标系的第一坐标轴的测量值,表示第i个采样时刻对应的加速度计在传感器坐标系的第二坐标轴的测量值,表示第i个采样时刻对应的加速度计在传感器坐标系的第三坐标轴的测量值,az表示重力加速度。
由于姿态矩阵用于表示传感器坐标系到地面坐标系的坐标变换矩阵,因而在表达式一中,通过将姿态矩阵与加速度计的测量值相乘,可以将加速度计传感器在传感器坐标系中的加速度转换到地面坐标系中,即得到传感器在地面坐标系中的加速度。
需要注意的是,加速度计的测量值中包含了重力加速度的分量,因而传感器在地面坐标系中的加速度还需要减去重力加速度的分量,从而得到用户在地面坐标系中的运动加速度。
步骤104、可穿戴设备根据第i个采样时刻对应的传感器在地面坐标系中的加速度,计算第i个采样时刻对应的传感器在地面坐标系中的速度。
在步骤104中,可穿戴设备可以通过对步骤103中的第i个采样时刻对应的传感器在地面坐标系中的加速度进行积分,从而获得第i个采样时刻对应的传感器在地面坐标系中的速度。传感器在地面坐标系中的速度可以用于表示用户在地面坐标系中的速度。具体的,可穿戴设备可以对每个坐标轴的加速度分别进行积分,从而获得传感器在地面坐标系的每个坐标轴分别对应的速度,以下将以计算地面坐标系的任意一个坐标轴的速度为例进行说明。
例如,在一种计算方法中,初始时刻之后的第一个采样时刻对应的速度,可以为该第一个采样时刻对应的加速度在一个采样间隔内的积分值。从初始时刻之后的第二个采样时刻开始,当前采样时刻对应的速度,可以为当前采样时刻对应的加速度在一个采样间隔内的积分值,与前一个采样时刻对应的速度的和。其中的初始时刻可以为可穿戴设备的开机时刻。
示例性的,参见图8,时刻0为初始时刻,采样时刻1对应的加速度为a1,采样时刻2对应的加速度为a2。对于采样时刻1对应的速度v1,可穿戴设备可以在时刻0至采样时刻1之间的一个采样间隔T0内,对加速度a1进行积分,从而可以获得采样时刻1对应的速度v1。对于采样时刻2对应的速度v2,可穿戴设备可以在采样时刻1与采样时刻2之间的一个采样间隔内对加速度a2进行积分,并将获得的积分值与采样时刻1对应的速度v1相加,从而获得采样时刻2对应的速度v2。
步骤105、可穿戴设备根据q个采样时刻对应的传感器在地面坐标系中的速度,计算传感器在地面坐标系中的距离,q为大于或者等于2的整数。
在步骤105中,可穿戴设备可以对步骤104中q个采样时刻对应的传感器在地面坐标系中的速度,从而获得传感器在地面坐标系中移动的距离。传感器在地面坐标系中移动的距离可以用于表示用户在地面坐标系中的运动距离。具体的,可穿戴设备可以对每个坐标轴的速度进行积分,从而获得传感器在地面坐标系的每个坐标轴分别对应的距离。
此外,现有技术中还存在一种通过GPS模块记录的轨迹计算用户运动距离的方案。在该方案中,GPS模块耗电量大,且在室内环境下容易失效,例如在室内跑步机上运动时,GPS模块无法记录轨迹,因而无法计算运动距离。而本申请实施例提供的方案不仅可以节省耗电量,而且在室内环境下也同样适用。
在本申请实施例中,传感器坐标系、脚坐标系和地面坐标系可以为直角坐标系,每个坐标系可以包括三个坐标轴,可以通过X轴、Y轴和Z轴进行表示。具体的,传感器坐标系、脚坐标系和地面坐标系可以均为如图9a所示右手直角坐标系,或者均为如图9b所示的左手直角坐标系。本申请以下实施例中将以传感器坐标系、脚坐标系和地面坐标系均为如图9a所示的右手直角坐标系为例进行说明。
在本申请实施例中,参见图10,脚坐标系的第一坐标轴、脚坐标系的第二坐标轴和脚坐标系的第三坐标轴相互垂直,脚坐标系的第二坐标轴在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,脚坐标系的第三坐标轴与小腿的延伸方向平行。其中,在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,与小腿的延伸方向垂直的方向是唯一的,该方向即为脚坐标系的第二坐标轴的方向。当用户静止站立时,脚坐标系的第二坐标轴的方向与脚跟到脚尖的方向平行。本申请实施例对与小腿的延伸方向平行的脚坐标系的第三坐标轴的指向不作具体限定,对与脚坐标系的第三坐标轴垂直的脚坐标系的第二坐标轴的指向不作具体限定。
并且,由图10可知,由于脚坐标系的第二坐标轴与脚坐标系的第三坐标轴垂直,而脚坐标系的第三坐标轴与小腿的延伸方向平行,因而当用户运动时,脚坐标系的第二坐标轴的方向随着小腿的延伸方向的变化而变化,但脚坐标系的第二坐标轴、脚坐标系的第三坐标轴以及脚跟到脚尖的连线方向始终在同一平面内。脚坐标系的第一坐标轴与脚坐标系的第二坐标轴和脚坐标系的第三坐标轴所在的平面垂直,脚坐标系的第一坐标轴与穿过脚踝且与脚坐标系的第二坐标轴和脚坐标系的第三坐标轴所在的平面垂直的方向平行。当用户运动时,脚和小腿绕穿过脚踝且与脚坐标系的第二坐标轴和脚坐标系的第三坐标轴所在的平面垂直的方向转动,即脚和小腿绕脚坐标系的第一坐标轴转动,可穿戴设备随着佩戴部位(脚、小腿或脚踝)绕脚坐标系的第一坐标轴转动。
本申请实施例对脚坐标系中的三个坐标轴与X轴、Y轴和Z轴的对应关系不作具体限定。示例性的,脚坐标系的示意图可以参见如下图11a-图11f。
进一步地,参见图12,在上述步骤101之前,本申请实施例提供的方法还可以包括:
步骤106、可穿戴设备根据加速度计的测量值和陀螺仪的测量值,计算第一坐标变换矩阵。
在现有技术中,可穿戴设备在每个采样时刻计算实时的姿态矩阵时,均需要对加速度计和陀螺仪以及磁力计的实时的测量值进行复杂融合,例如进行矩阵求逆、协方差矩阵计算等。在本申请实施例中,虽然可穿戴设备也需要结合加速度计的测量值和陀螺仪的测量值计算第一坐标变换矩阵,但正常情况下,可穿戴设备只需要结合加速度计的测量值和陀螺仪的测量值计算一次第一坐标变换矩阵,从而在每个采样时刻均可以根据计算获得的第一坐标变换矩阵这一常数矩阵,以及陀螺仪的实时的测量值,计算实时的姿态矩阵。因而,与现有技术相比,本申请实施例提供的方法可以减少计算量,降低计算复杂度。
需要说明的是,这里的常数矩阵是指,在可穿戴设备未发生松动的正常情况下,传感器坐标系与脚坐标系的坐标变换矩阵是固定不变的。当可穿戴设备检测到可穿戴设备发生松动时,传感器坐标系与脚坐标系的相对位置发生变换,可穿戴设备可以重新计算一次第一坐标变换矩阵。
具体的,上述步骤106可以包括:
步骤1061、当加速度计的测量值的波动范围大于或者等于第一预设值时,可穿戴设备根据陀螺仪的测量值和主成分分析法计算第一向量,第一向量为脚坐标系的第一坐标轴在传感器坐标系中的向量表示。
当加速度计的测量值的波动范围大于或者等于第一预设值时,可以说明加速度即的测量值的波动较大,用户处于运动状态。又由于当用户运动时,可穿戴设备随着佩戴部位绕脚坐标系的第一坐标轴转动,可穿戴设备中的陀螺仪也随着佩戴部位绕脚坐标系的第一坐标轴转动,而陀螺仪检测的是陀螺仪的转动角速度,陀螺仪三个轴的测量值构成的向量为陀螺仪的转动轴,因而陀螺仪的测量值分布在脚坐标系的第一坐标轴的附近。因此,参见图13,可穿戴设备可以根据主成份分析法,确定多个陀螺仪测量值分布的中心轴,该中心轴对应的单位向量即为脚坐标系的第一坐标轴。
此外,在计算获得第一向量后,可穿戴设备还可以通过主成分分析法检测第一向量是否发生变化。若第一向量发生变化,则可穿戴设备可以确定发生了松动,从而可以根据变化后的第一向量重新计算第一坐标变换矩阵。
步骤1062、当连续时间段Q内加速度计的测量值的波动范围小于第一预设值时,可穿戴设备根据连续时间段Q内加速度计的测量值计算第二向量,第二向量为脚坐标系的第三坐标轴在传感器坐标系中的向量表示,且该第二向量为单位向量。
当连续时间段Q内加速度计的测量值的波动范围小于第一预设值时,可以说明传感器的速度基本不变,此时通常可以表明用户处于静止站立的状态。当用户静止站立时,传感器测得的是重力加速度,脚坐标系的第二坐标轴和第一坐标轴方向没有加速度,脚坐标系的第三坐标轴与重力方向平行,因而此时加速度计的测量值对应的单位向量,即为脚坐标系的第三坐标轴在传感器坐标系中的向量表示。其中,这里的波动范围是指加速度计的测量值中的最大值和最小值的差,或者是指加速度计任意一个坐标轴的测量值中的最大值和最小值的差,或者连续时间段Q内加速度计的测量值的方差。Q的值具体可以根据实际需要进行设定,例如Q可以为1s,这里不作具体限定。
参见图14,当用户静止站立时,加速度计的测量值对应的单位向量即为第二向量。其中,加速度计的测量值包括三个轴分别对应的三个分量,加速度计的测量值对应的单位向量即为加速度计的三个分量对应的单位向量。
在步骤1062的一种具体实施方式中,可穿戴设备可以根据连续时间段Q内加速度计的测量值的平均值计算第二向量,即可穿戴设备可以先计算连续时间段Q内加速度计每个轴的测量值对应的平均值,从而根据三个轴分别对应的平均值计算第二向量。
或者,在步骤1062的另一种具体实施方式中,可穿戴设备可以根据连续时间段Q内任意一组加速度计的测量值计算第二向量。这里的一组是指一个采样时刻对应的加速度计的三个轴分别对应的测量值。
步骤1063、可穿戴设备根据第一向量和第二向量计算第三向量,第三向量为脚坐标系的第二坐标轴在传感器坐标系中的向量表示,第三向量与第一向量和第二向量相互垂直。
在得到第一向量、第二向量和第三向量之后,第一向量、第二向量和第三向量可以形成第一坐标变换矩阵。
在上述式2中,第一行向量(r11,r12,r13)为第一向量,用于表示脚坐标系的第一坐标轴在传感器坐标系中的向量表示;第二行向量(r21,r22,r23)为第三向量,用于表示脚坐标系的第二坐标轴在传感器坐标系中的向量表示;第三行向量(r31,r32,r33)为第二向量,用于表示为脚坐标系的第三坐标轴在传感器坐标系中的向量表示。
在本申请实施例中,参见图15,地面坐标系的第一坐标轴、地面坐标系的第二坐标轴和地面坐标系的第三坐标轴相互垂直,地面坐标系的第二坐标轴与用户的前进方向平行,地面坐标系的第三坐标轴与重力方向平行。用户运动时,脚绕地面坐标系的第一坐标轴转动。并且,本申请实施例对地面坐标系中的三个坐标轴与X轴、Y轴和Z轴的对应关系不作具体限定。示例性的,地面坐标系的定义可以参见如下图16a-图16c。示例性的,传感器坐标系、脚坐标系和地面坐标系之间的转换关系可以参见图17。
在一种具体的实现方式中,地面坐标系的第一坐标轴与脚坐标系的第一坐标轴的方向相同,地面坐标系的第二坐标轴的方向为用户的前进方向,脚坐标系的第二坐标轴的方向为脚跟指向脚尖的方向。这样,地面坐标系的第一坐标轴与脚坐标系的第一坐标轴的方向相同;当用户脚完全着地时(例如用户静止),脚跟指向脚尖的方向与用户的前进方向一致,即脚坐标系的第二坐标轴与地面坐标系的第二坐标轴的方向相同;并且,当用户脚完全着地时,地面坐标系的第三坐标轴和脚坐标系的第三坐标轴都与重力的方向平行,且方向相同,从而可以便于计算脚坐标系到地面坐标系的坐标变换矩阵。示例性的,脚坐标系和地面坐标系的对应关系可以参见图18。
在本申请实施例中,上述步骤102可以包括:
步骤1021、可穿戴设备将第一坐标变换矩阵与第i个采样时刻对应的陀螺仪的测量值相乘,以获得第i个采样时刻对应的传感器在脚坐标系中的角速度。
其中,陀螺仪的测量值用于表示传感器在传感器坐标系中的角速度。在该步骤中,第i个采样时刻对应的传感器在脚坐标系中的角速度可以表示为:
在上述式3中,表示第一坐标变换矩阵,表示第i个采样时刻对应的陀螺仪的测量值,表示第i个采样时刻对应的陀螺仪在传感器坐标系的第一坐标轴的测量值,表示第i个采样时刻对应的陀螺仪在传感器坐标系的第二坐标轴的测量值,表示第i个采样时刻对应的陀螺仪在传感器坐标系的第三坐标轴的测量值,表示第i个采样时刻对应的传感器在脚坐标系中的角速度,表示在第i个采样时刻,传感器绕脚坐标系第一坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第二坐标轴转动的角速度;表示在第i个采样时刻,传感器绕脚坐标系第三坐标轴转动的角速度。
步骤1022、可穿戴设备根据第i个采样时刻对应的传感器在脚坐标系中的角速度,计算第i个采样时刻对应的第二坐标变换矩阵。
脚坐标系相对于地面坐标系的坐标变换矩阵满足如下式4:
根据上述式4,可穿戴设备可以计算在第i个采样时刻脚坐标系相对于地面坐标系的坐标变化矩阵。因而,步骤1022可以包括:
步骤10220、可穿戴设备根据第i个采样时刻对应的传感器在脚坐标系中的角速度和传感器的采样间隔,以及表达式二或表达式三,计算采样时刻对应的第二坐标变换矩阵。
表达式二为:
表达式三为:
由表达式二或表达式三可知,可穿戴设备可以根据第i-1个采样时刻对应的第二坐标变换矩阵,以及第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵。也就是说,当前采样时刻对应的第二坐标变换矩阵的计算,与当前采样时刻之前的采样时刻对应的第二坐标变换矩阵有关。
由于在用户运动过程中,脚主要绕着脚坐标系的第一坐标轴转动,脚绕着脚坐标系的第二坐标轴和第三坐标轴的转动角速度可以忽略不计,即和因而上述表达式二可以简化为上述表达式三。与表达式二相比,采用简化后的表达式三可以降低计算复杂度。
并且,当采用简化后的表达式三时,在用户运动的初始时刻地面坐标系的第一坐标轴和脚坐标系的第一坐标轴保持一致的情况下,即使用户转弯,地面坐标系的第一坐标轴和脚坐标系的第一坐标轴也可以一直保持一致,从而可以确保地面坐标系的第二坐标轴始终为用户的前进方向。
当采用简化后的表达式三时,由于表达式三中的第一行和第一列为单位向量,因而第一个采样时刻,第二坐标系的第一行和第一列同样为单位向量,以此类推,每个采样时刻对应的第二坐标系变换矩阵的第一行和第一列为单位向量,即地面坐标系的第一坐标轴和脚坐标系的第一坐标轴始终保持一致,从而确保可地面坐标系的第二坐标轴始终为用户的前进方向。
此外,本申请实施例提供的方法还涉及脚着地时刻和校正时刻。其中,脚着地时刻是指用户脚与地面接触的时刻。在脚与地面接触的瞬间,地面对传感器产生较大的冲击,导致加速度计的测量结果瞬间增大,可穿戴设备可以根据该特征确定脚着地时刻。具体的,可穿戴设备确定脚着地时刻的方式可以有多种。例如,在一种方式中,脚着地时刻可以为加速度计的测量值表示的向量的模长的极大值对应的时刻。在另一种方式中,脚着地时刻还可以根据陀螺仪的测量值在脚坐标系的第一坐标轴的投影即传感器绕脚坐标系的第一坐标轴转动的角速度来确定。参见图19,由正值向负值穿越之后的第一个局部极小值点对应的时刻可以为脚着地时刻。其中,由正值向负值穿越表示脚开始往下落,当脚着地时,由于与地面接触,脚转动速度减小,导致出现局部极小点。本申请以下实施例将以脚着地时刻为加速度计的测量值表示的向量的模长的极大值对应的时刻为例进行说明。校正时刻为在包括脚着地时刻的预设时长内,传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,值得注意的是,本申请实施例中的脚着地时刻和校正时刻均为采样时刻。这里的预设时长也可以称为预设间隔、预设时间段等。
进一步地,在每个校正时刻(例如第j个校正时刻,j为大于0的整数)之后,参见图23,该方法还可以包括:
步骤107、对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度进行校正,以使得在第j个校正时刻,校正后的传感器在地面坐标系的第n坐标轴的速度为0,n的取值为一、二或者三。
其中的第n坐标轴可以为地面坐标系的第一坐标轴、地面坐标系的第二坐标轴或地面坐标系的第三坐标轴。即,可穿戴设备可以对地面坐标系的第一坐标轴的速度、地面坐标系的第二坐标轴的速度或地面坐标系的第三坐标轴的速度进行校正。
在用户运动过程中,脚周期性着地。相应地,传感器的前进速度周期性地增大和减小,且脚着地时刻脚的速度接近于零。并且,在脚与地面接触的瞬间,地面对传感器产生的冲击较大,从而导致加速度计的测量值瞬间增大。通过该特征,可穿戴设备可以确定脚着地时刻。
具体的,可穿戴设备可以首先确定一个加速度计的测量值表示的向量的模长的极大值对应的时刻,该时刻即为一个脚着地时刻;而后,可穿戴设备可以确定一个包括该脚着地时刻的预设时长,例如该预设时长的时长可以为一个跑步周期时长的1/3;进而,在该预设时长内,可穿戴设备可以搜索传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻,该时刻即为该脚着地时刻对应的校正时刻。也就是说,在校正时刻,在没有累积误差的情况下,传感器在地面坐标系的第二坐标轴的速度理论上应该为0。并且,传感器在地面坐标系的第一坐标轴和第三坐标轴的速度理论上也应该为0。即,传感器在地面坐标系中的速度理论上应该为0。并且,由于用户运动时,脚绕地面坐标系的第一坐标轴转动,因而传感器在地面坐标系的第一坐标轴的速度基本为0。
因此,参见图20,在确定校正时刻后,可穿戴设备可以在两个相邻校正时刻之间的时间段内,对各采样时刻分别对应的传感器在地面坐标系的第一坐标轴的速度、第二坐标轴的速度或第三坐标轴的速度中的至少一个进行校正,以使得在校正时刻,校正后的传感器在地面坐标系的第一坐标轴的速度、第二坐标轴的速度或第三坐标轴的速度中的至少一个为0,从而可以减小计算过程中的累积误差,提高计算精度。
需要说明的是,在每个校正时刻之后,当n取多个值时,上述步骤107可以对应执行多次。例如,在一种具体实现方式中,可穿戴设备可以对地面坐标系的第二坐标轴的速度和地面坐标系的第一坐标轴的速度进行校正。具体的,当n取二时,可穿戴设备可以执行一次步骤107,从而对地面坐标系的第二坐标轴的速度进行校正;当n取一时,可穿戴设备可以再执行一次步骤107,从而对地面坐标系的第一坐标轴的速度进行校正。
具体的,上述步骤107可以包括:
步骤1070、对于第j个校正时刻与第j-1个校正时刻之间的时间段内的各采样时刻(例如第i个采样时刻),可穿戴设备根据表达式四分别对各采样时刻对应的传感器在地面坐标系的第n坐标轴的速度进行校正。
其中,表达式四为:
其中,tj表示第j个校正时刻,tj-1表示第j-1个校正时刻,表示第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示校正后的第i个采样时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示第j个校正时刻对应的传感器在地面坐标系的第n坐标轴的速度,表示第j-1个校正时刻对应的传感器在地面坐标系的第n坐标轴的速度。
由表达式四可知,可穿戴设备可以通过线性补偿的方法,对第j个校正时刻与第j-1个校正时刻之间的时间段内的每一个采样时刻,所对应的传感器在地面坐标系的第n坐标轴的速度进行校正,以使得在第j个校正时刻,校正后的传感器在地面坐标系的第n坐标轴的速度为0。
在上述步骤107的校正时刻之后,可穿戴设备在步骤105中根据q个采样时刻对应的传感器在地面坐标系中速度,计算传感器在地面坐标系中的距离可以包括:
步骤1051、可穿戴设备根据第j个校正时刻与第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的传感器在地面坐标系的第n坐标轴的速度,计算在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离。
步骤1052、可穿戴设备根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第n坐标轴的距离,与第j-1个校正时刻对应的传感器在地面坐标系的总的距离,计算第j个校正时刻对应的传感器在地面坐标系的总的距离。
具体的,参见图20,可穿戴设备根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,对传感器在地面坐标系的第n坐标轴的速度进行积分,从而得到第j个校正时刻与第j-1个校正时刻之间的时间段内对应的传感器在地面坐标系的第n坐标轴的距离。当n分别取一、二或三时,可穿戴设备可以得到第j个校正时刻与第j-1个校正时刻之间的时间段内对应的传感器在地面坐标系的三个坐标轴的距离。而后,可穿戴设备可以将这三个坐标轴的距离的平方和开根号,从而得到在第j个校正时刻与第j-1个校正时刻之间的时间段内的移动距离,将该移动距离与第j-1个校正时刻对应的传感器在地面坐标系的总的距离相加,可以得到第j个校正时刻对应的传感器在地面坐标系的总的距离。
此外,在用户运动过程中,如果姿态矩阵计算正确,则参见图21,在两个相邻校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离应该为0;并且,在两个相邻校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴的速度没有累计误差,即校正时刻对应的传感器在地面坐标系的第二坐标轴(即与用户前进方向平行的坐标轴)的速度应该为0。
当两个相邻校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离不为0;或者,校正时刻对应的传感器在地面坐标系的第二坐标轴(即与用户前进方向平行的坐标轴)的速度不为0时,可以表明姿态矩阵计算不准确,从而使得根据姿态矩阵表示的坐标变换矩阵以及传感器坐标系实际得到的地面坐标系与定义的地面坐标矩阵存在偏差,因而参见图22,可穿戴设备可以通过乘以旋转矩阵的方法将姿态矩阵进行旋转,从而通过调整姿态矩阵来调整实际得到的地面坐标系(图22中虚线表示的地面坐标系),以尽量减小实际得到的地面坐标系与定义的地面坐标系(图22中实线表示的地面坐标系)之间的偏差,从而减小两个相邻校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离,以使得在两个相邻校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离尽量趋近于0;或者减小校正时刻对应的传感器在地面坐标系的第二坐标轴(即与用户前进方向平行的坐标轴)的速度,以使得校正时刻对应的传感器在地面坐标系的第二坐标轴(即与用户前进方向平行的坐标轴)的速度尽量趋近于0。
因此,在第j个校正时刻之后,参见图23,该方法还可以包括:
步骤108、可穿戴设备构造旋转矩阵。
具体的,旋转矩阵C可以表示为表达式五:
其中,表达式五中的θ表示旋转角。
步骤109、可穿戴设备将旋转矩阵乘以第j个校正时刻之后的第m个采样时刻对应的姿态矩阵,以获得校正后的第m个采样时刻对应的姿态矩阵,m为大于0的整数。
校正前后的第m个采样时刻对应的姿态矩阵以及旋转矩阵的对应关系可以参见如下式6:
这里的第m个采样时刻为可穿戴设备确定第j个校正时刻(传感器在地面坐标系的第二坐标轴的速度的极小值对应的时刻)之后的采样时刻,具体可以是第j个校正时刻之后的较小时间范围内的采样时刻,例如可以是第j个校正时刻之后的第1个采样时刻。这样,可穿戴设备可以在第j个校正时刻附近对姿态矩阵进行校正。
并且,由上述式1可知,姿态矩阵为第一坐标变换矩阵与第二坐标变换矩阵的乘积,而第一坐标变换矩阵为常数矩阵,因而对姿态矩阵进行校正,实际上相当于对第二坐标变换矩阵进行校正。而由表达式二和表达式三可知,每个采样时刻对应的第二坐标变换矩阵的计算,与该采样时刻之前的采样时刻对应的第二坐标变换矩阵有关,因此每个采样时刻对应的姿态矩阵的计算,也与该采样时刻之前的采样时刻对应的姿态矩阵有关。
因而,在得到第m个采样时刻对应的校正后的姿态矩阵后,从第m+1个采样时刻开始,可穿戴设备可以根据第m个采样时刻对应的校正后的姿态矩阵计算每个采样时刻对应的姿态矩阵,直到在第j+1个校正时刻之后重新获得校正后的姿态矩阵。
举例来说,当第m个时刻为第j个校正时刻之后的第1个采样时刻时,可穿戴设备可以得到第j个校正时刻之后的第1个采样时刻对应的校正后的姿态矩阵。从第j个校正时刻之后的第2个采样时刻开始,可穿戴设备可以根据第j个校正时刻之后的第1个采样时刻对应的校正后的姿态矩阵,计算每个采样时刻对应的姿态矩阵,从而计算每个采样时刻分别对应的加速度和速度,直至获得第j+1个校正时刻之后的第1个采样时刻对应的校正后的姿态矩阵。
在本申请实施例中,上述步骤108具体可以包括:
步骤1081、可穿戴设备根据在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴和第三坐标轴的距离;或者,根据第j个校正时刻传感器在地面坐标系的第二坐标轴的速度中的至少一种,计算旋转矩阵中的旋转角。
步骤1082、可穿戴设备根据旋转角和表达式五构造旋转矩阵。
其中,旋转角θ为表达式六中的第一旋转角θ1、表达式七中的第二旋转角θ2或表达式八中的第三旋转角θ3。
其中,
θ3=kθ1+(1-k)θ2,0≤k≤1表达式八
其中,arctan表示求反正切;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴的距离;表示在第j个校正时刻与第j-1个校正时刻之间的时间段内,传感器在地面坐标系的第二坐标轴的距离;表示第j个校正时刻对应的传感器在地面坐标系的第二坐标轴的速度;az表示重力加速度;T1表示第j个校正时刻与第j-1个校正时刻之间的时间段。
当旋转矩阵C中的旋转角θ为表达式六中的第一旋转角θ1时,可穿戴设备根据旋转矩阵C对姿态矩阵进行校正后,可以减小在第j个校正时刻与第j+1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离,以使得传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离尽量趋近于0。
当旋转矩阵C中的旋转角θ为表达式七中的第二旋转角θ2时,可穿戴设备根据旋转矩阵C对姿态矩阵进行校正后,可以减小第j+1个校正时刻传感器在地面坐标系的第二坐标轴(即与用户的前进方向平行的坐标轴)的速度,以使得第j+1个校正时刻对应的传感器在地面坐标系的第二坐标轴(即与用户前进方向平行的坐标轴)的速度尽量趋近于0。
当旋转矩阵C中的旋转角θ为表达式八中的第三旋转角θ3时,可穿戴设备根据旋转矩阵C对姿态矩阵进行校正后,据旋转矩阵C对姿态矩阵进行校正后,可以减小在第j个校正时刻与第j+1个校正时刻之间的时间段内,传感器在地面坐标系的第三坐标轴(即与重力方向平行的坐标轴)的距离,以及在第j+1个校正时刻传感器在地面坐标系的第二坐标轴(即与用户的前进方向平行的坐标轴)的速度。
可见,在本申请实施例中,参见图24和图25,在每个采样时刻,可穿戴设备均可以计算一次第二坐标变换矩阵、姿态矩阵、加速度和速度;在每个校正时刻之后,可穿戴设备还可以进行一次速度校正和姿态矩阵校正,并计算一次距离。
此外,本申请实施例还提供一种方法,该方法可以包括:当可穿戴设备检测到该可穿戴设备佩戴在手臂、手部或手腕上时,可穿戴设备采用第一算法来计算走路或跑步距离,可穿戴设备检测到用户查看时,可穿戴设备显示计步结果的同时标识出是佩戴在手臂、手部或手腕上的计步结果。当该可穿戴设备检测到该可穿戴设备佩戴在脚踝、小腿或脚部时,可穿戴设备采用第二算法来计算走路或跑步距离,可穿戴设备用户查看时,可穿戴设备在显示计步结果的同时标识出是佩戴在脚踝、小腿或脚部的计步结果。其中,第二算法为本申请上述方法实施例所提供的方法。第一算法可以为通用的算法或适用于可穿戴设备佩戴在手臂、手部或手腕上的计步算法。作为一种可能的实现方式,第一算法可以与第二算法相同。
其中,当可穿戴设备检测到该可穿戴设备佩戴在手臂、手部或手腕上时,可穿戴设备在显示计步结果的同时,可以显示相同的标志以标识可穿戴设备佩戴在手臂、手部或手腕上,也可以分别显示手臂、手部或手腕对应的标志,以标识可穿戴设备具体佩戴在手臂、手部还是手腕上。
例如,参见图26,当可穿戴设备检测到该可穿戴设备佩戴在手臂、手部或手腕上时,可穿戴设备在显示计步结果的同时,均可以显示手的图示、手的拼音首字母缩写或手的英文以标识当前的佩戴部位为手臂、手部或手腕。或者,当可穿戴设备检测到该可穿戴设备佩戴在手臂上时,可穿戴设备可以在显示计步结果的同时,显示手臂的图示、手臂的拼音首字母缩写或手臂的英文等,以标识当前的佩戴部位为手臂;当可穿戴设备检测到该可穿戴设备佩戴在手腕上时,可穿戴设备可以在显示计步结果的同时显示手腕的图示、手腕的拼音首字母缩写、手腕的英文,以标识当前的佩戴部位为手腕。
当可穿戴设备检测到该可穿戴设备佩戴在脚踝、小腿或脚部时,可穿戴设备在显示计步结果的同时,可以显示相同的标志以标识可穿戴设备佩戴在脚踝、小腿或脚部,也可以分别显示脚踝、小腿或脚部对应的标志,以标识可穿戴设备具体佩戴在脚踝、小腿还是脚部。
例如,参见图27,当可穿戴设备检测到该可穿戴设备佩戴在脚踝、小腿或脚部时,可穿戴设备在显示计步结果的同时,均可以显示脚的图示、脚的拼音首字母缩写或脚的英文以标识当前的佩戴部位为脚踝、小腿或脚部。或者,当可穿戴设备检测到该可穿戴设备佩戴在脚踝上时,可穿戴设备可以在显示计步结果的同时,显示脚踝的图示、脚踝的拼音首字母缩写或脚踝的英文等,以标识当前的佩戴部位为脚踝;当可穿戴设备检测到该可穿戴设备佩戴在小腿上时,可穿戴设备可以在显示计步结果的同时显示腿的图示、腿的拼音首字母缩写、腿的英文,以标识当前的佩戴部位为小腿部位。
在另外的实现方式中,当可穿戴设备检测到可穿戴设备佩戴在脖子上时,可穿戴设备可以采用第三算法来计算走路或跑步距离。可穿戴设备检测到用户查看时,在显示计步结果的同时并标识出是佩戴在脖子上的计步结果(例如,显示一个脖子的图示,或脖子的英文,或脖子的汉语拼音首字母缩写等)。其中,第三算法可以为通用算法,或者是适用于可穿戴设备佩戴在脖子上的计步算法。作为一种可能的实现方式,第三算法也可以与第一算法相同。
在另外的实现方式中,当可穿戴设备检测到可穿戴设备佩戴在脚踝(或小腿或脚部)时,可穿戴设备可以自动关闭血压,和/或心跳等生理参数检测模块。
在另外的实现方式中,当可穿戴设备检测到可穿戴设备佩戴在脖子上时,可穿戴设备可以自动关闭血压,和/或心跳等生理参数检测模块。
应理解:可穿戴设备检测到用户查看,包括:可穿戴设备检测到用户点击可穿戴设备的电源键;或者,可穿戴设备检测到用户点击可穿戴设备的触控屏;或者,可穿戴设备检测到用户按照预设方式操作可穿戴设备(例如,连续摇晃可穿戴设备两次);或者,可穿戴设备检测到用户的语音指令;或者,可穿戴设备检测到用户停下来超过预设时长。或者,可穿戴设备检测到用户抬起手查看可穿戴设备,或者,可穿戴设备检测到用户拿起可穿戴设备查看;或者,可穿戴设备检测到用户从小腿上(或脚踝,或脚趾)上取下可穿戴设备,并拿起可穿戴设备观看。
其中,可穿戴设备检测佩戴部位的方式可以有多种。例如,可穿戴设备可以通过确定传感器检测到的数据波形与预设条件是否匹配,来确定可穿戴设备的佩戴位置,不同佩戴部位可以有不同的预设条件。再例如,可穿戴设备还可以通过接收用户的指示信息(例如语音指示或手势指示等),从而确定可穿戴设备的佩戴位置。
需要说明的是,本申请实施例可以用于用户运动过程中,尤其是跑步或走路过程中,关于姿态矩阵,用户的加速度、速度以及距离的计算。在计算获得传感器在地面坐标系中的距离,即用户的运动距离之后,基于用户的运动距离,可以计算用户的卡路里消耗、步长、配速,路线等运动参数。基于运动参数,给予用户运动指导。如,步长太大,适当的降低步长。基于运动参数,评估用户的运动能力,制定个性化的运动计划。如,根据用户的运动配速和距离,可以评估用户当前的运动能力。基于用户的运动能力,制定个性化的运动计划,在用户能承受的范围内,逐渐增加运动量。
可以理解的是,便携设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对便携设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图28示出了上述和实施例中涉及的便携设备40的一种可能的组成示意图,如图28所示,该便携设备40可以包括:传感器41和处理器42。其中,传感器41可以包括陀螺仪411;处理器42可以用于支持便携设备40执行上述步骤101-102,即:根据第一坐标变换矩阵和第i个采样时刻对应的陀螺仪的测量值,计算第i个采样时刻对应的第二坐标变换矩阵,根据第一坐标变换矩阵和第i个采样时刻对应的第二坐标变换矩阵,计算第i个采样时刻对应的姿态矩阵,i为大于0的整数。
其中,第一坐标变换矩阵为常数矩阵,第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵,第二坐标变换矩阵为脚坐标系与地面坐标系之间的坐标变换矩阵。姿态矩阵为传感器坐标系与地面坐标系之间的坐标变换矩阵。
此外,传感器41还可以包括加速度计412。处理器42还可以用于支持便携设备40执行上述方法实施例中的步骤101-109,以及步骤1021-1022、步骤10220、步骤1030、步骤1051-1052、步骤1061-1063、步骤1070以及步骤1081-1082。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的便携设备40,用于执行上述姿态矩阵的计算方法,因此可以达到与上述姿态矩阵的计算方法相同的效果。
在采用集成的单元的情况下,图29示出了上述实施例中所涉及的便携设备50的另一种可能的组成示意图。如图29所示,该便携设备50可以包括:处理模块51和存储模块52。
处理模块51用于对便携设备的动作进行控制管理,例如,处理模块51用于支持便携设备执行上述方法实施例中的步骤101-109,以及步骤1021-1022、步骤10220、步骤1030、步骤1051-1052、步骤1061-1063、步骤1070、步骤1081-1082,和/或用于本文所描述的技术的其它过程。存储模块52,用于存储便携设备的程序代码和数据。
其中,处理模块51可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,微处理器(digital signal processor,DSP)和微处理器的组合等等。在一种实现方式中,图29中的处理模块51具体可以是图28中的处理器42。存储模块52可以是存储器。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以计算机程序产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (37)
1.一种姿态矩阵的计算方法,应用于便携设备,其特征在于,所述便携设备包括传感器,所述传感器包括陀螺仪,所述方法涉及传感器坐标系、脚坐标系和地面坐标系,所述脚坐标系根据脚和小腿的方向定义,所述方法包括:
根据第一坐标变换矩阵和第i个采样时刻对应的所述陀螺仪的测量值,计算所述第i个采样时刻对应的第二坐标变换矩阵,所述第一坐标变换矩阵为常数矩阵,所述第一坐标变换矩阵为所述传感器坐标系与所述脚坐标系之间的坐标变换矩阵,所述第二坐标变换矩阵为所述脚坐标系与所述地面坐标系之间的坐标变换矩阵,i为大于0的整数;
根据所述第一坐标变换矩阵和所述第i个采样时刻对应的所述第二坐标变换矩阵,计算所述第i个采样时刻对应的姿态矩阵,所述姿态矩阵为所述传感器坐标系与所述地面坐标系之间的坐标变换矩阵。
2.根据权利要求1所述的方法,其特征在于,所述姿态矩阵为所述传感器坐标系到所述地面坐标系的坐标变换矩阵,所述第一坐标变换矩阵为所述传感器坐标系到所述脚坐标系的坐标变换矩阵,所述第二坐标变换矩阵为所述脚坐标系到所述地面坐标系的坐标变换矩阵。
3.根据权利要求1所述的方法,其特征在于,所述传感器还包括加速度计,在所述根据所述第一坐标变换矩阵和所述第i个采样时刻对应的所述第二坐标变换矩阵,计算所述第i个采样时刻对应的姿态矩阵之后,所述方法还包括:
根据所述第i个采样时刻对应的所述加速度计的测量值和所述第i个采样时刻对应的姿态矩阵,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度;
根据所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的速度;
根据q个采样时刻对应的所述传感器在所述地面坐标系中的速度,计算所述传感器在所述地面坐标系中的距离,q为大于或者等于2的整数。
4.根据权利要求2所述的方法,其特征在于,所述传感器还包括加速度计,在所述根据所述第一坐标变换矩阵和所述第i个采样时刻对应的所述第二坐标变换矩阵,计算所述第i个采样时刻对应的姿态矩阵之后,所述方法还包括:
根据所述第i个采样时刻对应的所述加速度计的测量值和所述第i个采样时刻对应的姿态矩阵,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度;
根据所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的速度;
根据q个采样时刻对应的所述传感器在所述地面坐标系中的速度,计算所述传感器在所述地面坐标系中的距离,q为大于或者等于2的整数。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正,以使得在所述第j个校正时刻,校正后的所述传感器在所述地面坐标系的第n坐标轴的速度为0,j为大于0的整数,n的取值为一、二或者三;
其中,所述校正时刻为在包括脚着地时刻的预设时长内,所述传感器在所述地面坐标系的第二坐标轴的速度的极小值对应的时刻,所述脚着地时刻为所述加速度计的测量值表示的向量的模长的极大值对应的时刻。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正,以使得在所述第j个校正时刻,校正后的所述传感器在所述地面坐标系的第n坐标轴的速度为0,j为大于0的整数,n的取值为一、二或者三;
其中,所述校正时刻为在包括脚着地时刻的预设时长内,所述传感器在所述地面坐标系的第二坐标轴的速度的极小值对应的时刻,所述脚着地时刻为所述加速度计的测量值表示的向量的模长的极大值对应的时刻。
7.根据权利要求5所述的方法,其特征在于,在所述第j个校正时刻之后,所述根据q个所述采样时刻对应的所述传感器在所述地面坐标系中的速度,计算所述传感器在所述地面坐标系中的距离包括:
根据所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度,计算在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离;
根据在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离,与所述第j-1个校正时刻对应的所述传感器在所述地面坐标系的总的距离,计算所述第j个校正时刻对应的所述传感器在所述地面坐标系的总的距离。
8.根据权利要求6所述的方法,其特征在于,在所述第j个校正时刻之后,所述根据q个所述采样时刻对应的所述传感器在所述地面坐标系中的速度,计算所述传感器在所述地面坐标系中的距离包括:
根据所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度,计算在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离;
根据在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离,与所述第j-1个校正时刻对应的所述传感器在所述地面坐标系的总的距离,计算所述第j个校正时刻对应的所述传感器在所述地面坐标系的总的距离。
9.根据权利要求5所述的方法,其特征在于,所述在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,对各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正包括:
对于所述第j个校正时刻与第j-1个校正时刻之间的时间段内的各采样时刻,根据表达式四分别对各采样时刻对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正;所述表达式四为:
10.根据权利要求6所述的方法,其特征在于,所述在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,对各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正包括:
对于所述第j个校正时刻与第j-1个校正时刻之间的时间段内的各采样时刻,根据表达式四分别对各采样时刻对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正;所述表达式四为:
13.根据权利要求11所述的方法,其特征在于,所述构造旋转矩阵包括:
根据所述第j个校正时刻与第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第二坐标轴和第三坐标轴的距离;或者,根据所述第j个校正时刻所述传感器在所述地面坐标系的第二坐标轴的速度中的至少一种,计算所述旋转矩阵中的旋转角;
根据所述旋转角和所述表达式五构造所述旋转矩阵;
其中,所述旋转角θ为表达式六中的第一旋转角θ1、表达式七中的第二旋转角θ2或表达式八中的第三旋转角θ3;
其中,所述表达式六为:
所述表达式七为:
所述表达式八为:
θ3=kθ1+(1-k)θ2,0≤k≤1;
14.根据权利要求12所述的方法,其特征在于,所述构造旋转矩阵包括:
根据所述第j个校正时刻与第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第二坐标轴和第三坐标轴的距离;或者,根据所述第j个校正时刻所述传感器在所述地面坐标系的第二坐标轴的速度中的至少一种,计算所述旋转矩阵中的旋转角;
根据所述旋转角和所述表达式五构造所述旋转矩阵;
其中,所述旋转角θ为表达式六中的第一旋转角θ1、表达式七中的第二旋转角θ2或表达式八中的第三旋转角θ3;
其中,所述表达式六为:
所述表达式七为:
所述表达式八为:
θ3=kθ1+(1-k)θ2,0≤k≤1;
17.根据权利要求1-16任一项所述的方法,其特征在于,所述脚坐标系的第一坐标轴、所述脚坐标系的第二坐标轴和所述脚坐标系的第三坐标轴相互垂直,所述脚坐标系的第二坐标轴在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,所述脚坐标系的第三坐标轴与小腿的延伸方向平行。
18.根据权利要求1-16任一项所述的方法,其特征在于,所述地面坐标系的第一坐标轴、所述地面坐标系的第二坐标轴和所述地面坐标系的第三坐标轴相互垂直,所述地面坐标系的第二坐标轴与用户的前进方向平行,所述地面坐标系的第三坐标轴与重力方向平行。
19.根据权利要求18所述的方法,其特征在于,所述地面坐标系的第一坐标轴与所述脚坐标系的第一坐标轴的方向相同,所述地面坐标系的第二坐标轴的方向为用户的前进方向,所述脚坐标系的第二坐标轴的方向为脚跟指向脚尖的方向。
20.根据权利要求1-16任一项所述的方法,其特征在于,在所述根据第一坐标变换矩阵和第i个采样时刻对应的所述陀螺仪的测量值,计算所述第i个采样时刻对应的第二坐标变换矩阵之前,所述方法还包括:
根据加速度计的测量值和所述陀螺仪的测量值,计算所述第一坐标变换矩阵。
21.根据权利要求20所述的方法,其特征在于,所述根据所述加速度计的测量值和所述陀螺仪的测量值,计算所述第一坐标变换矩阵包括:
当所述加速度计的测量值的波动范围大于或者等于第一预设值时,根据所述陀螺仪的测量值和主成分分析法计算第一向量,所述第一向量为所述脚坐标系的第一坐标轴在所述传感器坐标系中的向量表示;
当连续时间段Q内所述加速度计的测量值的波动范围小于所述第一预设值时,根据所述连续时间段Q内所述加速度计的测量值计算第二向量,所述第二向量为所述脚坐标系的第三坐标轴在所述传感器坐标系中的向量表示,且所述第二向量为单位向量;
根据所述第一向量和所述第二向量计算第三向量,所述第三向量为所述脚坐标系的第二坐标轴在所述传感器坐标系中的向量表示,所述第三向量与所述第一向量和所述第二向量相互垂直;
所述第一向量、所述第二向量和所述第三向量形成所述第一坐标变换矩阵。
22.根据权利要求21所述的方法,其特征在于,根据所述连续时间段Q内所述加速度计的测量值计算第二向量包括:
根据所述连续时间段Q内所述加速度计的测量值的平均值计算所述第二向量。
23.根据权利要求1-16任一项所述的方法,其特征在于,所述根据第一坐标变换矩阵和第i个采样时刻对应的所述陀螺仪的测量值,计算所述第i个采样时刻对应的第二坐标变换矩阵包括:
将所述第一坐标变换矩阵与所述第i个采样时刻对应的所述陀螺仪的测量值相乘,以获得所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度;
根据所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度,计算所述第i个采样时刻对应的所述第二坐标变换矩阵。
24.根据权利要求23所述的方法,其特征在于,所述根据所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度,计算所述第i个采样时刻对应的所述第二坐标变换矩阵包括:
根据所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度和所述传感器的采样间隔,以及表达式二或表达式三,计算所述第i个采样时刻对应的所述第二坐标变换矩阵,所述表达式二为:
所述表达式三为:
25.一种便携设备,其特征在于,所述便携设备包括传感器和处理器,所述传感器包括陀螺仪,所述处理器用于:
根据第一坐标变换矩阵和第i个采样时刻对应的所述陀螺仪的测量值,计算所述第i个采样时刻对应的第二坐标变换矩阵,所述第一坐标变换矩阵为常数矩阵,所述第一坐标变换矩阵为传感器坐标系与脚坐标系之间的坐标变换矩阵,所述第二坐标变换矩阵为所述脚坐标系与地面坐标系之间的坐标变换矩阵,i为大于0的整数;
根据所述第一坐标变换矩阵和所述第i个采样时刻对应的所述第二坐标变换矩阵,计算所述第i个采样时刻对应的姿态矩阵,所述姿态矩阵为所述传感器坐标系与所述地面坐标系之间的坐标变换矩阵。
26.根据权利要求25所述的便携设备,其特征在于,所述姿态矩阵为所述传感器坐标系到所述地面坐标系的坐标变换矩阵,所述第一坐标变换矩阵为所述传感器坐标系到所述脚坐标系的坐标变换矩阵,所述第二坐标变换矩阵为所述脚坐标系到所述地面坐标系的坐标变换矩阵。
27.根据权利要求25所述的便携设备,其特征在于,所述传感器还包括加速度计,所述处理器还用于:
根据所述第i个采样时刻对应的所述加速度计的测量值和所述第i个采样时刻对应的姿态矩阵,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度;
根据所述第i个采样时刻对应的所述传感器在所述地面坐标系中的加速度,计算所述第i个采样时刻对应的所述传感器在所述地面坐标系中的速度;
根据q个采样时刻对应的所述传感器在所述地面坐标系中的速度,计算所述传感器在所述地面坐标系中的距离,q为大于或者等于2的整数。
28.根据权利要求27所述的便携设备,其特征在于,所述处理器还用于:
对第j个校正时刻与第j-1个校正时刻之间的时间段内,各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度进行校正,以使得在所述校正时刻,校正后的所述传感器在所述地面坐标系的第n坐标轴的速度为0,j为大于0的整数,n的取值为一、二或者三;
其中,所述校正时刻为在包括脚着地时刻的预设时长内,所述传感器在所述地面坐标系的第二坐标轴的速度的极小值对应的时刻,所述脚着地时刻为所述加速度计的测量值表示的向量的模长的极大值对应的时刻。
29.根据权利要求28所述的便携设备,其特征在于,所述处理器还用于:
在所述第j个校正时刻之后,根据所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,校正后的各采样时刻分别对应的所述传感器在所述地面坐标系的第n坐标轴的速度,计算在所述第j个校正时刻与所述第j个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离;
根据在所述第j个校正时刻与所述第j-1个校正时刻之间的时间段内,所述传感器在所述地面坐标系的第n坐标轴的距离,与所述第j-1个校正时刻对应的所述传感器在所述地面坐标系的总的距离,计算所述第j个校正时刻对应的所述传感器在所述地面坐标系的总的距离。
31.根据权利要求25-30任一项所述的便携设备,其特征在于,所述处理器还用于:
在所述根据第一坐标变换矩阵和第i个采样时刻对应的所述陀螺仪的测量值,计算所述第i个采样时刻对应的第二坐标变换矩阵之前,根据加速度计的测量值和所述陀螺仪的测量值,计算所述第一坐标变换矩阵。
32.根据权利要求25-30任一项所述的便携设备,其特征在于,所述脚坐标系的第一坐标轴、所述脚坐标系的第二坐标轴和所述脚坐标系的第三坐标轴相互垂直,所述脚坐标系的第二坐标轴在脚跟到脚尖的连线方向以及小腿的延伸方向所在的平面内,所述脚坐标系的第三坐标轴与小腿的延伸方向平行。
33.根据权利要求25-30任一项所述的便携设备,其特征在于,所述地面坐标系的第一坐标轴、所述地面坐标系的第二坐标轴和所述地面坐标系的第三坐标轴相互垂直,所述地面坐标系的第二坐标轴与用户的前进方向平行,所述地面坐标系的第三坐标轴与重力方向平行。
34.根据权利要求25-30任一项所述的便携设备,其特征在于,所述处理器具体用于:
将所述第一坐标变换矩阵与所述第i个采样时刻对应的所述陀螺仪的测量值相乘,以获得所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度;
根据所述第i个采样时刻对应的所述传感器在所述脚坐标系中的角速度,计算所述第i个采样时刻对应的所述第二坐标变换矩阵。
35.一种便携设备,其特征在于,包括传感器、处理器和存储器,所述传感器包括陀螺仪和加速度计,所述存储器用于存储指令,所述处理器用于执行所述指令以使得所述便携设备执行如权利要求1-24任一项所述的姿态矩阵的计算方法。
36.一种计算机可读存储介质,其特征在于,包括指令,当其在便携设备上运行时,使得所述便携设备执行如权利要求1-24任一项所述的姿态矩阵的计算方法。
37.一种用于姿态矩阵计算的设备,其特征在于,所述设备以芯片的产品形态存在,所述设备的结构中包括处理器和存储器,所述存储器用于与所述处理器耦合,用于保存所述设备的程序指令和数据,所述处理器用于执行所述存储器中存储的程序指令,使得所述设备执行如权利要求1-24任一项所述的姿态矩阵的计算方法中数据处理的功能。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/105065 WO2019061513A1 (zh) | 2017-09-30 | 2017-09-30 | 一种姿态矩阵的计算方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110036259A CN110036259A (zh) | 2019-07-19 |
CN110036259B true CN110036259B (zh) | 2021-03-30 |
Family
ID=65902695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780074727.6A Active CN110036259B (zh) | 2017-09-30 | 2017-09-30 | 一种姿态矩阵的计算方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11392668B2 (zh) |
EP (1) | EP3671119B1 (zh) |
CN (1) | CN110036259B (zh) |
WO (1) | WO2019061513A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112050829B (zh) * | 2019-06-06 | 2023-04-07 | 华为技术有限公司 | 一种运动状态确定方法及装置 |
CN111369619B (zh) * | 2020-02-28 | 2023-04-07 | 神华铁路装备有限责任公司 | Vr视角修正方法、装置、系统和存储介质 |
CN112947771B (zh) * | 2021-01-11 | 2022-11-25 | 上海龙旗科技股份有限公司 | 一种实现空间轨迹输入的方法、装置及设备 |
CN114827777B (zh) * | 2022-06-29 | 2022-09-30 | 深圳市恒星物联科技有限公司 | 井盖松动的监测方法、装置、设备及存储介质 |
CN116661663B (zh) * | 2023-08-02 | 2023-12-05 | 北京华益精点生物技术有限公司 | 足型显示方法及相关设备 |
CN117091596B (zh) * | 2023-10-09 | 2024-06-21 | 腾讯科技(深圳)有限公司 | 一种姿态信息获取方法以及相关设备 |
CN118762611A (zh) * | 2024-09-04 | 2024-10-11 | 嘉善三思光电技术有限公司 | 一种基于多姿态、多段式显示屏的空间姿态调整方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4038527A (en) * | 1975-10-21 | 1977-07-26 | The Singer Company | Simplified strapped down inertial navigation utilizing bang-bang gyro torquing |
CN101886927A (zh) * | 2010-06-25 | 2010-11-17 | 武汉大学 | 基于惯性传感器和地磁传感器的三维运动跟踪系统与方法 |
JP4968604B2 (ja) * | 2006-06-21 | 2012-07-04 | トヨタ自動車株式会社 | 姿勢角決定装置およびその決定方法 |
CN103499348A (zh) * | 2013-09-24 | 2014-01-08 | 成都市星达通科技有限公司 | Ahrs高精度姿态数据计算方法 |
CN103968827A (zh) * | 2014-04-09 | 2014-08-06 | 北京信息科技大学 | 一种可穿戴式人体步态检测的自主定位方法 |
CN104406586A (zh) * | 2014-12-04 | 2015-03-11 | 南京邮电大学 | 基于惯性传感器的行人导航装置和方法 |
CN104613963A (zh) * | 2015-01-23 | 2015-05-13 | 南京师范大学 | 基于人体运动学模型的行人导航系统与导航定位方法 |
CN104748751A (zh) * | 2013-12-29 | 2015-07-01 | 刘进 | 姿态矩阵的计算方法及基于姿态矩阵的定位导航方法 |
CN104757976A (zh) * | 2015-04-16 | 2015-07-08 | 大连理工大学 | 一种基于多传感器融合的人体步态分析方法和系统 |
CN104864869A (zh) * | 2015-06-05 | 2015-08-26 | 中国电子科技集团公司第二十六研究所 | 一种载体初始动态姿态确定方法 |
WO2016123813A1 (zh) * | 2015-02-07 | 2016-08-11 | 华为技术有限公司 | 一种智能设备的姿态关系计算方法和智能设备 |
CN106767929A (zh) * | 2017-01-19 | 2017-05-31 | 浙江大学 | 一种用于修正惯性传感器坐标轴偏移的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104197938A (zh) | 2014-09-03 | 2014-12-10 | 厦门大学 | 基于脚部惯性传感器的室内定位方法 |
US20210275098A1 (en) * | 2016-09-13 | 2021-09-09 | Xin Tian | Methods and devices for information acquisition, detection, and application of foot gestures |
-
2017
- 2017-09-30 US US16/649,004 patent/US11392668B2/en active Active
- 2017-09-30 CN CN201780074727.6A patent/CN110036259B/zh active Active
- 2017-09-30 WO PCT/CN2017/105065 patent/WO2019061513A1/zh unknown
- 2017-09-30 EP EP17927332.1A patent/EP3671119B1/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4038527A (en) * | 1975-10-21 | 1977-07-26 | The Singer Company | Simplified strapped down inertial navigation utilizing bang-bang gyro torquing |
JP4968604B2 (ja) * | 2006-06-21 | 2012-07-04 | トヨタ自動車株式会社 | 姿勢角決定装置およびその決定方法 |
CN101886927A (zh) * | 2010-06-25 | 2010-11-17 | 武汉大学 | 基于惯性传感器和地磁传感器的三维运动跟踪系统与方法 |
CN103499348A (zh) * | 2013-09-24 | 2014-01-08 | 成都市星达通科技有限公司 | Ahrs高精度姿态数据计算方法 |
CN104748751A (zh) * | 2013-12-29 | 2015-07-01 | 刘进 | 姿态矩阵的计算方法及基于姿态矩阵的定位导航方法 |
CN103968827A (zh) * | 2014-04-09 | 2014-08-06 | 北京信息科技大学 | 一种可穿戴式人体步态检测的自主定位方法 |
CN104406586A (zh) * | 2014-12-04 | 2015-03-11 | 南京邮电大学 | 基于惯性传感器的行人导航装置和方法 |
CN104613963A (zh) * | 2015-01-23 | 2015-05-13 | 南京师范大学 | 基于人体运动学模型的行人导航系统与导航定位方法 |
WO2016123813A1 (zh) * | 2015-02-07 | 2016-08-11 | 华为技术有限公司 | 一种智能设备的姿态关系计算方法和智能设备 |
CN104757976A (zh) * | 2015-04-16 | 2015-07-08 | 大连理工大学 | 一种基于多传感器融合的人体步态分析方法和系统 |
CN104864869A (zh) * | 2015-06-05 | 2015-08-26 | 中国电子科技集团公司第二十六研究所 | 一种载体初始动态姿态确定方法 |
CN106767929A (zh) * | 2017-01-19 | 2017-05-31 | 浙江大学 | 一种用于修正惯性传感器坐标轴偏移的方法 |
Non-Patent Citations (2)
Title |
---|
Rapid transfer alignment method based on inertial reference frame;Wang, Qing-Zhe等;《Zhongguo Guanxing Jishu Xuebao/Journal of Chinese Inertial Technology》;20120430;第20卷(第2期);第168-172页 * |
一种基于IMU的3D位置追踪算法;童长胜等;《电子测量技术》;20150430;第38卷(第4期);第70-73页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110036259A (zh) | 2019-07-19 |
EP3671119A4 (en) | 2020-08-26 |
WO2019061513A1 (zh) | 2019-04-04 |
US11392668B2 (en) | 2022-07-19 |
EP3671119A1 (en) | 2020-06-24 |
EP3671119B1 (en) | 2024-04-10 |
US20200293603A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110036259B (zh) | 一种姿态矩阵的计算方法及设备 | |
US11481029B2 (en) | Method for tracking hand pose and electronic device thereof | |
CN110251080B (zh) | 检测正在穿戴可穿戴电子设备的肢体 | |
TWI457539B (zh) | 多姿態步距校正定位系統與方法 | |
US11064910B2 (en) | Physical activity monitoring system | |
US20190339766A1 (en) | Tracking User Movements to Control a Skeleton Model in a Computer System | |
US20150286279A1 (en) | Systems and methods for guiding a user during calibration of a sensor | |
US20130113704A1 (en) | Data fusion and mutual calibration for a sensor network and a vision system | |
US20160166180A1 (en) | Enhanced Real Time Frailty Assessment for Mobile | |
CN113906371B (zh) | 根据锻炼环境提供锻炼信息的电子装置及操作该电子装置的方法 | |
US20160189534A1 (en) | Wearable system and method for balancing recognition accuracy and power consumption | |
WO2017005130A1 (zh) | 一种测量人体在运动中消耗能量的方法、装置及计步器 | |
WO2018076205A1 (zh) | 一种步幅校准方法、相关设备及系统 | |
JP2017516091A (ja) | 動き方向の判定およびアプリケーション | |
JP2017516087A (ja) | 動き方向の判定およびアプリケーション | |
JP5233000B2 (ja) | 動き測定装置 | |
US20160030806A1 (en) | Exercise ability evaluation method, exercise ability evaluation apparatus, exercise ability calculation method, and exercise ability calculation apparatus | |
WO2016033717A1 (zh) | 一种组合式运动捕捉系统 | |
US20210068674A1 (en) | Track user movements and biological responses in generating inputs for computer systems | |
KR101672481B1 (ko) | 스윙 자세 분석 시스템 | |
US20070137301A1 (en) | Sensing device for measuring movement of linear/arc path | |
KR102253298B1 (ko) | 골프 퍼팅라인 측정장치 | |
JP2010152587A (ja) | 入力装置、制御システム、ハンドヘルド装置及び校正方法 | |
US20190011947A1 (en) | Display setting method, program, and system | |
CN110168547B (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 |