Skip to content

Commit 6e03af2

Browse files
committed
doc: Add required runtime dependencies
1 parent a8d1294 commit 6e03af2

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

README.md

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,23 @@ The controller will generate a default config file to [config/ssl-game-controlle
2424
* A reasonable Web-Browser (mostly tested on Chrome)
2525
* (optional) To view the field, you need the [ssl-vision-client](https://github.com/RoboCup-SSL/ssl-vision-client)
2626

27+
### External Runtime Dependencies
28+
[ssl-vision](https://github.com/RoboCup-SSL/ssl-vision) - Receive Geometry packages for correct field dimensions
29+
If not available, make sure to configure to correct dimensions in [config/ssl-game-controller.yaml](config/ssl-game-controller.yaml).
30+
31+
tracker-source implementation that produces
32+
[TrackerWrapperPacket](https://github.com/RoboCup-SSL/ssl-vision/blob/master/src/shared/proto/messages_robocup_ssl_wrapper_tracked.proto) -
33+
Get ball and robot positions.
34+
Required for:
35+
* Check ball placement progress
36+
* Check for correct number of robots per team
37+
* Check if game can continue (ball and robots prepared)
38+
* Check for "no progress"
39+
* Check if keeper may be changed via team protocol
40+
41+
The [TIGERs AutoRef](https://github.com/TIGERs-Mannheim/AutoReferee) is a tracker-source implementation.
42+
If no tracker-source is available, the above features will not work.
43+
2744
### Reference Clients
2845
There are some reference clients:
2946
* [ssl-ref-client](./cmd/ssl-ref-client): A client that receives referee messages
@@ -55,24 +72,26 @@ It has following advantages:
5572
1. You define the time and thus the speed.
5673
1. You provide the ssl-vision tracking data directly.
5774

58-
The `ci` mode does not work when you use external simulators like grSim.
59-
Consider using the `vision` mode instead.
75+
If you use external simulators like grSim, you can consider using the `vision` mode instead.
76+
That way, the game-controller uses the time and speed of the simulator, even if it is not
77+
running in real time. You then still need to run a tracking-source implementation like an AutoRef
78+
if you require the additional features described in [External Runtime Dependencies](#External Runtime Dependencies).
6079

6180
When you enable `ci` mode, referee messages will still be published via multicast,
62-
unless the address unset (set to an empty string). That way, you can still integrate
81+
unless the address is unset (set to an empty string). That way, you can still integrate
6382
an autoRef. It is not yet possible to use the autoRefs without multicast.
6483

6584
When the `ci` mode is enabled (via `ssl-game-controller.yaml` -> `time-acquisition-mode`),
6685
a TCP port is opened (default: 10009). The protocol is defined in [proto/ssl_gc_ci.proto](./proto/ssl_gc_ci.proto).
67-
You send `CiInput` messages and receive `CiOutput` messages.
86+
You send `CiInput` messages and receive `CiOutput` messages. The protocol is the same as for the [team-client](./cmd/ssl-team-client/README.md).
6887
Each input will produce one or more outputs.
6988
This is, because some changes will generate multiple messages.
7089
`CiOutput` messages will also be pushed to the CI client for manual changes from the UI or UI API.
7190

72-
The GC requires ssl-vision detection data to work correctly.
73-
By default, it just receives ssl-vision messages.
74-
In the `ci` mode, you have to provide the data via the ci protocol.
75-
The message format is the same as for the recently introduced tracking protocol.
91+
The GC requires some input data, see [External Runtime Dependencies](#External Runtime Dependencies).
92+
In the `ci` mode, you have to provide the geometry statically in [config/ssl-game-controller.yaml](config/ssl-game-controller.yaml).
93+
The ball and robot positions must be sent with the `CiInput`.
94+
It is sufficient to fill in the required fields and keep the optional empty.
7695

7796
A small sample test client for the `ci` mode can be found here: [ssl-ci-test-client](./cmd/ssl-ci-test-client/README.md)
7897

0 commit comments

Comments
 (0)