Changes for page Ball Physics
Last modified by Soeren Domroes on 2025/01/30 12:18
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,11 +1,8 @@ 1 1 The **ball physics model**'s main objective is to provide a point in time to the controller, when the ball is predicted to be hittable, in order to not let the ball fall into the drain. 2 +The code for what is described in this section can be found in the files "physics.cpp" and "physics.h". 2 2 3 -\\ 4 4 5 -\\ 6 6 7 - 8 - 9 9 {{toc/}} 10 10 11 11 == Ball trajectory == ... ... @@ -13,14 +13,25 @@ 13 13 ---- 14 14 15 15 The trajectory of a ball can be modeled to be parabolic. From two point //p// and //p_old// with corresponding timestamps, the velocity //v// is computed. 16 -For a 17 -\\ 13 +For a future point in time //t//, with //t=0 //being the timestamp of// p//, we can then approximately approximately predict the corresponding ball position using the following formulas. 18 18 19 -\\ 20 - 21 21 [[image:attach:Bildschirmfoto von 2020-03-07 12-21-22.png]] 22 -\\\\like so: .... [TODO] 23 23 17 +The incline of the playfield causes a vertical acceleration, which is modeled via a graviatational pull with the factor //g = sin(6°) * 9.81 m/s²//. 18 +The value of 6° is the incline of the playfield measured on the physical device. 19 + 20 +== Prediction == 21 + 22 +---- 23 + 24 +The controller calls the function //full_prediction// passing it two subsequent ball positions with timestamps. From these a ball trajectory is infered as described above. 25 +Along the trajectory future times are stepwisetested for whether the corresponding predicted position is in the flipper range. 26 +Once a position inside the flipper range is found the search is contiunued both forwards and backwards in smaller steps in order to find a good enough estimate of the first and last possible time to hit the ball. 27 +If the trajectory does not intersect the flipper range within a certain prediction frame (see below "**Prediction parameters**") a value far enough into the future is returned, that will be overwritten by subsequent predictions. 28 + 29 +With the current configuration the controller uses the middle point in time between the first and last possible time in order to be most positive to hit the ball. 30 +The computed velocity is also passed to the controller and used is some more advanced tactical decisions like catching balls. 31 + 24 24 == Configuration == 25 25 26 26 ----
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -7 14016591 +73072930 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/7 1401659/Ball Physics1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/73072930/Ball Physics