Hacker News new | ask | show | jobs
by lmoml 3492 days ago
I'd consider NNs total overkill for this problem (though not if it were a more general problem of which this was just a test instance). Then I'd make my own hand-wavy assumptions about using any array of sensors (of which CCD, CMOS etc are all sophisticated forms) to first build a map + ideal path without the ball, then once the ball is in place to have a piece of software grab the lowest potential cell in each refresh window (smoothed by a low-weight decaying memory of past potentials) as the location of the ball, the potentials of the neighboring four cells as a heuristic for location within the cell, and adjust tilt accordingly to proceed along path.

edit: One of the points lotyrin touched on that I wanted to amplify is how one side-effect of technology advancing is that, when we must address them as users, small problems will likely get increasingly inefficient solutions because our omnitool is so much more powerful than needed.

If I were doing this today, I'd probably use OpenCV and load a package that manages the de-warping of the camera's image, the grabbing of features from the maze, and the smoothed ball center location. Much like in olden times I'd use that to adjust the angle of the board for this refresh window, then proceed to the next one. In that sense the biggest difference between the modern approach and one in 1982 is how incredibly much has been encapsulated by folks over the last 30+ years. And in another 5 years or so, I wouldn't be at all surprised to find people implementing these simple tasks with NNs because NNs have by then become _so easy_ to throw at any given problem.