Emad Razavi

Robotics Engineer (MSc) focused on perception and navigation research for mobile robots, with a background in electronics, embedded systems, and control theory, and hands-on robotics system development experience.

Portrait of Emad Razavi

About Me

A timeline of the moments that shaped my path into robotics, from my first school competitions to the research and startup work that drives me today.

Building what comes next

Right now I am collaborating with a startup and working on Microsoft HoloLens 2 software, while also staying open to PhD opportunities where robotics, perception, and real-world systems meet. It feels like a new chapter shaped by everything that came before it: embedded systems, late nights in labs, research discipline, and the patience to keep growing.

I want the next step to keep that same balance between serious engineering and meaningful research.

Current startup collaboration and HoloLens 2 work

Graduation with the people who shaped me

On 18 December 2025, I graduated and closed one of the most meaningful chapters of my academic life. It was not only about the degree itself, but also about the people who helped me understand what it really means to grow into research with seriousness, discipline, and curiosity.

Angelo and Joao were more than supervisors to me. They taught me how I should become an academic researcher, and that lesson will stay with me much longer than the ceremony itself.

Graduation day with Angelo and Joao

DLS, Spot, and one of the best periods of my career

In 2024 I joined Dynamic Legged Systems as a guest researcher to complete my thesis. My work focused on modular semantic navigation on the Spot robot, bringing together mapping, perception, autonomy, and the kind of systems thinking that only becomes real when a robot is moving in the world.

That period became one of the best experiences of my life. It gave me the chance to work in a serious research environment, test ideas on a real platform, and understand more clearly the kind of robotics work I want to keep doing.

Working with Spot at Dynamic Legged Systems during thesis research

Leaving home to follow robotics in Italy

After working across companies and finishing my bachelor's degree in electrical engineering, I made one of the biggest decisions of my life. In 2023 I said goodbye to my family and friends and immigrated to Italy so I could follow my robotics path more seriously.

That move was not only academic. It was emotional, uncertain, and deeply personal. But it was also the moment I chose to bet on my dream with full commitment.

Moving to Italy to continue robotics studies

After COVID, rebuilding through ORBI

After the COVID period, the robotics labs were essentially destroyed, and that chapter of life changed abruptly. I joined Hooshmand Afzar Mayan, a startup that produced a robot toy for kids called ORBI, and that move gave me a different kind of robotics memory: lighter in product, but still full of creativity, teamwork, and practical engineering.

ORBI holds some of my warmest memories. It reminded me that robotics is not only about research labs and competitions. It can also be playful, human, and close to everyday life.

A memory from the post-COVID transition period

RoboCup Sydney and life inside the lab

In 2019, when we were preparing for RoboCup Sydney, the lab stopped feeling like a workplace and became a second home. We spent days and nights there, solving failures, testing systems, adjusting electronics, and pushing ourselves to be ready in time for the competition.

That period taught me what technical commitment really looks like when a team is chasing something ambitious together. It was exhausting, intense, and unforgettable.

Late-night preparation at MRL for RoboCup Sydney 2019

Electrical engineering and the real start of MRL

When I graduated from high school, I officially began my bachelor's degree in electrical engineering. At the same time, I joined MRL SSL as an embedded and electronic systems intern. What started as an internship quickly became a deeper role, and I grew into development work inside a serious robotics team.

That overlap between university and MRL was foundational for me. I was learning theory in one place and watching it become real, urgent, and useful in the other.

Early days at MRL working on embedded and electronic systems

The beginning in middle school

In 2013, while I was still a middle school student, I started my journey in robotics. I competed in several competitions and built robots such as line followers and rescue robots. At that age, I did not yet know the full shape of the future, but I already loved the mix of logic, hardware, experimentation, and challenge.

Looking back, that was the real starting point. The curiosity that began there never left, and nearly every later step in my career can be traced back to those early builds and competitions.

An early robotics competition memory from 2013

Education

My academic background combines robotics engineering, electrical engineering, embedded systems, control theory, and optimization.

MSc in Robotics Engineering

University of Genoa, 2023-2025.
Thesis: Semantic Object-Goal Navigation on a Quadruped Robot in Known Environments View thesis details

BSc in Electrical Engineering

Qazvin Azad University, 2018-2023.
Thesis: Optimal PID Controller Tuning for Time-Delayed Systems Using Ant Colony Optimization View thesis details

Master's Thesis

Semantic Object-Goal Navigation on a Quadruped Robot in Known Environments

University of Genoa logo

This thesis developed a two-stage object-goal navigation pipeline for Boston Dynamics Spot. The system first records a clean 2D map and a compact set of confirmed object instances, then reuses that saved world model to navigate to named objects safely and repeatably.

