Open to Werkstudent, internship and thesis roles
AaronDsouza
Mechatronics engineer specialising in robot control and simulation.
M.Sc. student at TUM with industry experience at Airbus Defence and Space and Daimler Truck. I model dynamic systems, design their controllers and build the software that validates them.
Live simulation: a two-link arm under computed-torque control follows your cursor.
About
I work where mechanics, control and software meet: modelling how a system moves, designing the controller that moves it, and testing that it does what the model promised.
I'm studying for my M.Sc. in Mechatronics, Robotics and Biomechanical Engineering at the Technical University of Munich, after a B.Eng. in Mechatronics at THWS Würzburg-Schweinfurt.
I spent almost a year at Airbus Defence and Space in Immenstaad: an internship simulating spacecraft thermal behaviour in Systema and ESATAN, then my Bachelor's thesis building Python and MATLAB post-processing tools for the Airbus Thermal Tool Suite. At Daimler Truck I worked with battery systems and their integration, and at Hightech-Electronic I assembled and tested battery modules for medical devices.
At TUM I take robots from model to validated controller in MATLAB/Simulink: kinematics, dynamics, parameter identification, and control from PID and computed torque to Lyapunov-based adaptive control.
I'm looking for working student, internship and master's thesis positions in robotics, control systems, simulation or battery systems.
- Focus
- Robot modelling, control and simulation
- Studies
- M.Sc. at TUM since Oct 2025; B.Eng. Mechatronics, THWS
- Industry
- Airbus Defence and Space, Daimler Truck, Hightech-Electronic
- Looking for
- Werkstudent, internship or master's thesis
- Based in
- Munich, Germany
- Languages
- English (professional), German (B2)
Experience
Almost a year on spacecraft thermal engineering software at Airbus, plus hands-on work with battery systems in production and testing.
-
2026
Daimler Truck AG
Student production employee (holiday job)
- Worked with battery systems and their integration.
-
Apr – Sep 2024
Airbus Defence and Space
Bachelor's thesis: software development of ATTS post-processing tools
- Developed Python and MATLAB post-processing modules for the Airbus Thermal Tool Suite to automate the analysis and visualisation of spacecraft simulation results.
- Migrated the platform from Python 2.7 to Python 3, resolved compatibility issues and integrated thermal tools from several thermal engineering departments.
- Analysed the thermal and mechanical response of spacecraft models with Airbus engineering tools.
- Validated outputs with tests so that simulation reports stayed reliable.
-
Jul – Dec 2023
Airbus Defence and Space
Engineering intern, Thermal Tool Suite development
- Simulated spacecraft thermal behaviour in Systema and ESATAN to support thermal engineering assessments.
- Developed pre- and post-processing utilities in Python, MATLAB and Fortran for repeatable simulation data processing and reporting.
- Built data visualisation in Python (Pandas, NumPy, Matplotlib) and MATLAB GUI tools on Linux.
“His performance exceeded our expectations and requirements.”Airbus internship reference, translated from German
-
Mar – Dec 2022
Hightech-Electronic GmbH
Working student, production and testing
- Assembled and tested battery modules in series and parallel configurations for Fresenius dialysis systems.
- Inspected incoming Panasonic lithium-ion cells to verify their voltage was within specification.
- Followed defined assembly and test procedures and documented every result, as medical technology requires.
Selected work
Robot control from the TUM lab, engineering software from Airbus, and open-source work on classical and learned control. Open a project for the challenge, method and outcome.
-
Illustration: a planar two-link robot with base frame, joint angles and link lengths. - Challenge
- Model-based controllers need accurate kinematics and dynamics, but a robot's masses and inertias are rarely known precisely.
- My contribution
- Modelled planar serial robots with modified Denavit–Hartenberg parameters, homogeneous transformations, Jacobians and Lagrangian dynamics. Identified the inertial parameters using Fourier excitation trajectories, a minimal regressor and least-squares estimation.
- Methodology
-
- Forward kinematics from modified DH parameters
- Jacobians and Lagrangian equations of motion
- Dynamics written as linear in the parameters, reduced to a minimal set
- Fourier excitation trajectories
- Least-squares estimation of the parameters
- Tools
- MATLAB, Simulink
- Results
- The identified model improved the controller on the real robot. The lab course was graded 1.0, the best possible grade.
-
Illustration: the inverse dynamics model cancels the robot's nonlinear dynamics, so the gains shape a linear error response. - Challenge
- Robot dynamics are nonlinear and coupled: each joint's motion changes the torque the others need. Fixed-gain PID handles this only approximately, especially at higher speeds.
- My contribution
- Implemented PI/PID and computed-torque controllers for joint trajectory tracking, along with state feedback and Luenberger and disturbance observers.
- Methodology
- Computed-torque control uses the dynamic model to cancel the nonlinear terms, leaving linear error dynamics set by the gains: τ = M̂(q) (q̈d + KD ė + KP e) + Ĉ(q, q̇) q̇ + ĝ(q) The arm at the top of this page runs this control law live, with a deliberately imperfect model so a small tracking error stays visible. You can compare it with PID and adaptive control in the Lab.
- Tools
- MATLAB, Simulink
- Results
- Controllers and observers were tested on the real lab setup, as part of the lab course graded 1.0.
-
Illustration: with V̇ ≤ 0 the state can only move to lower level sets of V, so the tracking error stays bounded and converges. - Challenge
- Computed-torque control degrades when the model is wrong, and the parameters can change, for example with a payload. Physical interaction also needs controlled compliance and reliable detection of contact.
- My contribution
- Implemented Lyapunov-based adaptive and impedance controllers, and force and collision observation.
- Methodology
- Choose a Lyapunov function that combines tracking error and parameter error, then derive the parameter update law so that its time derivative is never positive. The tracking error then converges while the parameter estimates adapt online.
- Tools
- MATLAB, Simulink
- Results
- Part of the same lab course, graded 1.0. Together with the projects above, it covers the full workflow from model through identification to a validated controller.
-
Schematic of the post-processing chain. ATTS is internal Airbus software, so details are limited to what can be shared publicly. - Challenge
- Spacecraft thermal simulations produce large amounts of raw result data. Engineers spent a lot of time extracting, plotting and checking results by hand before they could assess a design.
- My contribution
-
- Internship, Jul – Dec 2023. Simulated spacecraft thermal behaviour in Systema and ESATAN, including updating models when the design changed, and wrote pre- and post-processing utilities in Python, MATLAB and Fortran on Linux.
- Bachelor's thesis, Apr – Sep 2024. Built post-processing modules in Python and MATLAB that read simulation output, analyse it and generate plots and reports. Migrated the suite from Python 2.7 to Python 3, resolved compatibility issues and integrated tools from several thermal engineering departments.
- Methodology
- Worked side by side with the thermal engineers who used the tools daily, adapted features to their feedback, and ran validation tests on the outputs so reports stayed accurate after each change.
- Tools
- Python (Pandas, NumPy, Matplotlib), MATLAB, Fortran, Linux, Git, Systema, ESATAN
- Results
- Repeatable, faster evaluation of simulation results and less manual work for the team. The internship reference states that my performance exceeded Airbus's expectations and requirements.
- Thesis
- “Research and Development: Migrating and Enhancing for Improved Efficiency and Accuracy”, supervised at Airbus and THWS
-
Illustration of the problem setup: a few data points, plus the physics enforced over the whole time range. - Challenge
- Measurements are often expensive, but the physics is known. With only eight data points, a plain neural network cannot recover the motion between and beyond them.
- My contribution
- Implemented the network and a combined loss from eight measurements and the differential equation residuals at 200 collocation points, using automatic differentiation to evaluate the oscillator equation inside the loss.
- Methodology
- Loss = data fit at 8 measurements + ODE residual at 200 collocation pointsMinimising both terms gives a smooth, physically consistent solution x(t).
- Tools
- Python, PyTorch
-
Success rate on 500 simulated robots whose parameters go beyond the training ranges. Data from the two repositories. - Challenge
- A controller designed on a model has to keep working on a robot that differs from it: heavier loads, weaker or slower motors, delay, noise and wind.
- Projects and results
-
- Cart-pole: LQR vs reinforcement learningAll controllers balance the nominal model. On 500 unseen robots, PPO with domain randomization succeeded in 87 % of runs, LQR in 54 %. Under 60 ms delay, PPO chattered at full force until a penalty on jerky actions cut its RMS force from 8.0 N to 0.3 N, at the cost of robustness (67 %).
- Quadrotor: PID vs reinforcement learningOn the nominal drone, the tuned PID hovered as accurately as the randomized policy (7.7 cm RMS in 1 N gusts) with 4–5× calmer rotor commands. On 500 unseen drones, the randomized policy completed 62 % of flights, PID 30 %.
- Methodology
- Nonlinear models simulated with RK4 at 200 Hz, controllers at 50 Hz. PPO written from scratch in NumPy, trained with and without domain randomization. Every controller faces the same scenarios with the same random seed, and the write-ups list what would make the comparison fairer.
- Tools
- Python (NumPy, SciPy, Matplotlib), reinforcement learning (PPO)
- Try it
- The trained cart-pole policies run live in the Lab, against LQR.
-
A simplified version of the DC motor model, simulated in your browser: a speed step with a voltage limit, with and without anti-windup. - Challenge
- Work through common control and estimation problems end to end, with code anyone can rerun and results that reproduce.
- Projects and results
-
- DC motor speed controlOpen loop vs P, PI and PID under a load step. Anti-windup cut the overshoot from 37 % to 0.2 %.
- Battery state-of-charge estimationExtended Kalman filter vs Coulomb counting on a 70-minute drive cycle. The filter stayed within 2 %, while Coulomb counting ended 34 % off.
- Cruise control verification13 requirements traced to automated tests with fault injection. All 13 pass; the tests caught a 2.9 km/h overshoot near top speed, which was then fixed.
- Methodology
- Model the plant, design the controller or estimator, then verify against stated requirements with automated, repeatable tests.
- Tools
- Python (NumPy, Matplotlib), MATLAB
Also
- Real-time object detection and trackingPersonal project, 2023. Detection and tracking from a live webcam with Haar cascades, contour extraction and bounding boxes in Python, OpenCV and NumPy.
- Sustainable propulsion concept for a historic ferryTHWS engineering project, 2023. Technical and economic trade studies of propulsion architectures, leading to a sustainable system concept.
- Project portfolio as a PDFDownload the six-page portfolio with diagrams of the main projects.
Lab
Three small simulations built on my own work. They run in your browser: change the parameters and see what holds up.
Make the arm follow the path
The arm repeats the same 8-second figure-eight. Change the controller, the gains, how wrong its model is and how heavy the payload is, then compare the tracking error with the previous setting.
- RMS error
- –
- Max error
- –
- Peak torque
- –
- Payload estimate
- –
Same robot model as the hero animation, simulated at 1 kHz. Adaptive control here is the Slotine–Li law I worked with in the TUM lab.
Which controller survives?
Four controllers balance the same cart-pole from the same start: LQR and the three PPO policies trained in my cart-pole project, running here with their real weights. Make the robot differ from the model.
- LQR
- PPO, nominal model
- PPO, domain randomized
- PPO, randomized + smooth
Blue arrows show the motor force. A policy can keep the pole up while chattering between full left and full right, which the RMS force reveals.
Keep the electronics in range
A small satellite in a 500 km orbit passes through sunlight and Earth's shadow every 94 minutes. Choose the surface finish, the attitude and the power the electronics dissipate, and keep them between −20 and +50 °C.
- Electronics
- –
- Panels
- –
- Status
- –
A lumped-parameter thermal network with four panels and one electronics node: solar, albedo and Earth infrared loads, radiation to space and internal conduction. It's a simplified teaching model, not Airbus software, in the spirit of the Systema and ESATAN models I ran there.
Expertise
Each skill is listed with where I've used it.
Robotics and control
- Robot kinematics and dynamicsTUM lab
- Parameter identificationTUM lab
- Trajectory planning and trackingTUM lab
- PID and computed-torque controlTUM lab, GitHub
- Adaptive, nonlinear and impedance controlTUM lab
- State feedback and observersTUM lab
- LQR and reinforcement learning (PPO)GitHub
- ROS and ROS 2TUM
Modelling and simulation
- MATLAB and SimulinkTUM lab, Airbus
- Spacecraft thermal simulation (Systema, ESATAN)Airbus
- Dynamic system modelling and validationTUM lab, GitHub
- Physics-informed machine learningTUM
- Kalman filteringGitHub
Software
- Python (NumPy, Pandas, Matplotlib, PyTorch)Airbus, TUM, GitHub
- MATLAB, including GUI toolsAirbus, TUM
- FortranAirbus
- Migration from Python 2.7 to Python 3Airbus
- LinuxAirbus
- Git and Docker basicsProjects
- C/C++ basics, SQL, OpenCVProjects
Batteries, testing and validation
- Battery system integrationDaimler Truck
- Battery module assembly and testingHightech-Electronic
- Output validation and regression testingAirbus
- Requirements-based testingGitHub
- Test procedures and documentationHightech, Airbus
Education
Mechatronics from the Bachelor's onward, now with a focus on robotics and control at TUM.
-
Since Oct 2025
Technical University of Munich
M.Sc. Mechatronics, Robotics and Biomechanical Engineering
- Robot Modeling, Identification & Control Laboratory, graded 1.0
- Robotics, Robot Dynamics, Advanced Control, Nonlinear Control
- Physics-Informed Machine Learning, Multidisciplinary Design Optimization
-
Oct 2020 – Oct 2024
THWS, Technical University of Applied Sciences Würzburg-Schweinfurt
B.Eng. Mechatronics
- Control Systems, System Theory, Design and Simulation of Mechatronic Systems, Actuators, Embedded Systems and Fieldbuses, Robotics and Production
- Bachelor's thesis at Airbus Defence and Space: “Research and Development: Migrating and Enhancing for Improved Efficiency and Accuracy”
-
2025
Certificates
Online specialisations
- Machine Learning Specialization, DeepLearning.AI and Stanford University
- Deep Learning Specialization, DeepLearning.AI
- Google IT Automation with Python, Google
Research interests
Areas I'd like to work on in a master's thesis or research role.
- RoboticsModelling, identification and control of robot manipulators.
- Robot learningLearned and classical controllers that hold up when the real robot differs from the model.
- Control systemsNonlinear and adaptive control with stability guarantees.
- AutomationAutomated systems that are reliable enough for industrial use.
- Model-based engineeringModels as the single reference from design to validation.
- Systems engineeringRequirements and traceability across mechanics, electronics and software.
- SimulationVerifying behaviour in simulation before it reaches hardware.
Hiring in robotics, control or simulation?
I'm open to Werkstudent, internship and master's thesis positions in Munich and across Germany. Email is the fastest way to reach me.