Yoink Aerospace

Completed in 2026 at the age of 19

Isaac Sim ROS 2 Reinforcement Learning Python C++
View Repository

Overview

Yoink-Aerospace bridges the gap between realistic physics simulation and real-world hardware. The project uses Isaac Sim and Isaac Lab to train a robust Reinforcement Learning agent capable of navigating Mars-like terrain. The trained policy is deployed synchronously onto a physical Lynxmotion A4WD1 rover through a digital twin running on ROS 2 FastDDS.

ROS 2 Digital Twin Architecture

Hover over the components to understand the distributed node architecture bridging simulation to physical hardware.

Digital Twin Node

inference.py

Isaac Sim Environment

Runs the Stable Baselines 3 RL policy in real-time. It mirrors the real rover's state from ROS telemetry and outputs calculated drive commands.

ROS 2 FastDDS Network

Publish / Subscribe Middleware

DDS Middleware

Facilitates low-latency, real-time messaging between the high-compute Digital Twin machine and the onboard Raspberry Pi over the network.

Serial Bridge

serial_bridge_node.py

Hardware Comm Bridge

Bridges ROS 2 topics to the physical Arduino over Serial. Translates motor commands and ingests encoder/IMU telemetry.

LiDAR Bridge

lidar_bridge_node.py

Sensor Processing

Processes raw 2D LiDAR scans and publishes them to the ROS 2 network, giving the digital twin its environmental awareness.

Arduino Microcontroller

Low-level PID Control

C++ PlatformIO

Handles the high-frequency PID motor control loops, wheel encoder tick counting, and raw IMU data parsing directly on the rover chassis.

Agent Navigation Simulation

Click anywhere on the Martian terrain to set a new Goal. The rover (simulating a policy via potential field heuristics) will dynamically use its "LiDAR" to steer around obstacles.

Back to Projects