山东科威数控机床有限公司铣床官方网站今天是:2025-07-03切换城市[全国]-网站地图
推荐产品 :
推荐新闻
技术文章当前位置:技术文章>

测量物体位置和方位的方法

时间:2025-07-03    作者: 管理员

专利名称:测量物体位置和方位的方法
技术领域
本发明涉及一种测量物体方位的方法,所述物体在人体控制下运动,例如游戏手柄、遥控器、鼠标等。
背景技术
物体的位置,是指物体在特定的坐标系中相对于给定参考点(通常是坐标系的原点)的线性位移。在数学上,描述位置就等价于描述线性位移。在概念上,位置是指单一状态,而线性位移是指两个位置间的差别。物体的方位(orientation),也称为物体的姿态(attitude),描述的是物体的朝向。物体的方位是通过与已知方位(通常称为源方位)的旋转来描述的,旋转的量称作角位移。在数学上,描述方位就等价于描述角位移。在概念上,方位是指单一状态,而角位移是指两个状态间的差别。描述物体的方位或角位移具有多种表示方式,通常用欧拉角(Euler angles)的形式来表示方位,用四元数(quaternion)或旋转矩阵(rotation matrix)的形式来表示角位移。这几种表示方式之间都是可以互相转换的。更详细的信息可参考《3D数学基础图形与游戏开发》(Fletcher Dunn, Ian Parberry著,清华大学出版社,2005年8月出版)欧拉角具有多种定义方式,本发明中示例性地采用泰特-布莱恩角(Tait-Bryan angles),又称为导航角(navigation angles)、卡丹角(Cardan angles),这是一种最常见的欧拉角形式。泰特-布莱恩角包括偏航角(yaw)、俯仰角(pitch)和滚动角(roll)。其中,偏航角以Ψ表示,取值范围是-180 180度;俯仰角以f表示,取值范围是-90 90 度;滚动角以θ表示,取值范围是-180 180度。随着微机电系统(Micro Electromechanical System, MEMS)技术的不断发展,基于这种技术的传感器在消费电子产品中也得到了广泛地应用。例如,陀螺仪应用于数码相机中做防抖动处理;加速度传感器集成于笔记本电脑内部实现防跌落硬盘保护;磁传感器应用于手机中实现指南针的功能等等。陀螺仪(gyroscope)是一种常用的方位测量装置,陀螺仪输出角速度,是瞬时量。 通常将角速度与时间做积分运算得到角度变化量(角位移),将该角位移与初始方位相加, 得到目标方位。其中积分时间越小,计算的角位移越准确。但陀螺仪的测量基准是自身,并没有系统外的绝对参照物,加上积分时间不可能无限小,因此积分运算的累积误差会随着时间流逝迅速增加,最终导致输出角度与实际角度不符。陀螺仪具有自校准功能,当陀螺仪在使用过程中处于静止状态并维持一段时间后,其会对中心点进行自校准。加速度传感器(accelerometer)是一种常用的位置测量装置,加速度传感器输出加速度,也是瞬时量。通常将加速度与时间做两次积分运算得到位置变化量(线性位移), 将该线性位移与初始位置相加,得到目标位置。加速度传感器测量得到的加速度信号是重力加速度分量、向心加速度分量和线性加速度分量的总和。地磁传感器(geomagnetic sensor)是一种常用的方向测量装置。地磁传感器在使用过程中只有在确保自身方位正确的前提下,才能测量出准确的地磁信号。地磁传感器也具有自校准功能,当地磁传感器在使用过程中采集到足够多的特征点(运行角度较多), 其将会进行自校准。特征点数量是否足够多,由地磁传感器内置的自校准算法进行判断。

