Xsens Prop sensor data in AnyBody

Hi,

I have a Xsens recording with the Prop sensor enabled to get the position of an external object attached to the left shoulder as shown in the attached image. But I can not find any reference to this node in AnyBody when I simulate the same motion after exporting the .bvh file.

I appreciate any advice on how to get this data in the AnyBody simulation.

Best regards
Jeevan
prop_test

Hi Jeevan,

The inertial model in the AMMR is not set up to work with the prop sensor. So, you will have to set this up.

I believe you should be able to see the prop sensor in the raw data that you read into the model. Please look in Main.ModelSetup.BVHFileData.Data and trace your prop sensor in the chain to the shoulder. If you are able to see your prop sensor in the data, then, it's about setting some drivers between the segment in the AnyBody model and the data available in the bvh file. I suppose you can take some inspiration from how the bvh data is used to create the stick figure model (look in Main.ModelSetup.BVHFileData.Model).

I hope this helps.

Best regards,
Dave

Hi Dave,

Thank you for your reply. I found the motion of the prop sensor (image1 attached). A segment corresponding to the prop data is also appears in the stick figure (image 2 attached).

Is there a way to visualize a node or arrow etc. in the simulation, between the shoulder and the place where we had the prop sensor? (I mean something like shown in image3 attached)

Best regards
Jeevan



image3

Hi Jeevan,

It's great to know that you can see the prop sensor in the stick figure model. Then, there is possibly a solution to the problem:

  1. Create a new segment
  2. Add a marker in the marker protocol file to link the new segment with its corresponding segment on the stick figure model.
  3. Create rotational measure between the new segment and global ref and drive it to 0.
  4. Export the position of the prop segment in marker tracking study and import it in inverse dynamics study.
  5. Add reactions between the new segment and global ref.
  6. Use AnyDrawLine to draw a line between the shoulder and the prop

This could be tedious and I may have missed a point or two. I would need to look into a file with the prop sensor and test it out myself to be sure.

There is a dirty solution to this problem. You can include the stick figure model in your inverse dynamics study. Then you can use AnyDrawLine to draw a line between the shoulder and prop sensor on the stick fgure model. This will of course slow down the analysis and is not recommended. But here is the code that you should type in your model:

Main = {
  Studies.InverseDynamicStudy = {
    AnyFolder &StickFigure = Main.ModelSetup.BVHFileData.Model;
    EnvironmentModel.GlobalRef = {
      AnyDrawLine TestLine = {
        p0 = Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Humerus.gh.r;
        p1 = <pointer to r of the prop sensor segment on the stick figure model>;
      };
    };
  };
};

Best regards,
Dave

Hi Dave,

I took the short approach for now, and it seems to work! Thanks a lot for your valuable help as always.

Best regards
Jeevan

Hi Jeevan,

Thanks for the feedback. It's good to know that you got it to work. If, at some point in the future, you try the longer approach, please do let me know how it goes :slight_smile:

Best regards,
Dave

Hi Dave,

Sure, I will let you know when I try the other approach.

Thanks
Jeevan

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.