Wrist extension

Hi
I use BVH data from Perception Neuron(Not Xsens).
It is difficult to align the joint angle due to poor data quality.
Is there a good way to change the wrong sensor coordinates to fit the shape of the human body?

Especially, the angle of the right wrist is bent as shown below, is there any way to solve it?

before run.
4

When running the simulation
3

Hi @twosejin

If the hands are not essential for your simulation you could exclude the marker drivers and use the default mannequin drivers for them.

It is a little hard to see from the images, but are you running the marker tracking before the inverse dynamics analysis?
What version of ams and ammr are you using?

For more tips on how to adjust the model please see our wiki page on MoCap for help.

Best regards,
Bjørn
AnyBody Technology

Hi @Bjorn
I use ams v7.3.3, ammr v2.3.3.
now, I excluded the marker drivers and use the default mannequin drivers for some parts.


  #define BM_MANNEQUIN_DRIVER_WEAK_SWITCH ON
  #define BM_MANNEQUIN_DRIVER_ANKLE_SUBTALAR_EVERSION_RIGHT OFF
  #define BM_MANNEQUIN_DRIVER_ANKLE_SUBTALAR_EVERSION_LEFT OFF
  #define BM_MANNEQUIN_DRIVER_ANKLE_FLEXION_LEFT OFF
  #define BM_MANNEQUIN_DRIVER_ANKLE_FLEXION_RIGHT OFF
  #define BM_MANNEQUIN_DRIVER_KNEE_FLEXION_LEFT ON
  #define BM_MANNEQUIN_DRIVER_KNEE_FLEXION_RIGHT ON
  #define BM_FOOT_MODEL _FOOT_MODEL_DEFAULT_

The wrist no longer bend outward.
but I have an other problem about left ankle of model.
the error message and a picture are below.

Failed to solve kinematic optimality conditions and hard constraints after 5 fallback attemps.
Constraint violations for study 'Main.Studies.MarkerTracking' : 
Constraint #222 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.Ankle.Constraints'.
Constraint #223 is above tolerance 1e-06, error = 0.000002, constr. #1 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.Ankle.Constraints'.
Constraint #225 is above tolerance 1e-06, error = 0.000013, constr. #3 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.Ankle.Constraints'.
Constraint #226 is above tolerance 1e-06, error = 0.000002, constr. #4 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.Ankle.Constraints'.
Constraint #227 is above tolerance 1e-06, error = 0.000002, constr. #0 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.SubTalar.Constraints'.
Constraint #228 is above tolerance 1e-06, error = 0.000009, constr. #1 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.SubTalar.Constraints'.
Constraint #229 is above tolerance 1e-06, error = 0.000008, constr. #2 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.SubTalar.Constraints'.
Constraint #230 is above tolerance 1e-06, error = 0.000254, constr. #3 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.SubTalar.Constraints'.
Constraint #231 is above tolerance 1e-06, error = 0.000195, constr. #4 in 'Main.HumanModel.BodyModel.Left.Leg.Jnt.SubTalar.Constraints'.
Constraint #386 is above tolerance 1e-06, error = 0.000271, segment constr. 'Main.HumanModel.BodyModel.Left.Leg.Seg.Talus'.
Constraint #387 is above tolerance 1e-06, error = 0.000503, segment constr. 'Main.HumanModel.BodyModel.Left.Leg.Seg.Foot'.
ERROR(OBJ.MCH.KIN3) :   AnyMocapModel.any(58)  :   MarkerTracking.Kinematics  :  Kinematic analysis failed in time step 381 : Position analysis is not completed

5

Hi @twosejin

Great to hear about the hands.
However from the images you send the marker placements seem really poor.
You need to go through the marker placements and adjust them to better match the underlying perception neuron stick figure. You can read how to do it in the wiki link I send earlier.

What model have you based yours on?
One of my colleagues have a model setup to use bvh data from perception neuron. You can find it here, maybe it can help you.

However, you should bear in mind that the acceleration data might be inconsistent, thereby making it really hard to do inverse dynamics analysis of very dynamic motions.
This will also give some trouble if you need to use GRF prediction.

Best regards,
Bjørn
AnyBody Technology

I modified the 'sRelOnBVH' value in 'MarkerProtocol.any' to match the coordinates, but I'm not sure.
Can you explain to me the exact difference between sRelOpt and sRelOnBVH?

DataandMarkerProtocol.zip (464.0 KB)

here are my sample data and MarkerProtocol code.

and I wonder If I have to fix tje Marker location for each data.
I think that MarkerLocation is not suitable for other data.

Hi @twosejin

SRelOpt is the maker on the human model and SRelOnBVH is the marker on the bvh stick figure.
Try and take a look at the repository I linked to and see the MarkerProtocol.any maybe you can adjust yours from that.

Best regards,
Bjørn

I looked at the file you said, and manually adjusted the values.
I modified the values after a lot of trial and error. Is there any other good way?
Should 'SRelOpt' and 'sRelOnBVH' have the same value?

Hi @twosejin

The quality of the data file you send is very poor so yes, I would expect a lot of tweaking to getting it to run.
What is the motion of the model? the hands and feet of the data file seem to drift and spin quite a lot so I don't think you can use that data.

No, the sRelOpt and sRelOnBVH do not necessarily need to be the same as they are specified in two different reference frames.

Best regards,
Bjørn