1 | <?xml version="1.0" ?>
|
---|
2 |
|
---|
3 | <CompetencyManagerRules>
|
---|
4 |
|
---|
5 |
|
---|
6 | <!-- this is an example rule for the companion talking to the user. -->
|
---|
7 |
|
---|
8 | <Rule>
|
---|
9 |
|
---|
10 | <!-- The action is named "Talk" and has 2 parameters. Parameter 1 in this
|
---|
11 | case denotes the person we want to talk to, whereas parameter 2 is
|
---|
12 | a speech act symbol, which represents the meaning of what the agent
|
---|
13 | wants to say. The Value="*" below denotes that this rule applies to
|
---|
14 | any value for those parameters. So in other words, whenever the
|
---|
15 | competency manager sees the mind sending for execution an action
|
---|
16 | with the name "Talk" and with 2 parameters that can have any value,
|
---|
17 | the following will produce a match -->
|
---|
18 | <MindAction Name="Talk">
|
---|
19 | <Parameter No="1" Value="*" />
|
---|
20 | <Parameter No="2" Value="*" />
|
---|
21 | </MindAction>
|
---|
22 | <!-- If the above rule action could be matched then the competency manager
|
---|
23 | will evaluate the following competency execution plans, filter out those that
|
---|
24 | cannot be executed, because one of the required competencies is not available
|
---|
25 | and choose one of the remaining plans, TODO: how will it make this decision? -->
|
---|
26 |
|
---|
27 |
|
---|
28 | <!-- Plan 1: geared towards a robot embodiment -->
|
---|
29 | <CompetencyExecutionPlan>
|
---|
30 | <Competency ID="1" Type="DetectPerson">
|
---|
31 | <CompetencyParameter Name="PersonID" Value="$parameter1" />
|
---|
32 | </Competency>
|
---|
33 | <Competency ID="2" Type="MoveToPerson" Dependency="1">
|
---|
34 | <CompetencyParameter Name="PersonID" Value="$parameter1" />
|
---|
35 | </Competency>
|
---|
36 | <Competency ID="3" Type="LanguageGeneration">
|
---|
37 | <CompetencyParameter Name="SpeechActID" Value="$parameter2" />
|
---|
38 | <CompetencyParameter Name="TextOutName" Value="TextVariable" />
|
---|
39 | </Competency>
|
---|
40 | <Competency ID="4" Type="TextToSpeech" Dependency="3">
|
---|
41 | <CompetencyParameter Name="TextInName" Value="TextVariable" />
|
---|
42 | <CompetencyParameter Name="AudioOutName" Value="AudioVariable" />
|
---|
43 | </Competency>
|
---|
44 | <Competency ID="5" Type="GestureGeneration">
|
---|
45 | <CompetencyParameter Name="SpeechActID" Value="$parameter2" />
|
---|
46 | <CompetencyParameter Name="GestureOutName" Value="GestureVariable" />
|
---|
47 | </Competency>
|
---|
48 | <Competency ID="6" Type="PlayAudio" Dependency="2,4,5">
|
---|
49 | <CompetencyParameter Name="AudioInName" Value="AudioVariable" />
|
---|
50 | </Competency>
|
---|
51 | <Competency ID="7" Type="PerformGesture" Dependency="2,4,5">
|
---|
52 | <CompetencyParameter Name="GestureInName" Value="GestureVariable" />
|
---|
53 | </Competency>
|
---|
54 | </CompetencyExecutionPlan>
|
---|
55 |
|
---|
56 |
|
---|
57 | </Rule>
|
---|
58 |
|
---|
59 | </CompetencyManagerRules> |
---|