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,90 +3,23 @@ 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 - 3 3 \\ 4 4 5 - \\3 +== Task == 6 6 5 +The ball physics model is meant to do things ... 7 7 8 - 9 -{{toc/}} 10 - 11 11 == Ball trajectory == 12 12 13 - ----9 +The trajectory of a ball can be modeled to be parabolic. 14 14 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. 17 - 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 - 29 29 == Configuration == 30 30 31 - ----13 +=== Points of interest === 32 32 33 -=== Prediction parameters === 34 - 35 -(% class="wrapped" %) 36 -|=((( 37 -Parameter 38 -)))|=((( 39 -Description 40 -)))|=((( 41 -Default value 42 -))) 43 -|((( 44 -PREDICTION_FRAME 45 -)))|((( 46 -window size for prediction - How far 47 - 48 -into the future are predctions calculated at most. 49 -)))|((( 50 -70ms 51 -))) 52 -|((( 53 -PREDICTION_STEP_SIZE 54 -)))|((( 55 -size of the steps for the forward search 56 -)))|((( 57 -10ms 58 -))) 59 -|((( 60 -REFINEMENT_FACTOR 61 -)))|((( 62 -The prediction step size for the reverse search is 63 -PREDICTION_STEP_SIZE divided by REFINEMENT_FACTOR. 64 -)))|((( 65 -10 66 -))) 67 - 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. 70 - 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. 72 - 73 -The REFINEMENT_FACTOR is also the worst case number of predictions calculated during the reverse search part of the prediction process. 74 - 75 -\\ 76 - 77 -=== Flipper range === 78 - 79 79 The model of the area, where the the flippers can hit a ball is computed from a set of five points. These points are set to real world coordinates in meter 80 80 81 81 and should not need further adjustment after the camera is correctly calibrated (see [[doc:World Coordinate System]]). 82 82 83 -The values for the left flipper are set to be symmetrical. 84 - 85 85 [[image:attach:physics_points.png]] 86 86 87 -(% class="wrapped" %) 88 88 |=((( 89 89 Point# 90 90 )))|=((( ... ... @@ -118,8 +118,16 @@ 118 118 119 119 \\ 120 120 121 - Fromthese points an area, wherethe ball is deemedto be hittable, is computed.54 +=== Flipper range === 122 122 56 +From the aforementioned points 57 + 58 +\\ 59 + 60 +\\ 61 + 62 +\\ 63 + 123 123 [[image:attach:physics2.png]] 124 124 125 125 \\ ... ... @@ -126,12 +126,32 @@ 126 126 127 127 === Inlane Area === 128 128 129 -Since the trajectory prediction does not consider collisions in general, we need a different kind of predictions for the inlanes, 130 -i.e. the path feeding a falling ball from the playfield to the flippers, behind the slingshot. 131 -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 132 -and the other by a point at highest, outermost position of the angled part of the inlane. 70 +\\ 133 133 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 - 137 137 [[image:attach:physics_inlane.png]] 73 + 74 +\\ 75 + 76 +=== Prediction parameters === 77 + 78 +\\ 79 + 80 +\\ 81 + 82 +\\ 83 + 84 +\\ 85 + 86 +\\ 87 + 88 +\\ 89 + 90 +\\ 91 + 92 +\\ 93 + 94 +\\ 95 + 96 +\\ 97 + 98 +\\
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -714016 651 +71401641 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/714016 65/Ball Physics1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401641/Ball Physics