发明内容
本发明所要解决的技术问题是提供一种测量物体位置和方位的方法,该方法可以减小使用陀螺仪测量物体方位时的累计误差问题。为解决上述技术问题,本发明测量物体位置和方位的方法,所述物体上包括三轴陀螺仪、三轴加速度传感器和三轴地磁传感器,所述方法为其中,测量物体位置的方法是三轴加速度传感器测量物体的加速度并输出给处理器,处理器将该加速度中剔除掉重力加速度分量和向心加速度分量,得到线性加速度分量;处理器将该线性加速度分量与时间进行两次积分运算得到物体在该时间内的线性位移;处理器将物体的初始位置与该线性位移相加,得到物体的当前位置;其中,测量物体方位的方法是三轴陀螺仪测量物体的角速度并输出给处理器,处理器将该角速度与时间进行积分运算得到物体在该时间内的角位移,处理器将物体的初始方位与该角位移相加称为第一方位;处理器至少给出四元数形式和欧拉角形式表示的第一方位;当物体处于静止状态时,三轴加速度传感器测量得到的物体的加速度就是该物体的重力加速度,处理器根据此时的物体的加速度值计算物体的欧拉角形式的俯仰角和滚动角;当计算出的俯仰角的绝对值小于或等于80度时,将计算出的俯仰角、滚动角以及上述第一方位的偏航角作为第二方位;当计算出的俯仰角的绝对值大于80度时,将计算出的俯仰角、上述第一方位的滚动角和偏航角作为第二方位;处理器给出四元数形式表示的第二方位;当物体处于静止状态时、或者当物体处于运动状态且持续运动的时间在预设值之内时,三轴地磁传感器测量地磁信号并输出给处理器,处理器根据该地磁信号计算物体的欧拉角形式的偏航角,并将俯仰角和滚动角分别设为欧拉角形式的上述第一方位的俯仰角和滚动角,作为第三方位;处理器给出四元数形式表示的第三方位;当物体处于静止状态时,处理器计算第二方位与第一方位的差值作为补偿量一, 还计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量一、补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间在预设值之内,处理器计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间超出预设值,处理器将第一方位作为物体的方位。传统的测量物体方位的方法仅使用三轴陀螺仪,这会产生累计误差而导致长时间测量的结果不准确。本发明在使用三轴陀螺仪的基础上,又采用三轴加速度传感器和三轴地磁传感器对三轴陀螺仪的方位测量结果进行修正,从而可以获得较为准确的物体方位。


