VRML技术结合全方位运动轮椅的应用实践探索①

2019-04-29 08:59周卫华张德发
计算机系统应用 2019年4期
关键词:滚轮轮子坐标系

周卫华,张德发

(台州职业技术学院,台州 318000)

随着世界人口老龄化的加快以及各种事故疾病等原因导致的残疾人数量的增加,老年人和残疾人对于性能优越轮椅的需求变得越来越大[1].国内外对于轮椅的研究较多,包括康复轮椅、爬楼轮椅、多功能智能轮椅等[2].轮椅的使用范围,一般都是在户内比较狭小的空间内进行的,因此设计出一款行走灵活、使用方便的轮椅变得十分必要.

本文所设计实现的全方位轮椅,能很好的满足这种要求.使用四个全向轮组合而成的轮椅不仅能实现前后移动,还能实现横移、原地打转以及斜线移动[3].由于使用者的性格爱好以及自身条件的差异,使得他们对全方位轮椅的使用要求也不尽相同.

VRML 是基于Internet 的三维虚拟场景描绘标准,强调多用户之间的相互感知,在情景创投、协同工作、交互性方面具有明显的优势[4,5].因此,将虚拟现实建模语言(VRML)应用进来,不但实现了客户对轮椅实时定制的需求,还可以使异地的设计者,通过网络实现异地协作,并可以进行在线仿真.

1 全方位轮椅的运动分析

全向轮有多种形式,根据辊子轴线与轮子轴线所成的角度分为Mecanum 轮、连续切换轮和锥滚轮[6].Mecanum 轮又称瑞典轮,是一种相对比较成熟的全方位轮,由轮辐和固定在外周的许多小辊子构成,轮子和辊子之间的夹角通常为45°.连续切换轮和锥滚轮本质上来说是Mecanum 轮的一种特殊情况,即轮子轴线与辊子轴线夹角为90°的情况,但是为了保证轮子与地面接触的连续性,连续切换轮有采用大小辊子交替装配的形式,锥滚轮采用相同圆弧锥辊的形式,如图1所示.

文中先分析单个轮子的运动在一般情况下对全方位轮椅运动的影响,然后再根据两种轮子的自身特点和组合方式,对全方位轮椅进行运动分析.

如图2所示:设o点是轮椅的质心,并在此点出建立车体坐标系xoy,o’点是轮子的中心,并在此点处建立轮心坐标系x’o’y’.设辊子的滑动速度与轮子端面的夹角为β.轮心坐标系x’与车体坐标系x轴的夹角为α、v1和v2是轮椅在x轴和y轴的速度分量.轮心到轮椅质心o的距离分别为s1和s2.轮椅的转动角速度为φ’.则根据速度的分解与合成公式可得:

其中:

将式(2)带入式(1)求出解:

以及:

图1 全向轮三维图

图2 轮椅与万向轮的坐标系

平面运动有三个自由度,前后、左右以及原地旋转,轮椅要实现全方位运动,必须要有三个独立驱动的全向轮.三轮机构稳定性差,五轮、六轮及以上机构冗余[7],综上所示,采用四轮的轮椅机构,如图3所示.

图3 轮椅在Mecanum 轮的排布形式

对于轮1 由图可知α =0°,β =45°,带入式(3)可得:

同理可得其他3 个轮子的角速度的取值,写成矩阵形式为:

由式(6)可知,通过协调轮椅四个Mecanum 轮的转动速度,轮椅整体便能按照预期的线路进行运动.

当轮椅使用连续切换轮及锥滚轮时,四个轮子的排布方式如图4所示,对于轮1 由图可知:α=-45°,β=90°,带入式(3)可得:

同理可得其他3 个轮子的角速度,写成矩阵形式如下:

由式(8)可知,通过协调轮椅四个连续切换轮的转动速度,轮椅整体便能按照预期的线路进行运动.

2 VRML 定制与仿真系统的整体设计

