一种基于加速度传感器的角色动作控制方法

文档序号:6369654阅读:226来源:国知局
专利名称:一种基于加速度传感器的角色动作控制方法
技术领域
本发明属于人机交互领域,涉及一种角色动作控制方法,具体涉及一种基于加速度传感器的角色动作控制方法。
背景技术
讲故事对儿童的成长和发展起到极其重要的作用。富有想像力的角色化故事讲述不仅能促进儿童的创造力,也能使儿童在玩耍中扮演不同的角色,进行多种群体交互和协 作。现在有一些数字化系统支持儿童的角色化讲故事,通常是通过让儿童用手摆放和移动角色素材的方式来讲故事。现有支持儿童角色化讲故事系统的缺点在于没有把角色以及角色动作和操作角色的儿童以及儿童的动作自然地对应起来,使儿童能够用自己的肢体动作操纵自己设计的角色来表演故事,大大降低了沉浸感和趣味性。

发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于肢体动作角度信息的角色动作控制方法,将儿童在真实三维空间中的肢体动作映射为表演屏幕上对应卡通角色的平面运动,适合儿童群体设计和表演故事。本发明的方法流程如图I所示,包括I)生成传感器角度信息;2)生成关节类角色动作;3)生成无关节类角色动作。本发明的技术方案为一种基于加速度传感器的角色动作控制方法,其步骤为a)利用三轴加速度传感器读取用户的运动信息;其中,每一三轴加速度传感器提供映射平面中角色一控制组件的运动信息;所述角色由一个或多个控制组件相互连接而成;b)控制组件根据收到的对应运动信息,每隔设定时间计算该控制组件在映射平面中的位置;c)根据计算出的所述控制组件位置,显示映射平面中角色的动作变化。进一步的,所述角色包括关节类角色和无关节类角色;所述控制组件包括关节类控制组件和无关节类控制组件;所述关节类角色包括若干互相连接的所述关节类控制组件以及与所述关节类控制组件相互连接的非直接控制组件;所述无关节类角色包括一无关节类控制组件。进一步的,每一所述控制组件具有一基准点坐标,如果控制组件s与其他η个所述控制组件相互连接,则所述控制组件s具有分别与这η个所述控制组件对应的基准坐标点;所述非直接控制组件及与其连接的控制组件分别具有一对应的基准点坐标。进一步的,将所述关节类角色中的一控制组件设为基准控制组件,以所述基准控制组件为起点,将顺序连接的控制组件、非直接控制组件建立父子关系,即靠近所述基准控制组件连接的组件为其相邻后续组件的父组件。进一步的,计算所述关节类角色中控制组件在映射平面中的位置的方法为a)所述基准控制组件根据收到的运动信息,计算基准控制组件的位移量;b)从基准控制组件的子组件开始依次检测,计算各个组件的位置;其中,a)对于所述关节类控制组件,如果该组件的父组件发生了移动,则需要先对该组件进行平移,使其基准点i的坐标与其父组件上对应点i’的坐标相同,然后根据传感器提供的相应角度信息计算该组件相对于基准点i的旋转设定角度;如果该组件的父组件未发生移动,则该组件 绕其基准点进行旋转山)对于所述非直接控制组件,如果该组件的父组件发生了移动,则平移该组件使其基准点i的坐标与其父组件上对应点i’的坐标相同,然后绕其基准点i旋转设定角度;如果该组件的父组件未发生移动,则该组件绕其基准点旋转。进一步的,关节类控制组件相对于其基准点i旋转的所述设定角度Λ Θ = I3i α或Δ Θ = I3i β,匕为基准点i的经验常数,正值;非直接控制组件相对于其基准点i旋转的所述设定角度Λ Θ =(^,(^为基准点1的经验常数,正值邛为传感器y轴与水平面的夹角,α为传感器X轴与水平面的夹角。进一步的,计算所述无关节类角色的控制组件在映射平面中的位置的方法为a)所述无关节类角色的控制组件根据收到的运动信息,计算无关节类角色中心点的位移量;b)所述无关节类角色的控制组件根据收到的运动信息,计算无关节类角色相对于中心点的旋转角度。进一步的,所述旋转角度Λ Θ =da或ΛΘ = d β,其中d为经验常数,正值;β为传感器y轴与水平面的夹角,a为传感器X轴与水平面的夹角。进一步的,每一用户设有或手持若干个三轴加速度传感器。进一步的,所述关节类角色中的基准控制组件为腹组件,所述关节类控制组件为胸组件、左大臂组件、右大臂组件,所述非直接控制组件为左小臂组件、右小臂组件、左腿组件、右腿组件。关于传感器角度信息的实现为利用三轴加速度传感器读取儿童的手部运动信息,如图2所示,获取肢体x,y,z三个方向的加速度,如图3所示,从而计算角度。由于人体腕部进行屈伸运动,以及沿前臂骨的垂直轴进行旋内、旋外运动的幅度都在- η /2到π /2之间,因此在此运动范围内,三轴加速度传感器X,Y轴与水平面夹角的计算方法如下I)当儿童握住传感器做旋内旋外动作时,传感器y轴方向保持水平不变,操控传感器沿y轴旋转,如图4所示。传感器X轴与水平面的夹角a的值域为[_π/2,π/2],计算方法如下a = tanlayaj,其中ax,ay,az为加速度传感器获取的三轴加速度值。2)当儿童握住传感器做屈伸动作时,传感器X轴方向保持水平不变,操控传感器沿X轴旋转,如图5所示。传感器y轴与水平面的夹角β值域为[-JI/2,π/2],计算方法如下Δ θ = (1β。关于关节类角色动作的实现为基于儿童手部运动的角度信息,每隔At计算有关节类角色各个组件在映射平面上的位置,从而形成视觉上连贯的动作;每一控制组件在映射平面上与角色的一部位对应;角色由一个或多个控制组件虚拟连接而成。具体实现方法如下I)生成关节类角色的组件结构。关节类角色包括11个组件头,胸,腹,(左右)大臂,(左右)小臂,(左右)手,(左右)腿。关节类角色组件结构及相应基准点如图6所示,进行以下定义a)定义腹组件为基准组件;b)定义胸组件是腹组件的子组件,胸组件上和腹组件连接处的关节点a是胸组件的基准点,其在腹组件上的对应点是a’ ;c)定义左右大臂组件是胸组件的子组件,胸组件与左右大臂组件连接处的关节点b,C分别是左右大臂组件的基准点,b,C关节点在胸组件上的对应点分别是b’,C’ ; d)定义左右腿组件是腹组件的子组件,腹组件与左右腿组件连接处的关节点d,e分别是左右腿组件的基准点,d,e关节点在腹组件上的对应点分别是d’,e’ ;e)定义左右小臂组件分别是左右大臂组件的子组件;左大臂组件与左小臂组件连接处的关节点f,右大臂组件与右小臂组件连接处的关节点g分别是左右小臂组件的基准点,其在各自父组件上的对应点分别是f’,g’ ;f)规定头组件与胸组件相对位置固定,左右手组件相对于左右小臂组件位置固定。2)根据传感器提供的相应的肢体角度信息,计算基准组件的移动速度,V = a α /At(像素/秒)或v = ai3/At(像素/秒),从而获得基准组件的位移量Aa = VXAt=aa (像素)或Aa = αβ (像素),其中a为经验常数,正值,单位为像素。3)从基准组件的子组件开始依次检测,计算各个组件的位置;当角色的基准组件发生位移时,角色也随之发生位移。a)对于受传感器角度直接控制的组件,如果该组件的父组件发生了移动,则该组件首先进行平移,使其基准点i的坐标(Xyyi)与其父组件上对应点i’ (χ/,γ/)的坐标相同,然后根据传感器提供的相应的角度信息,计算该组件相对于基准点i的旋转角度,Λ θ= IDiCt或Δθ=1^β ,其中IDi为基准点i的经验常数,正值;如果该组件的父组件未发生移动,该组件只进行绕基准点的旋转。b)对于不直接受传感器角度控制的组件,如果该组件的父组件发生了移动,该组件首先进行平移,使其基准点i的坐标Ui, Yi)与其父组件上对应点i’(χ/,y/ )的坐标相同,然后绕其基准点i按经验公式Λ θ =Ci旋转,其中Ci为基准点i的经验常数,正值;如果该组件的父组件未发生移动,该组件只进行绕基准点的旋转。关于无关节类角色动作的实现为基于相应肢体的角度信息,计算无关节类角色在映射平面上的位置和方向,从而得出无关节类角色的平移和旋转运动情况。具体实现方法如下I)根据传感器提供的相应的肢体角度信息,计算角色中心点的移动速度,V =a α / Δ t (像素/秒)或v = a@/At(像素/秒),从而获得基准的位移量Δ a = νΧ Δ t=aa (像素)或Aa = αβ (像素),其中a为经验常数,正值,单位为像素。2)根据传感器提供的相应的角度信息,计算无关节类角色相对于中心点的旋转角度,ΔΘ = da或ΔΘ = dP,其中d为经验常数,正值。与现有技术相比,本发明的优点和积极效果如下I)本发明鼓励儿童使用简单的手部姿态和动作控制映射平面上的卡通角色动作,显著地降低了数字化技术的进入壁垒,使得儿童不需要进行复杂的学习就能够操作。2)儿童通过自己肢体的运动操纵卡通角色,能够增强儿童对关联角色对应关系的认识,从而使儿童沉浸于自己设计的故事中,显著增强儿童在表演过程中的自主创造。3)本发明支持和鼓励多名儿童参与表演,提高儿童的合作意识和协作能力。


