[x3d-public] HAnim2 names and HAnim1 aliases for Joint, Segment and Site

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Sun Mar 7 22:00:42 PST 2021


I was able to accomplish most of our prior discussion points from last Wednesday Joe.  Not ready for your new comments yet, this all takes time.

I added a test for duplicate alias definitions when building X3DUOM.  It now warns of the following problem that we hadn't noticed yet:

=======================
X3dUnifiedObjectModel:  process X3D schema version 4.0 using BuildX3dUnifiedObjectModelXmlFile.xslt 
Writing to file:/C:/x3d-code/www.web3d.org/x3d/stylesheets/X3dUnifiedObjectModel-4.0.xml
*** error hanimFeaturePointNameValues xs:enumeration value='l_carpal_distal_phalanx_1' has duplicate alias='l_thumb_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='l_thumb_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='l_carpal_distal_phalanx_2' has duplicate alias='l_index_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='l_index_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='l_carpal_distal_phalanx_3' has duplicate alias='l_middle_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='l_middle_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='l_carpal_distal_phalanx_4' has duplicate alias='l_ring_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='l_ring_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='l_carpal_distal_phalanx_5' has duplicate alias='l_pinky_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='l_pinky_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='r_carpal_distal_phalanx_1' has duplicate alias='r_thumb_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='r_thumb_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='r_carpal_distal_phalanx_2' has duplicate alias='r_index_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='r_index_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='r_carpal_distal_phalanx_3' has duplicate alias='r_middle_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='r_middle_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='r_carpal_distal_phalanx_4' has duplicate alias='r_ring_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='r_ring_distal'
*** error hanimFeaturePointNameValues xs:enumeration value='r_carpal_distal_phalanx_5' has duplicate alias='r_pinky_distal' separately defined in xs:simpleType name='hanimSegmentNameValues' xs:attribute name='alias' fixed='r_pinky_distal'
=======================

I think that the origin of this name collision lies in 

Table B.2 — Feature points
https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html

specifically table indexes 101-110, which lists to HAnim1 alias names in the right column for each HAnim2 feature point. 

However when you look at HAnim version 1 specification, those alias names are for Segments and not Feature Points.

This duplication might be OK, a Site might be named after its parent Segment and as long as the Site name ends in _pt _view or _tip then the name field (and corresponding DEF) are unique.

Am getting some difficulties fixing LOA3 examples however, and so wanted to get your opinion on this please.

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


________________________________________
From: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Sent: Wednesday, March 3, 2021 05:47
To: Joseph D Williams; Myeong Won Lee
Subject: Re: HAnim2 names and HAnim1 aliases for Joint, Segment and Site

Hi Joe.  Am hoping to call you and review these points this afternoon, if that is OK.

