Repository navigation
Fix trunk segment ratios and trunk visual scaling in the human model - #387
Merged
nim65s merged 2 commits intoSep 2, 2026
Merged
Conversation
Several related problems left the trunk wrong: a torso sitting below the thoracic joint with the head floating detached above it, worse the taller the subject, and a pelvis narrower than the torso above it. Trunk segment lengths. The joints of this model are the intersegmental centres L5/S1, T12/L1 and C7/T1, following Dumas et al., as the limb ratios already do. The abdomen and thorax lengths, however, came from De Leva's trunk sub-segments, which are bounded by the xiphion and the omphalion instead. Those are different boundaries, so the thoracolumbar joint sat about 7 cm too high for a 1.7 m subject. Rescaling the same model from motion capture then moved that joint back down, which is what detached the head from the torso. Use ratios consistent with the joints the model actually has, keeping the trunk total, L5/S1 to C7/T1, unchanged at 0.2497 H (f) and 0.2627 H (m). A marker-based calibration now shifts the joint by under 2 mm instead of 71 mm. Pelvis width. The inter-ASIS ratios had the sexes the other way round, leaving men with a narrower pelvis than women of the same stature. Use the inter-ASIS distances Shankar et al. measured with calipers on 100 adults: 0.1368 H for women and 0.1286 H for men. Torso mesh. torso_mesh.STL measures 52.0 along its Y axis, not the 35 it was divided by. It also stands for the whole trunk rather than the thorax segment alone, so its length now spans from the lumbar joint to the cervical joint; sized to the thorax segment it stops short of the pelvis. Its width is taken from the pelvis, so the two read as one body instead of a torso overhanging the hips. Torso visual offset. The mesh does not begin at its link origin, so the URDF offsets it. That offset was both the wrong length and fixed, while the mesh is rescaled for every subject, so it could only suit one size. Correct it and rescale it with the mesh. The rescaling is applied to every visual, so any mesh carrying an offset now keeps its place. The URDF scales are updated to match, so the unscaled model is consistent with a scaled one. Verified from 1.55 m to 1.87 m: the torso spans the trunk with its base on the lumbar joint and its top on the cervical joint, both within 4 mm, the neck emerges from the top of the chest, and torso and pelvis share one width at exactly the inter-ASIS ratio. Visuals and segment lengths only: no inertia or joint axis is touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
for more information, see https://pre-commit.ci
nim65s
approved these changes
Sep 2, 2026
nim65s
left a comment
Member
There was a problem hiding this comment.
this is fine for me, but if these details are really important, we should probably have a separate package to properly host them.
Contributor
Author
|
It is mainly visual, I think it is not required to host it somewhere. It is also normally commented a bit in the code. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Several related problems left the trunk wrong: a torso sitting below the thoracic joint with the head floating detached above it, worse the taller the subject, and a pelvis narrower than the torso above it.
Trunk segment lengths. The joints of this model are the intersegmental centres L5/S1, T12/L1 and C7/T1, following Dumas et al., as the limb ratios already do. The abdomen and thorax lengths, however, came from De Leva's trunk sub-segments, which are bounded by the xiphion and the omphalion instead. Those are different boundaries, so the thoracolumbar joint sat about 7 cm too high for a 1.7 m subject. Rescaling the same model from motion capture then moved that joint back down, which is what detached the head from the torso. Use ratios consistent with the joints the model actually has, keeping the trunk total, L5/S1 to C7/T1, unchanged at 0.2497 H (f) and 0.2627 H (m). A marker-based calibration now shifts the joint by under 2 mm instead of 71 mm.
Pelvis width. The inter-ASIS ratios had the sexes the other way round, leaving men with a narrower pelvis than women of the same stature. Use the inter-ASIS distances Shankar et al. measured with calipers on 100 adults: 0.1368 H for women and 0.1286 H for men.
Torso mesh. torso_mesh.STL measures 52.0 along its Y axis, not the 35 it was divided by. It also stands for the whole trunk rather than the thorax segment alone, so its length now spans from the lumbar joint to the cervical joint; sized to the thorax segment it stops short of the pelvis. Its width is taken from the pelvis, so the two read as one body instead of a torso overhanging the hips.
Torso visual offset. The mesh does not begin at its link origin, so the URDF offsets it. That offset was both the wrong length and fixed, while the mesh is rescaled for every subject, so it could only suit one size. Correct it and rescale it with the mesh. The rescaling is applied to every visual, so any mesh carrying an offset now keeps its place. The URDF scales are updated to match, so the unscaled model is consistent with a scaled one.
Verified from 1.55 m to 1.87 m: the torso spans the trunk with its base on the lumbar joint and its top on the cervical joint, both within 4 mm, the neck emerges from the top of the chest, and torso and pelvis share one width at exactly the inter-ASIS ratio.
Visuals and segment lengths only: no inertia or joint axis is touched.