这个仓库提供了从日常可穿戴设备(如智能手机、智能手表和耳机)或专业IMU设备(Noitom)收集IMU等传感器数据并进行动作捕捉Livedemo演示的工具和示例代码。支持的平台包括Android、华为和苹果设备
支持安卓系统的手机+手表,华为系统的手机+手表+耳机,苹果系统的手机+手表+耳机以及Noitom的传感器数据传输及Livedemo可视化演示
华为设备使用一个统一的应用,支持手机、手表和耳机,从链接下载HuaweiIMU.apk并安装
苹果设备使用一个统一的应用,支持手机、手表和耳机,参考IMUPoser仓库链接中的说明在手机侧下载应用
Noitom设备使用专业的软件,包括:
主要用于校准Noitom IMU的磁力计
主要用于连接Noitom IMU并进行数据传输
我们使用Unity来可视化实时演示。要开始:
- 从这个链接下载Mocap Live Demo Unity package
- 从Unity Hub下载并安装Unity Editor version 2022.3.20f1c1
- 在Unity Editor中打开下载的项目
- 在Unity Editor中,转到Scenes文件夹并加载MotionViewer场景
左侧: 初始应用界面. 右侧: 点击Start后应用界面.
- 在设置好传感器序号和远程IP+端口后,点击Start按钮开始数据传输
- 传感器序号: 0-左手腕,1-右手腕,2-左大腿口袋,3-右大腿口袋,4-头部 (若有耳机)
- 远程IP和端口: 在电脑端运行cmd窗口,输入
ipconfig获取本机IPv4地址,端口默认设置为8989
可视化某个传感器得到的加速度和旋转信息,确保信息传输正常和数据合理
-
在config.py文件中设置device_ids
class AndroidDevices: device_ids = { "Left_Watch": 0, "Right_Phone": 3, }
根据实际使用的传感器数量和序号进行设置,若只有手机/手表就把另一行注释掉
-
启动数据可视化脚本
python test_device.py --android --view_ori --view_acc --idx 0
--android: 指定使用安卓设备--view_ori: 可视化方向信息,可选--view_acc: 可视化加速度信息,可选--idx: 可视化第几个传感器,0表示第一个传感器
运行成功后的效果如链接中的视频所示: 视频链接
- 在config.py文件中设置device_ids
- 与上面相同
- 通过Unity Hub打开Livedemo项目并启动play模式
- 点击Unity Editor顶部的Play按钮启动实时演示
-
启动Livedemo脚本
python livedemo.py --android --mocap
--android: 指定使用安卓设备--mocap: 使用unity进行实时动作捕捉可视化
运行成功后的效果如链接中的视频所示: 视频链接
-
Calibration 在运行Livedemo脚本之后,运行mocap算法之前,需要进行传感器的Calibration操作,相关知识见IMU Calibration笔记,具体而言
- 当终端显示
Stand in N pose for 3 seconds, then step forward and stop in the N-pose again时,按回车键,保持N-Pose站立3s- N-Pose: 双脚与肩同宽,双臂自然下垂,掌心向内
- 等到终端显示
Step forward now时,向前迈出一步并停在N-Pose姿势 - 若终端显示
Calibration succeeded则说明校准成功,若显示Calibration failed则说明校准失败,需要重新进行上述步骤
- 当终端显示
- 在设置好传感器序号和远程IP+端口后,点击上方开始按钮开始数据传输
- 在开始数据传输前点击上方的设备管理按钮,连接手表/耳机等设备
- 其他细节与安卓类似
可视化某个传感器得到的加速度和旋转信息,确保信息传输正常和数据合理
-
在config.py文件中设置device_ids
class HuaweiDevices: device_ids = { "Left_Watch": 0, "Right_Phone": 3, "Head": 4, }
-
启动数据可视化脚本
python test_device.py --huawei --view_ori --view_acc --idx 0
--huawei: 指定使用华为设备--view_ori: 可视化方向信息,可选--view_acc: 可视化加速度信息,可选--idx: 可视化第几个传感器,0表示第一个传感器
- 在config.py文件中设置device_ids
- 与上面相同
- 通过Unity Hub打开Livedemo项目并启动play模式
- 与上面相同
- 启动Livedemo脚本
python livedemo.py --huawei --mocap
--huawei: 指定使用华为设备--mocap: 使用unity进行实时动作捕捉可视化
- 设置细节参考链接
可视化某个传感器得到的加速度和旋转信息,确保信息传输正常和数据合理
-
在config.py文件中设置device_ids
class AppleDevices: device_ids = { "Left_watch": 0, "Left_phone": 2, "Left_headphone": 4, }
-
启动数据可视化脚本
python test_device.py --apple --view_ori --view_acc --idx 0
--apple: 指定使用苹果设备--view_ori: 可视化方向信息,可选--view_acc: 可视化加速度信息,可选--idx: 可视化第几个传感器,0表示第一个传感器
- 在config.py文件中设置device_ids
- 与上面相同
- 通过Unity Hub打开Livedemo项目并启动play模式
- 与上面相同
- 启动Livedemo脚本
python livedemo.py --apple --mocap
--apple: 指定使用苹果设备--mocap: 使用unity进行实时动作捕捉可视化
MIT License - see the LICENSE file for details.





