Ensure rules compliance during their ball placement by staying out of the restricted area which is a stadium shape. We create a new geometry shape that represents this stadium shape. The stadium shape is composed of 2 circles and a rectangle. To create the shape, it takes in 2 points (that represent the centers of the circles) and a radius.
Modify robot_factory_position such that update_position always returns SmartIdle
Run ball placement for blue team (yellow team should be Robojackets)
Place the ball somewhere in the field
Move a robot into the stadium shape drawn
Expected result:
Robot will move out of stadium shape drawn
Key Files to Review
Stadium Shape
stadium_shape.cpp
stadium_shape.hpp
Plan Request
plan_request.cpp
Drawer
ros_debug_drawer.hpp
Review Checklist
[ ] Docstrings: All methods and classes should have the file appropriate docstrings which follow the guidelines in the "Contributing" page of our docs.
[ ] Remove extra print statements: Any print statements used for debugging should be removed
[ ] Tag reviewers: Tag some people for review and ping them on Slack
(Optional) Sub-issues (for drafts)
Note: if you find yourself breaking this PR into many smaller features, it may make sense to break up the PR into logical units based on these features.
Description
Ensure rules compliance during their ball placement by staying out of the restricted area which is a stadium shape. We create a new geometry shape that represents this stadium shape. The stadium shape is composed of 2 circles and a rectangle. To create the shape, it takes in 2 points (that represent the centers of the circles) and a radius.
Associated / Resolved Issue
https://app.clickup.com/t/86b1vty49
Steps to Test
Test Case 1
Expected result: Robot will move out of stadium shape drawn
Key Files to Review
Stadium Shape
Plan Request
Drawer
Review Checklist
(Optional) Sub-issues (for drafts)
Note: if you find yourself breaking this PR into many smaller features, it may make sense to break up the PR into logical units based on these features.