Changes for page SCChart Controller
Last modified by Richard Kreissig on 2025/01/30 12:18
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 12 added, 0 removed)
- Overview.png
- PredictionJPG.JPG
- Screen Shot 2020-03-14 at 09.46.27.png
- Screen Shot 2020-03-14 at 09.48.54.png
- Screen Shot 2020-03-14 at 10.25.04.png
- Screen Shot 2020-03-14 at 10.26.04.png
- Screen Shot 2020-03-14 at 10.38.05.png
- Screen Shot 2020-03-14 at 10.46.45.png
- Screen Shot 2020-03-14 at 10.47.09.png
- expanded.png
- expanded2.png
- trigger.JPG
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +Project Documentation - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.stu1 042251 +XWiki.stu122612 - Content
-
... ... @@ -32,6 +32,18 @@ 32 32 * Red: These two regions control launching. {{code language="none"}}manual launching{{/code}} just holds both flippers up for a long enough period for the machine to launch the ball into the game. The other region is in charge of detecting when the launch lamp is blinking and then waiting the appropriate amount of time to acquire the 20 million launch bonus. 33 33 * Blue: These are the main brain of the controller. These regions retrieve ball positions, ask for predictions on future ball positions, process a little game information to determine possible targets and decide when and how to actuate the flippers. 34 34 35 += Main Flipper Controller = 36 + 37 +[[image:attach:trigger.JPG]] 38 + 39 +Arguably the most central element of a flipper autopilot is the module that decides when to trigger the flippers. In this system said decision is mainly made in the region displayed above. Most of the time while playing the automaton will be in the //survive// state, where it reacts to the times as given by the prediction. Here the only objective is to keep the ball in the game. 40 + 41 +In certain situations this state is left in order to perform more elaborate gameplay maneuvers. 42 +One of these is to catch the ball with the left flipper. Once this was successfully performed targeted shots to certain game elements are possible and the controller decides which one to aim for by analyzing some lamps that indicate certain game situations. The rule of thumb is: When there is a lamp lit above some target, it should be aimed at. 43 +Another one is to detect a ball coming back after successfully hitting the big ramp. The ball is then led down a deterministic path feeding it into the left inlane. In this situation the controller tries to trigger the left flipper at the right timing to shoot the ball right into the big ramp again. This is useful since successive ramp shots are beneficial in most situations, as they score good points and lead to activation of a multiball mode. 44 + 45 +\\ 46 + 35 35 = Actuating = 36 36 37 37 [[image:attach:Screen Shot 2020-03-14 at 10.46.45.png]] ... ... @@ -46,8 +46,13 @@ 46 46 47 47 = Prediction = 48 48 49 - TODO61 +[[image:attach:PredictionJPG.JPG]] 50 50 63 +This region reacts to the input signals //newPos// and //newFrame//, that are coming from the image processing. 64 +Whenever there are two temporally close positions, where the ball was detected, an external function call to the ball physics model is made. 65 +\\When the ball was not detected for several frames, e.g. when it fell to the drain, or left the detection's region of interest, the information about the last position becomes stale and should be discarded. 66 +In order to decide when to discard an old position the automaton counts frames since the last recognized ball position. After two frames the position is marked as no longer pending and after 10 frames it is discarded. 67 + 51 51 = Launching = 52 52 53 53 [[image:attach:Screen Shot 2020-03-14 at 10.25.04.png]] ... ... @@ -58,6 +58,10 @@ 58 58 59 59 Here we simply set signals that actuate both flippers for a time period so that the pinball machine launches the ball. If this time is too short both flippers will still actuate, but the pinball machine won't launch the ball. 60 60 78 += Control Top Flipper = 79 + 80 +This region simply triggers the top flipper whenever there is a ball detected to be close to its range. Hitting the ball with the top flipper is often beneficial but never critical. So in order to save resources there is less computational effort put into it, i.e. no prediction is performed and the range is not precisely defined. It is implemented as a single state with a during action, since the work of detecting, whether there is a ball near the top flipper, is performed by the image processing, which sets a flag in the respective case. 81 + 61 61 \\ 62 62 63 63 \\ ... ... @@ -73,3 +73,7 @@ 73 73 \\ 74 74 75 75 \\ 97 + 98 +\\ 99 + 100 +\\
- Overview.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +69.1 KB - Content
- PredictionJPG.JPG
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +148.6 KB - Content
- Screen Shot 2020-03-14 at 09.46.27.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +81.1 KB - Content
- Screen Shot 2020-03-14 at 09.48.54.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +80.2 KB - Content
- Screen Shot 2020-03-14 at 10.25.04.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +147.1 KB - Content
- Screen Shot 2020-03-14 at 10.26.04.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.8 KB - Content
- Screen Shot 2020-03-14 at 10.38.05.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +175.7 KB - Content
- Screen Shot 2020-03-14 at 10.46.45.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +149.0 KB - Content
- Screen Shot 2020-03-14 at 10.47.09.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +86.0 KB - Content
- expanded.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +906.0 KB - Content
- expanded2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +847.8 KB - Content
- trigger.JPG
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Size
-
... ... @@ -1,0 +1,1 @@ 1 +173.4 KB - Content
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -7 30726541 +72450066 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/7 3072654/SCChart Controller1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/PP18/pages/72450066/SCChart Controller