Scouting: Track mobility
Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
Change-Id: Ie8f9521116887eef574ebd13e20ca837f009825e
diff --git a/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs b/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
index 341b012..e532ffe 100644
--- a/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
+++ b/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
@@ -27,6 +27,8 @@
supercharged_pieces:int (id:29);
// Time in nanoseconds.
avg_cycle: int64 (id:19);
+ // Did the robot leave its community during auto.
+ mobility: bool (id:30);
docked_auto: bool (id:20);
engaged_auto: bool (id:23);
balance_attempt_auto: bool (id:27);
@@ -41,4 +43,4 @@
stats_list:[Stats2023] (id:0);
}
-root_type Request2023DataScoutingResponse;
\ No newline at end of file
+root_type Request2023DataScoutingResponse;
diff --git a/scouting/webserver/requests/messages/submit_actions.fbs b/scouting/webserver/requests/messages/submit_actions.fbs
index d269788..a0f7913 100644
--- a/scouting/webserver/requests/messages/submit_actions.fbs
+++ b/scouting/webserver/requests/messages/submit_actions.fbs
@@ -16,6 +16,10 @@
kSupercharged,
}
+table MobilityAction {
+ mobility:bool (id:0);
+}
+
table AutoBalanceAction {
docked:bool (id:0);
engaged:bool (id:1);
@@ -44,6 +48,7 @@
}
union ActionType {
+ MobilityAction,
AutoBalanceAction,
StartMatchAction,
PickupObjectAction,
diff --git a/scouting/webserver/requests/requests.go b/scouting/webserver/requests/requests.go
index a6ee44c..25bb6b7 100644
--- a/scouting/webserver/requests/requests.go
+++ b/scouting/webserver/requests/requests.go
@@ -397,6 +397,13 @@
var startMatchAction submit_actions.StartMatchAction
startMatchAction.Init(actionTable.Bytes, actionTable.Pos)
stat.StartingQuadrant = startMatchAction.Position()
+ } else if action_type == submit_actions.ActionTypeMobilityAction {
+ var mobilityAction submit_actions.MobilityAction
+ mobilityAction.Init(actionTable.Bytes, actionTable.Pos)
+ if mobilityAction.Mobility() {
+ stat.Mobility = true
+ }
+
} else if action_type == submit_actions.ActionTypeAutoBalanceAction {
var autoBalanceAction submit_actions.AutoBalanceAction
autoBalanceAction.Init(actionTable.Bytes, actionTable.Pos)
@@ -545,6 +552,7 @@
ConesDropped: stat.ConesDropped,
SuperchargedPieces: stat.SuperchargedPieces,
AvgCycle: stat.AvgCycle,
+ Mobility: stat.Mobility,
DockedAuto: stat.DockedAuto,
EngagedAuto: stat.EngagedAuto,
BalanceAttemptAuto: stat.BalanceAttemptAuto,
diff --git a/scouting/webserver/requests/requests_test.go b/scouting/webserver/requests/requests_test.go
index b6f09fc..c2bc750 100644
--- a/scouting/webserver/requests/requests_test.go
+++ b/scouting/webserver/requests/requests_test.go
@@ -130,7 +130,7 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 34, DockedAuto: true, EngagedAuto: true,
+ AvgCycle: 34, Mobility: false, DockedAuto: true, EngagedAuto: true,
BalanceAttemptAuto: false, Docked: false, Engaged: false,
BalanceAttempt: false, CollectedBy: "alex",
},
@@ -142,7 +142,7 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 53, DockedAuto: true, EngagedAuto: false,
+ AvgCycle: 53, Mobility: true, DockedAuto: true, EngagedAuto: false,
BalanceAttemptAuto: false, Docked: false, Engaged: false,
BalanceAttempt: true, CollectedBy: "bob",
},
@@ -215,7 +215,7 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 34, DockedAuto: true, EngagedAuto: false,
+ AvgCycle: 34, Mobility: false, DockedAuto: true, EngagedAuto: false,
BalanceAttemptAuto: false, Docked: false, Engaged: false,
BalanceAttempt: true, CollectedBy: "isaac",
},
@@ -227,7 +227,7 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 53, DockedAuto: false, EngagedAuto: false,
+ AvgCycle: 53, Mobility: false, DockedAuto: false, EngagedAuto: false,
BalanceAttemptAuto: true, Docked: false, Engaged: false,
BalanceAttempt: true, CollectedBy: "unknown",
},
@@ -256,7 +256,7 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 34, DockedAuto: true, EngagedAuto: false,
+ AvgCycle: 34, Mobility: false, DockedAuto: true, EngagedAuto: false,
BalanceAttemptAuto: false, Docked: false, Engaged: false,
BalanceAttempt: true, CollectedBy: "isaac",
},
@@ -268,7 +268,7 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1, SuperchargedPieces: 0,
- AvgCycle: 53, DockedAuto: false, EngagedAuto: false,
+ AvgCycle: 53, Mobility: false, DockedAuto: false, EngagedAuto: false,
BalanceAttemptAuto: true, Docked: false, Engaged: false,
BalanceAttempt: true, CollectedBy: "unknown",
},
@@ -336,6 +336,15 @@
},
{
ActionTaken: &submit_actions.ActionTypeT{
+ Type: submit_actions.ActionTypeMobilityAction,
+ Value: &submit_actions.MobilityActionT{
+ Mobility: true,
+ },
+ },
+ Timestamp: 2200,
+ },
+ {
+ ActionTaken: &submit_actions.ActionTypeT{
Type: submit_actions.ActionTypeAutoBalanceAction,
Value: &submit_actions.AutoBalanceActionT{
Docked: true,
@@ -416,7 +425,7 @@
ConesDroppedAuto: 0, LowCubes: 0, MiddleCubes: 0,
HighCubes: 0, CubesDropped: 0, LowCones: 0,
MiddleCones: 0, HighCones: 1, ConesDropped: 0, SuperchargedPieces: 1,
- AvgCycle: 950, DockedAuto: true, EngagedAuto: true,
+ AvgCycle: 950, Mobility: true, DockedAuto: true, EngagedAuto: true,
BalanceAttemptAuto: false, Docked: true, Engaged: false,
BalanceAttempt: true, CollectedBy: "katie",
}