All Tutorials / Jlucben / Synbot Plugin Tutorial - interface to Syn Bot Software

Synbot Plugin Tutorial - interface to Syn Bot Software

EZ Robots Commands SIML Framework - Configuration - Complement and Attribute

Complement

Maps verb_complement_fr and verb_complement_en are used to configure for the suffixed language (fr and en) the text keywords which will be recognized in User Input messages as a [Complement]

Code:

[MapItem Content="the head" Value="head" /]
[MapItem Content="your head" Value="head" /]
[MapItem Content="head" Value="%F HEAD" /]
[MapItem Content="your camera" Value="cam" /]
[MapItem Content="your cam" Value="cam" /]
[MapItem Content="the camera" Value="cam" /]
[MapItem Content="the cam" Value="cam" /]
[MapItem Content="cam" Value="%F CAMERA" /]
[MapItem Content="your arms" Value="arms" /]
[MapItem Content="the arms" Value="arms" /]
[MapItem Content="arms" Value="%F ARMS" /]
[MapItem Content="your left arm" Value="left arm" /]
[MapItem Content="the left arm" Value="left arm" /]
[MapItem Content="left arm" Value="%F ARM_LEFT" /]
[MapItem Content="your right arm" Value="right arm" /]
[MapItem Content="the right arm" Value="right arm" /]
[MapItem Content="right arm" Value="%F ARM_RIGHT" /]
[MapItem Content="your arm" Value="arm" /]
[MapItem Content="the arm" Value="arm" /]
[MapItem Content="an arm" Value="arm" /]
[MapItem Content="arm" Value="%F ARM" /]
[MapItem Content="1 step" Value="%T STEPPING 1 " /]

If the first character of Value is not % , entry will be linked to the value.
For example "your head" will be equivalent to "head" which is the main entry.
On a main entry content
Word 1
Character 1 = %
Character 2 specify if or not a parameter will be present in Word 3 - T True if present , F False if not.

Word 3 if present is a parameter value - this value can be retrieved when building Bot Response Message by value of User Variable Complementargument

Word 2 is a mnemonic link to the Map verb_complement_group in which are defined for the mnemonic link entry global configuration parameters (valid for every language used).

Code:

[Map Name="verb_complement_group"]
[MapItem Content="0|HEAD" Value="%F LRUD LRUD WITHHEAD HEAD HEAD" /]
[MapItem Content="0|CAMERA_RECORD" Value="%F NO NO WITHCAM CAMERA_RECORD CAMERA_RECORD" /]
[MapItem Content="0|CAMERA" Value="%F LRUD LRUD WITHCAM CAMERA CAMERA" /]
[MapItem Content="4|CAMERA" Value="%F NO NO WITHFIXEDCAM CAMERA CAMERA" /]
[MapItem Content="0|HANDS" Value="%F FBUD NO WITH2ARMS HANDS HANDS" /]
[MapItem Content="0|HAND_LEFT" Value="%F FBLUD NO WITH2ARMS HAND HAND_LEFT" /]
[MapItem Content="0|HAND_RIGHT" Value="%F FBRUD NO WITH2ARMS HAND HAND_RIGHT" /]
[MapItem Content="0|HAND" Value="%T FBUD NO WITH2ARMS HAND EMPTY" /]
[MapItem Content="0|ARMS" Value="%F FBUD NO WITH2ARMS ARMS ARMS" /]
[MapItem Content="0|ARM_LEFT" Value="%F FBLUD NO WITH2ARMS ARM ARM_LEFT" /]
[MapItem Content="0|ARM_RIGHT" Value="%F FBRUD NO WITH2ARMS ARM ARM_RIGHT" /]
[MapItem Content="0|ARM" Value="%T FBUD NO WITH2ARMS ARM EMPTY" /]
[MapItem Content="0|ELBOWS" Value="%F FB NO WITH2ARMS ELBOW ELBOWS" /]
[MapItem Content="0|ELBOW_LEFT" Value="%F FB NO WITH2ARMS ELBOW ELBOW_LEFT" /]
[MapItem Content="0|ELBOW_RIGHT" Value="%F FB NO WITH2ARMS ELBOW ELBOW_RIGHT" /]
[MapItem Content="0|ELBOW" Value="%T FB NO WITH2ARMS ELBOW EMPTY" /]
[MapItem Content="0|BODY" Value="%F FBLRD NO JD BODY BODY" /]
[MapItem Content="0|STEPPING1" Value="%F FB NO WITHLEGS STEPPING1 STEPPING" /]
[MapItem Content="0|STEPPING" Value="%F FB NO WITHLEGS STEPPING STEPPING" /]
[MapItem Content="0|RECOGNITION" Value="%T NO NO WITHCAM RECOGNITION RECOGNITION" /]
[MapItem Content="0|RECOGNITION_COLOR" Value="%F NO NO WITHCAM RECOGNITION RECOGNITION_COLOR" /]
[/Map]


