6 research outputs found

    Field Programmable Gate Array Apparatus, Method, and Computer Program

    Get PDF
    An apparatus is provided that includes a plurality of modules, a plurality of memory banks, and a multiplexor. Each module includes at least one agent that interfaces between a module and a memory bank. Each memory bank includes an arbiter that interfaces between the at least one agent of each module and the memory bank. The multiplexor is configured to assign data paths between the at least one agent of each module and a corresponding arbiter of each memory bank based on the assigned data path. The at least one agent of each module is configured to read data from the corresponding arbiter of the memory bank or write modified data to the corresponding arbiter of the memory bank

    Rapid Corner Detection Using FPGAs

    Get PDF
    In order to perform precision landings for space missions, a control system must be accurate to within ten meters. Feature detection applied against images taken during descent and correlated against the provided base image is computationally expensive and requires tens of seconds of processing time to do just one image while the goal is to process multiple images per second. To solve this problem, this algorithm takes that processing load from the central processing unit (CPU) and gives it to a reconfigurable field programmable gate array (FPGA), which is able to compute data in parallel at very high clock speeds. The workload of the processor then becomes simpler; to read an image from a camera, it is transferred into the FPGA, and the results are read back from the FPGA. The Harris Corner Detector uses the determinant and trace to find a corner score, with each step of the computation occurring on independent clock cycles. Essentially, the image is converted into an x and y derivative map. Once three lines of pixel information have been queued up, valid pixel derivatives are clocked into the product and averaging phase of the pipeline. Each x and y derivative is squared against itself, as well as the product of the ix and iy derivative, and each value is stored in a WxN size buffer, where W represents the size of the integration window and N is the width of the image. In this particular case, a window size of 5 was chosen, and the image is 640 480. Over a WxN size window, an equidistance Gaussian is applied (to bring out the stronger corners), and then each value in the entire window is summed and stored. The required components of the equation are in place, and it is just a matter of taking the determinant and trace. It should be noted that the trace is being weighted by a constant k, a value that is found empirically to be within 0.04 to 0.15 (and in this implementation is 0.05). The constant k determines the number of corners available to be compared against a threshold sigma to mark a valid corner. After a fixed delay from when the first pixel is clocked in (to fill the pipeline), a score is achieved after each successive clock. This score corresponds with an (x,y) location within the image. If the score is higher than the predetermined threshold sigma, then a flag is set high and the location is recorded

    FPGA Vision Data Architecture

    Get PDF
    JPL has produced a series of FPGA (field programmable gate array) vision algorithms that were written with custom interfaces to get data in and out of each vision module. Each module has unique requirements on the data interface, and further vision modules are continually being developed, each with their own custom interfaces. Each memory module had also been designed for direct access to memory or to another memory module

    SAD5 Stereo Correlation Line-Striping in an FPGA

    Get PDF
    High precision SAD5 stereo computations can be performed in an FPGA (field-programmable gate array) at much higher speeds than possible in a conventional CPU (central processing unit), but this uses large amounts of FPGA resources that scale with image size. Of the two key resources in an FPGA, Slices and BRAM (block RAM), Slices scale linearly in the new algorithm with image size, and BRAM scales quadratically with image size. An approach was developed to trade latency for BRAM by sub-windowing the image vertically into overlapping strips and stitching the outputs together to create a single continuous disparity output. In stereo, the general rule of thumb is that the disparity search range must be 1/10 the image size. In the new algorithm, BRAM usage scales linearly with disparity search range and scales again linearly with line width. So a doubling of image size, say from 640 to 1,280, would in the previous design be an effective 4 of BRAM usage: 2 for line width, 2 again for disparity search range. The minimum strip size is twice the search range, and will produce an output strip width equal to the disparity search range. So assuming a disparity search range of 1/10 image width, 10 sequential runs of the minimum strip size would produce a full output image. This approach allowed the innovators to fit 1280 960 wide SAD5 stereo disparity in less than 80 BRAM, 52k Slices on a Virtex 5LX330T, 25% and 24% of resources, respectively. Using a 100-MHz clock, this build would perform stereo at 39 Hz. Of particular interest to JPL is that there is a flight qualified version of the Virtex 5: this could produce stereo results even for very large image sizes at 3 orders of magnitude faster than could be computed on the PowerPC 750 flight computer. The work covered in the report allows the stereo algorithm to run on much larger images than before, and using much less BRAM. This opens up choices for a smaller flight FPGA (which saves power and space), or for other algorithms in addition to SAD5 to be run on the same FPGA

    An Autonomy Architecture for Aerobot Exploration of the Saturnian Moon Titan

    No full text
    The Huygens probe arrived at Saturn's moon Titan on January 14, 2005, unveiling a world that is radically different from any other in the Solar system. The data obtained, complemented by continuing observations from the Cassini spacecraft, show methane lakes, river channels and drainage basins, sand dunes, cryovolcanos and sierras. This has lead to an enormous scientific interest in a follow-up mission to Titan, using a robotic lighter-than-air vehicle (or aerobot). Aerobots have modest power requirements, can fly missions with extended durations, and have very long distance traverse capabilities. They can execute regional surveys, transport and deploy scientific instruments and in-situ laboratory facilities over vast distances, and also provide surface sampling at strategic science sites. This paper describes our progress in the development of the autonomy technologies that will be required for exploration of Titan. We provide an overview of the autonomy architecture and some of its key components. We also show results obtained from autonomous flight tests conducted in the Mojave desert

    Flight-Like Ground Demonstrations of Precision Maneuvers for Spacecraft Formations

    No full text
    Synchronized formation rotations are a common maneuver for planned precision formations. In such a rotation, attitudes remain synchronized with relative positions, as if the spacecraft were embedded in a virtual rigid body. Further, since synchronized rotations are needed for science data collection, this maneuver requires the highest precision control of formation positions and attitudes. A recently completed, major technology milestone for the Terrestrial Planet Finder Interferometer is the high-fidelity, ground demonstration of precision synchronized formation rotations. These demonstrations were performed in the Formation Control Testbed (FCT), which is a flight-like, multi-robot formation testbed. The FCT is briefly introduced, and then the synchronized rotation demonstration results are presented. An initial error budget consisting of formation simulations is used to show the connection between ground performance and TPF-I flight performance
    corecore