Robotics Software Engineer | ROS 2 & Networked Systems

Amin Ahmed G

Building ROS 2 autonomous systems and investigating the communication layer underneath them.

Robotics engineer specializing in ROS 2 autonomous navigation, multi-robot systems, and Nav2 — developing deeper expertise in DDS/RTPS communication architecture and robotics network security.

amin@roboshield:~
ROS2 Core: ACTIVE
amin@roboshield:~$

About Me

A.R.E.S. Autonomous Robotic Exploration System Illustration

Robotics Engineer. ROS 2 Systems. Networked Autonomy.

I am a fourth-year B.E. Robotics & Automation student at Anna University (Expected 2027). I build ROS 2 autonomous mobile robot systems — from Nav2 navigation stacks and AMCL localization to multi-robot coordination and Gazebo Harmonic simulations.

Alongside autonomous systems, I am developing a technical specialization in the communication layer underneath ROS 2 — investigating DDS/RTPS packet flow, building a real-time intrusion detection system for ROS 2 networks in Rust (RoboShield), and working toward a deeper understanding of how robotics software and network security intersect.

Autonomy & Nav2

NavFn Path Planner, DWB Controller, AMCL Particle Filters, Keepout Costmaps.

FSM & TSP Optimisation

7-State Python FSM, Action Clients, Nearest-Neighbour Route Heuristics.

Real-Time Embedded

STM32 ARM Cortex-M, <1ms Loop PID Control, UART/I2C/SPI, FreeRTOS.

B.E. Robotics and Automation

Anna University — Chennai, India (Expected 2027)

Key Coursework: Control Systems, Robot Kinematics, Embedded C, Sensors & Instrumentation, Microprocessors

Technical Skills

Robotics software at the core — with embedded hardware, industrial automation, and a developing focus on networked systems and DDS/RTPS security.

Core Robotics

  • ROS 2 (Humble / Jazzy)
    Intermediate
  • Nav2 & Navigation Stack
    Intermediate
  • Gazebo (Harmonic, Classic)
    Intermediate
  • SLAM (Cartographer)
    Intermediate
  • AMCL Localisation
    Intermediate
  • Python (ROS 2 nodes, FSM)
    Intermediate
  • C / C++ (ROS 2 & Embedded)
    Intermediate

Robotics Systems & Networking

  • DDS / RTPS Protocol
    Familiar
  • Linux (Ubuntu / Hyprland)
    Intermediate
  • Docker & Git Workflow
    Intermediate
  • Packet Analysis (libpcap)
    Familiar
  • Rust
    Learning
  • Bash Scripting
    Intermediate

Embedded & Hardware

  • STM32 & ARM Cortex-M
    Intermediate
  • ESP32
    Intermediate
  • PID Control Tuning
    Intermediate
  • PCB Design (EasyEDA)
    Intermediate
  • UART, I2C, SPI
    Intermediate
  • Sensors & Instrumentation
    Intermediate

Industrial Automation

  • CODESYS Ladder Logic
    Intermediate
  • PLC Programming
    Intermediate
  • SolidWorks / Fusion 360
    Intermediate
  • STM32CubeIDE
    Intermediate
  • Collaborative Robots (JAKA)
    Familiar

Work Experience

Hands-on internship experience in autonomous mobile robots, industrial cobots, and UAV hardware.

Jul 2026 · 20 Days

Karthikesh Robotics (KKR)

Robotics Intern · Chennai, India | Mentors: Karthikesh & Sundar

Completed an intensive 20-day robotics training program culminating in the Café Butler Robot — a fully autonomous multi-table delivery robot built from scratch using ROS 2 (Humble / Jazzy) and Gazebo Harmonic. Implemented a custom 7-state Finite State Machine (FSM), Nav2 navigation with AMCL localisation, dual LiDAR sensor fusion, DWB local planner, keepout zone costmaps, nearest-neighbour route optimisation, and a live WebSocket operator dashboard. Built on and extended the simulation environment provided by mentor Sundar sir as a reference base.

ROS 2 (Humble / Jazzy) Gazebo Harmonic Nav2 + AMCL Python FSM rosbridge WebSocket DWB Controller
2025 (21 Days)

Robonetics Automation Solutions LLP

Robotics Intern | Chennai, India

Gained hands-on experience working with industrial JAKA cobots (collaborative robots) in AGV/AMR deployment. Designed mounting assemblies using SolidWorks and witnessed how autonomous mobile vehicles coordinate workflows inside a live warehouse environment.

