File tree 1 file changed +77
-0
lines changed
1 file changed +77
-0
lines changed Original file line number Diff line number Diff line change
1
+ # 遅延のボトルネック解析
2
+
3
+ https://github.com/ibis-ssl/crane/issues/130
4
+
5
+ ## Timer/Callback駆動
6
+
7
+ まずは現状分析
8
+
9
+ ``` mermaid
10
+ graph TD
11
+ LP["`Callback
12
+ **Local Planner**
13
+ Immediately`"]
14
+ PS[Play Switcher]
15
+ GA[Game Analyzer]
16
+
17
+ subgraph interface
18
+ VC["`100Hz
19
+ **Vision Component**
20
+ Immediately`"]
21
+ GrC[GrSim Component]
22
+ GCC[Game Controller Component]
23
+ Receiver[Robot Receiver]
24
+ end
25
+
26
+ SC["`WorldModel Callback
27
+ **Session Controller**
28
+ Immediately`"]
29
+ SS[Sim Sender]
30
+
31
+ VT["`100Hz
32
+ **Vision Tracker**
33
+ Immediately`"]
34
+ WP["`Callback
35
+ **World Model Publisher**
36
+ 30Hz`"]
37
+
38
+ subgraph software
39
+ GrSim[GrSim]
40
+ GC[Game Controller]
41
+ end
42
+
43
+ WP -- /world_model --> SC
44
+ WP -- /world_model --> GA
45
+ GA -- /game_analysis --> SC
46
+
47
+
48
+ GrC -. UDP .-> GrSim
49
+
50
+ GrSim -. UDP .-> GrC
51
+ GrC -- /geometry --> WP
52
+
53
+ GrSim -. UDP .-> VC
54
+
55
+
56
+ VC -- /detection --> VT
57
+ VT -- /detection_tracked --> WP
58
+
59
+ GC -. UDP .-> GCC
60
+ GCC -- /referee --> PS
61
+ PS -- /play_situation --> SC
62
+ SC -- /control_targets --> LP
63
+ LP -- /robot_commands --> SS
64
+ SS -- /commands --> GrC
65
+
66
+ Receiver -- /feedback --> WP
67
+ ```
68
+
69
+ - 下流はほとんどコールバック駆動なので良し
70
+ - Vision Component
71
+ - 非同期で受け取ってUDPコールバックにしても良いかも
72
+ - これは絶対に受け取った時刻を一緒に情報として持っておくべき
73
+ - Vision Tracker
74
+ - フィルター処理はタイマー駆動必要かも
75
+ - これ以降の処理はコールバックで一気通貫したい
76
+ - 柔軟性的にはフィルター処理コールバック周期と出力周期は変えたいかも
77
+ - いい感じ補間処理入れたら出力周期変えてもpublish時の最新の情報を出せる?
You can’t perform that action at this time.
0 commit comments