[x3d-public] unrecognized value. HAnim bug in KoreanCharacterMotionAnnex* aliases for LOA-02/3 and LOA-4 feet

Don Brutzman brutzman at nps.edu
Tue Feb 2 08:12:14 PST 2021


Thanks for feedback Dick and thanks for productive session yesterday Joe, working on mismatches between different LOA levels for joints in feet.

1. Option 1: aliases.

Along the lines suggested below, we created alias values for LOA-2 and LOA-3 joints to match names of corresponding LOA-4 joints.  No alias needed for l_talocrural or r_talocrural.

     LOA2/LOA3 name, LOA4 alias

        l_tarsometatarsal           l_tarsometatarsal_2
        l_metatarsophalangeal       l_metatarsophalangeal_2
        l_tarsal_interphalangeal    l_tarsal_interphalangeal_2

        r_tarsometatarsal           r_tarsometatarsal_2
        r_metatarsophalangeal       r_metatarsophalangeal_2
        r_tarsal_interphalangeal    r_tarsal_interphalangeal_2

---------------------------------------------------------------------------------
Mantis 1339: missing alias correspondences for foot joints LOA-2/LOA-3 and LOA-4
https://www.web3d.org/member-only/mantis/view.php?id=1339
---------------------------------------------------------------------------------
XML Schema and X3DUOM aliases applied for testing.  Corresponding specification clarifications:

In Clause "4.9.4 The feet", immediately following "Table 4.4 — LOA?2 and 3 foot Joint object names" we need to add the following:

===============================
Note that LOA-2, 3 joints l_tarsometatarsal, l_metatarsophalangeal and l_tarsal_interphalangeal correspond to LOA-4 joints l_tarsometatarsal_2, l_metatarsophalangeal_2 and l_tarsal_distal_interphalangeal_2 respectively.

Similarly, LOA-2, 3 joints r_tarsometatarsal, r_metatarsophalangeal and r_tarsal_interphalangeal correspond to LOA-4 joints r_tarsometatarsal_2, r_metatarsophalangeal_2 and r_tarsal_distal_interphalangeal_2 respectively.
===============================
---------------------------------------------------------------------------------

This seems like minimalist change, just a small clarification in HAnim.  But...

---

2. Option 2: renames

Another alternative remains here: we could follow the pattern taken in joints for the hand, simply renaming the LOA2/LOA3 names to match LOA4 names, thereby achieving complete consistency and avoiding alias names.

This is certainly simpler and makes ROUTE consistency much easier to achieve.  ROUTE chains are challenging for HAnim already, so simplification is preferable.

Am thinking that if we need a specification change in either case, then Option 2 is best design.

All inputs welcome.  Joe and I will discuss further and report back.