图I传感器控制角色运动的计算流程图;图2是本发明中儿童操纵三轴加速度传感器的示意图;图3是本发明中X,y, z三个方向的加速度与重力加速度构成的平衡;图4是本发明中传感器I轴保持水平不变,操控传感器沿y轴旋转时的受力分解示意图;图5是本发明中传感器X轴保持水平不变,操控传感器沿X轴旋转时的受力分解示意图;图6是本发明中有关节类角色的示意图;图7是本发明中无关节类角色在映射平面的运动示意图。
具体实施例方式为了使本技术领域的人员更好的理解本发明,下面结合附图和一个具体的实施方式对本发明作进一步的详细说明。该实例中两名儿童A和B分别使用I号2号和3号4号传感器控制一个有关节类角色P和一个无关节类角色Q,进行故事表演,其中I号传感器用来控制有关节类角色上下左右四个方向的移动,2号传感器用来控制有关节类角色的弯腰动作,比如儿童A左手持I号传感器,控制角色P腹组件的左右和上下位移;右手持2号传感器控制角色P的胸组件的旋转;3号传感器用来控制无关节类角色上下左右四个方向的移动,4号传感器用来控制无关节类角色的旋转动作。I.两名儿童A和B如图2所示握住三轴加速度传感器,分别用左右手操纵I号和2号,3号和4号这两组加速度传感器,检测两传感器X,y, z三轴的加速度{(axl,ayl,azl),(ax2,ay2,az2)},{(ax3,ay3,az3),(ax4,ay4,az4)};2.参照图3,图4和图5,二维及三维坐标系原理图,加速度传感器中心在坐标的原点,分别计算四个传感器的X轴y轴与水平面的夹角α 1,β 1,α2,β2,α3,β3,α4,β 4,其步骤如下I)计算I号和2号传感器的X轴与水平面的夹角α 1,α 2 ;3号和4号传感器的X轴与水平面的夹角α3,α 4,其详细方法如下a)计算I号传感器X轴方向的加速度axl与z轴方向的加速度azl的比值axl/azl,2号传感器X轴方向的加速度ax2与z轴方向的加速度az2的比值ax2/az2 ;计算3号传感器X轴方向的加速度ax3与z轴方向的加速度az3的比值ax3/az3,4号传感器x轴方向的加速度ax4与z轴方向的加速度az4的比值ax4/az4 ;
b)计算比值 axl/azl 的反正切 tarT1 (axl/azl),比值 ax2/az2 的反正切 tarT1 (ax2/az2);计算比值 ax3/az3 的反正切 tanZ—1 (ax3/az3),比值 ax4/az4 的反正切 tarT1 (ax4/az4);c)计算I号和2号传感器的X轴与水平面的夹角α 1,α 2, α I = tarT1 (axl/azl),α 2 = tarT1 (ax2/az2) ;3号和4号传感器的x轴与水平面的夹角α 3, α 4, α 3 = tarT1 (ax3/az3),α 4 = tan (ax4/az4)。2)计算I号和2号传感器的y轴与水平面的夹角β 1,β 2 ;3号和4号传感器的y轴与水平面的夹角β3,β 4,其详细方法如下a)计算I号传感器y轴方向的加速度ayl与z轴方向的加速度azl的比值ayl/azl,2号传感器y轴方向的加速度ay2与z轴方向的加速度az2的比值ay2/az2 ;计算3号传感器Y轴方向的加速度ay3与z轴方向的加速度az3的比值ay3/az3,4号传感器y轴方向的加速度ay4与z轴方向的加速度az4的比值ay4/az4 ;
b)计算比值 ayl/azl 的反正切 tarT1 (ayl/azl),比值 ay2/az2 的反正切 tarT1 (ay2/az2);计算比值 ay3/az3 的反正切 tarT1 (ay3/az3),比值 ay4/az4 的反正切 tarT1 (ay4/az4);c)计算I号和2号传感器的y轴与水平面的夹角β I = tarT1 (ayl/azl), β 2 =tarT1 (ay2/az2);计算3号和4号传感器的y轴与水平面的夹角β 3 = tarT1 (ay3/az3), β 4 =tan (ay4/az4)。3.根据传感器I的X轴和y轴与水平面夹角α 1,β I,计算儿童A表演的如图6所示有关节类角色P的基准组件在映射平面上的位移;根据传感器3的X轴和y轴与水平面夹角α 3,β 3,计算儿童B表演的无关节类角色Q的基准组件在映射平面上的位移,如图7所示,详细方法如下I)根据I号和3号传感器提供角度α 1,α 3,分别计算有关节类角色P和无关节类角色Q的基准组件在映射平面的X方向的移动速度,Vpx = a α I/ Δ t (像素/秒),Vqx =a α 3/ Λ t (像素/秒),从而获得P和Q的基准组件在映射平面x轴方向的位移量Λ Spx =aa 1(像素),Δ sqx = aa3(像素),其中a为经验常数,正值,单位为像素。2)根据I号和3号传感器提供角度β 1,β 3,分别计算有关节类角色P和无关节类角色Q的基准组件在映射平面的y方向的移动速度,vpy = a β I/ Λ t (像素/秒),Vqy =a β 3/ Λ t (像素/秒),从而获得P和Q的基准组件在映射平面y轴方向的的位移量Λ spy=a β I (像素),Δ sqy = a β 3 (像素)。4.根据2号传感器的X轴与水平面夹角α 2,计算儿童A表演的有关节类角色P在映射平面上弯腰时,胸组件的平移及旋转;根据4号传感器的X轴与水平面夹角α 4,计算儿童B表演的无关节类角色Q在映射平面上绕中心点的旋转,详细方法如下I)计算P基准组件上关节点a’的坐标(Xa' ,Yi' ) , Q的中心点O的坐标(X。,
y0);2)对P的胸组件进行平移,使胸组件的基准点a的坐标(xa,ya)与其父组件上对应点a’(Xa' ,yj )的坐标相同;3)根据2号传感器提供的角度信息α 2,计算P的胸组件相对于基准点a的旋转角度ΛΘ = baa 2,其中ba为基准点a的经验常数,正值;根据4号传感器提供的角度信息α 4,计算Q绕其中心点ο的旋转角度Λ Θ =ba 2,其中b为经验常数,正值;4)头组件与胸组件平移相同的位移,旋转相同的角度。
5.依次计算有关节类角色P其他不直接受传感器控制的各组件的位置,详细方法如下I)计算左右腿组件的平移和旋转a)计算基准组 件上关节点d’和e’的坐标(x/ , y/ ), (xe' , ye');b)对左右腿组件进行平移,使组件的基准点d和e的坐标(xd,yd),(xe, ye)与其父组件上对应点d’和e’的坐标(Xd',y/ ),OC ,le')相同;c)左右腿组件分别绕各自基准点d和e按经验公式Δ Θ = Cd,Δ Θ = ce旋转,其中Cd为基准点d的经验常数,Ce为基准点e的经验常数,均为正值。2)计算左右大臂组件的平移和旋转a)计算左右大臂组件的父组件,即胸组件上的关节点b’和c’的坐标(x/ ,y/ ),
U。',y。');b)对左右腿组件进行平移,使组件的基准点b和c的坐标(xb,yb),(xc, yc)与其父组件上对应点b’和c’的坐标(x/,y/ ),UJ,y。')相同;c)左右腿组件分别绕各自基准点b和c按经验公式Δ Θ = Cb,Δ Θ = Cc旋转,其中Cb为基准点b的经验常数,Cc为基准点C的经验常数,均为正值。3)计算左右小臂组件和左右手组件的平移和旋转a)计算左右小臂组件的父组件,即左右大臂组件上的关节点f’和g’的坐标
(Xf' Yf1 ) , (Xg' Yg1 );b)对左右小臂组件进行平移,使组件的基准点f和g的坐标(xf,yf),(xg, yg)与其父组件上对应点f’和g’的坐标(Xf' ,If' ),(Xg' ,Ig')相同;c)左右小臂组件分别绕各自基准点f和g按经验公式Δ Θ = cf, Δ Θ = Cg旋转,其中Cf为基准点f的经验常数,Cg为基准点g的经验常数,均为正值;d)左右手组件分别与左右小臂组件平移相同的位移,旋转相同的角度。
权利要求
1.一种基于加速度传感器的角色动作控制方法,其步骤为 1)利用三轴加速度传感器读取用户的运动信息;其中,每一三轴加速度传感器提供映射平面中角色一控制组件的运动信息;所述角色由一个或多个控制组件相互连接而成; 2)控制组件根据收到的对应运动信息,每隔设定时间计算该控制组件在映射平面中的位置; 3)根据计算出的所述控制组件位置,显示映射平面中角色的动作变化。
2.如权利要求I所述的方法,其特征在于所述角色包括关节类角色和无关节类角色;所述控制组件包括关节类控制组件和无关节类控制组件;所述关节类角色包括若干互相连接的所述关节类控制组件以及与所述关节类控制组件相互连接的非直接控制组件;所述无关节类角色包括一无关节类控制组件。
3.如权利要求2所述的方法,其特征在于每一所述控制组件具有一基准点坐标,如果控制组件s与其他n个所述控制组件相互连接,则所述控制组件s具有分别与这n个所述控制组件对应的基准坐标点;所述非直接控制组件及与其连接的控制组件分别具有一对应的基准点坐标。
4.如权利要求3所述的方法,其特征在于将所述关节类角色中的一控制组件设为基准控制组件,以所述基准控制组件为起点,将顺序连接的控制组件、非直接控制组件建立父子关系,即靠近所述基准控制组件连接的组件为其相邻后续组件的父组件。
5.如权利要求4所述的方法,其特征在于计算所述关节类角色中控制组件在映射平面中的位置的方法为 1)所述基准控制组件根据收到的运动信息,计算基准控制组件的位移量; 2)从基准控制组件的子组件开始依次检测,计算各个组件的位置;其中,a)对于所述关节类控制组件,如果该组件的父组件发生了移动,则需要先对该组件进行平移,使其基准点i的坐标与其父组件上对应点i’的坐标相同,然后根据传感器提供的相应角度信息计算该组件相对于基准点i的旋转设定角度;如果该组件的父组件未发生移动,则该组件绕其基准点进行旋转山)对于所述非直接控制组件,如果该组件的父组件发生了移动,则平移该组件使其基准点i的坐标与其父组件上对应点i’的坐标相同,然后绕其基准点i旋转设定角度;如果该组件的父组件未发生移动,则该组件绕其基准点旋转。
6.如权利要求5所述的方法,其特征在于关节类控制组件相对于其基准点i旋转的所述设定角度A 0 =匕a或A 0 = bi 0,匕为基准点i的经验常数,正值;非直接控制组件相对于其基准点i旋转的所述设定角度A 0 = Ci,Ci为基准点i的经验常数,正值;@为传感器y轴与水平面的夹角,a为传感器X轴与水平面的夹角。
7.如权利要求3所述的方法,其特征在于计算所述无关节类角色的控制组件在映射平面中的位置的方法为 1)所述无关节类角色的控制组件根据收到的运动信息,计算无关节类角色中心点的位移量; 2)所述无关节类角色的控制组件根据收到的运动信息,计算无关节类角色相对于中心点的旋转角度。
8.如权利要求7所述的方法,其特征在于所述旋转角度A0= da或A0 = d@,其中d为经验常数,正值^为传感器y轴与水平面的夹角,a为传感器X轴与水平面的夹角。
9.如权利要求I至8任一所述的方法,其特征在于每一用户设有或手持若干个三轴加速度传感器。
10.如权利要求9所述的方法,其特征在于所述关节类角色中的基准控制组件为腹组件,所述关节类控制组件为胸组件、左大臂组件、右大臂组件,所述非直接控制组件为左小臂组件、右小臂组件、左腿组件、右腿组件。
全文摘要
本发明公开了一种基于加速度传感器的角色动作控制方法,属于人机交互领域。本方法为1)利用三轴加速度传感器读取用户的运动信息;其中,每一三轴加速度传感器提供映射平面中角色一控制组件的运动信息;所述角色由一个或多个控制组件相互连接而成;2)控制组件根据收到的对应运动信息,每隔设定时间计算该控制组件在映射平面中的位置;3)根据计算出的所述控制组件位置,显示映射平面中角色的动作变化。本方法易于实现,大大提高了儿童参与表演的兴趣,提高儿童的合作意识和协作能力。
文档编号G06F3/01GK102707804SQ201210149329
公开日2012年10月3日 申请日期2012年5月14日 优先权日2011年5月23日
发明者吕菲, 王宏安, 田丰 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1