
人体姿态解算——惯性动作捕捉设备
简介
用作惯性人体动作捕捉的动捕设备,其中的一个子机节点,本身使用GY-87做姿态数据采集,esp32做姿态解算并通过udp连接发送给PC上位机做姿态还原
简介:用作惯性人体动作捕捉的动捕设备,其中的一个子机节点,本身使用GY-87做姿态数据采集,esp32做姿态解算并通过udp连接发送给PC上位机做姿态还原开源协议
:GPL 3.0
描述
硬件选型:
我希望动捕设备最好能无线连接PC,所以esp32就成了首选,不用再多加一个透传模块,而且价格也便宜。
另外就是IMU的选型,这个的选择项就非常多了,一些精度高的IMU价格非常夸张,所以这里就使用最常见的六轴IMU MPU6050,物美价廉,漂移和噪声问题确定很大,但是可以放在软件算法里去尽量做优化,不过调过姿态控制的都知道,六轴传感器的偏航角几乎是不可用的,这是六轴传感器工作机制导致的,只能用角速度去积分获取偏航角,然后一定程度上通过横滚角和俯仰角去矫正,理想的状态下,静态响应还是凑合的,但是动态响应几乎就是灾难,在动捕这个领域,这显然是不合适的,因此为了获得更为准确的yaw角度,我选择添加一个磁力计,HMC5883L,虽然磁力计也同样会有被环境干扰问题,比如周围的磁场,但是它的yaw角很大程度上至少是可信的,环境干扰也可以放在软件算法里面去尽量矫正。
所以最后确定的下位机方案就是使用esp32+mpu6050+HMC5883L,成本大概30块钱左右,然后关于上位机的选择,因为这次涉及到3D模型,当然是请出老朋友unity,下位机采集解算出来的欧拉角直接通过wifi与PC走UDP(延时小)通信传输数据,然后再在PC端根据欧拉角还原人体姿态,大致思路就是这个样子。
硬件设计:
硬件方面IMU直接用的是模块,因为裸片买不起(悲),然后尺寸尽可能小巧,没有画成两面板是因为就算把尺寸再画小一点,电池容量也可能不太够了,索性定在了45mm * 45mm的尺寸上了能一面画完,同时还可以放一个800mah的锂电池。
软件细节:
软件细节可以看我的Github,在这里附上Github仓库链接 --> https://github.com/isNineSun/Human-Pose-Estimation---Motion-Capture-Device
3D打印外壳:
外壳的stl文件会放在附件链接中。
上位机&效果展示:
现在只有一个用来测试的上位机软件,具体的说明在Github中有提到。
设计图

BOM


评论