2024 (7 Days)

Drone Technology Internship

Intern | NSIC Technical Services Centre, Chennai

Studied UAV construction fundamentals. Assembled and disassembled carbon-fiber agricultural drone frames. Performed basic parts modeling using CATIA and reviewed battery chemistry and payload kinematics.

Other Technical & Leadership Experience

2024

Event Organizer

Line Follower Robot Competition | University

Drafted the official competition rulebook, designed the path geometries and checkpoint configurations, and oversaw track construction for the university's annual Line Follower Robot race.

Ongoing

Linux Workstation Optimization

Personal Setup · Ubuntu 24.04 / Hyprland

Customized a Ubuntu / Hyprland tiling window manager environment optimized for low RAM overhead at idle to maximize computational resources available to Gazebo simulation workloads.

Projects

Key engineering projects from my academic research and GitHub repositories.

Swarm & AMRs

AMR Leader-Follower Robot System

A multi-robot Autonomous Mobile Robot (AMR) formation control system featuring 4-wheel drive kinematics in Gazebo Harmonic, dynamic TF frame tracking, EKF sensor fusion (robot_localization), obstacle avoidance, Nav2 AMCL localization, and an interactive web control dashboard.

ROS 2 (Humble / Jazzy) Gazebo Harmonic AMR Swarm Nav2 AMCL TF2 Tracking Web Dashboard C++ / Python
Engineering Challenge

The follower kept losing localization on sharp turns — its AMCL particle filter was tuned too tight for the odometry drift it was actually seeing. Retuned the covariance model around real sensor noise instead of simulation defaults.

Autonomous Delivery

Café Butler Robot — Autonomous Multi-Table Delivery System

A fully autonomous FSM-driven differential-drive mobile robot that navigates a simulated café environment, collects food orders from the kitchen, and delivers them to multiple customer tables with route optimisation. Features a live WebSocket operator dashboard, Nav2 navigation stack, AMCL localisation, dual LiDAR sensors, keepout zones, and delivery metrics logging. Final project under the mentorship of Karthikesh Robotics.

ROS 2 (Humble / Jazzy) Gazebo Harmonic Nav2 AMCL Python FSM rosbridge WebSocket DWB Controller Web Dashboard
Engineering Challenge

The robot could hang indefinitely mid-delivery if a kitchen confirmation signal was missed — no timeout was built into that state. Added a timeout-and-retry path before escalating to an error state.

Mecanum Bot Simulation Screenshot
Simulation

Mecanum Bot Simulator

A 4-wheel kinematic mecanum drive robot simulation running in ROS 2 (Humble / Jazzy) and Gazebo Harmonic. Integrates LiDAR, SLAM (Cartographer), Nav2, and custom gz_ros2_control nodes.

ROS 2 (Humble / Jazzy) Gazebo Harmonic Python C++ Nav2
Engineering Challenge

SLAM produced distorted maps because the odometry model didn't account for the sideways drift a holonomic drive introduces. Rebuilt the odometry around a model that reflects mecanum kinematics.

Simulation

Two-Wheel Differential Bot

Autonomous differential drive mobile robot simulated in ROS 2 (Humble / Jazzy) and Gazebo Harmonic. Features LiDAR sensor plugins, joint state broad-casters, Gazebo diff-drive controllers, and Python waypoint navigation.

ROS 2 (Humble / Jazzy) Gazebo Harmonic Differential Drive Python
Engineering Challenge

The navigation stack lost position without warning when the drive controller reset odometry without republishing the transform. Added a watchdog that flags stale transforms immediately.

Security & Networking

RoboShield: RTPS NIDS & Firewall

Built as an investigation into the communication layer underneath ROS 2. RoboShield is a lightweight, real-time intrusion detection system and inline packet filter for ROS 2 networks. Parses wire-level RTPS submessages (the DDS transport protocol ROS 2 runs on), tracks node publication frequencies, and blocks anomalous traffic using NFQUEUE. Developed in Rust to explore how robotics software and network security intersect at the protocol level.

ROS 2 (Humble / Jazzy) Rust DDS / RTPS libpcap NFQUEUE Network Security
Engineering Challenge

Packet reads went stale under Docker's bridge networking — an assumption that held on the host network silently broke in a container. Rebuilt capture logic to be network-topology-agnostic.

Hardware

STM32 Line Follower Robot

Physical differential robot powered by an STM32 ARM Cortex-M micro-controller. Features high-speed analog sensor fusion, custom PID motor control, and optimized loop timing running under 1ms for stability at speed.

