[XMOVE自主设计的体感方案] 历代版本系统介绍(二)X-MOVE2.0

简介:

 

编者注: X-MOVE是作者在业余时间于2010年6月份启动的以运动传感开发,算法和应用的平台,目前已经发展了三个版本,第四版的开发接近尾声。发布在博客园仅为交流技术,不存在商业目的,作者保留一切权利。

 一 . 前言

  XMOVE 2.0开发时间: 2010年10月-2011年1月

  XMOVE1.0的开发在八月份后只做了小修小补,以为它就是最后的完整系统。我为它用GDI开发了3D的姿态演示,由于只有加速度传感器,因此效果不是太好。但没有办法,马上就要考研了,我不能在这个事情上再付出更多。

  但是后来事情的发展有点出乎意料。我幸运的通过她和以前完成的两个嵌入式开发项目获取了北邮特殊保研资格,同时于十月份参加了中国电子学会在成都举办的本科创新大赛,拿到一等奖。我甚至有种感觉,好事一下子都来了O(∩_∩)O~为了庆祝,我给自己买了一台当时看起来配置还不错的台式机。同时,为了回报XMOVE给我带来的好处,我决定进行XMOVE 2.0的开发。这几乎是我本科期间最幸福的时光,没有压力,专心做自己喜欢的事情,没事还可以玩玩心爱的游戏。

  先上个图,展示下大四自己的开发环境和寝室:实在是破的可以,我的全部面积就是一张床,代码就是在上铺敲出来的。

  下面这张图是床的另外一侧,上面所有的盒子都装着电路板,ARM,MSP430,AVR,51...各种无线模块液晶屏键盘传感器,我床底下还有个大箱子,各种电阻电容:最上方的架子,塑料盒子里装着的就是XMOVE1.0的全套设备,看着真是太山寨了!!

 

  我的改进目标主要有以下几点:

  •   开发嵌入式彩屏体感手持终端,升级和改进原有的嵌入式OS
  • 传感器升级:更好的加速度计ADXL345,引入陀螺仪,磁场计和气压计
  • 改变上位机软件结构,换用C#作为主要的开发语言
  • 升级无线协议,改进架构
  • 向下兼容1.0版本

 

二. 系统框架

  下图表示了2.0版本的主要设计思路和架构,它对1.0系统做了整体的改性,表现在传感器的升级和扩展性能的提升。它已经不限于简单的应用场景,比如游戏和简单的人机交互。我把它的目标定位继续扩展到全身人体监测,虚拟现实和机械控制领域。当然,全身人体监测在4.0以后才实现。

  升级节点数量到四个,其中,两个手持节点(含有LCD),小腿加两个节点,各节点的交互逻辑由下图进行说明:

  其中,2.0版本中最重要的子系统,是手持终端。它的设计和开发是我当时最主要的核心,由于已经有五篇文章介绍了它的详细实现过程,此处不再详述。可参考XMOVE手持终端的介绍

 三. 上位机系统的改进

   谈到上位机,做嵌入式的人都比较头疼,当年的我也是,虽然单片机的代码编的风生水起,可是愣是不能在电脑上做界面。从MFC到C#,我花了将近一年的时间。

  从学习C#开始,我就惊叹于这门语言的简单和优美。我一直很奇怪语言没有指针怎么操作数据,但C#给了我完整的也是更安全的答案,它给了我一直想要的封装性:我只需拿过来用,而不需关心内部实现。于是,2.0版本的界面顺利诞生。

  对一个写惯单片机的人来说,很容易把所有的逻辑都写在一个文件里,完全没有设计模式的概念。从1.0到3.0我都是这么做的,汗~ 当然,UI我也做了比较完整的设计,下面是设计图:

  

  上位机系统做了大幅度的功能增强:

  •   使用MSCHART控件,可同时显示所有传感器的数据
  •   内置模拟游戏手柄驱动,再也不用带着巨大的PS2仿真器了
  •   空中鼠标功能
  •   对游戏(COD等)的全身体感支持

 

 四. 荣誉和总结

    XMOVE2.0作为中间版本,在后代的发展中起了非常重要的作用。设计思路基本定型也更加成熟。当然它有不少缺点:

  1. 算法不足,多数应用没有采用良好的模式识别算法,也没有使用传感器融合技术

  2. 应用偏少,只能支持使命召唤,雷电3等应用,缺乏杀手级应用。

  3. 上位机软件缺乏重构:当然这是我现在的看法,当时是引以为傲的。

 

  说到荣誉,最大的荣誉应该是代表北邮参加了中国移动研究院举办的移动创新大赛,荣获二等奖。我在比赛上认识了不少志同道合的人,其中天大比我小一届的同学给我留下了极为深刻的印象。他的C#水平比我先进了整整五年而不可望其项背。而他在手机上开发的体感系统,也给我以很大的启发。我在4.0版本中引入了手机的支持,同时借鉴了他的模式识别算法,在此表示感谢。

  大四寒假,我开始了3.0版本的开发。

相关文章
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
存储 算法 安全
ARBT阿尔比特系统开发(DAPP技术)|ARBT阿尔比特模式开发系统案例
基于区链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势
|
存储 区块链 数据安全/隐私保护
Stepn跑鞋/Jogger慢跑者NFT链游铸造合成项目系统开发(正式版)/案例说明/方案介绍/逻辑项目/源码平台
链游是指基于区块链技术的游戏,也被称为区块链游戏或加密游戏。在传统游戏中,游戏数据通常由中心化的服务器控制和存储,而在链游中,游戏数据被存储在区块链网络中,所有的玩家都可以访问和验证这些数据。
|
存储 SQL 缓存
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
231 0
如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
|
JavaScript 前端开发 开发工具
重"心"出发,从"质"启程--全新开源的X版2.0正式和大家见面啦~
重"心"出发,从"质"启程--全新开源的X版2.0正式和大家见面啦~
重"心"出发,从"质"启程--全新开源的X版2.0正式和大家见面啦~
|
机器人 编译器 Go
阐述sandwich三明治机器人系统开发应用方案
阐述sandwich三明治机器人系统开发应用方案
158 0
|
Kubernetes 安全 网络协议
Hunte“三明治”夹子机器人系统开发技术部署讲解及成熟源码方案
Hunte“三明治”夹子机器人系统开发技术部署讲解及成熟源码方案
813 0
带你读《好设计,有方法:我们在搜狐做产品体验设计》之二:有源设计
那些激动人心、让人拍手叫好的设计,到底有没有方法可循?背后到底有没有设计理论支撑?答案是肯定的!本书作者是资深体验设计专家,拥有超过10年的产品体验设计和团队管理经验,他们将试图为大家总结和揭示那些优秀设计背后的理论和方法。