Hello, I'm

Nishanth
Sundaran

I build safe, intelligent robots that work alongside people. M.Eng. AI graduate working across collaborative robotics, humanoid autonomy, and agentic AI with vision-language models.

ROS 2 MoveIt 2 VLM / VLA Agentic AI Humanoid Robotics PyTorch Python ISO/TS 15066
Nishanth Sundaran

About Me

Recent M.Eng. Graduate, Robotics and AI · Cham, Bavaria

Graduated 14 June 2026. Immediately available for full-time roles in Germany. EU residence permit under §20 AufenthG.

I am a robotics and AI engineer based in Cham, Bavaria. I recently completed my M.Eng. in Artificial Intelligence for Smart Sensors and Actuators at Technische Hochschule Deggendorf, and my focus is robots that are safe and genuinely useful around people.

My Master's thesis delivered a complete human-robot interaction stack on a UR3e cobot: a 500 Hz hybrid position-admittance controller, an ISO/TS 15066 safety layer (Speed & Separation Monitoring, Power & Force Limiting, Hand Guiding), and YOLOv8 human detection on an Intel RealSense D435i, built in ROS 2 Humble and MoveIt 2 and validated on real hardware.

Since then I have focused on connecting foundation models to real robot bodies: a Claude tool-use agent that turns natural-language commands into MoveIt 2 pick-and-place plans, a self-hosted Qwen2.5-VL brain that drives both the Unitree G1 and H1 humanoids through one tool interface, and a G1 motion-imitation policy trained on human motion capture in JAX and MJX.

Before robotics I worked as a project engineer on high-voltage power grids, in data analysis at Amazon, and as a remote ML intern applying computer vision to aerial imagery. I am now looking for full-time roles in humanoid robotics, VLA and embodied AI, or collaborative robotics.

UR3e collaborative robot workspace
UR3e workspace with Robotiq 2F-140 gripper and Intel RealSense D435i

Experience

Professional journey from power engineering to collaborative robotics

Sep 2025 to Jun 2026

Master's Thesis Researcher

Technische Hochschule Deggendorf (THD), Cham, Germany

  • Developed a real-time hybrid position-admittance controller for safe physical human-robot interaction on a UR3e collaborative robot using ROS 2 and MoveIt 2
  • Designed and implemented an ISO/TS 15066-compliant safety system with three operational modes: Speed & Separation Monitoring, Power & Force Limiting, and Hand Guiding
  • Built a computer vision pipeline with Intel RealSense D435i for YOLOv8-based human detection, hand-eye calibration, and HSV-based object localisation with depth back-projection
  • Created a 13-state FSM for assistive lift-and-place tasks integrating autonomous grasping with human-guided placement via real-time force feedback
ROS 2MoveIt 2PythonOpenCVYOLOv8Intel RealSenseGazebotf2
Dec 2023 to Nov 2024

Machine Learning Intern

Energy Future World, London, United Kingdom (Remote)

  • Applied computer vision to aerial imagery for tracking renewable energy infrastructure growth, achieving 85% detection accuracy
  • Developed image processing algorithms (edge detection, contrast enhancement) using OpenCV
  • Conducted pattern analysis and model training using Scikit-learn, NumPy, and Pandas
PythonOpenCVScikit-learnNumPyPandasJupyter
Mar 2022 to Dec 2022

Process Associate

Amazon, Bangalore, India

  • Performed data analysis and auditing to identify process performance trends
  • Contributed to automation and system optimisation initiatives using data-driven forecasting
May 2019 to Dec 2021

Project Engineer

Power And Instrumentations Ltd, Gujarat, India

  • Analysed high-voltage power grid performance data to optimise reliability and identify failure patterns
  • Managed cost tracking, quality control, and resource allocation across multiple project sites

Projects

Academic and personal projects spanning robotics, AI, and computer vision

Portfolio Project

Embodied LLM Agent for UR3e Pick-and-Place

Production-pattern agentic AI product built on Claude tool-use: a natural-language command becomes a grounded robot plan through structured outputs, validation logic, and an evaluation loop. A Claude vision model reads the RealSense D435i frame and returns a JSON list of objects with pixel centres; depth + camera intrinsics back-project each one into the base_link frame; a Claude planner then drives an 8-tool loop (describe_scene, pick, place, move_to, open_gripper, close_gripper, check_safety, home) to execute the instruction on MoveIt 2. Built on top of my thesis's UR3e + Robotiq 2F-140 + D435i Gazebo sim, with a read-only safety gate that reuses the thesis F/T and proximity topics. The point is that the high-level reasoning (e.g. "put the red block next to the blue cup" → grasp pose → place pose) is synthesised by the LLM over real tool feedback, not a hand-written state machine.

