发明名称 基于力/触觉交互设备的图像纹理的力触觉再现系统
摘要 本发明公开了一种用于虚拟现实人机交互的基于力/触觉交互设备的图像纹理的力触觉再现系统,其特征是当力/触觉交互设备在虚拟环境下的虚拟代理滑过虚拟物体的纹理表面时,首先基于图像处理的方法得到接触点所对应的物体纹理的表面高度和反映接触点粗糙程度的动摩擦系数,然后分别建立反映接触点凹凸程度的连续法向接触力模型和反映接触点粗糙程度的切向摩擦力模型,最后通过力/触觉交互设备将纹理接触力实时反馈给操作者,实现人手指划过虚拟物体表面纹理的力触觉表达和再现。所反馈的连续变化法向力不仅使得在进行人机交互时更加真实,而且使得交互系统更加稳定,所反馈的与接触点粗糙程度的有关的摩擦力也进一步提高了纹理再现时的真实感。
申请公布号 CN101819462B 申请公布日期 2011.07.20
申请号 CN201010123611.7 申请日期 2010.03.12
申请人 东南大学 发明人 宋爱国;程盈盈;吴涓;张小瑞
分类号 G06F3/01(2006.01)I;G06F3/041(2006.01)I 主分类号 G06F3/01(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 黄雪兰
主权项 1.基于力/触觉交互设备的图像纹理的力触觉再现系统,其特征在于:(1)根据导入的物体表面二维纹理图片,假设该二维纹理图片大小为m×n个像素,即横向有m个像素和纵向有n个像素,利用下面的公式得到每个像素点的亮度值:<maths num="0001"><![CDATA[<math><mrow><msub><mi>l</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><mi>R</mi><mo>+</mo><mi>G</mi><mo>+</mo><mi>B</mi></mrow><mn>3</mn></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中i∈{0,1,...m-1},j∈{0,1,...,n-1}为纹理图片中对应的像素点的坐标值,R、G和B分别为该像素点的红、绿、蓝三个颜色分量,得到的亮度图像L<sub>m×n</sub>;<img file="FSB00000502761000012.GIF" wi="667" he="291" />(2)对亮度图像进行频谱分析和空间滤波,设计高斯滤波器对图像进行空间滤波,将图像分解为低频和高频两部分,低频部分用于反映物体的轮廓、走势和形状,高频部分用于反映物体表面的粗糙程度和凹凸程度,并采用高频图像信息作为反映物体表面纹理的微观轮廓信息,得到的高频图像信息为H<sub>m×n</sub>,<img file="FSB00000502761000013.GIF" wi="714" he="293" />具体步骤如下:①对亮度图像L<sub>m×n</sub>做离散傅里叶变换,得到频域值F(k,v),<maths num="0002"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>mn</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>a</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>b</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>l</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi></mrow></msub><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mi>j</mi><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><mfrac><mi>ka</mi><mi>m</mi></mfrac><mo>+</mo><mfrac><mi>vb</mi><mi>n</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中k∈{0,1,...m-1},v∈{0,1,...,n-1}为纹理图片中对应的像素点在频域内的坐标值,a∈{0,1,...m-1},b∈{0,1,...,n-1},exp(·)为标准的指数函数,②对亮度图像L<sub>m×n</sub>在频域内进行高斯滤波,滤除高频信号,G(k,v)为高斯滤波方程,S(k,v)为图像经高斯滤波后每个像素点在频域范围内对应的的值        S(k,v)=G(k,v)F(k,v)                (3)③对S(k,v)进行傅里叶反变换,得到反映物体的轮廓、走势和形状的低频信息w<sub>a,b</sub>,<maths num="0003"><![CDATA[<math><mrow><msub><mi>w</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>v</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>S</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mi>j</mi><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><mfrac><mi>ka</mi><mi>m</mi></mfrac><mo>+</mo><mfrac><mi>vb</mi><mi>n</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>④反映物体表面纹理的高频图像信息H<sub>m×n</sub>为各像素点亮度值减去反映物体轮廓和走向的低频信息,即        h<sub>i,j</sub>=l<sub>i,j</sub>-w<sub>i,j</sub>                     (5)其中i∈{0,1,...m-1},j∈{0,1,...,n-1},(3)对所得到的反映物体表面纹理的高频图像信息H<sub>m×n</sub>,进行规范化处理,得到各像素点所对应的物体纹理的表面高度Q<sub>m×n</sub>,<img file="FSB00000502761000022.GIF" wi="710" he="293" />其计算公式如下:<maths num="0004"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>q</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><msub><mi>h</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><mover><mi>h</mi><mo>&OverBar;</mo></mover></mtd></mtr><mtr><mtd><mover><mi>h</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>h</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mrow><mi>m</mi><mo>&times;</mo><mi>n</mi></mrow></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中<img file="FSB00000502761000024.GIF" wi="32" he="49" />是二维数组矩阵H<sub>m×n</sub>中所有元素的平均值,(4)采用区域均值法计算各像素顶点所对应的物体纹理的表面高度D<sub>(m+1)×(n+1)</sub>:<img file="FSB00000502761000025.GIF" wi="734" he="293" />其中,各像素顶点用P<sub>s,t</sub>表示,s∈{0,1,...m},t∈{0,1,...,n},顶点P<sub>s,t</sub>所对应的物体纹理的表面高度为d<sub>s,t</sub>,所述的区域均值法为:以各个像素顶点P<sub>s,t</sub>的周围邻近像素区域所对应的物体纹理的表面高度的平均值来作为该顶点的所对应的物体纹理的表面高度d<sub>s,t</sub>,所述位置检测模块(243)用于,将力/触觉交互设备(3)输出的坐标位置(Px,Py,Pz)转化为虚拟环境下的坐标(Mx,My,Mz),具体坐标转化关系如下:Mx=9*Py,My=14*Pz,Mz=Px*5-5,        (7)其中(Px,Py,Pz)坐标位置的获取是通过力/触觉交互设备实现,它能够获取力/触觉交互设备端部的操作柄在三维空间中的位置信息,所述碰撞检测模块(244)用于,判断当前力/触觉交互设备(3)在虚拟环境里的代理是否碰撞到虚拟物体的表面纹理,所述力/触觉计算模块(245)用于计算当前输出的纹理接触力,如果没有碰撞到虚拟物体的纹理,则输出力为0;如果发生碰撞,则纹理力计算具体步骤如下:(1)假设虚拟物体的纹理图片位于虚拟环境空间坐标系Oxyz中的区域Ω={0≤x≤X,0≤y≤Y,z=0},纹理图片在虚拟空间中的位置左右对齐,且上下对齐,沿同一方向的对角线将纹理图片各像素点区域分成两个三角形,(2)根据位置检测模块所输出的虚拟代理的位置信息,假设碰撞点在虚拟环境下的坐标为(x,y,z),得到碰撞点在面Oxy上的投影点(x,y)所在的三角形,(3)基于纹理图片预处理模块(242)中所得到的每个像素顶点的所对应的物体纹理的表面高度值,得到投影点所对应的物体纹理的表面高度值为d<sub>x,y</sub>,(4)在碰撞点纹理接触合力计算方法为:<maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>F</mi><mo>&RightArrow;</mo></mover><mi>c</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>F</mi><mo>&RightArrow;</mo></mover><mi>n</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>F</mi><mo>&RightArrow;</mo></mover><mi>f</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:法向力的计算方法如下:        F<sub>n</sub>(x,y)=kd<sub>x,y</sub>,                        (9)其中k为物体纹理表面的刚性系数,d<sub>x,y</sub>为接触点对应的高度值,如果d<sub>x,y</sub>为正,则表示接触点为凸起的,法向力垂直于面Oxy并指向z轴正方向;如果d<sub>x,y</sub>为负,则表示接触点为凹下的,法向力垂直于面Oxy并指向z轴负方向,摩擦力的计算方法如下:    F<sub>f</sub>(x,y)=μ(x,y)|F<sub>n</sub>(x,y)|sign(V),                (10)μ(x,y)为接触点的动摩擦系数,V为虚拟代理在虚拟纹理表面的相对速度,sign(V)为标准的符号函数,即<maths num="0006"><![CDATA[<math><mrow><mi>sign</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>V</mi><mo>></mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>V</mi><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn><mo>,</mo><mi>V</mi><mo>&lt;</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>摩擦力的方向与面Oxy平行,并与运动方向相反,动摩擦系数设计为μ(x,y)=ρ·r(x,y),其中ρ是纹理表面材料的粗糙系数,r(x,y)是接触点的局部粗糙系数,与该接触点的局部凹凸程度有关,r(x,y)可用下面的模型表示:r(x,y)=|d<sub>s,t</sub>-d<sub>x,y</sub>|+|d<sub>s+1,t</sub>-d<sub>x,y</sub>|+|d<sub>s+1,t+1</sub>-d<sub>x,y</sub>|+|d<sub>s,t+1</sub>-d<sub>x,y</sub>|,    (12)其中d<sub>s,t</sub>、d<sub>s+1,t</sub>、d<sub>s+1,t+1</sub>、d<sub>s,t+1</sub>为碰撞点在面Oxy上投影点所在的像素区域四个顶点所对应的物体纹理表面的高度值,如果投影点落在两个或四个像素区域的交界处,则将该投影点分别归属这两个或四个像素区域并按(12)式计算该点的局部粗糙系数,最后取均值即为该点的局部粗糙系数,所述力/触觉信息反馈模块(246)通过PCI板卡(23)及PCI板卡连接线将力/触觉计算模块(245)产生的需要输出的纹理接触力信息传输至力/触觉交互设备(3),由力/触觉交互设备来设定力/触觉交互设备需要输出的作用力,所述图形刷新模块(247)用于受试者在显示器上实时观察到虚拟代理的移动位置,所述显示卡(21)、PCI板卡(23)、硬盘(24)均通过总线(22)实现双向传输,所述显示器(1)通过VGA连接线与显示卡(21)连接。
地址 210096 江苏省南京市四牌楼2号