Advanced Cubesat Imaging

advertisement
Nathan Bossart, Joe Mayer, Bob Urberger
RASCAL ACIP
Team Introduction
http://acip.us
 Facilitator: Bob Urberger
 Computer Engineering majors
 Space Systems Research Lab

RASCAL Mission


“Rascal is a two-spacecraft
mission to demonstrate
key technologies for
proximity operations…”
“After the on-orbit
checkout, one 3U
spacecraft is released and
passively drifts away....
After a suitable distance,
the released spacecraft
will activate its propulsion
system and return to within
a few meters of the base.
The second spacecraft will
be released and the
process repeated...”
RASCAL ACIP
Imaging Payload

Awareness of Cubesat
Environment
 Computer Vision

Low-Level Processing
 Object Detection
 Distance Determination

High-Level Data
 Navigation
 Thruster Control
RASCAL ACIP
Functional Breakdown
Unique Face Identifier
Known
Pattern
Capture Images
Raw
Data
Transfer Data
Structured
Data
Process Images
High-Level
Data
Output/Store Control Data
RASCAL ACIP
Modules
LEDs
Unique Face Identification
Camera
Capture Images
Transfer Data
Computational
Hardware
Process Images
Output/Store Control Data
RASCAL ACIP
LEDs

Required to perform
classification

 Not enough detail
visible for other features

 Fails when face partially
visible
Three approaches
 Unique pattern of LEDs
for each face
 Unique combination of
colors for each face
 Both unique patterns
and colors
RASCAL ACIP
Unique pattern works
regardless of camera
spectrum

Color combinations
only work with visible
spectrum cameras
 Can classify cube
corners as well as faces
with well chosen color
patterns
Camera


Potential Camera Choices:
FLIR Tau 640


 640x480, 14-bit

 PCB integration
 Control signaling simple
 Low resolution,
Visible spectrum image
sensor
monochromatic
 16.1 MB/s input data rate @
30Hz
 2-5MP - 16 to 24 bit color

Parallel data output from
cameras
Component Requirements:
FLIR

Visible spectrum
 Requires lens fixture
 Complex control signaling
 High resolution, wide color
range
 2MP with 24 bit color:
○ 57.6 MB/s input data rate
@ 30Hz
RASCAL ACIP
Processing Hardware




Processing blocks in hardware
Caching and system control managed in software
Timing and Gate Consumption
Alternatives:
 Pure software implementation
 Pure hardware implementation
RASCAL ACIP
Imaging Functions
Image Processing
Distance
Data
Distance
Detection
Image
Data
Structure
PreProcessing
Objects
In Frame
Object
Detection
Object
Classification
Image
Edges
RASCAL ACIP
Preprocessing

Noise suppression

Color Conversion

Object enhancement

Image segmentation

Conversion and downsampling
RASCAL ACIP
Distance Detection


Identify depth from a
single image
Monocular Cues
 Relative size
Structured geometry
identified should be
easy to identify
scale
 Comparison of
 regular structure
imaged objects to
known shape scale at
particular depth
RASCAL ACIP

 Square or equilateral
triangle
Distance Detection in RASCAL

Square LED pattern on spacecraft face
 Critical point identification
 Homography estimation
 Projective transform
 Point correspondence for scale

Hardware Domain
 Parallel matrix multiplication
RASCAL ACIP
Object Detection

Identifying Objects
in an Image

Region or Contour
Based

Edge Detection
 Relies heavily on Pre-
processing
RASCAL ACIP
(Columbia University)
Object Detection in RASCAL

Hardware Domain
 Canny/Deriche
 Sobel Operator

Constraints
 Cubesat size
 Environmental
 Resolution
(Columbia University)
RASCAL ACIP
Objection Classification



Post-object
detection / image
segmentation
Support vector
machine (metric
space classification)
Assign a class
based upon preprogrammed control
data
RASCAL ACIP
Object Classification in RASCAL






RASCAL ACIP
Completed with baremetal software
ARM Assembly / C
Minimum distance
principle (efficient)
Multi-tiered and/or multidimensional space from
attributes given
Determine a number of
attributes with significant
differences between
faces
Testing: expect a very
high level (>95%) of
correct classifications
Constraints of Object
Classification



Must work with a
variety of
backgrounds (Earth,
Moon, Sun, Space,
etc.)
Ideally real time
(bounded) and low
latency
Updated at >=10 Hz



Must function with
different sizes
(patterns can vary
from a few pels to
larger than the frame)
Definitive
discrimination
functions with high
reliability
Alternative algorithm:
neural nets, fuzzy
logic
Output to Control



System will output calculated information about
placement, attitude, distance, etc.
In the future, a separate team will construct a
system to interpret data and convert to control
signals/data
Since this is out of the scope of our project, the
output format/setup is ultimately our choice
RASCAL ACIP
Functional Testing

Output Unique Pattern

Process Image
 Software Verification

 Hardware Verification
Capture Images
 Stream Images
 Verify Control Signals

Output/Store Data
 Buffer

Transfer Data
 Oscilloscope
 Frame Buffer
RASCAL ACIP
System Testing



Camera integration
Hardware timing constraints
Block connectivity verification
 Blocks signal each other as intended

Full pipeline simulation
 Blocks interact as expected

Physical synthesis testing
 Data produced from each frame
RASCAL ACIP
Timeline
10/28
Project Task
Data In and Out of System
Obtain Camera
Separate Processing into Blocks
Interface Camera with Hardware
Algorithm Verification in Software
Store Camera Data in Hardware
Preprocess Image
Achieve Block Functionalality
Merge Processing Blocks
Confirm Full Integration
Project Wrap-Up
RASCAL ACIP
11/17
12/7
12/27
Dates of Years 2013-2014
1/16
2/5
2/25
3/17
4/6
4/26
Estimated Costs
Designed for very low budget and small
amount of needed materials
 Largely out of SSRL funding

Function
Part
Obtain vision data
Camera
Low Estimate High Estimate Notes
$4,000
$10,000 SSRL funding
Camera Specification
$0
$10,000 SSRL funding
Display patterns
LEDs
$1
$10 SSRL funding
Algorithm Resources
Books
$0
$0 library & creative commons
Development Tools
Zedboard
$0
$0 donation
Xilinx Vivado
$0
$0 donation
Oscilloscope
$0
$0 provided
Desktop PC
$0
$0 provided
RASCAL ACIP
TOTAL COST:
$4,001
$20,010
Future Work for Integration




Thruster control
system
Placement into
spacecraft
Radiation, vibration,
space-readiness
We will provide
thorough
documentation for
future groups
RASCAL ACIP
Bibliography
http://cubesat.slu.edu/AstroLab/SLU-03__Rascal.html
 Jan Erik Solem, Programming Computer Vision with
Python. Creative Commons.
 Dr. Ebel, Conversation
 Dr. Fritts, Conversation
 Dr. Mitchell, Conversation
 Milan Sonka, Vaclav Hlavac, Roger Boyle, Image
Processing, Analysis, and Machine Vision. Cengage
Learning; 3rd edition.
 http://www.cs.columbia.edu/~jebara/htmlpapers/UTHES
IS/node14.html

RASCAL ACIP
Questions?
RASCAL ACIP
Download