Questions Related to the Newly Released AMMR3 (and 4-beta)

Hello AnyBody team and community!

Firstly, congratulations on the new releases.

Since the new release, I have been looking into the new AMMR3 as well as AMMR4beta as I am interested with discretised thoracic model and also the new proportional kinematic rhythm for the spine.

I have played around it and ran some of the simulations (with both AMMR3 and AMMR4) using the pre-packed squat as well as my c3d mocap files as driver for the mannequin in multitrial plugin gait template.

I have several questions relating to the new releases.

Joint Reaction Force calculation for spine
I notice that there is a slight different on how joint reaction force definition and how it is calculated between AMMR3/4 and AMMR2 in Selected Outputs which is explained in the changelog (that ultimately gives a small change of values between the two definitions). So, does this mean the JRF was previously referring to the force within the joint whilst the current definition is referring the force experienced by the verterbra?

Spine Rhythm
In the latest version, the default setting for the spine rhythm is [ON] and the other options are [OFF] and [RHYTHM_SOFT]. I presumed that the [OFF] setting is when markers for each vertebra is available to drive the segment. When would be the [RHYTHM_SOFT] is recommended because currently a typical plugin gait upper body would have C7 and T10 markers and I am unsure if soft constraint or full constraint should be applied if this marker set is utilised.

Also (a distantly related question on spine rhythm), I noticed that the simulation is still successfully completed even if the spine rhythm is [OFF] and no additional spine markers were available to drive, althought the spine joint angle are wildly huge and varied. I am curious what drives the mannequin in this situation?

Thank you.

Kind regards,
Faizal

Dear Faizal,

It is nice to hear that you already started using it :slight_smile:

Regarding JRF question: The trunk joint reaction force in SelectedOutputs are now expressed in new reference nodes that are aligned with the vertebral body. This means that the forces are compression and shear forces. Therefore, the names of the outputs now include CompressionForce and ShearForce. The new reference
odes are created inside the joint node on the proximal segment. To compare with the previous version, it is just the coordinate system that is rotated to be aligned with the vertebra and the total reaction force will be the same.
In the previous version, the coordinate system The implementation from AMMR 2.4 can be enabled by using the compatibility switch:
#define BM_COMPATIBILITY_24_TRUNK_SELECTED_OUTPUTS_JRF ON

Regarding Spine Rhythm question: In the new thoracic model, there are 12 thoracic vertebrae. As default, we have spherical joints between the vertebrae, which leaves 36DOF to drive (3DOF for each joint). Basically, rhythms are the drivers for these needed DOFs. When the rhythm for thoracic spine is ON, the thoracic spine needs driver for 3DOF and the rest is already handled with the rhythm. With these 3DOFs you can drive the spine to flexion, extension, lateral bending or axial rotation. Note that there are rhythms for lumbar spine as well. In the default model, you can drive the whole spine by just 3DOF, which is the flexion, lateral, and axial angle of the whole spine :slight_smile:

You can have RHYTHM_SOFT and also have C7 and T10 markers. It will try to find a spine posture in between the rhythms and the markers in the optimization process. You can remove the 3DOF drivers that drives the whole spine and use C7 marker driver. If you add T10 driver, then you are driving 3 more DOFs and because the rhythm is soft, it should find a solution.

I hope it helped.
Best regards,
Hamed