Introduction
Building a fully autonomous robot from scratch has been a long-term goal — a personal testing ground for ideas in navigation, perception, and control outside of a work context.
Early Decisions and Designs

Starting with components on hand, the first version used a drivetrain with open-loop stepper motors controlled by an Arduino Uno and motor driver hat, with a Raspberry Pi as master. Built alongside a friend to test basic autonomy and motor control.
Relevant links:
Challenges with Open-Loop Hardware
The constraints were immediate: stepper motors without encoders, no LiDAR, and no feedback loop. Still managed to teleoperate the robot and run open-loop paths.

Shift to ROS2
Rather than patch the first design, I restarted with ROS2 as the foundation, the current industry standard for autonomous mobile robotics.

Second Version
The second version is modular by design, built around DC motors with encoders, an IMU, and a power bank. The focus was on minimizing components while enabling proper closed-loop control and sensor integration.
Takeaways
Component selection early in development has an outsized impact on the trajectory of the project. Getting the sensing and actuation right from the start avoids expensive redesigns downstream.