Robotic Software Architecture (COMP3431)
Back to Projects

Robotic Software Architecture (COMP3431)

Autonomous navigation stack for TurtleBot3 using SLAM, sensor fusion, and custom control nodes.

Role

Robotics Engineer

Year

2023

Stack
ROS2
Python
SLAM
Computer Vision
Robot Navigation
Sensors
Links

Private

Overview

For my Robotic Software Architecture course at UNSW, I built an autonomous navigation system for the TurtleBot3 platform using ROS2. The project involved SLAM, wall-following behaviour, custom control nodes, sensor fusion, and real-time computer vision. The system was deployed in both simulation and physical robot environments.

TurtleBot3 performing SLAM mapping

ROS2-Based Navigation Stack

I designed the full ROS2 architecture, including custom nodes for control, perception, and mapping. The robot used SLAM to build dynamic maps of indoor environments, while a wall-following node allowed it to navigate safely through corridors and tight spaces.

Camera–LiDAR fusion visualisation

Sensor Fusion: Camera + LiDAR

I implemented a real-time object detection pipeline by combining LiDAR range data with camera-based vision. Using OpenCV, the robot annotated detected objects on the map and reacted to them in real time, enhancing environmental awareness and navigation accuracy.

Custom ROS2 Nodes

I developed dedicated ROS2 nodes for: - Motion control (velocity commands, turning logic) - SLAM + map building - Vision processing and object detection - State-driven behaviour switching Each node was built for modularity, allowing the system to scale and interact cleanly via ROS2 topics and services.

Project Infrastructure

I managed the GitHub repository structure, launch files, package setups, and simulation configurations. The final system was demonstrated live in both Gazebo simulation and on a real TurtleBot3 platform.

“This project deepened my understanding of robotics architecture, ROS2 communication patterns, and sensor-driven autonomy.”

Arjun