On 1/23/2021 3:31 PM, Don Brutzman wrote:
> [cc: Joe, x3d-public, hanim]
> 
> John, like you, am not finding "l_metatarsophalangeal" in current X3D Schema or X3DUOM.  Instead am finding
> 
>      l_metatarsophalangeal_1
>      l_metatarsophalangeal_2
>      l_metatarsophalangeal_3
>      l_metatarsophalangeal_4
>      l_metatarsophalangeal_5
> 
> Close reading of these HAnimJoint names will note the prefixes l_ and r_ are alphabetic, while suffixes _1 _2 _3 _4 _5 are numeric.
> 
> However, like you, am nevertheless finding "l_metatarsophalangeal" in current HAnim Specification in both animation examples but also Part 1 Concepts.
> 
> [1]    HAnim version 2
>         https://www.web3d.org/documents/specifications/19774/V2.0/index.html
> 
> [2]    Part 1:  Humanoid animation (HAnim) architecture, 4 Concepts, 4.9.4 The feet
>         https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheFeet
> 
> This paragraph has a layout problem, now entered as Mantis
> 
> [3]    Mantis 1338: HAnim part 1 clause 4.9.4 has malformed HTML
>         https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheFeet
> 
> (Am guessing we missed this during prior document review because it was offscreen on the far-right margin.)
> 
> Dick, first correction: please advise how we can resolve this layout issue which relates to whitespace, not prose.
> 
> Dick, please also monitor the following resolution and let's decide if additional prose is appropriate too.
> 
> ---
> 
> The clause itself reads as follows:
> 
>> 4.9.4 The feet
>>
>> The names of the Joint objects for the LOA‑2 and 3 feet are specified in Table 4.4.
>>
>> Table 4.4 — LOA‑2 and 3 foot Joint object names
>>
>> Left foot
>>     l_talocrural     l_tarsometatarsal     l_metatarsophalangeal     l_tarsal_interphalangeal
>>
>> Right foot
>>     r_talocrural     r_tarsometatarsal     r_metatarsophalangeal     r_tarsal_interphalangeal
> 
> Corresponding joints with _1 _2 _3 _4 _5 appended are found in
> 
> [4]    Figure 4.9 — LOA‑4 foot joints
>         https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-FootJoints
> 
> Joe, second correction:  I think that we missed defining 'alias' values for this difference between LOA-2/LOA-3 and LOA-4.
> 
> Proposed fix: define alias correspondences in X3D XML Schema, X3DUOM and corresponding Quality Assurance (QA) diagnostics such as X3D Schematron and X3D Tooltips.
> 
>      l_talocrural                l_talocrural_1
>      l_tarsometatarsal           l_tarsometatarsal_1
>      l_metatarsophalangeal       l_metatarsophalangeal_1
>      l_tarsal_interphalangeal    l_tarsal_interphalangeal_1
> 
>      r_talocrural                r_talocrural_1
>      r_tarsometatarsal           r_tarsometatarsal_1
>      r_metatarsophalangeal       r_metatarsophalangeal_1
>      r_tarsal_interphalangeal    r_tarsal_interphalangeal_1
> 
> Please let me know what you think about these alias additions.  Entered as
> 
> [5]    Mantis 1339: missing alias correspondences for foot joints LOA-2/LOA-3 and LOA-4
>         https://www.web3d.org/member-only/mantis/view.php?id=1339
> 
> John, if accepted, that change will clear the diagnostic errors you encountered. Thanks for pursuing this tricky problem, am happy to confirm that your diagnosis was exactly on target.
> 
> Pretty tricky problem, but appears to have a straightforward solution.  Please advise what you think.
> 
> 
> On 1/21/2021 3:34 PM, John Carlson wrote:
>>
>> Appears valid in spec.
>>
>> $ find . -type f -print0 |xargs -0 grep -w l_metatarsophalangeal|grep -e -IS|grep l_metatarsophalangeal
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/ExampleMocapAnimationInterpolators.html:               <HAnimJoint DEF="hanim_l_metatarsophalangeal" center="3.854 3.64 0.7402" name="l_metatarsophalangeal" >
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/Concepts.html:              <td class="center">l_metatarsophalangeal</td>
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/Concepts.html:              <td class="center">l_metatarsophalangeal</td>
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/Concepts.html:  <li>The <code>l_metatarsophalangeal</code> <span class="Object">Joint</span> has the motion of [R17]
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/ExampleKeyframeAnimation.html:               <HAnimJoint DEF="hanim_l_metatarsophalangeal" center="3.854 3.64 0.7402" name="l_metatarsophalangeal" >
>> ./ISO-IEC19774/ISO-IEC19774-2/ISO-IEC19774-2v2.0/ISO-IEC19774-2v2.0-IS/MotionDataAnimation/ExampleMocapAnimationMotionObject.html:               <HAnimJoint DEF="hanim_l_metatarsophalangeal" center="3.854 3.64 0.7402" name="l_metatarsophalangeal" >
>> ./ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.0/ISO-IEC19774-1v2.0-IS/Architecture/Design.html:                <HAnimJoint DEF="hanim_l_metatarsophalangeal" center="3.854000 3.640000 0.740200" name="l_metatarsophalangeal" >
>> ./ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.0/ISO-IEC19774-1v2.0-IS/Architecture/concepts.html:      <td>l_metatarsophalangeal</td>
>>
>> But not in XML schema or X3DUOM.   Hmm.
>>
>> coderextreme at coderextreme-Kubuntu20:/c/x3d-code/www.web3d.org/specifications$ find . -type f -print0 |xargs -0 grep -w l_metatarsophalangeal
>> coderextreme at coderextreme-Kubuntu20:/c/x3d-code/www.web3d.org/specifications$
>>
>> So there must be some disconnect between the spec and the schema?
>>
>>
>> HAnim examples to test against:
>>
>> coderextreme at coderextreme-Kubuntu20:/c/x3d-code/www.web3d.org/x3d/content/examples/HumanoidAnimation$ find . -type f -print0 |xargs -0 grep -wl l_metatarsophalangeal
>>
>> ./Characters/JinLOA3.x3d
>> ./Characters/JinLOA1.x3d
>> ./Characters/JinLOA2.x3d
>> ./Specifications/KoreanCharacterMotionAnnexD01Jin.x3d
>> ./Specifications/KoreanCharacterMotionAnnexC01Jin.x3d
>>
>> The unrecognized value errors are in your build.log.txt.
>>
>> Thanks for looking at this!
>>
>> John
>>
>>
>> On 1/21/21 5:15 PM, John Carlson wrote:
>>> I believe I am using X3DJSAIL.   Do I need to do a build/checkout  or download jars?
>>>
>>> It would be good to cross test with stylesheet.
>>>
>>> I’ll try to remember to look into it tonight.  Resting now.
>>>
>>> John
>>> On Thu, Jan 21, 2021 at 10:57 AM Don Brutzman <brutzman at nps.edu <mailto:brutzman at nps.edu>> wrote:
>>>
>>>     Thanks for checking John.  Wondering, are you checking HAnim specification, X3DUOM or X3D Schema for correct values?
>>>
>>>     We can also define alias enumerations if there are allowable synonyms.
>>>
>>>     On 1/20/2021 9:07 PM, John Carlson wrote:
>>>     >
>>>     >
>>>     > Running with nashorn.
>>>     >
>>>     > jjs -J-Xss1g -J-Xmx4g
>>>     > -J-Djava.class.path=.:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar:/home/coderextreme/X3DJSONLD/saxon9he.jar:/home/coderextreme/X3DJSONLD/target/X3DJSONLD-1.0-SNAPSHOT.jar:/home/coderextreme/X3DJSONLD/src/main/nashorn
>>>     > ../nashorn/net/coderextreme/data/KoreanCharacterMotionAnnexC01Jin.js
>>>     > Warning: The jjs tool is planned to be removed from a future JDK release
>>>     > Warning: HAnimJoint name newValue="l_metatarsophalangeal" has an
>>>     > unrecognized value not matching any of the optional string tokens.
>>>     > Warning: HAnimJoint name newValue="r_metatarsophalangeal" has an
>>>     > unrecognized value not matching any of the optional string tokens.
>>>     >
>>>     > jjs -J-Xss1g -J-Xmx4g
>>>     > -J-Djava.class.path=.:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar:/home/coderextreme/X3DJSONLD/saxon9he.jar:/home/coderextreme/X3DJSONLD/target/X3DJSONLD-1.0-SNAPSHOT.jar:/home/coderextreme/X3DJSONLD/src/main/nashorn
>>>     > ../nashorn/net/coderextreme/data/KoreanCharacterMotionAnnexD01Jin.js
>>>     > Warning: The jjs tool is planned to be removed from a future JDK release
>>>     > Warning: HAnimJoint name newValue="l_metatarsophalangeal" has an
>>>     > unrecognized value not matching any of the optional string tokens.
>>>     >
>>>     > Related X3D files found in:
>>>     >
>>>     > /c/x3d-code/www.web3d.org/x3d/content/examples/HumanoidAnimation/Specifications/ <http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Specifications/>
>>>     >
>>>     > X3D files up to date:
>>>     >
>>>     > coderextreme at coderextreme-Kubuntu20:/c/x3d-code/www.web3d.org/x3d/content/examples/HumanoidAnimation$ <http://www.web3d.org/x3d/content/examples/HumanoidAnimation$>
>>>     > diff Specifications/ ~/X3DJSONLD/src/main/data/|grep diff
>>>     > coderextreme at coderextreme-Kubuntu20:/c/x3d-code/www.web3d.org/x3d/content/examples/HumanoidAnimation$ <http://www.web3d.org/x3d/content/examples/HumanoidAnimation$>
>>>     > svn up
>>>     > Updating '.':
>>>     > At revision 31305.
>>>     >
>>>     > John
> 
> all the best, Don

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 http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list