A navigation system for a body comprising: one or more star tracking sensors mounted to the body; one or more inertial sensors mounted to the body; one or more processing devices coupled to the one or more star tracking sensors and the one or more inertial sensors; one or more memory devices coupled to the one or more processing devices, the one or more memory devices including instructions which, when executed by the one or more processing devices, cause the one or more processing devices to: calculate an expected direction of at least one of a plurality of celestial objects with respect to the body based on a current navigation solution for the body; determine a respective measured direction of each of a plurality of celestial objects with respect to the body based on an output of the one or more star tracking sensors using the expected direction; wherein at least one of the celestial objects is a moving celestial object having a known path; wherein at least one of the celestial objects is a stationary celestial object; wherein a measured path of the moving celestial object is measured with respect to a measured direction of the stationary celestial object; and calculate a position of the body based on the measured path and the known path of the moving celestial object, the measured direction of the stationary celestial object, and a known location of the stationary celestial object and calculate an updated navigation solution based on the calculated position of the body and an output of the one or more inertial sensors. one or more star tracking sensors mounted to the body; one or more inertial sensors mounted to the body; one or more processing devices coupled to the one or more star tracking sensors and the one or more inertial sensors; one or more memory devices coupled to the one or more processing devices, the one or more memory devices including instructions which, when executed by the one or more processing devices, cause the one or more processing devices to: calculate an expected direction of at least one of a plurality of celestial objects with respect to the body based on a current navigation solution for the body; determine a respective measured direction of each of a plurality of celestial objects with respect to the body based on an output of the one or more star tracking sensors using the expected direction; wherein at least one of the celestial objects is a moving celestial object having a known path; wherein at least one of the celestial objects is a stationary celestial object; wherein a measured path of the moving celestial object is measured with respect to a measured direction of the stationary celestial object; and calculate a position of the body based on the measured path and the known path of the moving celestial object, the measured direction of the stationary celestial object, and a known location of the stationary celestial object and calculate an updated navigation solution based on the calculated position of the body and an output of the one or more inertial sensors. determine a respective measured direction of each of a plurality of celestial objects with respect to the body based on an output of the one or more star tracking sensors using the expected direction; wherein at least one of the celestial objects is a moving celestial object having a known path; wherein at least one of the celestial objects is a stationary celestial object; wherein a measured path of the moving celestial object is measured with respect to a measured direction of the stationary celestial object; and calculate a position of the body based on the measured path and the known path of the moving celestial object, the measured direction of the stationary celestial object, and a known location of the stationary celestial object and calculate an updated navigation solution based on the calculated position of the body and an output of the one or more inertial sensors.