Master's-thesis control engineer at FAU Erlangen-Nürnberg, based in Bavaria. Writing my thesis on SLQP-MPC for a Quanser RT2 linear inverted pendulum. Looking for a Werkstudent position in control, estimation, signal processing, robotics or embedded systems.
📍 Nürnberg, Germany · 📧 sreeramanil30@gmail.com
A header-only C++17 library and benchmark of multi purpose 86 state estimators and observers. Implemented for battery-management systems in electric aircraft, with aerospace attitude-estimation heritage. Every algorithm is an original implementation from its primary publication, embedded-safe by construction (no heap, no exceptions, float32-ready, Cortex-M7 verified in CI), and cross-validated against FilterPy, PyBaMM and ahrs.
Repo: estkit · Site: anilram30.github.io/estkit · Report: 958 pages, one chapter per estimator
86 estimators · 12 families · 2 truth plants · 12 fault scenarios · ~9,000 benchmark runs · 0 runtime dependencies
Code Apache 2.0, report and data CC BY 4.0.
Site: anilram30.github.io/Apollo-Trajectory-Recreation
The first Kalman filter to fly — NASA TR R-135 (Smith, Schmidt & McGee, 1962) — reconstructed in MATLAB from the original documents and flown over a complete Earth → Moon → Earth ballistic free-return mission. A genuine figure-8 trajectory targeted in the full Earth(J2) + Moon + Sun field, optical-angle sightings with the horizon-altitude bias measured on Apollo 13's own P23 data, and both variants of the filter: the nominal-linearized form as first published, and the estimate-linearized form R-135 already recommended and history later named the EKF.
Repo: Apollo-Trajectory-Recreation · Report: 13-page narrative through the primary NASA sources .
5.72-day free-return mission · 10-state augmented filter · 1,986 sextant sightings · 31,000 km open-loop miss → 1.4 km EKF error · 2 MATLAB files
Code Apache 2.0, report and data CC BY 4.0.
The projects below use real-time solvers developed as part of ongoing research extending my Master’s thesis. The repositories and accompanying reports are public versions intended to demonstrate the overall system architecture, implementation workflow, and experimental results. Selected implementation details of the underlying algorithms are intentionally omitted, as the research is still ongoing.
Distributed model-predictive control and moving-horizon estimation for a heterogeneous UAV cluster — quaternion hexacopters and 6-DOF fixed-wing aircraft, each agent running its own constrained real-time estimator and controller, coordinating over a communication graph with no central node. Six hexacopters hold formation through a ten-second GNSS blackout: the distributed estimator fuses relative measurements to GNSS-good neighbours and pins each denied agent to within nine centimetres of truth while dead reckoning drifts past a metre. The anchor-coverage condition on the communication graph is identified as the structural limit, and a leveled multi-hop anchoring extension recovers the broken case with the safety margin restored. The report derives both airframes from first principles; the compiled real-time solvers substituted into the closed loop reproduce the reference behaviour without change.
Repo: uav-cluster-dmpc-dmhe · Site: anilram30.github.io/uav-cluster-dmpc-dmhe · 3D replay: SwarmScope · Report: 57 pages, first-principles derivations of both airframes
6 hexacopters + 4 fixed-wing aircraft · 13-state quaternion plants · 210-run Monte-Carlo campaign, 0 divergences · dead-reckoning 1.26 m → DMHE 0.088 m · min separation 1.55 m against 1.4 m barrier · compiled solvers in-loop ≈76 µs / agent / cycle
Code Apache 2.0, report and data CC BY 4.0.
Output-feedback trotting control of a 45 kg ANYmal-C in MuJoCo, using a nonlinear model-predictive controller and nonlinear moving-horizon estimator that share one single-rigid-body model, one symbolic source and one design language. The estimator reconstructs the base state and an external disturbance wrench from proprioception only — IMU, leg kinematics and joint torques — while the controller plans ground reaction forces inside friction cones over a half-second horizon at 100 Hz and feeds the estimated disturbance forward. The robot ramps to a trot, absorbs a 40 N lateral push and turns, with no ground-truth state anywhere in the loop. The report derives the rigid-body model, gait, footholds and measurement model from first principles; the compiled real-time solvers substituted into the closed loop reproduce the reference behaviour without change.
Repo: ANYmal-C framework · Site: anilram30.github.io/anymal-srbd-mpc-mhe ·
45 kg ANYmal-C · 18-DoF MuJoCo plant · 12-state SRBD · 18-state NMHE with 6-state disturbance wrench · NMPC N=50 at 100 Hz · NMHE M=20 at 100 Hz · 40 N push estimated at 39.5 N · lateral drift 0.15 m vs 0.74 m without force feed-forward · 5/5 noise seeds · stable to 2× nominal sensor noise · NMPC 56 µs feedback · NMHE 37 µs feedback
Code Apache 2.0; report and results are included in the repository.
Seven engineering packages that take a high-frequency cable from raw network-analyser measurement to a predicted automotive-Ethernet link. Each package has its own test suite, command-line interface, technical report and CI.
Site: anilram30.github.io/hf-cable · Hub: hf-cable-toolchain
| Package | What it does | |
|---|---|---|
| A | cablecheck | Measurement → standards-based verdict and report |
| B | labauto | Calibration gates, validation, sealed traceable archive |
| C | shieldeval | Legacy-style shielding tool reconstruction, then modernised |
| D | zprofile | Impedance against position from a scattering measurement |
| E | cableanalytics | Production records → predicted electrical performance |
| F | labplatform | Multi-site metrology, uncertainty budgets, drift detection |
| G | linktwin | Full-link digital twin — pass/fail, eye at receiver, probability of passing |
- Real-time-iteration NMPC and NMHE solvers — ultra-fast solvers with state and input constraints, targeted at embedded control. (completed, will not be published, pending research)
- AEROFORGE — Autonomous aerial construction — heterogeneous UAVs cooperatively assemble and verify a bridge using distributed estimation and real-time NMPC under cable, contact, wind, and actuator constraints. (completed, will not be published, pending research)
-
Missile Guidance & Simulation — 3-DOF 3-DOF missile dynamics and guidance simulation covering trajectory propagation, aerodynamic effects, guidance laws, and interception scenarios.
-
Missile Guidance & Simulation — 6-DOF Full 6-DOF rigid-body missile simulation using position, velocity, attitude/quaternion, and body-rate states, with aerodynamic forces/moments, thrust, gravity, control-surface effects, and guidance.
-
Hexacopter Simulation & Control in a Mars Rover mission — ROS 2 Six-rotor UAV simulation implemented in ROS 2, covering vehicle dynamics, attitude/position control, simulation integration, and the foundation for future sensor-fusion and autonomous-flight work.
-
Vehicle control basics lane assist using PID + MPC in python (Udemy-updating)
-
Vehicle suspension control - Nonlinear system linearization, State-space and Laplace analysis, Stability and pole analysis, Modal analysis, MIMO control, Pole placement, Vehicle suspension controller design, PID + LQR + Resonance analysis, Advanced vehicle suspension control using PID, LQR, resonance analysis, tuning with AI, and dominant pole approximation. (Udemy-updating)
-
A Part 23 / DAL C Autopilot: GNC Stack, Real-Time Realisation, Simulation and Benchmark
-
Embedded validation — I am also validating selected control, estimation and robotics projects on Raspberry Pi, moving algorithms from simulation to real embedded hardware and measuring their computational performance and real-time behaviour.
Repositories will be published as each project reaches a shareable state/ after publication.
Languages C++17 · MATLAB · Python · C · some C# and Java Control and estimation MPC, MHE, Kalman and sigma-point filters, particle filters, moving-horizon estimation, quadratic programming, Monte Carlo, sensitivity analysis Hardware STM32 (Cortex-M7, STM32Cube, HAL), Quanser real-time systems Tooling git, CMake, pytest, ruff, GitHub Actions CI, pandoc + XeLaTeX for reports
Email sreeramanil30@gmail.com Location Nürnberg, Bavaria — open to relocation across Bavaria and Europe for the right role.
The engineering decisions, algorithm and system design, validation strategy, analysis and stated limitations are my own.