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,55 +1,132 @@ 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 + 1 1 \\ 2 2 3 -== Task == 4 - 5 -The ball physics model is meant to do things ... 6 - 7 7 \\ 8 8 9 -== Configuration == 10 10 11 -=== Points of interest === 12 12 13 - \\9 +{{toc/}} 14 14 15 - [[image:attach:physics_points.png]]11 +== Ball trajectory == 16 16 17 - === Flipper range ===13 +---- 18 18 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 19 19 \\ 20 20 21 21 \\ 22 22 23 -\\ 21 +[[image:attach:Bildschirmfoto von 2020-03-07 12-21-22.png]] 22 +\\\\like so: .... [TODO] 24 24 25 - \\24 +== Configuration == 26 26 27 - [[image:attach:physics2.png]]26 +---- 28 28 29 - \\28 +=== Prediction parameters === 30 30 31 -=== Inlane Area === 30 +(% class="wrapped" %) 31 +|=((( 32 +Parameter 33 +)))|=((( 34 +Description 35 +)))|=((( 36 +Default value 37 +))) 38 +|((( 39 +PREDICTION_FRAME 40 +)))|((( 41 +window size for prediction - How far 32 32 33 -[[image:attach:physics_inlane.png]] 43 +into the future are predctions calculated at most. 44 +)))|((( 45 +70ms 46 +))) 47 +|((( 48 +PREDICTION_STEP_SIZE 49 +)))|((( 50 +size of the steps for the forward search 51 +)))|((( 52 +10ms 53 +))) 54 +|((( 55 +REFINEMENT_FACTOR 56 +)))|((( 57 +The prediction step size for the reverse search is 58 +PREDICTION_STEP_SIZE divided by REFINEMENT_FACTOR. 59 +)))|((( 60 +10 61 +))) 34 34 35 -\\ 63 +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. 64 +Nevertheless it is reasonable to calculate predictions beyond the next frame in case a ball is not recognized on the next frame. 36 36 37 - ===Predictionparameters===66 +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. 38 38 39 - \\68 +The REFINEMENT_FACTOR is also the worst case number of predictions calculated during the reverse search part of the prediction process. 40 40 41 41 \\ 42 42 43 - \\72 +=== Flipper range === 44 44 45 - \\74 +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 46 46 47 - \\76 +and should not need further adjustment after the camera is correctly calibrated (see [[doc:World Coordinate System]]). 48 48 49 - \\78 +The values for the left flipper are set to be symmetrical. 50 50 51 - \\80 +[[image:attach:physics_points.png]] 52 52 82 +(% class="wrapped" %) 83 +|=((( 84 +Point# 85 +)))|=((( 86 +Description 87 +))) 88 +|((( 89 +1 90 +)))|((( 91 +center point of the circle that the flippers tip moves o 92 +))) 93 +|((( 94 +2 95 +)))|((( 96 +highest point a ball can be at when it hits the resting flipper 97 +))) 98 +|((( 99 +3 100 +)))|((( 101 +lowest point a ball can be at when it hits the resting flipper 102 +))) 103 +|((( 104 +4 105 +)))|((( 106 +lowest point a ball can be at when it hits the fully triggered flipper 107 +))) 108 +|((( 109 +5 110 +)))|((( 111 +highest point a ball can be at when it hits the fully triggered flipper 112 +))) 113 + 53 53 \\ 54 54 116 +From these points an area, where the ball is deemed to be hittable, is computed. 117 + 118 +[[image:attach:physics2.png]] 119 + 55 55 \\ 121 + 122 +=== Inlane Area === 123 + 124 +Since the trajectory prediction does not consider collisions in general, we need a different kind of predictions for the inlanes, 125 +i.e. the path feeding a falling ball from the playfield to the flippers, behind the slingshot. 126 +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 127 +and the other by a point at highest, outermost position of the angled part of the inlane. 128 + 129 +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. 130 +Though in reality the still is some accelleration, a simple linear prediction has shown to be practical in this less critical area. 131 + 132 +[[image:attach:physics_inlane.png]]
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -714016 011 +71401659 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/714016 01/Ball Physics1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/71401659/Ball Physics