What about using something like a
fish eye lens on a high resolution
security camera? Mount the camera somewhere pointed straight up, with a clear view of the sky, from horizon to horizon. Maybe an UV-VIS-IR camera to have the best chances of seeing the bodies through thin clouds?
If you wanted to be clever, add a digital gyroscope, and a
fluxgate to the system.
The goal would be to have an automatic system that would continuously monitor the visible bodies, identify what they were, measure them, and then calculate position. If it was automated, a
cheap CPU should be able to do the calculation for position at nearly real time. Throw in the fluxgate and the gyroscope, and you'd only need one star identified, and no need for a visible horizon.