OffensePlayTest checking that there is Never Excessive Dribbling#3536
Conversation
|
(oops really sorry not sure if i was supposed to resolve the merge conflict) |
…/adrianchan787/Software into adrian/offense_play_test_dribble
nycrat
left a comment
There was a problem hiding this comment.
Added some comments, just some refactoring changes recommended but the new implementation of excessive_dribbing validation seems good and the test are thorough
src/software/ai/hl/stp/tactic/dribble/excessive_dribble_test.py
Outdated
Show resolved
Hide resolved
src/software/ai/hl/stp/tactic/dribble/excessive_dribble_test.py
Outdated
Show resolved
Hide resolved
Andrewyx
left a comment
There was a problem hiding this comment.
Nice work so far, I left some feedback!
src/software/ai/hl/stp/tactic/dribble/excessive_dribble_test.py
Outdated
Show resolved
Hide resolved
src/software/ai/hl/stp/tactic/dribble/excessive_dribble_test.py
Outdated
Show resolved
Hide resolved
| ), | ||
| ], | ||
| ) | ||
| def test_excessive_dribbling( |
There was a problem hiding this comment.
I'm not quite sure what the reasoning was for this test, since the issue this PR is marked for is regarding offense play. Reading through the work here, it appears to be more akin to a DribbleTactic test. Excessive dribbling is a characteristic of Gameplay more than a particular state, so I think it is a bit odd to be testing it explicitly since it is really just testing the implementation of DribbleTactic itself.
There was a problem hiding this comment.
Hmm ig that makes sense. I was thinking (please correct me if I'm wrong or really misguided) but the main dribbling tactic used in offense play is DribbleTactic, and if that's the case if it works in DribbleTactic then it should work everywhere else, including in offense play. As it is easier to test (especially boundary test) DribbleTactic directly rather than test offense play, I was thinking it might be the better option.
There was a problem hiding this comment.
I'm not sure if I fully understand Andrew's point, but imo the purpose of this test is clear and makes sense
StarrryNight
left a comment
There was a problem hiding this comment.
lgtm, left some comments
…to be tested with tscope visualizer
|
LGTM too! |
| self.dribbler_tolerance = 0.05 | ||
| self.max_dribbling_displacement = 1.00 | ||
| self.dribbling_error_margin = 0.05 |
There was a problem hiding this comment.
I would normally make these class constants rather than instance attributes accessed via self, e.g. ExcessivelyDribbling.MAX_DRIBBLING_DISPLACEMENT. Another option (if you want to allow greater flexibility) would be to keep the instance attributes and set them based on constructor params with default arguments. You don't have to change anything for this PR, but just something to keep in mind for the future.
Description
Testing Done
Resolved Issues
Resolves #3452
Length Justification and Key Files to Review
Review Checklist
It is the reviewers responsibility to also make sure every item here has been covered
.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 issueAdditional Comments
Not really an addition and more of a few observations and questions. Wanted to still make this PR since I feel like it's not directly related to my current ticket (and also because I've dragged this on for too long lol).
Was looking at how the Autoref implemented dribble distance, and from what I understood it seems to compare initial position of the robot to the final position of the ball (see the code snippet below, taken from https://github.com/TIGERs-Mannheim/AutoReferee/tree/53063578e38ac4818849df3196b32a856a5fa41d). If I'm mistaken, please tell me and I'll edit the comments in my branch lol
Sorry if that was a bit unclear, please let me know if it was. Thanks!