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,8 +1,9 @@ 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". 1 +The **ball physics model** is meant to do things ... [TODO] 3 3 3 +\\ 4 4 5 5 6 + 6 6 {{toc/}} 7 7 8 8 == Ball trajectory == ... ... @@ -9,26 +9,9 @@ 9 9 10 10 ---- 11 11 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 approximatelypredict the correspondingball position using the following formulas.13 +The trajectory of a ball can be modeled to be parabolic. 14 +\\\\\\like so: .... [TODO] 14 14 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 - 32 32 == Configuration == 33 33 34 34 ---- ... ... @@ -35,7 +35,6 @@ 35 35 36 36 === Prediction parameters === 37 37 38 -(% class="wrapped" %) 39 39 |=((( 40 40 Parameter 41 41 )))|=((( ... ... @@ -68,12 +68,11 @@ 68 68 10 69 69 ))) 70 70 71 -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. 72 -Nevertheless it is reasonable to calculate predictions beyond the next frame in case a ball is not recognized on the next frame. 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. 73 73 74 - 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.56 +\\ 75 75 76 - TheREFINEMENT_FACTORis also the worst case number of predictions calculated during the reverse search part of the prediction process.58 +So this number is also the worst case number of predictions calculated during the reverse search part of the prediction process. 77 77 78 78 \\ 79 79 ... ... @@ -134,7 +134,4 @@ 134 134 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 135 135 and the other by a point at highest, outermost position of the angled part of the inlane. 136 136 137 -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. 138 -Though in reality the still is some accelleration, a simple linear prediction has shown to be practical in this less critical area. 139 - 140 140 [[image:attach:physics_inlane.png]]
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -7 30729301 +71401643 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/7 3072930/Ball Physics1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401643/Ball Physics