[x3d-public] HAnim Schematron output sampled

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Sat Jan 21 19:23:13 PST 2023


Joe and John, thanks for in-depth sleuthing and this clear writeup.  So far so good.

 

The current Humanoid Animation (HAnim) International Standard (IS) is of course the authoritative source to decide all mismatches.

 

*	ISO/IEC 19774-1:2019 HAnim architecture
*	https://www.web3d.org/documents/specifications/19774/V2.0/index.html

 

Of encouraging note is that all of our X3D4 diagnostics are generated by

 

a.	Parent-child relationships defined in X3D4 XML Schema, for example vl5:

 

https://www.web3d.org/specifications/x3d-4.0.xsd

https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_hanimJointNameValues.html

https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_hanimSegmentNameValues.html

 

            <xs:enumeration value="vl5">

                <xs:annotation>

                    <xs:appinfo>

                        <xs:attribute name="index" type="xs:integer" fixed="59"/>

                        <xs:attribute name="default" type="SFVec3f" fixed="0.0028 1.0568 -0.0776"/>

                        <xs:attribute name="parent" type="hanimJointNameValues" fixed="sacroiliac"/>

                        <xs:attribute name="loa" type="loaType" fixed="1"/>

                    </xs:appinfo>

                    <xs:documentation source=https://en.wikipedia.org/wiki/Vertebral_column/>

                </xs:annotation>

            </xs:enumeration>

 

b.	Which in turn are used to generate X3DUOM,
c.	Which in turn is used to generate diagnostic rules checking on parent-child relationships,
d.	Which in turn are copied/pasted into X3D Schematron for in-depth quality assurance (QA).
e.	Additional X3DUOM-based checks get found in X3DJSAIL Java and X3DPSAIL x3d.py Python libraries.

 

So, as discussed with John during yesterday’s weekly X3D Working Group meeting, the key for continued sleuthing is to simply:

 

*	Go through diagnostics to see if the error is actually in the .x3d model content (which is the usual case).
*	Build a list of incorrect parent child relationships that appear to be mistaken schema definitions and diagnostics.
*	We then double/triple check that list together, correct any confirmed errors in the X3D XML Schema accordingly, and all other diagnostics gets updated.

 

PLEASE DO NOT attempt any further programming heroics.  Not helpful.

 

So, worthy “attention to detail” efforts followed by simple adjustments.  Good hunting…

 

all the best, Don

-- 

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, Navy robotics https:// faculty.nps.edu/brutzman

 

From: Joseph D Williams <joedwil at earthlink.net> 
Sent: Friday, January 20, 2023 5:02 PM
To: John Carlson <yottzumm at gmail.com>; Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>; Humanoid Animation (H-Anim) Working Group <h-anim at web3d.org>
Subject: RE: HAnim Schematron output sampled

 

Hi HAnim folks, 

Again, this is something we might want to actually file a bug on. 

The errors detected validation of this model are counter to the spec hierarchy diagrams. 

Specifically the root and sacro, vl5, hips, vc7, and sternos. . 

I have looked back at the oldest and see that the text and art of current hierarchy diagrams and example user code look consistent throughout the ages. 

For the basic humanoid, the root parents the sacro and the vl5. Then the sacro parents right and left hips for lower body and vl5 parents the base of the spine and upper body. Analyzing these connections by animating the figure shows that these structures were connected this way to provide greater realism than by parenting vl5 and both hips by sacro.  

 

So, something to recommend is that we have the schema and all recognize the hierarchy defined by the diagrams in the spec, which are, with only one minor space problem, are correct historically. 

 

This leaves the other vc7 and sterno siblings errors to discuss. Again, the model represented by the diagrams are not matching the schema, apparently, from the results John is getting. Likewise, the difference between the specification and the schematron result is mainly medical, being the medical distinction at vt1. 
 
Anyway, as we see this along with the typical models emerging into x3d from bvh animation files, very interesting how to adapt these very common models, both with history, into the ‘Standard’ model. 
 

I would see this as more of a problem in our validation rather than any problem in the basic definitions. 

We do have examples that pass, and examples that fail.

Thanks and Best, 

Joe 

 

 

From: John Carlson <mailto:yottzumm at gmail.com> 
Sent: Sunday, January 15, 2023 8:27 PM
To: Joe D Williams <mailto:joedwil at earthlink.net> ; Don Brutzman <mailto:brutzman at nps.edu> ; X3D Graphics public mailing list <mailto:x3d-public at web3d.org> ; Humanoid Animation (H-Anim) Working Group <mailto:h-anim at web3d.org> 
Subject: Re: HAnim Schematron output sampled

 

Hold on!  vl5 is a child of humanoid_root!   There are 3 places in JohnJoint2.x3d fails the schematron, and Joe and I are now thinking the schematron/X3DUOM may be wrong.

 

I'm not sure if Don has a way to generate a hierarchy from X3DUOM or XML schema for HAnim-LOA4 that I can parse with perl?

 

Thanks!

 

Below edited 

 

John

On Sun, Jan 15, 2023 at 7:46 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com> > wrote:

 

 


vl5 has parent humanoid_root rather than expected sacroiliac.  No, vl5 is not a child of sacroiliac, rather a sibling, according to Joe.   The standard wins!

l_sternoclavicular has parent vt1 rather than expected vc7.  Schematron/X3DUOM wrong.

r_sternoclavicular has parent vt1 rather than expected vc7.  Schematron/X3DUOM wrong.

 

I will now check XML schema.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230122/d17f6376/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230122/d17f6376/attachment-0001.p7s>


More information about the x3d-public mailing list