Update field size for 2026#192
Conversation
Corresponding rule update: RoboCup-SSL/ssl-rules#103 - Split variable Field_Margin, making it possible to set both `Field_Margin_Goal_Line` and `Field_Margin_Touch_Line` separately. - Set DivA_Field_Margin_Goal_line to 0.6m, set the others to 0.3m - Replace usage of `ConfigWidget::Field_Margin()` to corresponding one (`ConfigWidget::Field_Margin_Touch_Line()` or `ConfigWidget::Field_Margin_Goal_Line()`) - Update goal side walls to extend to the outside wall
There was a problem hiding this comment.
Pull request overview
Updates grSim’s field geometry configuration to support different margins along the touch lines vs behind the goal lines (per the 2026 rules update), and adjusts camera/wall placement accordingly.
Changes:
- Split field margin into
Field_Margin_Touch_LineandField_Margin_Goal_Line(Div A goal-line margin defaulted to 0.6m). - Update camera positioning and wall placement code paths to use the appropriate margin component.
- Adjust goal side-wall geometry so side walls extend further toward the outside boundary.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/sslworld.cpp | Uses split margins for viewpoint, bounding walls, goal-wall geometry, and geometry packet boundary width. |
| src/glwidget.cpp | Updates camera mode viewpoints to use touch-line vs goal-line margin appropriately. |
| src/mainwindow.cpp | Hooks restart logic to the two new margin variables for Div A and Div B. |
| src/configwidget.cpp | Adds UI/config variables for the two margins in Div A/Div B geometry settings. |
| include/configwidget.h | Replaces the single Field_Margin field accessor with touch-line and goal-line variants. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thx for the contribution :) Very welcome. Besides the copilot remarks: Can you also update the geometry protobuf message and sent out the separate boundary widths? |
and set `cfg->Field_Margin_Goal_Line()` on `generatePacket()` fef: RoboCup-SSL/ssl-vision#234
Add field value `Field_Goal_Substitution_Area_Width` - Div.A: 0.3m - Div.B: 0.0m (non available) set the value on `generatePacket()` ref: fef: RoboCup-SSL/ssl-vision#234
|
Thank you for review, revised as suggested and updated .proto file referring RoboCup-SSL/ssl-vision#234 . |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Issue or RFC Endorsed by GrSim's Maintainers
Corresponding rule update: RoboCup-SSL/ssl-rules#103
Description of the Change
Field_Margin_Goal_LineandField_Margin_Touch_Lineseparately.ConfigWidget::Field_Margin()to corresponding one (ConfigWidget::Field_Margin_Touch_Line()orConfigWidget::Field_Margin_Goal_Line())Alternate Designs
N/A
Possible Drawbacks
On first startup, incorrect value for
Field Marginwill be loaded from ~/.grsim.xml if exists.Verification Process
Release Notes
Change size of field margin behind the goal lines for Div.A and adjust goal side walls to meet the rule change RoboCup-SSL/ssl-rules#103