STM32 Embedded C PID Tuning Sensor Fusion
Engineering Challenge

Sensor cross-talk at higher speeds introduced enough noise to destabilize the control loop. A moving-average filter ahead of the PID calculation — a one-line fix that took real testing at speed to catch.

Temperature Sensor PCB Layout 3D Render
Hardware Design

Temperature Sensor PCB

A custom 2-layer PCB designed in EasyEDA containing an ESP32 microcontroller, AMS1117 linear regulator, LM35 analog temperature sensor, USB filtering power circuitry, and UART serial programming header.

ESP32 EasyEDA Hardware Layout JLCPCB
What broke

The voltage regulator ran hotter than expected under USB power because the thermal pad was undersized. Now runs a thermal simulation before finalising any board layout.

CODESYS Motor Control Ladder Logic Screenshot
Automation

CODESYS Motor Control PLC

Industrial motor control program written in PLC Ladder Logic using the CODESYS environment. Features start/stop latching with seal-in logic, normally-closed emergency stop override, and custom TON timers.

CODESYS Ladder Logic PLC Simulation Automation
What I'd do differently

Structure each rung with a clear comment explaining its safety intent — makes it far easier for another engineer to audit or modify without accidentally removing a critical interlock.

Ubuntu Conky System Monitor Setup Screenshot
Utility

Ubuntu System Monitor (Conky)

A highly customized, lightweight system monitor widget for Ubuntu 24.04/Hyprland environment optimized to display CPU/GPU temperature, core loading, and memory overhead during heavy ROS 2 Gazebo loads.

Shell Scripting Conky Linux Tuning Hyprland

Control Systems Lab

A live interactive PID tuning simulator and FSM visualizer. Switch tabs to explore both.

LIVE TRACKING VISUALIZER
Steering Error Over Time (e = line center - robot position)

PID Gain Tuning

Formulate steering: \(u(t) = K_p e(t) + K_i \int e(t)dt + K_d \frac{de(t)}{dt}\)

Presets:
0.05
0.0001
0.35
Crosstrack Error: 0.00 px
Control Output: 0.00 rad/s
Control Loop Tick: < 1.0 ms

Interactive state diagram for the Café Butler robot's 7-state FSM. Click a state or edge to trigger a transition. Click Auto Demo to run a full delivery sequence.

[FSM] System ready. Click a state or edge to trigger transitions.
Top-Down View
ROBOTICS CODEBASE TELEMETRY • STATUS: ACTIVE

Engineering Activity & Commit Matrix

Consistent hands-on commits across ROS 2 (Humble / Jazzy), Gazebo Harmonic, Nav2 stacks, C++/Python algorithms, and WebSocket control panels.

Autonomous Navigation

ROS 2 (Humble/Jazzy) • Nav2 • AMCL • DWB • Costmaps

FSM & Path Planning

Python FSM • Route Optimisation • Task Queuing

Sensors & Hardware

Dual LiDAR • EKF Fusion • STM32 • ros2_control

