-
Notifications
You must be signed in to change notification settings - Fork 1
/
graph.proto
95 lines (74 loc) · 1.85 KB
/
graph.proto
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
syntax = "proto2";
message Component {
repeated uint64 vertices = 1 [packed = true];
};
message LatLng {
required double lat = 1;
required double lng = 2;
}
message GraphPin {
required uint64 id = 1;
required LatLng latLng = 2;
required double weight = 3;
}
message Vertex {
required uint64 id = 1;
required double lat = 2;
required double lng = 3;
required float theta = 4;
repeated uint64 neighbours = 5 [packed = true];
}
message Graph {
required int64 seq = 1;
required double stamp = 2;
required uint64 root = 3;
optional LatLng map_center = 4;
optional LatLng max_bnd = 5;
optional LatLng min_bnd = 6;
repeated Component paths = 7;
repeated Component cycles = 8;
optional Component branch = 9;
repeated uint64 junctions = 10;
repeated GraphPin pins = 11;
repeated Vertex vertices = 12;
}
message GraphUpdate {
required uint64 seq = 1;
required double stamp = 2;
required bool invalidate = 3 [default = false];
repeated Vertex vertices = 4;
}
message GraphOverlay {
repeated uint64 ids = 1;
repeated uint64 to_ids = 2;
repeated double values = 3;
}
message Pose2D {
required double x = 1;
required double y = 2;
required double theta = 3;
}
message RobotStatus {
optional uint64 seq = 1;
required uint64 vertex = 2;
required Pose2D lng_lat_theta = 3;
required Pose2D tf_leaf_trunk = 4;
repeated double cov_leaf_trunk = 5;
optional uint64 target_vertex = 6;
optional Pose2D target_lng_lat_theta = 7;
optional Pose2D tf_leaf_target = 8;
repeated double cov_leaf_target = 9;
}
message SafetyStatus {
required string signal = 1;
required uint32 action = 2;
}
message MissionStatus {
required string state = 1;
repeated string queue = 2;
}
message GoalFeedback {
required string id = 1;
required double percentComplete = 2;
required bool waiting = 3 [default = false];
}