Stage 1: Pre run mapping

A short teleoperation run builds the occupancy map and records only stable RGB D object observations into a semantic database.

Stage 2: Object goal navigation

Spot localizes on the saved map, selects a requested object, and sends Nav2 a safe standoff goal near that object. Targets can be selected from a CLI or by voice.

Work carried out at Dynamic Legged Systems, Istituto Italiano di Tecnologia.

System overview

The stack is intentionally lightweight: Spot uses a 2D LiDAR for mapping/localization, a RealSense T265 for visual-inertial odometry, and a RealSense D435 for RGB D detections. SLAM Toolbox builds the pre-run map; during navigation, AMCL localizes on the fixed map and Nav2 sends goals through the ROS 2 bridge.

  • Two-stage design: navigation relies on a fixed map and a recorded semantic database instead of rebuilding the world online.
  • Confirmed objects only: detections are saved after repeated support over time, with gating and duplicate merging.
  • Inspectable behavior: the map, object list, selected target, generated goal, and Nav2 plans can be checked in RViz.

Demo 1: Semantic mapping

During the pre run, D435 RGB detections are projected into 3D using depth and transformed into the map frame. The semantic layer keeps temporary observations separate from confirmed objects, which reduces noisy entries in the final database.

  • Proposal memory: temporary observations that must survive repeated checks.
  • Static memory: confirmed object instances, merged when nearby detections describe the same object.
  • Recorder output: a human readable YAML database used later for object-goal navigation.

Demo 2: Voice based object goal navigation

In the second stage, Spot loads the saved map and object database, then receives a target request by voice. Whisper transcribes the command, embedding matching selects the closest recorded object instance, and the object pose is converted into a safe standoff goal for Nav2.

  • Goal generation: targets are not placed inside objects; they are offset with a clear facing direction.
  • Execution: Nav2 receives a standard NavigateToPose goal with map, LiDAR obstacle, and inflation costmaps.
  • Safety: Spot's native safety layer remains active under the ROS 2 navigation stack.

Implementation and evaluation

The implemented system includes a confirmed-only semantic layer, an object-to-goal interface for Nav2, onboard Spot deployment, RViz/rosbag tooling, and repeated-run supervision. Evaluation covered three real indoor environments: a church, the DLS lab, and a large IIT test room.

The same pipeline produced usable 2D maps across different layouts and kept the semantic database compact by focusing on a small set of object classes. The main observed limitations were depth alignment bias in object placement and localization inconsistency causing early goal acceptance in edge cases. Both failure modes were visible in logs and RViz, making the system inspectable and technically actionable.

Bachelor's Thesis

Optimal PID Controller Tuning for Time-Delayed Systems Using Ant Colony Optimization

Qazvin Azad University logo

This project was my Bachelor thesis during my studies at Qazvin Azad University under the supervision of Prof. Hamid Qadiri.

Overview

This project investigates PID tuning with Ant Colony Optimization for a second-order control system, while explicitly modeling a delayed baseline to study how time delay affects the transient response. The goal is to minimize the Integral of Time-weighted Absolute Error (ITAE) and obtain a faster, cleaner response with reduced oscillation and smaller tracking error.

We implemented the project in MATLAB and combined classical transfer-function modeling, heuristic optimization, and result visualization. We first build the delayed reference model, then search for PID gains that improve closed-loop performance through repeated simulation and pheromone-based updates.

System definition and delay modeling

We define the plant as G = tf([1], [1 2 3]), which corresponds to a second-order transfer function. A pure delay is then introduced through exp(-1 * s). Since a pure delay is not directly convenient for rational transfer-function analysis, we use a first-order Pade approximation to construct the delayed model used for the baseline step response.

Plant transfer function

G(s) = 1 / (s2 + 2s + 3)

Time delay term

e-s

First-order Pade approximation

e-s ≈ (1 - s/2) / (1 + s/2)

Delayed model used for baseline analysis

Gt(s) = G(s) . Pade[e-s]

  • Plant model: the base system is a stable second-order transfer function with denominator coefficients [1 2 3].
  • Delay model: we approximate exp(-s) with pade(delay, 1) to obtain a rational delayed model.
  • Baseline response: the delayed model is closed with unity feedback as Gf = feedback(Gt, 1) and plotted before controller tuning.

Controller objective

The controller follows the standard PID structure with proportional, integral, and derivative gains. The performance target is ITAE, which weights the tracking error by time and therefore penalizes not only large deviations but also errors that persist for too long.

PID controller law

