Orientation in navigation is an issue that has challenged humans for thousands of years. The most common tool used to determine orientation is a magnetic compass. However, compasses can have many issues, such as susceptibility to interference from even weak magnetic fields, as well as not pointing towards true North, but instead guiding towards the magnetic North. Additionally, magnetic compasses are not ideal for embedded computing applications, as the magnetic fields generated by electronic components such as motors can cause internal interference in a system. Celestial navigation circumvents these issues by using visual positions and patterns of celestial objects in the sky for orientation. This project seeks to determine if using a consumer level digital camera combined with public star catalogs can be used as a cheap and effective means of determining orientation. Experiments conducted using pictures of the night sky found that orientation of an observer can be measured with a root mean square error of
Diagram showing the general layout of the system. Where
An example skymap showing the position of stars for a specific location and time. This is simulating a
An example de-bayered and gray-scaled camera image with the location of extracted stars overlaid as red circles.
Solved a least squares using the star catalog positions and observed positions to find the best rotational angle.
$ L(\varphi) = \sum_{i=0}^{n} \frac{\min(\sqrt{r^2_1 + r^2_2-2r_1r_2 \cos(\theta_1-\theta_2+\varphi)})^2}{\sigma^2} $
The function
A sample graph of the least squares equation on the range
An example skymap (same as above) with the found stars (also same as above) rotated by the extracted heading found by the least squares function. The found
stars line up with the expected star positions, confirming the orientation to be
correct.