REF-05 // LASER|FORT LEWIS COLLEGE // CAPSTONE, DEC 2024|CUSTOMER: CLEAN SPACE LLC

LiDAR Orbital
Debris Characterization

Detecting and characterizing space debris spin-rates using high-resolution point cloud analysis.

~2%
Width Error
~16%
Depth Error
~13%
RPM Error
~25%
Height Error

The Kessler Syndrome

With over 4,000 active satellites and countless fragments of defunct rockets in orbit, space debris poses a catastrophic risk to future missions. To capture or de-orbit this debris, we first need to know exactly how it is moving.

Our customer, Clean Space LLC, is developing a debris-capture mission and needed a way to measure a target's dimensions and rotational velocity before attempting to grapple it. LASER (LiDAR And Sensor Engineering Researchers) built a LiDAR-based system to derive those metrics and produce a 3D rendering of the debris for use in a subsequent capture mission.

// CONCEPT OF OPERATIONS
Concept of operations diagram: LiDAR captures data on rotating space debris, data is stored and sent to a processing system, which converts, visualizes, and estimates rotation and size.
Fig. 2, Concept of Operations

Capturing a tumbling object requires precise knowledge of its rotational velocity (RPM) and physical dimensions. The LASER project utilizes LiDAR to derive these metrics in near real-time.

Hardware Architecture

The system integrates commercial off-the-shelf components with a custom-built, motorized test stand to create a cost-effective sensing and validation platform.

OPTICS

Intel RealSense L515 solid-state LiDAR camera capturing depth data at ~30 FPS.

COMPUTE

Raspberry Pi 5 (8GB) + 512GB SSD handles data acquisition, .bag recording, and PLY conversion.

TEST STAND

Custom plastic/steel/aluminum rig, adjustable rotation up to ~5 RPM, 12.07 × 26.6 cm base.

Labeled recording and testing setup: LiDAR Camera on tripod, Raspberry Pi, and rotating Test Stand with triangular test objectFig. 9, Recording / Testing Setup

Point Cloud Processing

Raw LiDAR data is noisy. The pipeline runs rs-data-capture to record a 15-second .bag (~424 frames), then a custom ConversionScript.sh converts it to per-frame .ply + metadata.txt using the RealSense library.

Each frame is then filtered with Open3D: a dynamic Z-axis filter, statistical outlier removal, radius outlier removal, and Euclidean clustering isolate the object from background noise.

Unfiltered point cloud, dominated by background wall noiseFig. 7, Unfiltered PCD
Filtered point cloud isolating the triangular test objectFig. 8, Filtered PCD
def get_plane_normal(pcd):
    # Segment the largest plane using RANSAC
    plane_model, inliers = pcd.segment_plane(
        distance_threshold=0.01,
        ransac_n=3,
        num_iterations=1000
    )

    # Extract normal vector [a, b, c]
    [a, b, c, d] = plane_model
    normal_vector = np.array([a, b, c])

    # Normalize
    return normal_vector / np.linalg.norm(normal_vector)

For dimensions, an oriented bounding box is fit to the filtered cloud, then scaled using a linear regression against known test distances:

Scaling Factor = −0.0287 × Depth + 0.8376

For rotational velocity, the normal vector of the object's largest RANSAC-fit plane is tracked across consecutive frames, the change in phase angle (Δθ) over the change in timestamp (Δt) gives angular velocity, converted to RPM.

Animated point cloud frame of the cleaned, filtered triangular test objectFig. 20, Cleaned PCD Frame

Ground Truth & Validation

The test object's true dimensions were measured with a caliper (±0.002 cm): 15.134 × 11.307 × 2.540 cm (W × H × D). Its rotation was held constant at a measured 5.22 RPM, verified independently by filming the stand at 59.96 fps on an iPhone (±0.0083 RPM error).

Below is the cleaned point cloud of that same test object spinning at 5.22 RPM, rendered from the filtered .ply sequence.

// PCD animation, cleaned triangular test object spinning at 5.22 RPM

Measured vs. Truth

The requirements called for ≤5% dimension and RPM error at 90% likelihood. Across n=9–10 trials, the system met that bar on width but fell short on height, depth, and RPM, an honest result, not a polished one.

METRICTRUTHAVG DEVIATION% ERRORREQ. (≤5%)

Width

15.1 cm0.31 cm~2.1%MET

Height

11.3 cm2.77 cm~24.5%MISSED

Depth

2.54 cm0.41 cm~16.1%MISSED

RPM

5.22 rpm0.70 rpm~13.4%MISSED
Graph of measured width vs. 15.1cm truth value, n=10Width vs. Truth (n=10)
Graph of measured rotational velocity vs. 5.22 rpm truth value, n=9RPM vs. Truth (n=9)

Width (measured off the object's widest, most consistently-visible face) held tightly to truth. Height and depth suffered from the test stand itself bleeding into the bounding box, and RPM estimation degraded sharply near edge-on frames where the tracked plane briefly vanished (see the raw per-frame spikes in Fig. 21).

Challenges & Future Work

// HARDWARE CHALLENGES
  • 3D-printing tolerances on the test object

  • Constant redesign of the stand legs

  • Achieving smooth, constant rotation

  • Motor swaps for driver compatibility

  • Isolating the LiDAR from background clutter

// SOFTWARE CHALLENGES
  • RealSense library quirks and edge cases

  • Deriving the depth-to-scaling-factor relationship

  • Accurately isolating RPM from noisy frames

  • Tuning the PCD filtering chain

  • Building the C++ Point Cloud Library toolchain

Improved Accuracy

Better edge-case handling and filtering, a higher-accuracy camera, a refined test setup, and dual-camera splicing to eliminate blind spots.

Faster Data Pipeline

.bag → .ply conversion currently takes ~20 min per 1 min recorded, plus ~15 min to transfer. A direct USB-to-USB link and leaner output formats could roughly halve both.

Better Test Simulation

A larger, black 4×4×2 m test volume (the current background is too close and the stand itself gets picked up in the size estimate); explored magnetic levitation or a plastic-thread suspension to remove the stand from frame entirely.

Broader Testing Scope

Only the one extruded triangle has been tested so far. Next: more basic geometric shapes, more realistic "debris," and a CV pipeline to dynamically detect and isolate the object of interest instead of a fixed stand.

The LASER team, captured in false-color on the project's own LiDAR cameraThe LASER team, shot on their own LiDAR camera
Credits
FACULTY ADVISOR

Dr. Yu Takahashi

CUSTOMER

Clean Space LLC

PROJECT MANAGER

Luke Bray

HEAD OF SOFTWARE ENGINEERING

Alex Olson

HEAD OF HARDWARE ENGINEERING

Gavin Wakefield

CO-HEAD OF HARDWARE ENGINEERING

Martin Coba

L.A.S.E.R. (LiDAR And Sensor Engineering Researchers), Fort Lewis College Capstone, December 2024.