u(t) = Kpe(t) + Ki∫e(t)dt + Kdde(t)/dt

ITAE objective

ITAE = ∫0T t|e(t)|dt

Closed-loop model evaluated in the optimization loop

Gcf(s) = feedback(C(s)G(s), 1)

One implementation detail is worth stating clearly: in our current implementation, the delayed model is used for the initial baseline plot, while the ACO loop evaluates PID candidates on the nominal plant through feedback(Gc * G, 1). This page reflects that implementation exactly.

ACO search setup

We use 10 ants, 10 iterations, a pheromone decay factor of 0.6, a scaling factor of 2, and three tuning variables for Kp, Ki, and Kd. Candidate gains are sampled through pheromone-weighted roulette-wheel selection.

Optimization loop

For each ant, MATLAB builds a controller with pid(kp, ki, kd), simulates the step response, computes an ITAE-style cost, and reinforces the pheromone trail of the best candidate in that iteration while the others decay.

Why these methods

  • Time delay modeling: delays often degrade damping and tracking performance, so they should be represented explicitly during analysis.
  • Pade approximation: it converts the exponential delay into a rational form that can be simulated with standard transfer-function tools.
  • ACO: it offers a practical derivative-free search strategy for coupled tuning parameters.
  • ITAE: it encourages fast error reduction and typically leads to responses with better settling and lower oscillation.

Code structure and workflow

Our MATLAB workflow is organized around four stages: system definition, ACO initialization, iterative search, and result visualization. We define the nominal and delayed models, allocate the pheromone tables and candidate arrays, evaluate sampled PID gains in closed loop, and store the best cost value across iterations.

  • System setup: defines G, builds the delayed model with pade(delay, 1), and plots the unity-feedback delayed response.
  • ACO initialization: sets the number of ants, decay factor, scaling factor, iterations, and candidate gain structure.
  • Main loop: computes selection probabilities, samples gains, evaluates each controller, records the best solution, and updates pheromones.
  • Visualization: generates the delayed baseline response, the optimized closed-loop response, and the ITAE history over iterations.

Results

Step response of original system with delay

Figure 1. Step response of the original delayed system. The uncompensated response shows overshoot and oscillatory behavior, highlighting the performance degradation introduced by delay.

Step response with optimized PID controller

Figure 2. Step response after tuning the PID gains with ACO. The optimized controller improves settling behavior and produces a noticeably cleaner transient response.

ITAE over optimization iterations

Figure 3. ITAE across optimization iterations. The downward trend indicates convergence toward more effective PID gains.

How to run the code

The project is implemented in MATLAB with the Control System Toolbox. Running the main file builds the delayed baseline model, executes the ACO-based PID search, reports the best gains and minimum ITAE in the command window, and generates the three figures used in the thesis.

  • Open the MATLAB file such as PID_ACO.m.
  • Run it in MATLAB.
  • Inspect the reported values for kp, ki, kd, and Min_ITAE.
  • Review the three generated figures for baseline behavior, optimized response, and cost convergence.

The experiment can also be repeated with different ACO settings. The most direct parameters to adjust are the number of ants, pheromone decay factor, scaling factor, number of iterations, and the lower bound, upper bound, and step size of the PID gain search space.

Conclusion

This thesis shows that Ant Colony Optimization can be used effectively to tune a PID controller for a second-order control problem with a delayed reference model. By minimizing ITAE, the optimized controller achieves a cleaner transient response and better settling behavior than the uncontrolled baseline.

It also demonstrates the value of combining classical control tools with heuristic optimization in a compact, reproducible MATLAB workflow. The project was a solid first experience in algorithmic controller tuning and technical evaluation during my undergraduate studies.

Experiences

A concise overview of my engineering and research experience across robotics, embedded systems, autonomy, and product development.

Research Laboratory · Genova, Italy

Dynamic Legged Systems, IIT

Guest Researcher · Nov 2024 - Dec 2025

At Dynamic Legged Systems, I worked as a guest researcher on autonomous navigation for mobile robots and the semantic object-goal navigation system behind my master's thesis on Boston Dynamics Spot.

The thesis role is the main implementation behind Semantic Object-Goal Navigation on a Quadruped Robot in Known Environments.

Semantic Object-Goal Navigation

May 2025 - Dec 2025 · Genova, Italy

  • Built an end-to-end autonomy pipeline on Boston Dynamics Spot in ROS 2, covering driver integration, sensor setup, and system data flow.
  • Deployed ROS 2 Nav2 on Spot using the official driver and configured it for reliable indoor navigation.
  • Integrated a 2D LiDAR and a tracking camera and fused their outputs to provide odometry for mapping, localization, and navigation.
  • Built a semantic map from RGB-D detections by associating depth and projecting confirmed objects into the map frame for object-goal navigation.
  • Added voice-commanded navigation using Whisper for speech recognition, and used CLIP embeddings to map spoken commands to a target object instance.