On 3/1/2021 9:51 PM, Don Brutzman wrote:
> Thanks for feedback Joe.
>
> On 3/1/2021 3:09 PM, Joseph D Williams wrote:
>>
>> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FHandFootJointNameAliasFiguresHAnim2and1.pdf&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706689845%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=IOQ%2FnXgEw1Bt%2FNoUu1O%2FLw4tDNJkdDRzluKq%2FxUQ9wU%3D&reserved=0
>
> Have also automated production of plain-text table to simplify use and review.  This was very helpful again today, cleaning up ROUTE destinations in JoeKick that were beyond the diagnostic power of the converter.
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FHAnim2NameHAnim1AliasTables.txt&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706689845%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=H3sVfxSli1f74k0zOk7lvc%2BlzZBRWgzUO%2BqLDGyKNH8%3D&reserved=0
>
> Will be discussing with Dick, it would be easy enough to automate creation of HTML tables as well for HAnim2 spec addition.
>
> * Mantis 1351 Consider correspondence tables for HAnim2 names and HAnim1 aliases
>    https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fmember-only%2Fmantis%2Fview.php%3Fid%3D1351&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706689845%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=SwleVE6QEzltkOVlwHtDLGDIsi0YehU%2FutsovIHqpFs%3D&reserved=0
>
> Also food for thought: shouldn't HAnimMotion have a name field?  This was probably discussed long ago and rejected due to lack of directly defined functionality.  However the entire rest of an HAnim engine depends on name fields, so I think we should be consistent (or will eventually regret that).
>
> * Mantis 1350 HAnimMotion lacks a name field and is inconsistently defined
>    https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fmember-only%2Fmantis%2Fview.php%3Fid%3D1350&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=V9y%2BsVBpBOuYA5AdjJne7srgr%2BHqHfw256jW8y%2FzLLQ%3D&reserved=0
>
> Scrutiny and feedback always welcome.
>
>> Real Fine for the Joint v2 names and v1 ‘alias’ names.
>>
>> Another v1 and v2 reference are the part 1 v1 and v2 annex a tables.
>
> yes for a list of feature points (Site) but not for Joint and Segment
>
>> Now all we need is example
>>
>> Maybe the Segment v2 names and v1 aliases are not so easy to find but they appear in the v1 hierarchy diagrams and the target v2 code we have, with only the aliases for the new v2 segments missing.
>>
>> With great fortune, the joints lists we have from your markup will help with the connections.
>
> yes helping
>
>> I will read the xml validation documentation with reference to spec v1 and v2 hierarchy diagrams to check.
>>
>> With documentation of v2 and v1 names I hope I can predict the outcome when we update the target ‘v2 invizable’ we are working on. Then, the stone will stop skidding and begin to roll.
>
> please check all our examples, we now have a much cleaner build.  everything is committed in sourceforge and also pushed to web3d.org
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Pzz%2Fc8kPyFja05UZbNFFyE2FYux7BFhUdFvTHi5HjZk%3D&reserved=0
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2Fbuild.X3dTidy.log.txt&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=SWjwWexY1hAJpD%2BWLg0A0CXI7IYS3S1FKheaGTuCi%2F4%3D&reserved=0
>
>
>> I think the only still missing data will be:
>>
>> * example coordinates for the v2 new joints and
>>
>> * example coordinates for the v2 new sites
>>
>> based on the hanim part 1 annex A default pose and existing coordinates of v1 joints and sites as listed in the annex a tables.
>
> OK
>
> Am also hoping to look at on or more of the Korea chacters with you, interesting errors that appear fixable.  for example:
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2FJinLOA1Index.html&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=64y23uasP4zQmzirqYPUdy2j9iOPVmL7pPuuLBPGPpQ%3D&reserved=0
>
>> C:\x3d-code\https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2F%2FJinLOA1.x3d&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jjVQYOdpB5ElgK%2Bo4vmqZzoa75ZbqqnpWU9iOeo4Pw0%3D&reserved=0 processing with X3dTidy.xslt stylesheet for tidied-up .x3d
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_tarsal_proximal_phalanx'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_tarsal_proximal_phalanx'
>
> and
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2FJinLOA2Index.html&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=p4RPVy9BYY01OcA6wTdgW%2B5fQDDqMOZ22okb1mHYxjg%3D&reserved=0
>
>> C:\x3d-code\https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2F%2FJinLOA2.x3d&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=NJuFZzUPRsxQKkwrd0hxl5N5vDs7gFngNefA%2FMHiiz8%3D&reserved=0 processing with X3dTidy.xslt stylesheet for tidied-up .x3d
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_tarsometatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_metatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_tarsal_proximal_phalanx'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_tarsal_interphalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_tarsal_distal_phalanx'
>
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_tarsometatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_metatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_tarsal_proximal_phalanx'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_tarsal_interphalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_tarsal_distal_phalanx'
>
> * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2FJinLOA3Index.html&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dErXh5R77a%2F2RHBbkQ3v7enJ7iW3UCPQW%2B2FJ6g6zBg%3D&reserved=0
>
>> C:\x3d-code\https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.web3d.org%2Fx3d%2Fcontent%2Fexamples%2FHumanoidAnimation%2FCharacters%2F%2FJinLOA3.x3d&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TrhwQKXgYsBOPj5vT3BOUaSfYbBn45HqXEh29PC1Uys%3D&reserved=0 processing with X3dTidy.xslt stylesheet for tidied-up .x3d
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_tarsometatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_metatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_tarsal_proximal_phalanx'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='l_tarsal_interphalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='l_tarsal_distal_phalanx'
>
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_tarsometatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_metatarsal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_metatarsophalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_tarsal_proximal_phalanx'
>> *** warning, look for missing underscore and digit number as suffix of HAnimJoint name='r_tarsal_interphalangeal'
>> *** warning, look for missing underscore and digit number as suffix of HAnimSegment name='r_tarsal_distal_phalanx'
>
> Myeong Won Lee:  I think that you and Team Suwon might have completed these examples before the final naming convention, which was to use consistent names throughout all LOAs rather than change joint names.
>
> Please see
>
> * HAnim2 4.9.7 Site and Segment relationships
>    https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.web3d.org%2Fdocuments%2Fspecifications%2F19774%2FV2.0%2FArchitecture%2Fconcepts.html%23SiteSegmentRelationships&data=04%7C01%7Cbrutzman%40nps.edu%7C726c3b325e284226f07a08d8de4aef2d%7C6d936231a51740ea9199f7578963378e%7C1%7C0%7C637503760706699844%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=2KjUWqd4%2BKFJBknR1W9of4Jggt37SomrB2EzaCsADps%3D&reserved=0
>
> I believe if we append "_2" for index (i.e. longest) toe, that matches the column for LOA3 LOA2 and LOA1.
>
> Joe, wondering if we should further add these as another set of alias values - that would automate appending "_2" whenever no specific toe is defined.  Seems useful and reasonable.
>
> Please look these over when convenient.  Let's discuss in our next meeting please.
>
>> Thanks for all and Spring is getting closer,
>>
>> Joe
>
> you betcha, stay safe and careful please.
>
> 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