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