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
Overview
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
Benefits
- 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
Applications
- Small satellites
- Space launch vehicles
- Remote sensing satellite
- Small spacecraft
Technology Details
robotics automation and control
TOP2-265
ARC-16289-1
Similar Results
Steering Mirror assisted laser fine pointing
NASA Goddard Space Flight Center has developed a system to more finely point lasers so as to improve the precision of space optical communications and ranging. Through linking a laser beam mirror steering mechanism and associated closed loop control, any residual error in pointing to a desired target is reduced dramatically.
Miniaturized Astrometric Alignment Sensor
The Miniaturized Astrometric Alignment Sensor advances satellite capabilities for astrophysical measurements, necessary for formation flying, relative navigation, and virtual telescope capabilities. The sensor is a single assembly consisting of a small, low powered camera assembly. The sensor detects stellar objects from which both stellar and object tracking are performed. The sensors components consist of a low power camera assembly, interchangeable lenses, camera power supply, and image processing software and algorithms. The system functions by searching and identifying objects in the camera's field of view and tracking the objects against a selected star pattern with a central body of interest in the sensor's field of view.
The Miniaturized Astrometric Alignment Sensor makes it possible to measure a spacecrafts altitude and orientation with respect to known stellar objects. The instrument takes an image of a patch of sky, identifies the stars in that field of view, and compares the field view with a stored star map. The data is processed with a dedicated processor attached to the instrument to spell out the attitude and orientation of a spacecraft.
The Navigator GPS Receiver
To enable it to acquire GPS signals very quickly and also track weak signals, the radiation-hardened Navigator receiver utilizes a bank of hardware correlators, a ColdFire microprocessor, and a specialized fast acquisition module (see figure 1). The hardware is implemented in VHSIC Hardware Description Language (VHDL) to target radiation-hardened Field Programmable Gate Arrays (FPGA) rather than Application-Specific Integrated Circuits (ASIC), in order to maintain flexibility for growth and design modifications.
The Navigator was designed to operate autonomously to enable the use of GPS for onboard navigation in high altitude space missions. With the exception of GPS signals, Navigator requires no external data (e.g., current time estimate, recent GPS almanac, or converged navigation filter estimate of the receiver dynamics).
By double buffering data up front in 1ms blocks, data can be processed as it is acquired. A discrete Fourier transform (DFT) is used to calculate the 1ms correlations, significantly reducing computing time. Computational efficiency is optimized and tradeoffs among sampling rate, data format, and data-path bit rate are carefully weighed in order to increase performance of the algorithm.
In addition, the Navigators hardware-independent receiver software includes both a hardware interface to perform low-level functions as well as basic navigation. Onboard orbit determination and accurate state estimation/propagation during periods with no GPS access are accomplished by integration with the GPS Enhanced Onboard Navigation System (GEONS).
Exploiting the properties of Fourier transform in a massively parallel search for the GSP signal, the Navigator has been tested and proven capable of acquiring signals at 25dB-Hz and below.
Lunar Surface Navigation System
NASAs reverse-ephemeris lunar navigation system is a concept for determining position on the lunar surface based on known orbits of satellites. In conventional GPS navigation systems, the GPS satellite transmits ephemeris data to a receiver on earth for determining position at the receiver location. Whereas for the reverse-ephemeris approach the receiver becomes the transmitter, and the satellite instead serves more as a fixed reference position with a known ephemeris. This simplifies the satellite requirements and also mitigates potential navigational disruptions that can otherwise arise in navigation systems that utilize satellite-based communications, for example from interference, jamming, etc.
The design consists of lunar surface S-Band (2,400 2,450 MHz) 10 W transceivers ranging with analog translating transponders on a three-satellite constellation in frozen elliptical orbits to provide continuous coverage with service to 300 simultaneous users over 1.8 MHz of bandwidth at the transponder. Digital bases systems are possible too. As compared to GPS-based navigation requiring four or more satellites costing 100s of millions of dollars, the new NASA concept is based on using only three smallsats.
FlashPose: Range and intensity image-based terrain and vehicle relative pose estimation algorithm
Flashpose is the combination of software written in C and FPGA firmware written in VHDL. It is designed to run under the Linux OS environment in an embedded system or within a custom development application on a Linux workstation. The algorithm is based on the classic Iterative Closest Point (ICP) algorithm originally proposed by Besl and McKay. Basically, the algorithm takes in a range image from a three-dimensional imager, filters and thresholds the image, and converts it to a point cloud in the Cartesian coordinate system. It then minimizes the distances between the point cloud and a model of the target at the origin of the Cartesian frame by manipulating point cloud rotation and translation. This procedure is repeated a number of times for a single image until a predefined mean square error metric is met; at this point the process repeats for a new image.
The rotation and translation operations performed on the point cloud represent an estimate of relative attitude and position, otherwise known as pose.
In addition to 6 degree of freedom (DOF) pose estimation, Flashpose also provides a range and bearing estimate relative to the sensor reference frame. This estimate is based on a simple algorithm that generates a configurable histogram of range information, and analyzes characteristics of the histogram to produce the range and bearing estimate. This can be generated quickly and provides valuable information for seeding the Flashpose ICP algorithm as well as external optical pose algorithms and relative attitude Kalman filters.