Claude (Anthropic API)Tool UseVLMROS 2 HumbleMoveIt 2UR3eRobotiq 2F-140RealSense D435iGazeboPython
Master's Thesis · Demo

Human-Robot Interaction with Force Feedback in Collaborative Tasks

Complete HRI framework on a UR3e cobot: hybrid admittance control, ISO/TS 15066 safety (SSM, PFL, Hand Guiding), YOLOv8 human detection with Intel RealSense D435i, and a 13-state FSM for assistive manipulation.

ROS 2MoveIt 2YOLOv8PythonGazeboISO/TS 15066UR3eIntel RealSense
  View on GitHub
Portfolio Project

G1 Motion Imitation: Learning Human Gait from Motion Capture

Side-by-side comparison: LAFAN1 human motion-capture reference on the left (speed 0.49 m/s, stride 0.46 m, cadence 1.07/s) and the trained Unitree G1 policy at cycle 7 on the right (speed 0.49 m/s, stride 0.39 m, cadence 1.52/s, 4.6B training steps), both walking in MuJoCo with overlaid gait metrics

DeepMimic-style motion imitation training the Unitree G1 to track LAFAN1 human mocap, running in JAX and MJX with PPO on a 6 GB laptop GPU at ~30,000 env-steps/s (9x the CPU baseline); 5.8B total training steps across 13 measured cycles. The resulting gait sits within 2 to 7% of the human reference on speed (0.48 vs 0.49 m/s), cadence (1.09 vs 1.07/s), stride (0.43 vs 0.46 m) and pelvis bounce. Found that PD position control reached in 5M steps what the reference torque-control recipe needed 300M for (~60x sample efficiency), and shipped four undocumented framework fixes upstream, including a silent JAX-scalar vs MuJoCo-enum bug that had been blocking every dataset load.

JAXMJXPPODeepMimicLAFAN1 MocapUnitree G1MuJoCoPython
Case Study

Autonomous Mobile Robot with SLAM & Nav2

Four-wheeled mobile robot with a 2D LiDAR, rebuilt from scratch on ROS 2 Humble as a solo portfolio piece. Runs slam_toolbox for online SLAM and a full Nav2 stack (AMCL, NavFn A*, DWB local planner, behaviour-tree navigator) for autonomous goal-to-pose navigation on the saved map. Verified in a cluttered warehouse: 3/3 goals reached, 0 collisions, 0 recoveries on the final tuning pass.

ROS 2 HumbleNav2slam_toolboxGazebo ClassicAMCLDWBURDF/XacroPython Launch
Case Study

Air Quality Index Prediction & Forecasting for Chennai

Seven independent SARIMA models (PM2.5, PM10, NO2, SO2, O3, CO, and overall AQI) trained on the Kaggle Air Quality in India dataset, feeding monthly pollutant forecasts into the Indian CPCB sub-index formula I = ((IHI−ILO)/(BPHI−BPLO))(Cp−BPLO) + ILO. Overall AQI = max sub-index across pollutants, with a colour-coded six-category severity banner and health advice. The original Tkinter windows were rewritten as a single Streamlit web app with a forecast-by-month tab and a live AQI calculator tab (dominant-pollutant readout, CSV export, expandable CPCB breakpoint reference).

PythonSARIMAstatsmodelsStreamlitPandasTime-series forecastingCPCB India standard
Self Study

Object Detection Using YOLO with Audio Alert

Integrated YOLOv8 with Google text-to-speech (gTTS) and a real-time GUI for enhancing accessibility for visually impaired users with audio feedback of detected objects.

YOLOv8gTTSPythonGUI
Self Study

Contour Detection Using Computer Vision

Classical OpenCV pipeline that segments individual tablets inside a blister pack and classifies each by whether its horizontal seam edge is visible. Pipeline: Sobel-based edge exploration → Gaussian blur + adaptive thresholding to get a clean binary mask → Canny edges on the cropped region → cv2.findContours with area filtering to isolate tablets → per-contour horizontal-edge check drives red / green bounding-box classification. Built without any deep learning, the point was to reason about edges, thresholds, and morphology from first principles.

OpenCVPythonSobelCannyAdaptive ThresholdingContour Analysis
Self Study

Point Operations: Brightness, Contrast & Inversion

