Portfolio Presentation
Hanif Edma — research and engineering projects, framed as objective, outcome, and technical
skills.
Background
Education
Seoul National University of Science and Technology (SEOULTECH)
M.S., Electrical & Information Engineering — GPA 4.19 / 4.50
Seoul, South Korea · Feb 2024 – Aug 2026 (Expected) · Research Assistant
Universitas Indonesia
B.S., Electrical Engineering — GPA 3.61 / 4.00
Depok, Indonesia · Aug 2019 – Aug 2023
Technical Skills
Focus: Robotics (mobile robots) · Control & Estimation · Electrical Engineering
Control & Estimation: MPC / MPPI / MPCC, PID, LQR, Kalman Filter (KF/EKF), 2D
SLAM, Motion Planning & Trajectory Optimization
Machine Learning: Gaussian Process (GP/SGP), Neural Networks, Imitation Learning,
PyTorch & TensorFlow (basic)
Programming & Frameworks: ROS1 / ROS2, C/C++, Python, MATLAB/Simulink, CasADi,
Flutter, HTML/CSS/JS, OpenCV (basic)
Tools & Platforms: Gazebo, move_base, Linux, Git, Docker
Hardware & IoT: NVIDIA Jetson, Raspberry Pi, Arduino, ESP32
Research
Performance-Enhanced Risk-Aware MPPI using Gaussian Process
Objective
Drive a robot safely despite the model–reality gap, without hand-tuning the controller's safety level.
Outcome / Contribution
A Gaussian Process learns the model gap offline and sets the safety level
automatically (risk-aware MPPI) — no manual tuning.
On F1TENTH (sim + real): finished every obstacle lap where baselines crashed, at the same speed.
Technical skills
Gaussian Process
MPPI / sampling MPC
Localization & mapping (SLAM)
ROS1
move_base (Nav2 equivalent)
Gazebo
PyTorch
PyCUDA
Python
C/C++
Hardware: Jetson Orin · LiDAR · IMU · wheel odometry · VESC
Real-world run — proposed method
Robust RA-MPPI using Online Learning
Objective
Adapt to uncertainty in real time — learn the model gap while driving , with no data
collected beforehand.
Outcome / Contribution
A Sparse Gaussian Process learns the gap online in the background, never slowing the
controller.
On F1TENTH (sim, with obstacles): 22 laps vs. 16 for the previous method, still real
time.
Technical skills
Sparse Gaussian Process (online learning)
MPPI / sampling MPC
Localization & mapping (SLAM)
ROS1
move_base (Nav2 equivalent)
Gazebo
PyTorch
PyCUDA
Python
C/C++
Hardware: Jetson Orin · LiDAR · IMU · wheel odometry · VESC
Simulation (Gazebo)
Real-world run — proposed method
1st author · Submitted to IJCAS (Springer)
Engineering Projects
ESP32 IoT Medical Gateway
Objective
Connect medical instruments to the cloud for posyandu (community health post) measurements.
Outcome / Contribution
Built an ESP32 gateway linking thermometers, oximeters, and biometric sensors.
Connected over six categories of medical devices.
Technical skills
Embedded / IoT
RTOS (FreeRTOS)
BLE connectivity
Reverse engineering
C/C++
Hardware: ESP32
Internship at DoctorTool · Team of 2 · 2022
6-DOF Robot Manipulator Simulation (OpenGL)
Objective
Visualize and control a 6-DOF robot arm in real time.
Outcome / Contribution
Real-time 3D arm in C/OpenGL (GLUT) with forward and Jacobian-pseudoinverse inverse kinematics.
Point-to-point trajectories, joint commands streamed over serial.
Technical skills
C
OpenGL / GLUT
Robot kinematics (FK/IK)
MATLAB
Robotics Toolbox (Peter Corke, MATLAB)
Course project · Universitas Indonesia · May 2023
Download