Xinyu-Yi / TransPose

A real-time motion capture system that estimates poses and global translations using only 6 inertial measurement units
https://xinyu-yi.github.io/TransPose/
GNU General Public License v3.0
392 stars 77 forks source link

Issues with getting the live demo to work while using BNO085 IMUs #54

Closed NinoRen closed 1 year ago

NinoRen commented 1 year ago

Hi, I was wondering if anyone had any insights into replicating this project with different IMUs (not NOITOM that are used in the paper). I have been trying to get the live demo working using BNO085 IMUs. I am able to send orientation (quaternions) and linear acceleration at 60 fps. The arms, pelvis, and head seem to work reasonably well, however, the legs tend to move along the wrong axis. I attached a video of a capture in Unity where I walked in a straight line, but one leg seems to move correctly while the other is moving side to side. In this video I only used the pelvis and leg sensors, but the same errors occurred with all of the sensors. It's not always the same leg, it seems that at least one leg ends up moving along the wrong axis every time I try to do the live demo.

https://user-images.githubusercontent.com/122616547/223425215-d80a5167-3ec5-49e6-8bcb-4e72de42eea5.mp4

yufengsjtu commented 1 year ago

Excuse me,could you tell me the order of the imu' data for the net input?is it same as described in the paper like [root,left_leg,right_leg,head,left_arm,right_arm]???

NinoRen commented 1 year ago

Excuse me,could you tell me the order of the imu' data for the net input?is it same as described in the paper like [root,left_leg,right_leg,head,left_arm,right_arm]???

I think the order of the imu data is [left arm, right arm, left leg, right leg, head, root]

yufengsjtu commented 1 year ago

Thanks so much,I will try

NinoRen commented 1 year ago

Also, I managed to figure out my issue. I was not using the magnetometer on the IMUs to give the heading, so I had to align the sensors manually in order for them to share the same heading. However, I was not aligning them properly and ended up causing the issue shown in the video, where one leg is moving in the wrong direction with respect to the body.

yufengsjtu commented 1 year ago

I think if you align all the imus with the smpl model when calibrating,the result will not be particularly outrageous because the calibration part will estimate the roation matrix between the inertial and smpl coordinate system

yufengsjtu commented 1 year ago

By the way,after applying your order,the movement order of the limbs still looks disorderly

whl-007 commented 12 months ago

smpl coordinate system

Hello,How can I understand smpl coordinate system?Does it mean a coordinate system relative to root?