VRML 自身具有三维造型功能,但是造型能力较差,只能创建比较简单的模型,对于像全方位轮椅这样复杂的模型需要专用的三维建模软件如Pro/E 等进行建模.将全方位轮椅的装配体在Pro/E 里保存为wrl 格式文件导出便可以得到初级VRML 文件.为了后面的定制以及运动仿真编程的方便,需要对初级VRML 文件进行一定的优化处理,这些优化处理包括:实例重用即DEF 定义和USE 引用;删除格式转化过程中的不必要的面片、节点、视点等;文件的整体化以及节点的重命名[8].经过这些处理后的VRML 文件体积将会大大减小.在编辑器VRMLpad 里使用各种传感器节点再结合编程语言javascript,完成交互定制系统和运动仿真系统的编程.为了满足客户的网络浏览要求,可以用网页制作软件Dreamweaver 等将VRML 文件和网页进行整合后上传至网络服务器[9].系统的整体实现过程如图5所示.

图4 轮椅在切换轮及锥滚轮的排布方式

3 定制交互的实现

本系统中的实时定制主要通过点击相应的按钮实现座椅颜色外观的改变以及轮椅的轮子形式的实时替换.场景中的节点由域和事件组成,其中域的取值决定了节点所创建的造型或场景环境的当前状态,事件则为节点提供了接收外界信息或向外界发送信息的能力.节点通过事件入口(eventIn)接受来自其他节点的信息改变自己的原有域值,通过事件出口(eventOut)发送自己的信息以改变其他节点的域值.只用VRML 自带的节点还不能顺利完成实时定制的要求,必须将JavaScript语言应用进去,利用JavaScript 编写一定的函数,然后通过路由将VRML 自带的各种传感器节点中的出事件、入事件等将函数与传感器节点联系起来[10].以轮子形式的实时替换为例,用到的VRML 传感器节点有Touchsensor 节点、Timesensor 节点以及switch 节点等.在建模过程中,分别建立了mecanum 轮、连续切换轮和锥滚轮三种形式的全向轮,把三种形式轮子分别设定为Switch 节点的场景造型子节点列表,通过改变which Choice 域的域值可以切换三个场景子节点的显示[11].使用javascript 编写函数通过Touchsensor 的出事件作为输入,改变whichChoice 的值从而来改变模型中显示的轮子形式.三种不同参数下的轮椅外观如图6所示.

图5 系统实现过程

4 运动仿真的实现

在系统中可以对轮椅进行直走、横走、斜走、原地打转等四种运动形式的仿真.客户只需要点击相应的仿真按钮就可以实时观看到轮椅运动的效果.这里用到的传感器节点有Touchsencor 节点、Timesensor节点、PositionInterpolator 节点、以及Collision 节点等.由于全方位轮子的特殊性,在仿真过程中不但要分别设置轮子与辊子的转动,还要考虑二者的协调性.因为只有与地面接触的辊子才是转动的,而每个辊子何时与地面接触又与轮子的转动相关联.因此用碰撞节点实时检测轮子上的各个辊子与地面的接触情况,当检测到辊子地面接触时,此辊子转动,否则不转动[12].具体的控制流程图如图7所示.

图6 实时定制效果图

图7 仿真控制流程图

图8 轮椅运动仿真

5 结论

本文介绍了基于VRML 的全方位轮椅实时定时与运动仿真系统,详细介绍了整个系统的实现过程,从三维模型的建立到最后完成实时定制及运动仿真功能的实现.VRML 技术结合运动轮椅的应用,对于教学研究或者是定制性应用开发都有实际意义和技术参考价值.同时,该系统在定制的实时性、实用性等方面的性能还需进一步的验证及优化.

猜你喜欢
滚轮轮子坐标系
独立坐标系椭球变换与坐标换算
轮子
滚轮滑雪运动多元价值与推广策略研究
坐标系背后的故事
三角函数的坐标系模型
求坐标系内三角形的面积
梦想一只转动的轮子
1+1=150
光电传感器的新功能拓展
香喷喷的轮子