This commit is contained in:
2022-04-24 21:40:17 -07:00
parent b15dc55b7a
commit 8d3aebc70c
8 changed files with 1709 additions and 68 deletions

View File

@@ -7,21 +7,85 @@ latex-auto-install: true
format:
html:
self-contained: true
title-block-banner: true
pdf: default
# reference-location: margin
reference-location: margin
citation-location: margin
bibliography: citations.bib
execute:
cache: true
---
```{julia}
#| code-fold: true
#| output: false
using FileIO
using MeshIO
using stlProcess
using CSV
using DataFrames
using LinearAlgebra
```
```{julia}
#| code-fold: true
#| output: false
# local path to https://gitlab.com/orbital-debris-research/fake-satellite-dataset
dataset_path = raw"C:\Coding\fake-satellite-dataset"
folders = ["1_5U", "assembly1", "cubesat"]
df = DataFrame(;
surface_area=Float64[],
characteristic_length=Float64[],
sbx=Float64[],
sby=Float64[],
sbz=Float64[],
Ix=Float64[],
Iy=Float64[],
Iz=Float64[],
)
```
```{julia}
for path in dataset_path * "\\" .* folders
println("Processing Path: ", path)
Threads.@threads for file in readdir(path)
stl = load(path * "\\" * file)
scale = find_scale(stl)
props = get_mass_properties(stl; scale=scale)
eigs = eigvals(props.inertia)
sort_index = sortperm(eigs)
Ix, Iy, Iz = eigs[sort_index]
sbx, sby, sbz = props.sb_values[sort_index]
push!(
df,
[props.surface_area, props.characteristic_length, sbx, sby, sbz, Ix, Iy, Iz],
)
end
end
```
```{julia}
describe(df)
```
## Gathering Data
To get started on the project before any scans of the actual debris are made available, I opted to
find 3D models online and process them as if they were data collected by my team. GrabCAD is an
excellent source of high-quality 3D models, and all the models have, at worst, a non-commercial
^[This is a test] license making them suitable for this study. The current dataset uses three
separate satellite assemblies found on GrabCAD, below is an example of one of the satellites that
was used.
license making them suitable for this study. The current dataset uses three separate satellite
assemblies found on GrabCAD, below is an example of one of the satellites that was used.
![Example CubeSat Used for Analysis](Figures/assembly.jpg)