基于STC16F40K128+MPU920的485总线人体运动捕捉节点
原标题:基于STC16F40K128+MPU920的485总线人体运动捕捉节点
电路相关文件 下载所有文件电路图文件
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
名称: 人体运动捕捉节点
MW_HMCD_MD3
note1:Make by MikeXUE
note2:20160602改
note3:原始版本采用STM32单片机设计,由于其它原因,这里修改为采用STC16F单片机
note4:这里只对运用和系统原理做一个基础思维描述
note5:《硬件开源》
note6: 不提供源码
模组尺寸:直径30mm
说明:最近工作需要,重提之前的运动捕捉节系统设计。以下两点可忽略,纯属笔记。写着写着不知不觉就想越写越多,果断打住,再写就要成大作文了。 DIY学习,不需要考虑太多,只要动手,有数据就好啦!
初级学习可以 使用2个或者3个模块,构成一个单臂姿态感应。
模块也可以当作一个MPU9250的傻瓜无用学习板。
---------------------------------------------------------------------------------------------------------
抛块砖引堆玉
---------------------------------------------------------------------------------------------------------
本运用概述:
1.本设计实际项目,运用于人体运动捕捉。根据捕捉身体部位不同,理论上运用捕捉技术可以为全身姿态、部位姿态、甚至面部做运动捕捉。
2.运动捕捉概念可以追溯到1970年左右(这个确实记不清楚了),目前从技术原理分析,主要为电磁类、光学类、机械电动式和声学,以及惯性测量式。
3.分析对比6中方式的优势和劣势,本设计综合考虑重量、穿戴、光线干扰、数据量、成本、运用场景的精度忍受范围。
4.本设计最终决定决定采用通过IMU传感器模式,虽然陀螺仪容易造成累计误差,磁力计容易受到环境干扰,但是通过过一定的滤波算法和多传感器姿态
5.融合算法可以很好客服这一 点(如荷兰 Xsens公司所开发的MVN动作捕捉系统系统)。
6.全身捕捉下需要至少16个捕捉节点可完成,将所有捕捉节点数据通过低延时并有序的传输到主机,通过PC完成最后的数据处理与3D形态展示。
本运用难点概述(这里只分析节点,主机另外分析)
1.从一个完整的人体运动捕捉分析,需要24个传感器,而采集速度至少达到60组/S,以及120组/S,240组/S秒(一组数据至少7个字节),才可满足基本实际运用,
那么分析出从主机采集24个传感器到主机将24个传感器传输到PC所使用的时间最长不能超过16.67ms,最短需要达到4.14秒,并且采集一帧(60组/S或其他)中的各个
节点数据延时不能延迟太大,否则采集数据就是无效或者错误的了,最终导致3D图像的部分关节姿态滞后或者超前异常。
这个16.67ms或者4.41ms,包括了运动捕捉节点底层的数据算法转换、485总线命令发送数据接收传输时间、24个节点的分时调度、主节点的总数据打包与传输,
所以这里在底层的传感器通讯协议、分时调度、组网模式值得考虑分析----思路建议,从分时复用与时间间隙入手(详细不介绍、可咨询查找相关论文)
2.动态精度与静态精度的保证,建议这里应主要采用基础滤波、而不是复杂算法完成(主要是从系统时间节约分析得出)
3.关于MPU9250的算法、由于目前网络上公布的算法论文非常多,所以相对容易实现,只是需要根据实际情况修改合适的采样频率。
4.关于485总线,本系统采用485总线设计(至于为什么不做介绍),虽然485总线运用很简单,但在考虑传输速度与总线信号滞后效应,应当精简外部防护电路,
去掉总线电容。(这里总线设计不用如工业总线那么严格)
5.节点入网协议(加入到主机)以及传感器数据交互协议,在“动捕捉节点”这里只需要考虑数据精简复用即可
*********************************************************************************************************
一、功能概述
◆ 可配合“人体状态捕捉集中器X”
◆ 作为人体全身人体运动捕捉装置的传感器节点
◆ 采集四元数或笛卡尔坐标角度(pitch、yaw、roll)
◆ 采用RS485总线通讯,HX1.25_4P接口
◆ 至少14个节点完成全身运动捕捉
◆ 一个按键可用于独立模块的复用按钮,如用于校验启动
◆ 一个LED指示灯,用于系统指示
◆ 直径30mm,基本满足内置安装在一体化服装
◆ 交流群:Mike_City 806189293(申请时备注来源)
*********************************************************************************************************
二、电路概述
1. 单片机采用STC16F40K128_64PIN,支持了浮点运算与DMA
2. IMU传感器这里目前依然采用MPU9250
3. 485总线采用SP3485系列芯片
4. 稳压芯片采用ME6119芯片
*********************************************************************************************************
三、使用说明
1. P1、P2为485总线端口,两个端口是用于线路在一体服装中的级联
2. 同时电源接口也是P1、P2,节点均通过主机锂电池5V供电
3. P3为ISP程序烧写接口兼容USB硬件通讯接口
*********************************************************************************************************
责任编辑:
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。