+ All Categories
Home > Documents > Picosatellite Relative Pose and Position via CUDA ... · opposed to a 3x3 rotation matrix)....

Picosatellite Relative Pose and Position via CUDA ... · opposed to a 3x3 rotation matrix)....

Date post: 30-Apr-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
1
Picosatellites & Our AeroCube Analog Satellitesareexpensive? for afull-sizesatellite, a single deployment mission can cost up to 400 million dollars . Therearenow anumber of smaller satellitesizes, all theway down to microsatellitesbetween 1kg and 10kg or picosatellites under 1kg . One standard for picosatellitesisaCubeSat called the AeroCube . For our project, Aerospaceprovided aNVIDIA Jetson TX1running aCortex A57 and aMaxwell architectureGPU with 256 CUDA corescapable of over 1 TeraFLOPs to act asour AeroCube analog. Meet the Jetsons Fiducial Markers Fiducial Markersareobjectsused to estimatescalein an imagebecausethey areaknown size and shape (e.g., aruler). OpenCV's ArUco library produces such markerswith uniqueIDsencoded asbits, asseen to theright. Each marker can then beused to identify a sideof an AeroCubein addition to conveying information about theposition and poseof the AeroCube. How do we map marker inf ormation to AeroCube inf ormation? By placing uniquemarkerson each sideof multipleAeroCubes, wecan usethemarker ID to determinetheAeroCube'sID and face. Becausewecan identify theface, wejust need to apply transformation matrices(rotation and translation) to determinetheAeroCubecenter's position and relativeposefrom themarkers? if wehavemultiplemarkersfor an AeroCube, wecan simply averagetheir calcalated centers. Why represent pose as a quaternion? Quaternionsare4-element vectorsthat arecommonly used in aerospaceto represent pose dueto acoupleof niceproperties. They compactly represent rotation in 3D space (as opposed to a3x3 rotation matrix). Additionally, multiplying two quaternionstogether to combinetheir rotationsisfaster than multiplying two rotation matricestogether. Quaternionsalso avoid certain issuesfaced with other poserepresentations? e.g., they avoid theissueof gimbal lock when using Euler Angles. Image Processing to Models The Problem Theprimary strengthsof picosatellitesaredependent on precise formation flying whilecompleting adistributed task, such assimulated "large-aperture"interferometry to analyzethechemical signaturesof planetsthousandsof light yearsaway. Existing solutionsfor understanding poseand position have strict limitations such asthe presenceof aknown magnetic field, lineof sight to thesun, or precision insufficient for close-range(under 1m) maneuvers. Asthough developing for an actual picosatellite, our system isconstrained by limited energy resources and limited computation power . In addition, thelack of an actual picosatellitesystem required theencapsulation of modules so that simplemixinscould beapplied to utilizethecodein another system altogether. The Constraints Eric Swenson Andrew Tran Ron Scrofano Aaron Brown Picosatellite Relative Pose and Position via CUDA Accelerated Computer Vision Gustavo Cornejo Alex Thielk Angel Ortega Open-source computer vision library with Python bindings (except for CUDA modules) GPU-accelerated technology, with usage in OpenCV's CUDA modules OpenCV ImP Controller Flask Server Job Handler Internal Storage React Web App. External Storage Lifecycle of an Event Python compiler to C/C++code that allowed Python bindings to CUDA-accelerated C/C++ functions Component Structure
Transcript
Page 1: Picosatellite Relative Pose and Position via CUDA ... · opposed to a 3x3 rotation matrix). Additionally, multiplying two quaternions together to combine their rotations is faster

Picosatellites & Our AeroCube AnalogSatellites are expensive ? for a full-size satellite, a single deployment mission can cost up to 400 million dollars.

There are now a number of smaller satellite sizes, all the way down to microsatellites between 1kg and 10kg or picosatellites under 1kg. One standard for picosatellites is a CubeSat called the AeroCube.

For our project, Aerospace provided a NVIDIA Jetson TX1 running a Cortex A57 and a Maxwell architecture GPU with 256 CUDA cores capable of over 1 TeraFLOPs to act as our AeroCube analog.

Meet the JetsonsFiducial MarkersFiducial Markers are objects used to estimate scale in an image because they are a known size and shape (e.g., a ruler). OpenCV's ArUco library produces such markers with unique IDs encoded as bits, as seen to the right. Each marker can then be used to identify a side of an AeroCube in addition to conveying information about the position and pose of the AeroCube.

How do we map marker information to AeroCube information?

By placing unique markers on each side of multiple AeroCubes, we can use the marker ID to determine the AeroCube's ID and face. Because we can identify the face, we just need to apply transformation matrices (rotation and translation) to determine the AeroCube center's position and relative pose from the markers ? if we have multiple markers for an AeroCube, we can simply average their calcalated centers.

Why represent pose as a quaternion?

Quaternions are 4-element vectors that are commonly used in aerospace to represent pose due to a couple of nice properties. They compactly represent rotation in 3D space (as opposed to a 3x3 rotation matrix). Additionally, multiplying two quaternions together to combine their rotations is faster than multiplying two rotation matrices together. Quaternions also avoid certain issues faced with other pose representations ? e.g., they avoid the issue of gimbal lock when using Euler Angles.

Image Processing to Models

The ProblemThe primary strengths of picosatellites are dependent on precise formation f lying while completing a distributed task, such as simulated "large-aperture" interferometry to analyze the chemical signatures of planets thousands of light years away.

Existing solutions for understanding pose and position have strict limitations such as the presence of a known magnetic field, line of sight to the sun, or precision insufficient for close-range (under 1m) maneuvers.

As though developing for an actual picosatellite, our system is constrained by limited energy resources and limited computation power.

In addition, the lack of an actual picosatellite system required the encapsulation of modules so that simple mixins could be applied to utilize the code in another system altogether.

The Constraints

Er ic SwensonAndrew Tran

Ron ScrofanoAaron Brown

Picosatellite Relat ive Pose and Posit ion viaCUDA Accelerated Computer Vision

Gustavo CornejoAlex ThielkAngel Ortega

Open-source computer vision library with Python bindings (except for CUDA modules)

GPU-accelerated technology, with usage in OpenCV's CUDA modules

OpenCVImPController

Flask ServerJob Handler

Internal Storage

ReactWeb App.

External Storage

Lifecycle of an Event

Python compiler to C/C++ code that allowed Python bindings to CUDA-accelerated C/C++

functions

Component St ructure

Recommended