Skip to content

Commit 08ca069

Browse files
committed
Improve handling of ball placement pos for very small fields
1 parent f92df79 commit 08ca069

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

internal/app/engine/consume_geometry.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ func (e *Engine) ProcessGeometry(data *vision.SSL_GeometryData) {
4949
newGeometry.CenterCircleRadius = float64(*data.Field.CenterCircleRadius) / 1000.0
5050
}
5151

52+
if newGeometry.FieldWidth/2-
53+
newGeometry.DefenseAreaWidth/2-
54+
newGeometry.PlacementOffsetDefenseArea-
55+
newGeometry.PlacementOffsetTouchLine < 0 {
56+
// move the offset further into the field, if the ball does not fit between defense area and touch line
57+
newGeometry.PlacementOffsetGoalLine += newGeometry.DefenseAreaDepth
58+
}
59+
5260
e.stateMachine.Geometry = newGeometry
5361

5462
if currentGeometry != newGeometry {

0 commit comments

Comments
 (0)