HomePortfolioNASA Astrobee
EngineeringEmbedded SystemsComputer VisionSpace Robotics

NASA Astrobee
Autonomous Cargo System

Autonomous cargo management system for the International Space Station's Astrobee robot — combining real-time computer vision, ESP32 embedded firmware, and TCP/IP networking into a working prototype designed for microgravity operation.

CV Processing
Real-Time
Target Environment
ISS
Senior Design Showcase
FAU
Project Duration
2022–23

Project Overview

As part of a senior design collaboration with NASA's Astrobee team, I served as lead developer on an autonomous cargo management system for the International Space Station. Astrobee is NASA's free-flying robot designed to assist astronauts with routine tasks — this system extended its capabilities to independently identify, track, and manipulate cargo in a microgravity environment without astronaut intervention.

The project contributes to NASA's broader initiative to develop robotic assistants that reduce astronaut workload and improve operational efficiency — with the architecture designed to scale to future lunar habitats and deep-space missions. The completed prototype was showcased at Florida Atlantic University's Senior Design Showcase and received strong feedback from NASA collaborators.

Project Gallery

The Challenge

Building for space is a fundamentally different engineering problem. The ISS environment introduces constraints that don't exist on Earth — microgravity means cargo doesn't stay put, lighting is inconsistent and extreme, and there's zero tolerance for system lockups when a robot is operating autonomously near astronauts and sensitive equipment.

The system needed to coordinate three distinct technical domains simultaneously — computer vision, embedded hardware control, and real-time networking — all with deterministic timing, fail-safe recovery, and power efficiency suitable for a resource-constrained space environment.

System Architecture

Vision Layer (Python / OpenCV)
├── Live camera feed ingestion
├── ArUco & AprilTag detection
├── 3D position estimation
└── Cargo ID + orientation output
         │
         │  TCP/IP socket
         ▼
State Machine Controller
├── Command queuing
├── Fail-safe & watchdog logic
└── System state management
         │
         ▼
ESP32 Embedded Firmware (C++)
├── Electromagnetic actuation
├── Interrupt-driven response
├── Power state management
└── Fault logging
👁️

Computer Vision Layer

Python + OpenCV pipeline processes live camera feeds, detecting ArUco and AprilTag fiducial markers to identify cargo and compute 3D spatial position in real time — with occlusion handling and lighting compensation for the ISS visual environment.

ESP32 Embedded Firmware

Custom C++ firmware manages electromagnetic cargo capture and release with precise timing, interrupt-driven actuation, state-based power management (active/idle/sleep), and watchdog recovery for fault-tolerant autonomous operation.

🔌

TCP/IP Communication Bus

Custom socket-based host-client architecture transmits position data, cargo IDs, and control commands between vision and hardware layers with minimal latency, command queuing, and error correction for reliable delivery.

🧠

State Machine Controller

Coordination layer manages system state, queues high-frequency commands, handles fail-safe logic, and provides comprehensive logging — ensuring deterministic behavior and graceful recovery in safety-critical operation.

What I Built

Real-Time Computer Vision Pipeline

  • ArUco and AprilTag fiducial marker detection for precise cargo identification
  • 3D position and orientation estimation using stereo vision techniques
  • Lighting variation compensation and occlusion-handling algorithms
  • Optimized detection pipeline maintaining real-time frame rates under load
  • Robust tracking that maintains cargo ID through complex movements and rotations

ESP32 Embedded Firmware

  • Electromagnetic cargo capture and release with precise, timed actuation control
  • State-based system logic (active, idle, sleep) for power-constrained operation
  • Interrupt-driven response system for time-critical hardware events
  • Watchdog timer implementation for automatic recovery from unexpected states
  • Custom current limiting on electromagnetic actuators with fault logging

TCP/IP Communication System

  • Host-client socket architecture bridging vision layer and embedded hardware
  • Low-latency transmission of position data, cargo IDs, and control signals
  • Command queuing system handling high-frequency update bursts
  • Error detection and correction protocols ensuring reliable delivery
  • Network resilience features for graceful handling of connectivity interruptions

Key Engineering Decisions

Why fiducial markers instead of pure object detection?

Fiducial markers like ArUco give sub-centimeter positional accuracy at real-time frame rates without a GPU. For a cargo system where precise docking matters, the reliability far outweighs the constraint of requiring markers on cargo containers.

Why TCP/IP sockets instead of a message broker?

Latency was the primary constraint. A direct socket connection between the vision host and ESP32 adds microseconds, not milliseconds — critical when electromagnetic actuators need to fire within a narrow timing window after a position fix.

Why ESP32 for embedded control?

The ESP32 offers a dual-core processor, built-in WiFi for the TCP/IP layer, and real-time interrupt handling — all in a compact, low-power package. Its FreeRTOS support also made implementing the state machine and watchdog system straightforward.

🛸
NASA Collaboration

Built in direct collaboration with NASA's Astrobee team through Florida Atlantic University's Senior Design program. Presented to NASA engineers at the FAU showcase.

Outcome & Impact

3-Layer
Unified Architecture
Real-Time
CV + Hardware Sync
NASA
Collaborator Validated
ISS-Scale
Design Targets Met

The prototype demonstrated reliable autonomous cargo detection, tracking, and actuation under simulated ISS constraints. NASA collaborators highlighted its modular, scalable architecture as a strong foundation for future autonomous systems aboard the ISS and in next-generation space habitats. Presented at Florida Atlantic University's Senior Design Showcase to an audience of industry and NASA engineers.

Tech Stack

PythonOpenCVESP32C++TCP/IPArUcoAprilTagComputer VisionSocket ProgrammingRobotics
Role
Lead Developer
Duration
2022 – 2023
Category
Embedded Systems / Robotics
Collaborator
NASA Astrobee Team
Presented At
FAU Senior Design Showcase
App & Systems Development