Low Cost Star Tracker Software

robotics automation and control
Low Cost Star Tracker Software (TOP2-265)
Highly accurate attitude information for low cost COTS hardware
A star tracker or similar navigation device is needed for a Small Spacecraft, to provide highly accurate attitude information and to determine location and velocity vectors. NASA has developed a novel technology, a star tracker, as part of its extremely low cost commercial-off-the-shelf (COTS) hardware project. It uses relatively low power, is highly accurate, and is relatively inexpensive, uses an iterative pattern matching approach to identify a star configuration and associated spatial viewing direction in a database that corresponds to an observed star configuration. Orientation of a star configuration is confirmed by comparison of measured angular differences with angular differences contained in a database. Star configurations viewed from a polyhedrron defined by two, three, four or more non-coincident planes can be used to estimate a three-dimensional viewing direction of the polyhedron.

The Technology
The current Star Tracker software package is comprised of a Lumenera LW230 monochrome machine-vision camera and a FUJINON HF35SA-1 35mm lens. The star tracker cameras are all connected to and powered by the PC/104 stack via USB 2.0 ports. The software code is written in C++ and is can easily be adapted to other camera and lensing platforms by setting new variables in the software for new focal conditions. In order to identify stars in images, the software contains a star database derived from the 118,218-star Hipparcos catalog [1]. The database contains a list of every star pair within the camera field of view and the angular distance between those pairs. It also contains the inertial position information for each individual star directly from the Hipparcos catalog. In order to keep the star database size small, only stars of magnitude 6.5 or brighter were included. The star tracking process begins when image data is retrieved by the software from the data buffers in the camera. The image is translated into a binary image via a threshold brightness value so that on (bright) pixels are represented by 1s and off (dark) pixels are represented by 0s. The binary image is then searched for blobs, which are just connected groups of on pixels. These blobs represent unidentified stars or other objects such as planets, deep sky objects, other satellites, or noise. The centroids of the blob locations are computed, and a unique pattern recognition algorithm is applied to identify which, if any, stars are represented. During this process, false stars are effectively removed and only repeatedly and uniquely identifiable stars are stored. After stars are identified, another algorithm is applied on their position information to determine the attitude of the satellite. The attitude is computed as a set of Euler angles: right ascension (RA), declination (Dec), and roll. The first two Euler angles are computed by using a linear system that is derived from vector algebra and the information of two identified stars in the image. The roll angle is computed using an iterative method that relies on the information of a single star and the first two Euler angles. [1] ESA, 1997, The Hipparcos and Tycho Catalogues, ESA SP-1200
Front Image
  • Capable of approximately 10 arcsecond precision and has approximate 8 degree field of view
  • Uses commercial camera
  • Software completely written in C++
  • Software can be adapted to other operating systems (currently compiled in Linux)
  • Highly accurate attitude information for extremely low cost COTS hardware
  • Low cost
  • Uses limited electric power
  • Customized user defined setting in software

  • Small satellites
  • Space launch vehicles
  • Remote sensing satellite
  • Small spacecraft
Technology Details

robotics automation and control
Stay up to date, follow NASA's Technology Transfer Program on:
facebook twitter linkedin youtube
Facebook Logo Twitter Logo Linkedin Logo Youtube Logo