365-DAY COMMIT HEATMAP 13 Public Repos • 215 Total Contributions
No contributions on July 27th.No contributions on August 3rd.No contributions on August 10th.No contributions on August 17th.No contributions on August 24th.No contributions on August 31st.No contributions on September 7th.No contributions on September 14th.No contributions on September 21st.No contributions on September 28th.No contributions on October 5th.No contributions on October 12th.No contributions on October 19th.No contributions on October 26th.No contributions on November 2nd.No contributions on November 9th.No contributions on November 16th.No contributions on November 23rd.No contributions on November 30th.No contributions on December 7th.No contributions on December 14th.No contributions on December 21st.No contributions on December 28th.No contributions on January 4th.No contributions on January 11th.No contributions on January 18th.No contributions on January 25th.No contributions on February 1st.No contributions on February 8th.No contributions on February 15th.No contributions on February 22nd.No contributions on March 1st.No contributions on March 8th.No contributions on March 15th.No contributions on March 22nd.No contributions on March 29th.No contributions on April 5th.18 contributions on April 12th.No contributions on April 19th.No contributions on April 26th.No contributions on May 3rd.No contributions on May 10th.No contributions on May 17th.No contributions on May 24th.No contributions on May 31st.No contributions on June 7th.No contributions on June 14th.No contributions on June 21st.No contributions on June 28th.No contributions on July 5th.4 contributions on July 12th.No contributions on July 19th.No contributions on July 26th.No contributions on July 28th.No contributions on August 4th.No contributions on August 11th.No contributions on August 18th.No contributions on August 25th.No contributions on September 1st.No contributions on September 8th.No contributions on September 15th.No contributions on September 22nd.No contributions on September 29th.No contributions on October 6th.No contributions on October 13th.No contributions on October 20th.No contributions on October 27th.No contributions on November 3rd.No contributions on November 10th.No contributions on November 17th.No contributions on November 24th.No contributions on December 1st.No contributions on December 8th.No contributions on December 15th.No contributions on December 22nd.No contributions on December 29th.No contributions on January 5th.No contributions on January 12th.No contributions on January 19th.No contributions on January 26th.No contributions on February 2nd.No contributions on February 9th.No contributions on February 16th.No contributions on February 23rd.No contributions on March 2nd.No contributions on March 9th.No contributions on March 16th.No contributions on March 23rd.No contributions on March 30th.No contributions on April 6th.No contributions on April 13th.No contributions on April 20th.No contributions on April 27th.No contributions on May 4th.No contributions on May 11th.No contributions on May 18th.No contributions on May 25th.No contributions on June 1st.No contributions on June 8th.No contributions on June 15th.No contributions on June 22nd.No contributions on June 29th.No contributions on July 6th.6 contributions on July 13th.6 contributions on July 20th.7 contributions on July 27th.No contributions on July 29th.No contributions on August 5th.No contributions on August 12th.No contributions on August 19th.No contributions on August 26th.No contributions on September 2nd.No contributions on September 9th.No contributions on September 16th.No contributions on September 23rd.No contributions on September 30th.No contributions on October 7th.No contributions on October 14th.No contributions on October 21st.No contributions on October 28th.No contributions on November 4th.No contributions on November 11th.No contributions on November 18th.No contributions on November 25th.No contributions on December 2nd.No contributions on December 9th.No contributions on December 16th.No contributions on December 23rd.No contributions on December 30th.No contributions on January 6th.No contributions on January 13th.No contributions on January 20th.15 contributions on January 27th.No contributions on February 3rd.No contributions on February 10th.No contributions on February 17th.No contributions on February 24th.No contributions on March 3rd.No contributions on March 10th.No contributions on March 17th.No contributions on March 24th.No contributions on March 31st.No contributions on April 7th.No contributions on April 14th.No contributions on April 21st.No contributions on April 28th.No contributions on May 5th.No contributions on May 12th.No contributions on May 19th.No contributions on May 26th.No contributions on June 2nd.No contributions on June 9th.No contributions on June 16th.No contributions on June 23rd.No contributions on June 30th.6 contributions on July 7th.2 contributions on July 14th.19 contributions on July 21st.No contributions on July 28th.No contributions on July 30th.No contributions on August 6th.No contributions on August 13th.No contributions on August 20th.No contributions on August 27th.No contributions on September 3rd.No contributions on September 10th.No contributions on September 17th.No contributions on September 24th.No contributions on October 1st.No contributions on October 8th.No contributions on October 15th.No contributions on October 22nd.No contributions on October 29th.No contributions on November 5th.No contributions on November 12th.No contributions on November 19th.No contributions on November 26th.No contributions on December 3rd.No contributions on December 10th.No contributions on December 17th.No contributions on December 24th.No contributions on December 31st.No contributions on January 7th.No contributions on January 14th.No contributions on January 21st.No contributions on January 28th.No contributions on February 4th.No contributions on February 11th.No contributions on February 18th.No contributions on February 25th.No contributions on March 4th.No contributions on March 11th.No contributions on March 18th.No contributions on March 25th.No contributions on April 1st.No contributions on April 8th.No contributions on April 15th.No contributions on April 22nd.No contributions on April 29th.No contributions on May 6th.No contributions on May 13th.No contributions on May 20th.No contributions on May 27th.No contributions on June 3rd.No contributions on June 10th.No contributions on June 17th.No contributions on June 24th.No contributions on July 1st.No contributions on July 8th.No contributions on July 15th.7 contributions on July 22nd.6 contributions on July 29th.No contributions on July 31st.No contributions on August 7th.No contributions on August 14th.No contributions on August 21st.No contributions on August 28th.No contributions on September 4th.No contributions on September 11th.No contributions on September 18th.No contributions on September 25th.No contributions on October 2nd.No contributions on October 9th.No contributions on October 16th.No contributions on October 23rd.No contributions on October 30th.No contributions on November 6th.No contributions on November 13th.No contributions on November 20th.No contributions on November 27th.No contributions on December 4th.No contributions on December 11th.No contributions on December 18th.No contributions on December 25th.No contributions on January 1st.No contributions on January 8th.No contributions on January 15th.No contributions on January 22nd.No contributions on January 29th.No contributions on February 5th.No contributions on February 12th.No contributions on February 19th.No contributions on February 26th.No contributions on March 5th.No contributions on March 12th.No contributions on March 19th.No contributions on March 26th.No contributions on April 2nd.No contributions on April 9th.No contributions on April 16th.No contributions on April 23rd.No contributions on April 30th.No contributions on May 7th.No contributions on May 14th.No contributions on May 21st.No contributions on May 28th.No contributions on June 4th.No contributions on June 11th.No contributions on June 18th.1 contribution on June 25th.No contributions on July 2nd.7 contributions on July 9th.1 contribution on July 16th.39 contributions on July 23rd.5 contributions on July 30th.No contributions on August 1st.No contributions on August 8th.No contributions on August 15th.No contributions on August 22nd.No contributions on August 29th.No contributions on September 5th.No contributions on September 12th.No contributions on September 19th.No contributions on September 26th.No contributions on October 3rd.No contributions on October 10th.No contributions on October 17th.No contributions on October 24th.No contributions on October 31st.No contributions on November 7th.No contributions on November 14th.No contributions on November 21st.No contributions on November 28th.No contributions on December 5th.No contributions on December 12th.No contributions on December 19th.No contributions on December 26th.No contributions on January 2nd.No contributions on January 9th.No contributions on January 16th.No contributions on January 23rd.No contributions on January 30th.No contributions on February 6th.No contributions on February 13th.No contributions on February 20th.No contributions on February 27th.No contributions on March 6th.No contributions on March 13th.No contributions on March 20th.No contributions on March 27th.No contributions on April 3rd.No contributions on April 10th.No contributions on April 17th.No contributions on April 24th.No contributions on May 1st.No contributions on May 8th.No contributions on May 15th.No contributions on May 22nd.No contributions on May 29th.No contributions on June 5th.No contributions on June 12th.No contributions on June 19th.2 contributions on June 26th.No contributions on July 3rd.4 contributions on July 10th.3 contributions on July 17th.4 contributions on July 24th.No contributions on August 2nd.No contributions on August 9th.No contributions on August 16th.No contributions on August 23rd.No contributions on August 30th.No contributions on September 6th.No contributions on September 13th.No contributions on September 20th.No contributions on September 27th.No contributions on October 4th.No contributions on October 11th.No contributions on October 18th.No contributions on October 25th.No contributions on November 1st.No contributions on November 8th.No contributions on November 15th.No contributions on November 22nd.No contributions on November 29th.No contributions on December 6th.No contributions on December 13th.No contributions on December 20th.No contributions on December 27th.No contributions on January 3rd.No contributions on January 10th.No contributions on January 17th.No contributions on January 24th.No contributions on January 31st.No contributions on February 7th.No contributions on February 14th.No contributions on February 21st.No contributions on February 28th.No contributions on March 7th.No contributions on March 14th.No contributions on March 21st.No contributions on March 28th.No contributions on April 4th.No contributions on April 11th.No contributions on April 18th.No contributions on April 25th.No contributions on May 2nd.No contributions on May 9th.No contributions on May 16th.No contributions on May 23rd.No contributions on May 30th.No contributions on June 6th.No contributions on June 13th.No contributions on June 20th.No contributions on June 27th.No contributions on July 4th.No contributions on July 11th.No contributions on July 18th.No contributions on July 25th.
Contribution Graph
Day of Week August September October November December January February March April May June July
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Less More
13
GitHub Repositories
Public Engineering Repos
4
ROS 2 Simulation Projects
Nav2 · AMCL · Gazebo Harmonic · TF2
1
Robotics Security System
DDS / RTPS · Rust · libpcap · NFQUEUE
2
Physical Hardware Projects
STM32 · PID · Custom PCB · EasyEDA
2
Industrial Automation Projects
CODESYS · Ladder Logic · PLC · JAKA Cobots

Get In Touch

Let's collaborate on robotics software, control system designs, or embedded solutions.

Contact Information

Feel free to reach out to me for internship opportunities, research collaborations, or simply to talk about ROS 2!

Chennai, Tamil Nadu, India

Send a Message

Reachable Line
Call Now +91 8122241705