Kickoff enemy play and kickoff friendly play to FSM with targeting changes#3578
Open
Muxite wants to merge 7 commits intoUBC-Thunderbots:masterfrom
Open
Kickoff enemy play and kickoff friendly play to FSM with targeting changes#3578Muxite wants to merge 7 commits intoUBC-Thunderbots:masterfrom
Muxite wants to merge 7 commits intoUBC-Thunderbots:masterfrom
Conversation
# Conflicts: # src/software/ai/hl/stp/play/kickoff_enemy_play.cpp # src/software/ai/hl/stp/play/kickoff_enemy_play.h # src/software/ai/hl/stp/play/kickoff_friendly/kickoff_friendly_play.h # src/software/ai/hl/stp/play/kickoff_friendly_play.cpp # src/software/ai/hl/stp/play/kickoff_play_test.py
GrayHoang
reviewed
Feb 15, 2026
| #include "software/ai/evaluation/enemy_threat.h" | ||
| #include "software/ai/evaluation/find_open_areas.h" | ||
| #include "software/ai/hl/stp/play/play.h" | ||
| #include "software/ai/hl/stp/play/play_fsm.h" |
Contributor
There was a problem hiding this comment.
This should refer to play_fsm.hpp, I think. I don't know if you fixed the merge conflicts, but I think this will have to change significantly to fit within the framework from #3481
GrayHoang
reviewed
Feb 15, 2026
Contributor
GrayHoang
left a comment
There was a problem hiding this comment.
Needs some minor changes to fit within the new fsm hierarchy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Converts kickoff enemy play and kickoff friendly play to FSMs, while improving the kickoff targeting, and rewriting tests.
For kickoff friendly play:
If there is a clear shot into net: shoot
If there is not a clear shot into net: find the largest open circle on the opponent side of the field, and chip the ball into that area.
Testing Done
The kickoff works on thunderscope with both sides of robots working properly, but I have issues writing a test specificaly to simulate the direct shot condition. Testing also works for the regular largest-open-circle chip. However test coverage does not cover the shooting part of the FSM.
Resolved Issues
3296, 3287
Length Justification and Key Files to Review
software/ai/hl/stp/play/kickoff_enemy/
software/ai/hl/stp/play/kickoff_friendly/
software/ai/hl/stp/play/kickoff_play_test.py
Review Checklist
The PR is not done but comments on what to improve would be good. I need to add FSM docs.
.hfile) should have a javadoc style comment at the start of them. For examples, see the functions defined inthunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.TODO(or similar) statements should either be completed or associated with a github issue