图1是物体向心运动的示意图;图2是物体线性运动的示意图;图3是本发明所述测量物体位置和方位的方法的示意图;图4是静止坐标系和运动坐标系的对比示意图;图5是本发明所述测量物体位置和方位的方法的一个实施例的流程图。
具体实施例方式物体在三维空间中的任何运动,都可以分解为向心运动(即转动)和线性运动 (即移动)的组合。其中向心运动如图1所示,向心运动改变物体的朝向,不改变物体的位置。线性运动如图2所示,线性运动改变物体的位置,不改变物体的朝向。本发明测量物体位置和方位的方法,首先要求运动物体上具有三轴陀螺仪、三轴加速度传感器和三轴地磁传感器。对于物体位置的测量,本发明所述方法为无论物体处于静止还是运动状态,物体上的三轴加速度传感器都会测量物体的加速度并输出给处理器。处理器将该加速度中剔除掉重力加速度分量和向心加速度分量,得到线性加速度分量。处理器将该线性加速度分量与时间进行两次积分运算得到物体在该时间内的线性位移;处理器将物体的初始位置与该线性位移进行矢量相加,得到物体的当前位置。对于物体方位的测量,本发明所述方法为三轴陀螺仪测量物体的角速度并输出给处理器,处理器将该角速度与时间进行积分运算得到物体在该时间内的角位移,处理器将物体的初始方位与该角位移相加称为第一方位;处理器至少给出四元数形式和欧拉角形式表示的第一方位;当物体处于静止状态时,三轴加速度传感器测量得到的物体的加速度就是该物体的重力加速度,处理器根据此时的物体的加速度值计算物体的欧拉角形式的俯仰角和滚动角;当计算出的俯仰角的绝对值小于或等于80度(即-80度 < 俯仰角<80度)时,将计算出的俯仰角、滚动角以及上述第一方位的偏航角三者构成第二方位;当计算出的俯仰角的绝对值大于80度(即-180度<俯仰角< -80度或80度<俯仰角< 180度)时,将计算出的俯仰角、上述第一方位的滚动角和偏航角三者构成第二方位;处理器给出四元数形式表示的第二方位;当物体处于静止状态时、或者当物体处于运动状态且持续运动的时间在预设值之内时,三轴地磁传感器测量地磁信号并输出给处理器,处理器根据该地磁信号计算物体的欧拉角形式的偏航角,并将俯仰角和滚动角分别设为欧拉角形式的上述第一方位的俯仰角和滚动角,作为第三方位;处理器给出四元数形式表示的第三方位;当物体处于静止状态时,处理器计算第二方位与第一方位的差值作为补偿量一, 还计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量一、补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间在预设值之内,处理器计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间超出预设值,处理器将第一方位作为物体的方位。
上述方位的加减运算均以四元数的形式进行,具体而言上述第二方位与第一方位的差值作为补偿量一以四元数相减的形式进行,第三方位与第一方位的差值作为补偿量二以四元数相减的形式进行,第一方位与补偿量一、补偿量二相加以四元数相加的形式进行,第一方位与补偿量二相加以四元数相加的形式进行。以四元数的形式进行方位的加减运算可以避免以欧拉角形式进行方位的加减运算可能出现的“死角”问题。请参阅图3,在任意情况下,物体的方位首先由陀螺仪的测量结果初步确定,即第一方位。加速度传感器仅在物体处于静止状态时测量计算得到第二方位。三轴地磁传感器在物体处于静止状态时、或者在物体持续运动一定时间内测量计算得到第三方位。当第二方位、第三方位存在时,则将第一方位通过补偿的方式向第二方位、第三方位靠拢。其中,第一方位中的俯仰角、滚动角向第二方位的俯仰角、滚动角靠拢,第一方位中的偏航角向第三方位的偏航角靠拢。如图3所示,加速度传感器、地磁传感器并非在所有情况下都可对陀螺仪的方位测量结果进行补偿。例如,加速度传感器在物体处于运动状态时,其无法根据重力加速度分量计算出物体当前的欧拉角形式的俯仰角和滚动角,因而无法得到第二方位。又如,地磁传感器只有在确定自身方位的情况下,才能测量得到准确的地磁信号。当物体处于静止状态时,地磁传感器的自身方位为第二方位。当物体处于运动状态且持续运动的时间在预设值之内,地磁传感器的自身方位为第一方位。当物体处于运动状态且持续运动的时间超出预设值,则很难确定地磁传感器自身方位,因而无法得到第三方位。所述持续运动时间的预设值,根据三轴地磁传感器的精度、数据传输稳定性、用户对偏差的可接受程度等有关,在通常的游戏系统中,建议值一般在10 20秒,优选为15秒。本申请中所述处理器可以是微控制器(MCU)、计算机的CPU等。三轴陀螺仪、三轴加速度传感器、三轴地磁传感器与所述处理器之间可以有线或无线的通讯方式进行数据的传输。常用的三轴陀螺仪根据输出信号为模拟信号还是数字信号分为两种。一种三轴陀螺仪向所述处理器输出模拟信号的角速度,此时该模拟信号的角速度经过模数转换模块转换为数字信号后输出给处理器,(该模数转换模块也可能在处理器内部),此时该模数转换模块将采样时间传输给所述处理器,所述处理器计算第一方位时的积分时间即来自于该模数转换模块所输出的采样时间。另一种三轴陀螺仪向所述处理器直接输出数字信号的角速度,此时该三轴陀螺仪内部必然具有模数转换模块,那么三轴陀螺仪还向所述处理器输出该模数转换模块的采样时间,此时所述处理器计算第一方位时的积分时间即来自于该模数转换模块所输出的采样时间。所述处理器在收到三轴陀螺仪、三轴加速度传感器、三轴地磁传感器输出的信号后,通常会进行相应的信号处理,比如滤波。滤波的实现方法很多,例如可以采用卡尔曼滤波算法(The Kalman Filter Algorithm)。经过滤波处理的数据根据具体的功能进行分类三轴陀螺仪输入的角速度数据通过积分运算获得角位移,该角位移与初始方位相加得到第一方位。由于初始方位通常为零, 该角位移通常就是第一方位。在物体处于静态时三轴加速度传感器输入的加速度数据通过坐标转换获得第二方位。在物体处于运动时三轴加速度传感器输入的加速度数据的线性运动分量通过二次积分运算获得线性位移。该线性位移与物体的初始位置相加得到物体的当前位置。由于初始位置通常为零,该线性位移通常就是物体的位置。当物体持续运动的时间小于预设值时三轴地磁传感器输入的地磁信号用来计算第三方位。其中将角速度与时间进行积分运算获得第一方位可以采用许多计算方法,例如可以采用经典四阶龙格-库塔法(classical fourth-order Runge-Kutta method)计算出四元数形式表示的第一方位。在计算过程中如果四元数的平方和不等于1,则对四元数进行归一化处理,这些均为现有技术,在此不作赘述。四元数形式表示的第一方位可以由处理器转换为欧拉角形式的方位、和/或旋转矩阵形式的方位,这三种表示方式之间可以自由转换,且均为现有技术。请参阅图4,点M是物体上的一个点,初始状态下,点M在静止坐标系A中的坐标为 (x,y,z)。一段时间后,物体的位置和方位都可能发生了变化。当物体的方位变化,实际上是物体的朝向在三维空间中相对于静止坐标系A发生了变化。换一种角度思考,也可以认为是物体的朝向在三维空间中保持不变,而参考坐标系由静止坐标系A变为了运动坐标系 A’,如图3所示。为简化起见,图3中假设物体的位置不变,即假设运动坐标系A’和静止坐标系A的原点相同。对于点M,只要知道其在运动坐标系A’下的坐标(x’,y’,z’),就可以描述物体的方位变化。(X,1,ζ)与(χ’,y’,ζ’ )之间的关系为(χ,,y,,ζ,)= (X,y,z)*Tarr其中,Tm是上述测量物体方位的方法的三种情况下与初始方位相加的量的旋转矩阵形式。三轴加速度传感器测量得到的加速度信号是重力加速度分量、向心加速度分量和线性加速度分量的矢量总和。由于重力加速度的方向、大小已知,并且静止坐标系A的一个轴通常选取铅垂方向,因此加速度信号中的重力加速度分量在静止坐标系A下的坐标值是已知的。在加速度信号中剔除重力加速度分量是这样实现的。当物体处于运动状态时,取三轴加速度传感器的三轴方向为运动坐标系A’的三轴方向,这样对于三轴加速度传感器测量出来的三轴为运动坐标系A’三轴方向的加速度信号,可以通过坐标转换转换为三轴为静止坐标系A三轴方向的加速度信号,然后就可以方便地将其中的重力加速度分量剔除出来。在剔除掉重力加速度分量的加速度信号后,进一步剔除掉向心加速度分量。向心加速度大小基于以下公式计算A (point) =kXw2Xr。其中A(point)为向心加速度分量的大小。k是比例因子,用来与保持加速度传感器测量结果与公式计算结果保持一致。w为角速度,由三轴陀螺仪获得。r为旋转半径,一般根据系统的经验值来定,不同的运动状态具有不同的经验值。例如在通常的游戏系统中,如果整个手臂运动,转动半径为手臂长度,大约在65 85cm之间,如果是手腕运动,半径大约在10 20cm之间,如果是手肘运动,半径大约在30 50cm之间,根据实际情况来定。实际应用中,我们会要求物体在用户手中的握法,一般以物体的前端为圆弧运动的外延,也就是说,物体基本垂直于运动圆弧,垂直点在物体的前端,这样可以较好的排除滚动角部分对系统计算的不利影响。最后,获得的向心加速度的大小为A(point) = kX (Wl2+W22) Xr,其中,W1为偏航角速度,W2为俯仰角速度,均由陀螺仪获得。向心加速度的方向与物体实际转动的弧形的切线垂直,指向圆弧外侧,所以在以上条件的限制下,向心加速度的方向沿物体竖直指向物体前端。这样便得到了向心加速度分量的大小和方向,从而可在剔除掉重力加速度分量的加速度信号中剔除。三轴加速度传感器所测量的加速度信号,在剔除重力加速度分量和向心加速度分量后,剩余的就是线性加速度分量。将该线性加速度分量与时间进行一次积分运算可以获得线性运动速度,将该线性加速度分量与时间进行二次积分运算可以获得线性运动位移。 通常将静止坐标系A的原点设为物体的初始位置,这样该线性位移就是物体的目标位置。当物体处于静止状态时,三轴加速度传感器测量的加速度信号就等于重力加速度分量,将该重力加速度分量通过坐标转换转换为三轴为运动坐标系A’三轴方向,便可以计算出以欧拉角形式表示的当前物体方位中的俯仰角f和滚动角Θ。在此原理下,本发明仅示例性地给出如下一种计算方法
权利要求
1.一种测量物体位置和方位的方法,所述物体上包括三轴陀螺仪、三轴加速度传感器和三轴地磁传感器,其特征是,其中,测量物体位置的方法是三轴加速度传感器测量物体的加速度并输出给处理器, 处理器将该加速度中剔除掉重力加速度分量和向心加速度分量,得到线性加速度分量;处理器将该线性加速度分量与时间进行两次积分运算得到物体在该时间内的线性位移;处理器将物体的初始位置与该线性位移相加,得到物体的当前位置;其中,测量物体方位的方法是三轴陀螺仪测量物体的角速度并输出给处理器,处理器将该角速度与时间进行积分运算得到物体在该时间内的角位移,处理器将物体的初始方位与该角位移相加称为第一方位;处理器至少给出四元数形式和欧拉角形式表示的第一方位;当物体处于静止状态时,三轴加速度传感器测量得到的物体的加速度就是该物体的重力加速度,处理器根据此时的物体的加速度值计算物体的欧拉角形式的俯仰角和滚动角; 当计算出的俯仰角的绝对值小于或等于80度时,将计算出的俯仰角、滚动角以及上述第一方位的偏航角作为第二方位;当计算出的俯仰角的绝对值大于80度时,将计算出的俯仰角、上述第一方位的滚动角和偏航角作为第二方位;处理器给出四元数形式表示的第二方位;当物体处于静止状态时、或者当物体处于运动状态且持续运动的时间在预设值之内时,三轴地磁传感器测量地磁信号并输出给处理器,处理器根据该地磁信号计算物体的欧拉角形式的偏航角,并将俯仰角和滚动角分别设为欧拉角形式的上述第一方位的俯仰角和滚动角,作为第三方位;处理器给出四元数形式表示的第三方位;当物体处于静止状态时,处理器计算第二方位与第一方位的差值作为补偿量一,还计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量一、补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间在预设值之内,处理器计算第三方位与第一方位的差值作为补偿量二,处理器将第一方位与补偿量二相加作为物体的方位;当物体处于运动状态且持续运动的时间超出预设值,处理器将第一方位作为物体的方位。
2.根据权利要求1所述的测量物体位置和方位的方法,其特征是,所述计算第二方位与第一方位的差值作为补偿量一是以四元数形式的减法进行,所述计算第三方位与第一方位的差值作为补偿量二是以四元数形式的减法进行,所述将第一方位与补偿量一和/或补偿量二相加作为物体的方位是以四元数形式的加法进行。
3.根据权利要求1所述的测量物体位置和方位的方法,其特征是,将第一方位、第二方位、第三方位由欧拉角形式转换为四元数形式时,先进行试运算,当试运算中出现任何一个欧拉角从取值范围的一头跳变到另一头时为试运算失败,否则为试运算成功;出现试运算失败时,将所有欧拉角的取值范围整数倍扩大,再进行试运算,反复该步直至试运算成功;出现试运算成功时,再进行实际运算。
4.根据权利要求1所述的测量物体位置和方位的方法,其特征是,当三轴陀螺仪向所述处理器输出模拟信号的角速度,此时该模拟信号的角速度经过模数转换模块转换为数字信号后输出给处理器,此时该模数转换模块将采样时间传输给所述处理器,所述处理器计算第一方位时的积分时间即来自于该模数转换模块所输出的采样时间;当三轴陀螺仪向所述处理器直接输出数字信号的角速度,此时该三轴陀螺仪内部必然具有模数转换模块,那么三轴陀螺仪还向所述处理器输出该模数转换模块的采样时间,此时所述处理器计算第一方位时的积分时间即来自于该模数转换模块所输出的采样时间。
全文摘要
本发明公开了一种测量物体位置和方位的方法,物体的方位首先由三轴陀螺仪的测量结果计算出第一方位。三轴加速度传感器仅在物体处于静止状态时计算第二方位。三轴地磁传感器在物体处于静止状态时、或者在物体持续运动一定时间内计算第三方位。第二方位、第三方位是对第一方位的修正。传统的测量物体方位的方法仅使用三轴陀螺仪,这会产生累计误差而导致长时间测量的结果不准确。本发明在使用三轴陀螺仪的基础上,又采用三轴加速度传感器和三轴地磁传感器对三轴陀螺仪的方位测量结果进行修正,从而可以获得较为准确的物体方位。
文档编号G01C21/00GK102297693SQ201010208770
公开日2011年12月28日 申请日期2010年6月24日 优先权日2010年6月24日
发明者喻应东 申请人:鼎亿公司, 鼎亿数码科技(上海)有限公司

  • 专利名称:四面体结构超声风传感器及其测量方法技术领域:本发明涉及自然风场的测量装置,具体涉及一种四面体结构超声风传感器及其测量方法。背景技术:利用超声风传感器测量风速的优势在于不含运动部件,环境适应性好,测量范围广,并且没有最低测量风速的限
  • 专利名称:一种磁石玩具耐久性测试仪的制作方法技术领域:本实用新型涉及测试设备,具体涉及一种磁石玩具耐久性测试仪。背景技术:近年来,磁石在玩具中的应用越来越广泛,但同时,磁石玩具也存在着相当大的安全隐患。2006年11月美国消费产品安全委员会
  • 专利名称:电容式触控芯片的测试方法技术领域:本发明涉及一种触控芯片的方法,尤其是指电容式触控芯片的测试方法。 背景技术:目前电容式触控芯片的测试方法,一般均会利用到比较器,即将比较器的正负两个电极分别和两个电容相连接,经比较器输出后的数值和
  • 专利名称:一种用于钢轨检测的新型传感器的制作方法技术领域:本实用新型涉及一种安全防护装置,尤其是涉及一种用于钢轨检测的 新型传感器。背景技术:现阶段我囯铁路运输占据主体地位,为满足经济发展要求,近年来铁 道部对我国铁路系统已经进行了六次大提
  • 专利名称:一种弯扭导叶片端部形状和长度检测装置的制作方法技术领域:本实用新型涉及一种量具,特别涉及一种弯扭导叶片端部形状和长度测量检测装置。背景技术:我们在生产弯扭导叶片的过程中,为保证产品质量,需要对弯扭导叶片进行端部 形状和长度检测,而
  • 专利名称:双向流体计量装置的制作方法技术领域:本发明涉及一种双向流体计量装置,尤其是在智能型热量控制机组中使用的双向流体计量装置。为实现本发明的目的,本发明的双向流体计量装置包括单向阀和流量计,其中将流体回路中的单向阀看作电路中的二极管,利
山东科威数控机床有限公司
全国服务热线:13062023238
电话:13062023238
地址:滕州市龙泉工业园68号
关键词:铣床数控铣床龙门铣床
公司二维码
Copyright 2010-2024 http://www.ruyicnc.com 版权所有 All rights reserved 鲁ICP备19044495号-12