CN111207747B - 基于HoloLens眼镜的空间定位方法 - Google Patents
基于HoloLens眼镜的空间定位方法 Download PDFInfo
- Publication number
- CN111207747B CN111207747B CN201811390021.3A CN201811390021A CN111207747B CN 111207747 B CN111207747 B CN 111207747B CN 201811390021 A CN201811390021 A CN 201811390021A CN 111207747 B CN111207747 B CN 111207747B
- Authority
- CN
- China
- Prior art keywords
- hololens
- coordinate system
- rotation matrix
- ndi
- marker
- 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
Images
Classifications
-
- 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/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于HoloLens眼镜的空间定位方法,包括以任意一个标志球为坐标原点,建立工具坐标系;求HoloLenstool到NDI Spectra设备的旋转矩阵;利用UDP通讯读取HoloLens内的World to Local旋转矩阵;利用改进的手眼标定算法求出HoloLens到HoloLenstool的旋转矩阵;观测空间中任意位置的物体上设置的Marker到NDI Spectra设备的旋转矩阵,以及工具坐标系到NDI Spectra设备的旋转矩阵;求出现实中含Marker的物体到Hololens的空间位置关系。本发明实现HoloLens在空间中精确位置摆放模型,实现了HoloLens本身坐标系和真实环境世界坐标系之间的结合,使得Hololens获得空间指定位置Marker在Hololens坐标系的空间位置关系。
Description
技术领域
本发明涉及空间标定领域,具体地说是一种基于HoloLens眼镜的空间定位方法。
背景技术
混合现实技术(MR)是虚拟现实技术的进一步发展,该技术通过在现实场景呈现虚拟场景信息,在现实世界、虚拟世界和用户之间搭起一个交互反馈的信息回路,以增强用户体验的真实感。
微软公司的Hololens是其知名的产品代表,Hololens能够做到在空间中投影虚拟物体,同时不影响用户观察真实环境,给用户一种和真实环境交互的体验,但是Hololens缺乏和空间中物体间位置关系的联系,缺乏给用户一个更好的交互体验的途径。
发明内容
针对现有技术的不足,本发明提供一种基于HoloLens眼镜的空间定位方法,解决Hololens缺乏和空间中物体间位置关系联系的问题。
本发明为实现上述目的所采用的技术方案是:
一种基于HoloLens眼镜的空间定位方法,在所述HoloLens上设置标定件,该标定件至少包括3个共面的标志球;方法包括以下步骤:
步骤1:以任意一个标志球为坐标原点,建立工具坐标系HoloLenstool;
步骤2:求HoloLenstool到NDI Spectra设备的旋转矩阵PHololenstooltoNDI;
步骤3:利用UDP通讯读取HoloLens内的World to Local旋转矩阵PWorldtoLocal;
步骤4:利用改进的手眼标定算法求出HoloLens到HoloLenstool的旋转矩阵PHololenstoHololenstool;
步骤5:观测空间中任意位置的物体上设置的Marker到NDI Spectra设备的旋转矩阵PMarkertoNDI,以及工具坐标系HoloLenstool到NDI Spectra设备的旋转矩阵PHololenstooltoNDI;
步骤6:求出现实中含Marker的物体到Hololens的空间位置关系。
任意两个相邻的标志球之间的距离作为标志距离,且每两个标志距离之间的差值大于2cm。
所述工具坐标系HoloLenstool为:选取任意三个标志球,以其中一个标志球作为坐标系原点,该点与其他两点所在平面为XY平面,该点到左侧点连线方向为X轴正方向,利用正交基求出垂直于该XY平面的Z轴正方向,然后反求出Y轴正方向。
所述利用改进的手眼标定算法求出HoloLens到HoloLenstool的旋转矩阵PHololenstoHololenstool包括以下过程:
通过Hololens内的World to Local旋转矩阵PWorldtoLocal和工具坐标系Hololenstools到NDI Spectra的旋转矩阵PHololenstooltoNDI,使用机器人手眼标定公式AX=XB的变形进行标定计算,公式如下:
PWorldtoNDI=PHololenstooltoNDI*PLocaltoHololenstool*PWorldtoLocal
其中,PWorldtoNDI为Hololens的世界坐标系到NDI Spectra的旋转矩阵,PLocaltoHololenstool为Hololens的局部坐标系到工具坐标系Hololenstool的旋转矩阵;
要将其变形为AX=XB需要两次以上的观测值,联立等式为:
因为标定过程中NDI Spctra的位置不变,Hololens程序生命周期开始后世界坐标系World原点不变,所以两组观测值中的PWorldtoNDI不变,又因为Hololens工具坐标系和Hololens主体是固连,所以PLocaltoHololenstool不变;
则将等式联立可得:
变形可得:
所述手眼标定方法为:
当存在多组观测值{(A1,B1),(A2,B2),(A3,B3)......(Ak,Bk)},求解AX=XB方程可以转化为最小化问题,其中,d表示在欧式群上的距离测度,利用李群理论知识可以将上述最小化问题转化为最小二乘拟合问题,进而求出X,其中A和B是同一次观测中的两个不同的观测量,X是待求量i为第几组,k为总观测组数。
所述现实中含Marker的物体到Hololens的空间位置关系为:
在空间中任意位置显示模型或者获取该位置相对Hololens的位置时,在该点设置Marker,根据NDI Spectra设备采集获取的PMarkertoNDI和Hololens工具坐标系的PHololenstooltoNDI及此时Hololens内部的PWorldtoLocal,加之标定获得的PLocaltoHololenstool可以根据下面公式计算获得PMarkertoLocal,即任意位置点在Hololens下的坐标及姿态:
PMarkertoLocal=PLocaltoHololenstool -1*PHololenstooltoNDI -1*PMarkertoNDI
将PMarkertoLocal转化为PMarkertoWorld,即
PMarkertoWorld=PLocaltoWorld*PMarkertoLocal
其中,PMarkertoWorld为空间中含marker物体到Hololens世界坐标系的旋转矩阵,PMarkertoLocal为空间中含Marker物体到Hololens局部坐标系的旋转矩阵,PMarkertoNDI为Marker到NDI Spectra设备的旋转矩阵,PHololenstooltoNDI为工具坐标系Hololenstools到NDISpectra的旋转矩阵,PWorldtoLocal为World to Local旋转矩阵PWorldtoLocal,PLocaltoHololenstool为Hololens的局部坐标系到工具坐标系Hololenstool的旋转矩阵。
本发明具有以下有益效果及优点:
1.本发明可以实现HoloLens与外部任意物体的空间位置标定;
2.本发明可以使得HoloLens在空间中指定位置,指定姿态显示模型;
3.本发明精确度达到HoloLens自身空间定位精度量级。
附图说明
图1是本发明的方法流程图;
图2是Hololens工具图;
图3是装有Hololens工具的Hololens示意图;
图4是本发明的原理示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
为使本发明的上述目的、特征和有点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
需要说明的是,当元件被称为“设置于”另一个元件,它可能直接在另一个元件上,或也可以存在居中的元件。当一个元件被称为是“连接”另一个元件,它可以直接连接到另一个元件或者可能同时存在居中元件。本文所使用的属于“前”、“后”、“左”、“右”以及类似的标书只是为了说明的目的,并不表示唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示为本发明的方法流程图
基于HoloLens和NDI Spectra的空间标定方法包括以下步骤:
首先自制Hololens工具坐标系,使用四个红外marker按照如图2所示的方式排列。可将其粘贴在Hololens的任意位置,以将其粘贴在Hololens顶端为例,如图3所示。
以4个标定球为例,使用NDI Spectra采集获得四个标定Marker的位置坐标,根据他们每个点之间的位置关系,来确定是哪个标定点的坐标,并确定识别的四个点为Hololens工具坐标系的四个点,然后建立坐标系。
选取其中三个点,以其中一个点作为,坐标系原点。该点与其他两点所在平面为XY平面,该点到左侧点连线方向为X轴正方向,利用正交基求出垂直于该XY平面的Z轴正方向,然后反求出Y轴正方向。自此Hololens工具坐标系建立完成,以后每次采集计算Hololens工具坐标系的时候,都采用同求解步骤和方法。
如图4所示,标定过程是通过自编UDP程序采集Hololens的Localtoworld矩阵,同时,获取并计算出Hololens工具坐标系在NDI Spectra下的旋转矩阵。使用机器人手眼标定公式AX=XB变形进行标定计算,公式如下
PWorldtoNDI=PHololenstooltoNDI*PLocaltoHololenstool*PWorldtoLocal
要将其变形为AX=XB需要两次以上的观测值,联立等式为
因为标定过程中NDI Spctra的位置不变,Hololens程序生命周期开始后世界坐标系World原点不变,所以两组观测值中的PWorldtoNDI不变,又因为Hololens工具坐标系和Hololens主体是固连,所以PLocaltoHololenstool不变。
则将等式联立可求的
变形可得
该等式可视为AX=XB的形式,利用自编标定程序求取X,即PLocaltoHololenstool
要在空间中任意位置显示模型或者获取该位置相对Hololens的位置时,在该点摆放或者添加红外Marker,根据NDI Spectra采集获取的PMarkertoNDI和Hololens工具坐标系的PHololenstooltoNDI及此时Hololens内部的PWorldtoLocal,加之标定获得的PLocaltoHololenstool可以根据下面公式计算获得PMarkertoLocal,即任意位置点在Hololens下的坐标及姿态
PMarkertoLocal=PLocaltoHololenstool -1*PHololenstooltoNDI -1*PMarkertoNDI
因为Hololens是使用Unity3D编译,所以需转化为PMarkertoWorld
PMarkertoWorld=PLocaltoWorld*PMarkertoLocal
由此便可以求出空间中任意点相对Hololens的位置关系,或者将Hololens的虚拟模型以任意姿态显示在空间中任意位置。
实施例:
工具坐标系Hololenstool四个标志球的距离分别是别是54.6、59.2、67.5、105.6、116.2、150.6,标定求得Hololens到工具坐标系Hololenstool的旋转矩阵
根据NDI Spectra采集获取的PMarkertoNDI和Hololens工具坐标系的PHololenstooltoNDI及此时Hololens内部的PWorldtoLocal
求出PMarkertoWorld
由于是齐次坐标,所以marker相对于Hololens世界坐标系的坐标为PMarkertoWorld前三列。
Claims (5)
1.一种基于HoloLens眼镜的空间定位方法,其特征在于:在所述HoloLens上设置标定件,该标定件至少包括3个共面的标志球;方法包括以下步骤:
步骤1:以任意一个标志球为坐标原点,建立工具坐标系HoloLenstool;
步骤2:求HoloLenstool到NDI Spectra设备的旋转矩阵PHololenstooltoNDI;
步骤3:利用UDP通讯读取HoloLens内的世界坐标系到本地坐标系旋转矩阵PWorldtoLocal;
步骤4:利用改进的手眼标定算法求出HoloLens到HoloLenstool的旋转矩阵PHololenstoHololenstool;
步骤5:观测空间中任意位置的物体上设置的标记点到NDI Spectra设备的旋转矩阵PMarkertoNDI,以及工具坐标系HoloLenstool到NDI Spectra设备的旋转矩阵PHololenstooltoNDI;
步骤6:求出现实中含标记点的物体到Hololens的空间位置关系;
所述现实中含标记点的物体到Hololens的空间位置关系为:
在空间中任意位置显示模型或者获取该位置相对Hololens的位置时,在该点设置标记点,根据NDI Spectra设备采集获取的PMarkertoNDI和Hololens工具坐标系的PHololenstooltoNDI及此时Hololens内部的PWorldtoLocal,加之标定获得的PLocaltoHololenstool可以根据下面公式计算获得PMarkertoLocal,即任意位置点在Hololens下的坐标及姿态:
PMarkertoLocal=PLocaltoHololenstool -1*PHololenstooltoNDI -1*PMarkertoNDI
将PMarkertoLocal转化为PMarkertoWorld,即
PMarkertoWorld=PLocaltoWorld*PMarkertoLocal
其中,PMarkertoWorld为空间中含标记点物体到Hololens世界坐标系的旋转矩阵,PMarkertoLocal为空间中含标记点物体到Hololens本地坐标系的旋转矩阵,PMarkertoNDI为标记点到NDI Spectra设备的旋转矩阵,PHololenstooltoNDI为工具坐标系Hololenstools到NDISpectra的旋转矩阵,PWorldtoLocal为世界坐标系到本地坐标系旋转矩阵PWorldtoLocal,PLocaltoHololenstool为Hololens的本地坐标系到工具坐标系Hololenstool的旋转矩阵。
2.根据权利要求1所述的基于HoloLens眼镜的空间定位方法,其特征在于:任意两个相邻的标志球之间的距离作为标志距离,且每两个标志距离之间的差值大于2cm。
3.根据权利要求1所述的基于HoloLens眼镜的空间定位方法,其特征在于:所述工具坐标系HoloLenstool为:选取任意三个标志球,以其中一个标志球作为坐标系原点,该点与其他两点所在平面为XY平面,该点到左侧点连线方向为X轴正方向,利用正交基求出垂直于该XY平面的Z轴正方向,然后反求出Y轴正方向。
4.根据权利要求1所述的基于HoloLens眼镜的空间定位方法,其特征在于:所述利用改进的手眼标定算法求出HoloLens到HoloLenstool的旋转矩阵PHololenstoHololenstool包括以下过程:
通过Hololens内的世界坐标系到本地坐标系旋转矩阵PWorldtoLocal和工具坐标系Hololenstools到NDI Spectra的旋转矩阵PHololenstooltoNDI,使用机器人手眼标定公式AX=XB的变形进行标定计算,公式如下:
PWorldtoNDI=PHololenstooltoNDI*PLocaltoHololenstool*PWorldtoLocal
其中,PWorldtoNDI为Hololens的世界坐标系到NDI Spectra的旋转矩阵,PLocaltoHololenstool为Hololens的本地坐标系到工具坐标系Hololenstool的旋转矩阵;
要将其变形为AX=XB需要两次以上的观测值,联立等式为:
因为标定过程中NDI Spectra的位置不变,Hololens程序生命周期开始后世界坐标系World原点不变,所以两组观测值中的PWorldtoNDI不变,又因为Hololens工具坐标系和Hololens主体是固连,所以PLocaltoHololenstool不变;
则将等式联立可得:
变形可得:
该等式可视为AX=XB的形式,利用手眼标定方法求取X,即PLocaltoHololenstool,其中A和B是同一次观测中的两个不同的观测量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390021.3A CN111207747B (zh) | 2018-11-21 | 2018-11-21 | 基于HoloLens眼镜的空间定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390021.3A CN111207747B (zh) | 2018-11-21 | 2018-11-21 | 基于HoloLens眼镜的空间定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111207747A CN111207747A (zh) | 2020-05-29 |
CN111207747B true CN111207747B (zh) | 2021-09-28 |
Family
ID=70781867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811390021.3A Active CN111207747B (zh) | 2018-11-21 | 2018-11-21 | 基于HoloLens眼镜的空间定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111207747B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114114688A (zh) * | 2021-11-17 | 2022-03-01 | 上海理工大学 | 一种基于光学追踪器的ar眼镜定位方法及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099673A (zh) * | 2007-08-09 | 2008-01-09 | 上海交通大学 | 采用红外反光球为标志点的手术器械定位方法 |
CN104236456A (zh) * | 2014-09-04 | 2014-12-24 | 中国科学院合肥物质科学研究院 | 一种基于两自由度3d视觉传感器的机器人手眼标定方法 |
CN105631901A (zh) * | 2016-02-22 | 2016-06-01 | 上海乐相科技有限公司 | 一种确定待测对象的运动信息的方法及装置 |
CN105761242A (zh) * | 2016-01-27 | 2016-07-13 | 北京航空航天大学 | 一种基于计算机双目视觉与惯性测量的盲人行走定位方法 |
CN106780609A (zh) * | 2016-11-28 | 2017-05-31 | 中国电子科技集团公司第三研究所 | 视觉定位方法和视觉定位装置 |
CN106780566A (zh) * | 2016-11-11 | 2017-05-31 | 华南智能机器人创新研究院 | 一种基于Delta机器人下的目标跟踪的方法及系统 |
CN106980386A (zh) * | 2017-04-24 | 2017-07-25 | 清华大学 | 手型跟踪方法、装置和计算机可读介质 |
CN107590835A (zh) * | 2017-08-24 | 2018-01-16 | 中国东方电气集团有限公司 | 一种核环境下机械臂工具快换视觉定位系统与定位方法 |
CN107608507A (zh) * | 2017-09-05 | 2018-01-19 | 清华大学 | 弱光条件下机车部件的选定方法及机车辅助维修系统 |
WO2018031108A1 (en) * | 2016-08-10 | 2018-02-15 | Disney Enterprises, Inc. | Placing large objects and objects separated by large distances in augmented reality |
CN107883870A (zh) * | 2017-10-24 | 2018-04-06 | 四川雷得兴业信息科技有限公司 | 基于双目视觉系统和激光跟踪仪测量系统的全局标定方法 |
CN108022264A (zh) * | 2016-11-01 | 2018-05-11 | 狒特科技(北京)有限公司 | 相机位姿确定方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180286351A1 (en) * | 2017-03-31 | 2018-10-04 | Eye Labs, LLC | Sensory stimuli delivery systems for head-mounted displays |
-
2018
- 2018-11-21 CN CN201811390021.3A patent/CN111207747B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099673A (zh) * | 2007-08-09 | 2008-01-09 | 上海交通大学 | 采用红外反光球为标志点的手术器械定位方法 |
CN104236456A (zh) * | 2014-09-04 | 2014-12-24 | 中国科学院合肥物质科学研究院 | 一种基于两自由度3d视觉传感器的机器人手眼标定方法 |
CN105761242A (zh) * | 2016-01-27 | 2016-07-13 | 北京航空航天大学 | 一种基于计算机双目视觉与惯性测量的盲人行走定位方法 |
CN105631901A (zh) * | 2016-02-22 | 2016-06-01 | 上海乐相科技有限公司 | 一种确定待测对象的运动信息的方法及装置 |
WO2018031108A1 (en) * | 2016-08-10 | 2018-02-15 | Disney Enterprises, Inc. | Placing large objects and objects separated by large distances in augmented reality |
CN108022264A (zh) * | 2016-11-01 | 2018-05-11 | 狒特科技(北京)有限公司 | 相机位姿确定方法及设备 |
CN106780566A (zh) * | 2016-11-11 | 2017-05-31 | 华南智能机器人创新研究院 | 一种基于Delta机器人下的目标跟踪的方法及系统 |
CN106780609A (zh) * | 2016-11-28 | 2017-05-31 | 中国电子科技集团公司第三研究所 | 视觉定位方法和视觉定位装置 |
CN106980386A (zh) * | 2017-04-24 | 2017-07-25 | 清华大学 | 手型跟踪方法、装置和计算机可读介质 |
CN107590835A (zh) * | 2017-08-24 | 2018-01-16 | 中国东方电气集团有限公司 | 一种核环境下机械臂工具快换视觉定位系统与定位方法 |
CN107608507A (zh) * | 2017-09-05 | 2018-01-19 | 清华大学 | 弱光条件下机车部件的选定方法及机车辅助维修系统 |
CN107883870A (zh) * | 2017-10-24 | 2018-04-06 | 四川雷得兴业信息科技有限公司 | 基于双目视觉系统和激光跟踪仪测量系统的全局标定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111207747A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2728548B1 (en) | Automated frame of reference calibration for augmented reality | |
CN110695993B (zh) | 一种柔性机械臂同步测量方法、系统及装置 | |
JP4976756B2 (ja) | 情報処理方法および装置 | |
CN105094335B (zh) | 场景提取方法、物体定位方法及其系统 | |
CN103733229A (zh) | 信息处理设备、信息处理方法及程序 | |
CN108492017B (zh) | 一种基于增强现实的产品质量信息传递方法 | |
Andersen et al. | Immersion or diversion: Does virtual reality make data visualisation more effective? | |
Axholt et al. | Parameter estimation variance of the single point active alignment method in optical see-through head mounted display calibration | |
Moser et al. | Evaluation of user-centric optical see-through head-mounted display calibration using a leap motion controller | |
CN109035327A (zh) | 基于深度学习的全景相机姿态估计方法 | |
CN108109460A (zh) | 一种具有增强现实功能化工厂的教学参观设备 | |
CN109785392B (zh) | 一种用于桌面级虚拟现实系统的标定装置及方法 | |
Nagymáté et al. | Motion capture system validation with surveying techniques | |
CN111207747B (zh) | 基于HoloLens眼镜的空间定位方法 | |
CN203102374U (zh) | 一种多相机系统的加权标定装置 | |
CN110414101B (zh) | 一种仿真场景测量方法、准确性测定方法及系统 | |
JP4205004B2 (ja) | キャリブレーション方法 | |
CN112183316B (zh) | 一种运动员人体姿态测量方法 | |
JP5726024B2 (ja) | 情報処理方法および装置 | |
CN110766800A (zh) | 基于空间三点对齐的重建模型注册方法 | |
JP6109213B2 (ja) | 情報処理装置および方法、プログラム | |
CN110428457A (zh) | 一种视觉定位中的点集仿射变换算法 | |
CN111860275B (zh) | 手势识别数据采集系统、方法 | |
CN107730592B (zh) | 一种虚拟环境下视野外目标的可视化方法 | |
CN113384347B (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 |