Implemented the core pixel-wise intensity transforms from first principles: the affine map g(x,y) = α·f(x,y) + β drives darken, lighten, low-contrast, and high-contrast variants; a bitwise NOT gives the photographic negative; and a weighted RGB→luminance projection 0.3R + 0.6G + 0.1B produces grayscale. All seven outputs (original, darken, lighten, invert, low-contrast, high-contrast, grayscale) are rendered side by side. No library-level helpers beyond the numpy clip and the OpenCV colour-space wrappers.

Seven-panel comparison of a sports photograph showing original, darken, lighten, invert, low-contrast, high-contrast, and grayscale variants
OpenCVNumPyPythonPoint OperationsImage Processing
Self Study

Histogram Equalization from Scratch

Reimplemented global histogram equalization without using cv2.equalizeHist: compute the 256-bin intensity histogram, derive the PDF and then the CDF, and use np.interp to remap every pixel through the CDF × 255 lookup. Applied to an under-exposed sunset photograph where most of the intensity mass sits near zero; the equalized output spreads that narrow range across the full 0-255 gamut, pulling foliage texture and cloud structure out of the near-black regions.

Side-by-side comparison of an under-exposed sunset photograph and the same image after manual histogram equalization, showing recovered detail in the sky and foliage
NumPyMatplotlibPythonHistogram EqualizationImage Processing
Bachelor's Thesis

Implementation of MPPT on PV Cell Using Incremental Conductance Method

Modelled a 150W PV module in MATLAB/Simulink, implemented the Incremental Conductance MPPT algorithm with a SEPIC DC-DC converter. Achieved 97%+ MPP tracking accuracy, outperforming Perturb & Observe under varying irradiance.

MATLABSimulinkSimscapePower Electronics

Technical Skills

Tools and technologies I work with

  Programming & Tools

PythonC/C++GitLinuxVS CodeJupyter

  Robotics & Control

ROS 2MoveIt 2MoveIt ServoAdmittance ControlOMPLPilzSLAMGazeboURDF/Xacrotf2

  AI & Machine Learning

Agentic AITool UseVLMVLALLM Application DevelopmentPyTorchJAXTensorFlowScikit-learnDeep LearningReinforcement Learning (PPO)ARIMASARIMA

  Computer Vision & Sensors

OpenCVYOLOv8Intel RealSense D435iDepth EstimationHSV SegmentationHand-Eye CalibrationPoint Clouds

  Safety & Standards

ISO/TS 15066SSMPFLHand GuidingRisk AssessmentFunctional Safety

  Data & Analysis

NumPyPandasMatplotlibMATLABSimulinkFeature Engineering

Education

Academic background in AI and electrical engineering

Master of Engineering

Artificial Intelligence for Smart Sensors and Actuators

Technische Hochschule Deggendorf (DIT), Cham, Germany • 2022 to 2026

"Human-Robot Interaction with Force Feedback in Collaborative Tasks"

Specialisation: Machine Learning, Deep Learning, Computer Vision, Autonomous Systems, IoT, Robotics

Bachelor of Engineering

Electrical and Electronics Engineering

University of Calicut, Kerala, India

"Implementation of MPPT on PV Cell Using Incremental Conductance Method"

Specialisation: Digital Signal Processing, Digital System Design, Power Electronics, IoT

Certifications

External credentials backing the skill set

Vanderbilt University

AI Agents and Agentic AI with Python & Generative AI

August 2026

Vanderbilt University certificate for AI Agents and Agentic AI with Python and Generative AI, issued to Nishanth Sundaran, August 2026

Skills: Agentic AI, Tool Use, Function Calling, AI Agent Architecture, LLM Application Development, Prompt Engineering, Prompt Patterns, OpenAI API, Retrieval-Augmented Generation (RAG), Python for AI.

IBM

Machine Learning with Python

September 2026

IBM certificate for Machine Learning with Python, issued to Nishanth Sundaran, September 2026

Skills: Supervised Learning, Unsupervised Learning, Classification (Logistic Regression, KNN, SVM, Decision Trees), Regression (Linear, Non-linear), Clustering (k-means, Hierarchical, DBSCAN), Recommender Systems, Model Evaluation (Cross-validation, Precision/Recall/F1), Scikit-learn, Pandas.

Languages

English
Fluent
German
A2
Malayalam
Native
Tamil
Fluent
Hindi
Fluent

Get in Touch

Immediately available for full-time robotics and AI engineering roles in Germany. Based in Cham, Bavaria. EU work authorisation under §20 AufenthG. Open to relocation and hybrid or remote arrangements.