Autonomous Navigation Research

Nov 2024 - May 2025 · Genova, Italy

  • Worked on sensor fusion, state estimation, SLAM, and path planning for mobile robot tasks.
  • Wrote launch and test scripts; created Docker setups for repeatable builds and runs.
  • Worked with a research team to integrate and test navigation algorithms in simulation and on the robot.
  • Reviewed navigation and mapping papers; compared methods and summarized trade-offs.

Startup · Qazvin, Iran

Hushmand Afzar Mayan-Orbi Startup

Robotics R&D Developer · Sep 2020 - Sep 2021

ORBI was a spherical smart-toy robot where embedded control, sensing, power behavior, hardware debugging, and product-level interaction were tightly connected.

  • Developed a spherical robot as a smart toy.
  • Integrated an STM32F4-based main board with IMU data fusion to improve control-loop performance.
  • Added free-fall, throw, and collision detection mechanisms.
  • Optimized power efficiency through hardware and firmware improvements.
  • Debugged and refined hardware to improve overall system stability and performance.

RoboCup Small Size League · Qazvin, Iran

Mechatronics Research Laboratory (MRL)

Embedded Robotics Developer · Aug 2018 - Sep 2020

MRL was my first serious robotics environment: a competition-focused lab where hardware, firmware, control, debugging, and teamwork came together inside real RoboCup holonomic robots.

  • Developed holonomic robots for the RoboCup competition.
  • Developed a custom wireless board, including schematic and PCB with Altium on the STM32F4 platform to support advanced communication via NRF24L01.
  • Developed STM32F7 firmware for holonomic robot control, using IMU feedback for motion control, BLDC motor drivers, and onboard peripheral management.
  • Maintained and repaired electronic boards for holonomic robots, troubleshooting and debugging electronic faults and resolving firmware bugs.

Industrial & Edge Systems · Genova, Italy

Widecons S.R.L.

Industrial & Edge Systems Engineer · Jan 2026 - Present

At Widecons, I work across mixed-reality clients, edge gateway integration, and industrial OT interfaces, connecting field-facing workflows with deployment and validation needs.

  • Work on a HoloLens 2 mixed-reality client for industrial checklist execution and deployment testing.
  • Contribute to an edge gateway connecting field clients, cloud services, PLC, and Industrial OT layers.
  • Support gateway-panel and PLC integration, including signal mapping, safe-state logic, and integration testing.

Drone Project · Genova, Italy

DOPE Drone Project

Embedded & Electronics Developer · Feb 2024 - Aug 2024

At DOPE, I worked on embedded and electronics development for drone systems, where hardware, firmware, and wireless communication had to fit together cleanly in practical prototypes.

  • Designed flight controllers and wireless communication for drones, integrating hardware and firmware.

Industrial Electronics · Tehran, Iran

Radmansys Co.

Electronics & Embedded Systems Technician · Oct 2021 - Oct 2022

At Radmansys, I worked on industrial electronic systems, connecting schematic design, PCB development, hardware validation, and firmware optimization for practical products.

  • Designed, built, and tested industrial electronic systems, including schematic design, PCB development, and hardware validation for flex shaft machines and automatic humidifiers.
  • Programmed and optimized firmware for system functionality and performance.

Publications

Semantic Object-Goal Navigation on a Quadruped Robot in Known Environments 2025 Open publication

My master's thesis presents a practical object-goal navigation pipeline for Boston Dynamics Spot in real indoor environments. A pre-run records a 2D map and semantic object database; during operation, the robot localizes on the saved map, selects a recorded object target, and navigates using a layered Nav2 costmap with onboard sensing and computation.

Online Object-Level Semantic Mapping for Quadrupeds in Real-World Environments 2025 Open publication

This paper describes an online semantic object mapping system for quadruped robots. The mapper combines range geometry with RGB D detections, merges repeated observations into persistent object instances, and produces a compact object layer that can be queried by class, pose, and confidence.

MRL Extended Team Description 2020 2020 Open publication

This team description paper presents the MRL Small Size League robot hardware and software design, including rule-driven software updates, reliability improvements, accuracy enhancements, and changes to the electronic structure that enabled more complex robot behavior.

Contact

I am open to PhD, research, and robotics engineering opportunities involving autonomy, perception, navigation, SLAM, and real-world robot deployment.