-
Notifications
You must be signed in to change notification settings - Fork 0
/
robot.rct
75 lines (73 loc) · 1.29 KB
/
robot.rct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
stm RobotSTM {
requires stateInf
initial i0
state MoveAlongRow {
entry srobot = SRobot :: alongRow
}
state TransitionBetweenRows {
entry srobot = SRobot :: transitionRow
}
state Paused {
entry srobot = SRobot :: paused
}
transition t0 {
from i0
to MoveAlongRow
}
transition t1 {
from MoveAlongRow
to p0
trigger
tick
condition sods == SODS :: noHumanDetected
}
transition t2 {
from TransitionBetweenRows
to p1
trigger
tick
condition sods == SODS :: noHumanDetected
}
transition t3 {
from TransitionBetweenRows
to Paused
trigger tick
condition sods != SODS :: noHumanDetected
}
transition t4 {
from Paused
to MoveAlongRow
trigger tick
condition sods == SODS :: noHumanDetected
}
transition t5 {
from MoveAlongRow
to Paused
trigger tick
condition sods != SODS :: noHumanDetected
}
event tick
transition t8 {
from p0
to TransitionBetweenRows
probability p_transition_ratio
}
transition t9 {
from p0
to MoveAlongRow
probability 1 - p_transition_ratio
}
const p_transition_ratio : real
probabilistic p0
probabilistic p1
transition t10 {
from p1
to MoveAlongRow
probability 1 - p_transition_ratio
}
transition t7 {
from p1
to TransitionBetweenRows
probability p_transition_ratio
}
}