Changes for page Ball Physics

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

From version 5.1
edited by stu104225
on 2020/03/04 17:18
Change comment: There is no comment for this version
To version 11.1
edited by stu104225
on 2020/03/09 08:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,9 +1,11 @@
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 2  
3 3  \\
4 4  
5 +\\
5 5  
6 6  
8 +
7 7  {{toc/}}
8 8  
9 9  == Ball trajectory ==
... ... @@ -10,9 +10,20 @@
10 10  
11 11  ----
12 12  
13 -The trajectory of a ball can be modeled to be parabolic.
14 -\\\\\\like so: .... [TODO]
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 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  
18 +[[image:attach:Bildschirmfoto von 2020-03-07 12-21-22.png]]
19 +
20 +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²//.
21 +The value of 6° is the incline of the playfield  measured on the physical device.
22 +
23 +== Prediction ==
24 +
25 +----
26 +
27 +It systematically tests future times for if the corresponding predicted position is in the flipper range.
28 +
16 16  == Configuration ==
17 17  
18 18  ----
... ... @@ -19,6 +19,7 @@
19 19  
20 20  === Prediction parameters ===
21 21  
35 +(% class="wrapped" %)
22 22  |=(((
23 23  Parameter
24 24  )))|=(((
... ... @@ -51,11 +51,12 @@
51 51  10
52 52  )))
53 53  
54 -with the default values up to 7 predictions are calculated if the ball is not predicted to be in flipper range roughly within the next two frames.
68 +When setting the PREDICTION_FRAME keep in mind, that predictions, that reach multiple frames into the future, are likely to be overwritten, when new frames arrive and new predictions are calculated.
69 +Nevertheless it is reasonable to calculate predictions beyond the next frame in case a ball is not recognized on the next frame.
55 55  
56 -\\
71 +With the default values up to 7 predictions are calculated if the ball is not predicted to be in flipper range roughly within the next two frames.
57 57  
58 -So this number is also the worst case number of predictions calculated during the reverse search part of the prediction process.
73 +The REFINEMENT_FACTOR is also the worst case number of predictions calculated during the reverse search part of the prediction process.
59 59  
60 60  \\
61 61  
... ... @@ -116,4 +116,7 @@
116 116  A ball is considered to be in an inlane, when it is in a rectangualar area, with one edge given by the begin of the flipper
117 117  and the other by a point at highest, outermost position of the angled part of the inlane.
118 118  
134 +In this area the vertical accelleration is deactivated in the prediction, since it would cause the prediction to assume the would slide into the wall.
135 +Though in reality the still is some accelleration, a simple linear prediction has shown to be practical in this less critical area.
136 +
119 119  [[image:attach:physics_inlane.png]]
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -71401643
1 +71401665
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401643/Ball Physics
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401665/Ball Physics