Robotics software engineer

Paula Contreras

I build robots that hear you, see you and help you, from the firmware up.

Electronic engineer from Cuenca, Ecuador. Fulbright Scholar finishing a Master of Computer Science at NC State.

Available January 2027 No sponsorship needed Open to relocate
Move your cursor or tap. Like my voice-guided robot, it turns toward the sound.

When a problem grabs me, I forget to sleep.

The first time I built a loop where an AI wrote code, tested it and improved it on its own, I worked from Thursday to Monday morning without noticing. That feeling is what I chase: a hard problem, fast feedback, and a machine that starts to come alive.

I'm an engineer who likes the whole stack: soldering a PCB, writing firmware for a microcontroller, tuning a ROS 2 controller, and getting a neural network to run on a Jetson. I also love finding the root cause of bugs that look impossible.

What I want: to build robots that help people, and to teach more people how to build them.

Things I've built

2022 – 2026
8/8doorway crossings after the fix

Assistive Pepper Robot on NVIDIA Jetson

2026

A companion robot for patients and caregivers. When someone walks in, Pepper recognizes them, says hello, checks in, and offers an activity: Simon Says, a guess-the-object game, or a seated exercise routine. All the AI runs locally on a Jetson attached to a robot that is more than ten years old.

  • Live video from the robot to the Jetson, with YOLOv8 object detection and local face recognition (SCRFD + AuraFace).
  • Root-caused corrupted camera frames to YUV422 decoding, and a torchvision::nms crash to a CUDA kernel missing from Jetson's aarch64 build.
  • Pepper refused to go through doorways. The fix was smaller steps, not a bigger push.
  • Bridged Pepper's navigation to ROS 2 / Nav2; tested with pytest plus a hardware-in-the-loop checklist.
PythonPyTorchYOLOv8CUDAJetsonROS 2
0.20 memergency-stop distance in the LiDAR safety filter

Assistive Cart Robot

2026 · Gazebo simulation

A shopping assistant that picks items off supermarket shelves: a UR5 arm with a Robotiq 2F-85 gripper on a 4-wheel cart. It grasps using only two fingertip contact sensors, with no camera in the loop.

  • Reactive grasp state machine: when only one finger touches the can, the gripper shifts toward that side to re-center before closing and lifting.
  • 3-level LiDAR safety filter for teleoperation (emergency stop, directional hard stops, slow zones) that fails safe to zero velocity if the scan drops.
  • PyQt5 operator GUI and a one-command bring-up with 7 Docker Compose services.
Grasp states driven by left (L) and right (R) contact sensors APPROACH CENTER_L CENTER_R ADV_BOTH SECURE L only R only deep
ROS 2 JazzyGazeboMoveIt 2ros2_controlDocker
<5°error locating who is speaking

Voice-Guided Social Robot

2025 · IEEE ETCM

A TurtleBot 3 that hears you, turns toward you and comes over. Built in Ecuador and published at the IEEE Ecuador Technical Chapters Meeting. It's the robot behind the little animation at the top of this page.

  • Sound source localization with a 4-microphone array: voice activity detection plus GCC-PHAT direction of arrival, feeding a PID heading controller.
  • Custom C++ firmware on the OpenCR board stops the robot at a cliff on the microcontroller itself, before ROS ever sees the message.
C++OpenCRROSSignal processingPID
+10.41%from a cache policy an LLM designed in the loop

LLM-Driven Design Loop

2025 · BrainSpec Lab, NC State

A closed loop where a language model writes C/C++ hardware policies, a simulator benchmarks them, and the results go back to the model so it improves the next version, with no hand-tuning in between. This is the project that made me forget to sleep, and the loop I want to bring to robots next.

  • Cache replacement policy: +10.41% over baseline across 5 industry-standard workloads.
  • L1 instruction prefetcher (IPC-1 framework): IPC from 0.950 to 0.981.
Generate, simulate, measure, refine LLM C++ policy simulator IPC · hit rate feedback
C/C++LLMsChampSimPython
2custom PCBs, designed and debugged by hand

IoT Embedded System

2022 · Universidad del Azuay

Bare-metal C firmware for an ESP32 that controls a TRIAC, drives a DC motor with PWM and reads several sensors, on two boards I designed. The faults were found with an oscilloscope, one signal at a time.

ESP32Bare-metal CPCB designPWM

Experience

May – Aug 2026Graduate Research Assistant, ARoS Lab · NC State

Built sensor-driven data collection infrastructure for imaging-based robotics experiments.

2023 – 2025Adjunct Lecturer · Universidad del Azuay

Taught and ran electronics labs. Built Python tools used by 150+ people.

2022Biomedical Engineering Intern · Hospital Vicente Corral Moscoso

Debugged ventilators and X-ray machines with an oscilloscope.

Education

Dec 2026Master of Computer Science · NC State University

GPA 3.83. Fulbright Scholar (Martín Egas Endowment).

2023B.S. Electronic Engineering · Universidad del Azuay

1st in my class. President of the Robotics Club: regional contests and AI courses for 100+ students.

Say hi

Let's build something that moves.

I'm looking for a full-time robotics software role starting January 2027. I'd love to hear about what you're building.