Content key is structure with 2 parts separated by | delimitor :
Part 1 is the robot index or 0 if the configuration is valid for all the robot types - Use of specific robot index is useful to restrict for example the authorized movement directions ( CAMERA is an example)
Part 2 is the previous complement mnemonic link

In the value returned
Word 1 :
Character 1 is %
Character 2 specify if Complement is or not ambigous T if Yes F if No - If Ambigous dialog asking for precision will be automatically initiated with the User - Example ARM is ambigous - We need to know if user is speaking from left or right arm.

Word 2 is used to specify which Movement Directions are Authorized for [Complement] - It can be overwrited at the global Combination Level.
Word 3 is used to specify which Secondary Movement Directions are Authorized for [Complement] - It can also be overwrited at the at the global Combination Level.
Word 2 and Word 3 are mnemonic for movement directions authorizations Linked to b[]movement_autho_model[/b] map.

Word 4 specify the Robot Type authorization for the Complement - mnemonic linked to Robot Type authorization Map.

Word 5 is the Complement AuthoID

Word 6 is the Complement BBID

For example

Code:

 [MapItem Content="0|CAMERA" Value="%F LRUD LRUD WITHCAM CAMERA CAMERA" /]
]


Not ambigous - Primary and secondary movement direction authorized are Left Right Up and Down - Authorized for All Robot type WITHCAM
The BBID and AuthoID are CAMERA

Attribute

Maps complement_attribut_fr and complement_attribut_en are used to configure for the suffixed language (fr and en) the text keywords which will be recognized in User Input messages as a [Attribute]
[Attribute] needs a preceding [Verb] [Complement] or [Verb] [Position] structure.

Code:

 [MapItem Content="from left to right" Value="left to rightT" /]
[MapItem Content="left to right" Value="%F LEFTTORIGHT" /]
[MapItem Content="from the left to the right" Value="left to right" /]

If the first character of Value is not % , entry will be linked to the value.
For example "from left to right" will be equivalent to "left to right" which is the main entry.
On a main entry content
Word 1
Character 1 = %
Character 2 specify if or not a parameter will be present in Word 3 - T True if present , F False if not.

Word 3 if present is a parameter value - this value can be retrieved when building Bot Response Message by value of User Variable Attributeargument

Word 2 is a mnemonic link to the Map complement_attribut_group.

Code:

[Map Name="complement_attribut_group"]
[MapItem Content="LEFTTORIGHT" Value="% LEFTTORIGHT" /]
[MapItem Content="RIGHTTOLEFT" Value=" % RIGHTTOLEFT" /]
[MapItem Content="DOWNTOUP" Value="% DOWNTOUP" /]
[MapItem Content="UPTODOWN" Value="% UPTODOWN" /]
[MapItem Content="RECOGNITION" Value="% RECOGNITION" /]
[MapItem Content="FOLLOWEDCOLOR" Value="% FOLLOWEDCOLOR" /]
[/Map]

where word 2 is the attribute BBID which is equal to the attribute authID