Changes for page Ball Physics

Last modified by Soeren Domroes on 2025/01/30 12:18

From version 6.1
edited by stu104225
on 2020/03/04 17:32
Change comment: There is no comment for this version
To version 12.1
edited by stu104225
on 2020/03/09 11:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,9 +1,8 @@
1 -The **ball physics model** is meant to do things ... [TODO]
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 5  
6 -
7 7  {{toc/}}
8 8  
9 9  == Ball trajectory ==
... ... @@ -10,9 +10,26 @@
10 10  
11 11  ----
12 12  
13 -The trajectory of a ball can be modeled to be parabolic.
14 -\\\\\\like so: .... [TODO]
12 +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.
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.
15 15  
15 +[[image:attach:Bildschirmfoto von 2020-03-07 12-21-22.png]]
16 +
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 +
16 16  == Configuration ==
17 17  
18 18  ----
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -71401645
1 +73072930
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401645/Ball Physics
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/73072930/Ball Physics