Changes between Version 15 and Version 16 of BMLT


Ignore:
Timestamp:
11/02/12 16:19:51 (7 years ago)
Author:
welberge
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BMLT

    v15 v16  
    44The BML Twente extension adds the specification of physical controllers, procedural animation, transition animations and synchronization to anticipated events to [[BML]]. 
    55Here we present a quick overview of the BMLT tags and their syntax. The namespace for BMLT is !http://hmi.ewi.utwente.nl/bmlt, we use bmlt as the prefix for that namespace throughout this document. 
     6 
     7== BMLT attribute extensions to core BML elements == 
     8=== <speech> === 
     9The voice attribute can be used to select another voice, e.g. to allow an agent to speak multiple languages. 
     10{{{ 
     11<speech id="s1" bmlt:voice="myvoice"><text>Hello world.</text></speech> 
     12}}} 
     13After speech s1 is finished, the voice is restored to whatever was the default voice before. 
     14 
     15=== <gaze> === 
     16The dynamic attribute can be used to indicate that the gaze target may be moving and should be tracked. By default, !AsapRealizer's !AnimationEngine assumes that the target is non-moving; gaze is directed towards the target position at the start of the gaze motion. This option is provided to users because !AsapRealizer has a nicer looking movement model for static gaze. 
     17{{{ 
     18<gaze bmlt:dynamic="true" id="gaze1" influence="NECK" target="greensphere"/> 
     19}}} 
    620 
    721== The BMLT behavior elements == 
     
    204218}}} 
    205219 
    206 == Persistent bmlt behaviors == 
    207 Some BMLT behaviors are persistent (currently just bmlt:controller). They adhere to the same persistent patterns as gaze and posture in core BML. 
    208 Example:\\ 
    209 Specification of a persistent balance controller: 
    210 {{{ 
    211 <bml id="bml1" xmlns:bmlt="http://hmi.ewi.utwente.nl/bmlt"> 
    212    <bmlt:controller id="balance1" class="BalanceController" start="1"/> 
    213 </bml> 
    214 }}} 
    215  
    216 == Mutually exclusive behavior using replacement groups == 
    217  
    218 Each BML behavior can be assigned a replacement group using a bmlt:parameter. Elckerlyc ensures that at most one behavior of each replacement group is played at the same time. The played behavior is the behavior with the most recent start time.  
    219  
    220 Example:  
    221 {{{ 
    222 <bml id="bml1" xmlns:bmlt="http://hmi.ewi.utwente.nl/bmlt"> 
    223   <bmlt:controller id="balance1" class="BalanceController"> 
    224     <bmlt:parameter name="pelvisheight" value="1.2"/> 
    225     <bmlt:parameter name="replacementgroup" value="balance"/> 
    226   </bmlt:controller> 
    227   <bmlt:controller id="balance1" class="BalanceController" start="4" end="8"> 
    228     <bmlt:parameter name="pelvisheight" value="0.8"/> 
    229     <bmlt:parameter name="replacementgroup" value="balance"/> 
    230   </bmlt:controller> 
    231 </bml> 
    232 }}} 
    233 Balances with stretched knees (pelvisheight = 1.2m) from time = 0 till time = 4, balances with bend knees (pelvisheight = 0.8m) from time = 4 till time = 8, then balances with stretched knees again. 
    234  
    235 BMLT behaviors can overwrite persistent core bml behaviors by using their name as replacement group: 
    236 {{{ 
    237 <bml id="bml1" xmlns:bmlt="http://hmi.ewi.utwente.nl/bmlt"> 
    238   <posture id="pose1" stance="standing" shape="open" part="lower"/>      
    239   <bmlt:controller id="balance1" class="BalanceController" start="4"> 
    240     <bmlt:parameter name="pelvisheight" value="0.6"/> 
    241     <bmlt:parameter name="replacementgroup" value="posture"/> 
    242   </bmlt:controller> 
    243 </bml> 
    244 }}} 
    245  
    246220== BMLT description extensions == 
    247221Most BMLT behaviors may also be used as a description extension for a core 
     
    262236 
    263237 
    264 == Other Description Extensions Implemented by Elckerlyc == 
     238== Other Description Extensions Implemented by AsapRealizer == 
    265239=== <speech> using Microsoft Speech API === 
    266240Example: 
     
    306280 
    307281 
    308 == BMLT Feedback == 
    309 In addition to the feedback specified in core BML, Elckerlyc provides global timestamps in all its feedback messages and additionally a local time stamp (time in seconds since start of the BML performance) for Sync-Point Progress Feedback. Elckerlyc also provides information on the planning status of a BML request, using Planning Start and Planning Finished feedback. 
    310  
    311  
    312 === Scheduling Start Feedback === 
    313 Notifies the behavior planner that scheduling of a requested BML performance has begun. 
    314  
    315 The message includes: 
    316   * A BML block identifier 
    317   * A global timestamp 
    318   * The predicted start time of the BML block 
    319  
    320 === Scheduling Finished Feedback === 
    321 Notifies the behavior planner that scheduling of a requested BML block is finished. 
    322  
    323 The message includes: 
    324   * A BML block identifier 
    325   * A global timestamp 
    326   * The predicted start time of the BML block 
    327   * The predicted end time of the BML block 
    328  
    329282== The BMLT BML attributes == 
    330 === append-after === 
    331 append-after(X) scheduling attribute instructs the Realizer to execute the new BML 
    332 block immediately after all behaviors from the prior BML blocks on list X have finished 
    333 Example: 
    334 {{{ 
    335 <bml id="bml4" scheduling="append-after(bml2,bml3)"> 
    336 ... 
    337 </bml> 
    338 }}} 
    339 === allowexternalrefs === 
    340 The allowexternalrefs attribute is used to indicate that a BML block may contain 
    341 time constraints that refer to behaviors in other (external) BML blocks. Such 
    342 references are of the form bmlid:behaviorid:syncid. 
    343 Example: 
    344 {{{ 
    345 <bml id="bml2" bmlt:allowexternalrefs="true"> 
    346 <bmlt:parametervaluechange id="pvc1" target="bml1:speech1" 
    347 paramId="volume" start="bml1:speech1:sync1" stroke="bml1:speech1:end"> 
    348 <bmlt:trajectory type="linear" initialValue="0" targetValue="100"/> 
    349 </bmlt:parametervaluechange> 
    350 </bml> 
    351 }}} 
     283 
    352284=== The interrupt shorthand === 
    353285The interrupt attribute is a shorthand for the SAIBA Behavior Planner to remove a