SEDS Lunabotics - Software
The Challenge & Process
Northeastern’s SEDS Lunabotics team needed a software stack that could support a fully autonomous rover for the NASA Lunabotics-style competition. The challenge was to design an architecture that would let multiple subteams work in parallel on perception, localization, navigation, and control while keeping interfaces clear and behavior predictable under real-time constraints.
I led the design of a modular ROS2-based system with distinct nodes for sensing, planning, and actuation. We defined topic, service, and message interfaces up front so that hardware, vision, and control could be developed and tested independently. The process involved iterating on the node graph, documenting contracts, and validating communication and timing in simulation before integration on the physical rover.
The Solution & Impact
I designed and implemented a modular ROS2 architecture for the Lunabotics rover that enabled distributed nodes for perception, localization, navigation, and control with standardized interfaces. The system supported both autonomous and tele-operated modes via reliable DDS-based communication, and integrated sensor pipelines—IMU, encoders, vision—with navigation and actuator control.
We contributed to a 3rd place finish nationally at the NASA Lunabotics competition at the University of Iowa. Key outcomes included clean topic, service, and message definitions that allowed parallel team development, and a focus on robustness, real-time responsiveness, and debuggability under competition conditions. The architecture is documented and reusable for future rover iterations.