Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
1195 lines (1112 loc) · 69.2 KB
/
Copy pathindex.html
File metadata and controls
1195 lines (1112 loc) · 69.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ashrith Edukulla | Robotics Software Engineer</title>
<meta name="description" content="Ashrith Edukulla is a robotics software engineer studying B.S.E. Robotics at the University of Michigan (expected December 2027). Currently co-leading an autonomous shuttle stack at NiFT and building world-model navigation at the Scalable Spatial Intelligence Lab, after underwater perception work at Moby Robotics. C++ and Python across sensor fusion, SLAM, planning, and real-time inference on edge hardware." />
<link rel="icon" href="michigan_logo.png" type="image/png" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Ashrith Edukulla | Robotics Software Engineer" />
<meta property="og:description" content="Perception, navigation, and autonomy systems in C++ and Python. B.S.E. Robotics at Michigan, expected December 2027. Sensor fusion, world models, SLAM, and real-time inference on edge hardware." />
<meta property="og:image" content="ashrith.jpg" />
<meta property="og:url" content="https://ashrith5321.github.io" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:creator" content="@Ashrithed" />
<meta name="twitter:site" content="@Ashrithed" />
<meta name="twitter:title" content="Ashrith Edukulla | Robotics Software Engineer" />
<meta name="twitter:description" content="Perception, navigation, and autonomy systems in C++ and Python. B.S.E. Robotics at Michigan, expected December 2027." />
<meta name="twitter:image" content="ashrith.jpg" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,16..72,400;0,16..72,500;0,16..72,600;1,16..72,400&display=swap"
rel="stylesheet"
/>
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ["Inter", "system-ui", "sans-serif"],
serif: ["Newsreader", "Georgia", "serif"],
},
colors: {
accent: {
50: "#FAFAFA",
100: "#EBEBEB",
200: "#E0E0E0",
400: "#757575",
500: "#4D4D4D",
600: "#171717",
700: "#171717",
800: "#000000",
},
stone: {
50: "#FAFAFA",
100: "#F5F5F5",
200: "#EBEBEB",
300: "#E0E0E0",
400: "#757575",
500: "#4D4D4D",
600: "#3D3D3D",
700: "#2B2B2B",
800: "#171717",
900: "#0A0A0A",
},
},
},
},
};
</script>
<style>
html { scroll-behavior: smooth; }
body { font-family: "Inter", system-ui, sans-serif; }
::selection { background: #EBEBEB; }
/* Nav */
a.nav-link { position: relative; }
a.nav-link::after {
content: "";
position: absolute;
left: 0;
bottom: -4px;
height: 2px;
width: 0;
background: #171717;
border-radius: 1px;
transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
a.nav-link:hover::after { width: 100%; }
a.nav-link.active { color: #171717; font-weight: 500; }
a.nav-link.active::after { width: 100%; background: #171717; }
/* Header shadow on scroll */
header { box-shadow: 0 0 0 0 rgba(0,0,0,0); transition: box-shadow 0.3s ease; }
header.scrolled { box-shadow: 0 1px 12px rgba(0,0,0,0.06); }
/* Mobile menu */
#mobileMenu {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
#mobileMenu.open { max-height: 30rem; }
/* Back to top */
#toTop {
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease, transform 0.3s ease;
transform: translateY(8px);
}
#toTop.show {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
/* Cards */
.card {
border-radius: 12px;
border: 1px solid #EBEBEB;
background: #FFFFFF;
transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.card:hover {
box-shadow: 0 4px 24px rgba(0,0,0,0.06);
border-color: #E0E0E0;
transform: translateY(-2px);
}
/* Project filter pills */
.proj-pill {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 500;
padding: 7px 16px;
border-radius: 9999px;
border: 1px solid #EBEBEB;
color: #757575;
background: #fff;
cursor: pointer;
transition: all 0.2s ease;
}
.proj-pill:hover { border-color: #171717; color: #171717; background: #FAFAFA; }
.proj-pill.active { background: #171717; color: #fff; border-color: #171717; }
.proj-pill .pc { opacity: 0.55; font-size: 11px; }
.proj-hidden { display: none !important; }
/* Skill tags */
.skill-tag {
display: inline-block;
padding: 4px 12px;
border-radius: 6px;
font-size: 13px;
color: #4D4D4D;
background: #F5F5F5;
border: 1px solid #EBEBEB;
}
/* Tech chips on project cards */
.tech-chip {
font-size: 11px;
padding: 3px 10px;
border-radius: 6px;
background: #FAFAFA;
color: #757575;
border: 1px solid #F5F5F5;
font-weight: 500;
}
/* Section heading accent */
.section-heading {
display: inline-flex;
align-items: center;
gap: 12px;
}
.section-heading::before {
content: "";
display: block;
width: 3px;
height: 24px;
background: #171717;
border-radius: 2px;
}
/* Timeline dot */
/* News items */
.news-item {
position: relative;
padding-left: 20px;
}
.news-item::before {
content: "";
position: absolute;
left: 0;
top: 8px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #171717;
}
/* Subtle link arrow animation */
.link-arrow { transition: transform 0.2s ease; }
a:hover .link-arrow { transform: translate(2px, -2px); }
</style>
</head>
<body class="text-stone-600 antialiased" style="background:#FFFFFF">
<!-- Navigation -->
<header id="siteHeader" class="sticky top-0 z-50 border-b border-stone-100 bg-[#FFFFFF]/90 backdrop-blur-md">
<div class="max-w-4xl mx-auto px-6 sm:px-8 h-16 flex items-center justify-between gap-4">
<a href="#top" class="font-serif text-lg font-semibold text-stone-900 tracking-tight hover:text-accent-700 transition-colors">
Ashrith Edukulla
</a>
<nav class="hidden md:flex items-center gap-7 text-sm text-stone-500">
<a href="#about" class="nav-link hover:text-stone-800">About</a>
<a href="#experience" class="nav-link hover:text-stone-800">Experience</a>
<a href="#projects" class="nav-link hover:text-stone-800">Projects</a>
<a href="#publications" class="nav-link hover:text-stone-800">Papers</a>
<a href="#skills" class="nav-link hover:text-stone-800">Skills</a>
<a href="#contact" class="nav-link hover:text-stone-800">Contact</a>
</nav>
<div class="flex items-center gap-3">
<a
href="resume.pdf"
target="_blank"
rel="noopener"
class="hidden sm:inline-flex items-center gap-1.5 text-sm px-4 py-2 rounded-lg bg-accent-700 text-white font-medium hover:bg-accent-800 transition-colors"
>
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>
Resume
</a>
<button
id="menuToggle"
aria-label="Open menu"
aria-expanded="false"
class="md:hidden inline-flex items-center justify-center h-10 w-10 rounded-lg border border-stone-200 text-stone-500 hover:bg-stone-50 hover:border-stone-300 transition-colors"
>
<svg id="menuIconOpen" class="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>
<svg id="menuIconClose" class="hidden h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12M18 6 6 18"></path></svg>
</button>
</div>
</div>
<!-- Mobile menu -->
<div id="mobileMenu" class="md:hidden border-t border-stone-100 bg-white">
<nav class="max-w-4xl mx-auto px-6 sm:px-8 py-4 grid grid-cols-2 gap-x-4 gap-y-1 text-sm text-stone-500">
<a href="#about" class="mob-link py-2.5 hover:text-stone-800 transition-colors">About</a>
<a href="#experience" class="mob-link py-2.5 hover:text-stone-800 transition-colors">Experience</a>
<a href="#projects" class="mob-link py-2.5 hover:text-stone-800 transition-colors">Projects</a>
<a href="#publications" class="mob-link py-2.5 hover:text-stone-800 transition-colors">Papers</a>
<a href="#skills" class="mob-link py-2.5 hover:text-stone-800 transition-colors">Skills</a>
<a href="#contact" class="mob-link py-2.5 hover:text-stone-800 transition-colors">Contact</a>
<a href="resume.pdf" target="_blank" rel="noopener" class="col-span-2 mt-2 inline-flex items-center justify-center gap-2 rounded-lg bg-accent-700 px-4 py-2.5 text-sm font-medium text-white hover:bg-accent-800 transition-colors">
Download Resume
</a>
</nav>
</div>
</header>
<main id="top" class="max-w-4xl mx-auto px-6 sm:px-8">
<!-- Hero -->
<section class="pt-16 pb-14 sm:pt-24 sm:pb-20">
<div class="flex flex-col-reverse sm:flex-row items-start sm:items-center gap-10">
<div class="flex-1">
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-accent-50 border border-accent-100 mb-4">
<span class="w-1.5 h-1.5 rounded-full bg-accent-500"></span>
<span class="text-xs font-medium text-accent-700 tracking-wide uppercase">Robotics Software Engineer</span>
</div>
<h1 class="font-serif text-4xl sm:text-5xl font-semibold text-stone-900 tracking-tight leading-[1.1]">
Ashrith Edukulla
</h1>
<p class="mt-4 text-lg sm:text-xl text-stone-600 max-w-xl leading-relaxed">
I build <span class="font-semibold text-stone-800">perception systems</span> for robots
that operate where the data is messy.
</p>
<p class="mt-2 text-sm text-stone-400">
B.S.E. Robotics, University of Michigan · Expected December 2027 · Ann Arbor, MI
</p>
<p class="mt-6 max-w-xl text-stone-500 leading-relaxed">
Open-set detection underwater, multi-camera fusion into 3D, real-time VLA inference on vehicle
hardware, and learned navigation policies that hold up in environments they haven't seen. I care about the measurable part: 30% over
baseline, 78% success rate, or it didn't work. It's all C++ and Python, profiled and tested
down to the edge device it runs on.
</p>
<div class="mt-8 flex flex-wrap items-center gap-3">
<a href="#projects" class="inline-flex items-center gap-2 rounded-lg bg-stone-900 px-5 py-2.5 text-sm font-medium text-white hover:bg-stone-800 transition-colors shadow-sm">
View projects
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"></path></svg>
</a>
<a href="resume.pdf" target="_blank" rel="noopener" class="inline-flex items-center gap-2 rounded-lg border border-stone-200 px-5 py-2.5 text-sm font-medium text-stone-600 hover:bg-stone-50 hover:border-stone-300 transition-colors">
Download resume
</a>
</div>
<div class="mt-8 flex flex-wrap items-center gap-x-6 gap-y-3 text-sm">
<a href="mailto:ashed@umich.edu" class="inline-flex items-center gap-2 text-stone-500 hover:text-accent-700 transition-colors">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"></rect><path d="m22 6-10 7L2 6"></path></svg>
ashed@umich.edu
</a>
<a href="https://github.com/ashrith5321" target="_blank" rel="noopener" class="inline-flex items-center gap-2 text-stone-500 hover:text-accent-700 transition-colors">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="currentColor"><path d="M12 .5A11.5 11.5 0 0 0 .5 12a11.5 11.5 0 0 0 7.86 10.92c.575.106.785-.25.785-.555 0-.274-.01-1-.015-1.965-3.196.695-3.87-1.54-3.87-1.54-.523-1.33-1.278-1.683-1.278-1.683-1.044-.714.08-.7.08-.7 1.154.082 1.762 1.185 1.762 1.185 1.026 1.758 2.693 1.25 3.35.955.103-.743.402-1.25.73-1.538-2.552-.29-5.236-1.276-5.236-5.677 0-1.254.448-2.28 1.183-3.084-.119-.29-.513-1.46.112-3.042 0 0 .965-.309 3.163 1.178a11 11 0 0 1 5.76 0c2.197-1.487 3.16-1.178 3.16-1.178.627 1.582.233 2.752.114 3.042.737.804 1.182 1.83 1.182 3.084 0 4.412-2.688 5.384-5.248 5.668.413.355.78 1.057.78 2.13 0 1.538-.014 2.778-.014 3.156 0 .308.207.667.79.554A11.5 11.5 0 0 0 23.5 12 11.5 11.5 0 0 0 12 .5z"></path></svg>
GitHub
</a>
<a href="https://linkedin.com/in/ashrith-edukulla-633b141a7" target="_blank" rel="noopener" class="inline-flex items-center gap-2 text-stone-500 hover:text-accent-700 transition-colors">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="currentColor"><path d="M19 0h-14C2.24 0 0 2.24 0 5v14c0 2.76 2.24 5 5 5h14c2.76 0 5-2.24 5-5V5c0-2.76-2.24-5-5-5zM7.12 20.45H3.56V9h3.56v11.45zM5.34 7.43a2.06 2.06 0 1 1 0-4.12 2.06 2.06 0 0 1 0 4.12zM20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.34V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28z"></path></svg>
LinkedIn
</a>
<a href="https://x.com/Ashrithed" target="_blank" rel="noopener" class="inline-flex items-center gap-2 text-stone-500 hover:text-accent-700 transition-colors">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
X
</a>
</div>
</div>
<div class="shrink-0 relative">
<div class="absolute -inset-4 bg-accent-50 rounded-3xl -z-10"></div>
<img
src="ashrith.jpg"
alt="Ashrith Edukulla"
class="w-36 h-36 sm:w-44 sm:h-44 rounded-2xl object-cover ring-2 ring-white shadow-lg"
/>
</div>
</div>
</section>
<!-- At a glance -->
<section aria-label="At a glance" class="pb-14">
<div class="grid grid-cols-2 gap-3 sm:gap-4 max-w-md">
<div class="rounded-xl bg-white border border-stone-100 p-4 sm:p-5 text-center">
<div class="font-serif text-2xl sm:text-3xl font-bold text-stone-900">3.8<span class="text-base sm:text-lg font-normal text-stone-300">/4.0</span></div>
<div class="mt-1.5 text-[10px] sm:text-xs font-medium text-stone-400 uppercase tracking-wide">GPA · Robotics</div>
</div>
<div class="rounded-xl bg-white border border-stone-100 p-4 sm:p-5 text-center">
<div class="font-serif text-2xl sm:text-3xl font-bold text-stone-900">4</div>
<div class="mt-1.5 text-[10px] sm:text-xs font-medium text-stone-400 uppercase tracking-wide">Courses as TA</div>
</div>
</div>
</section>
<!-- News -->
<section id="news" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">News</h2>
<ul class="space-y-4 max-w-2xl">
<li class="news-item">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4">
<span class="text-xs font-medium text-accent-600 whitespace-nowrap">Aug 2026</span>
<span class="text-sm text-stone-600">Became <span class="font-semibold text-stone-800">Co-Team Lead</span> of the NiFT Autonomous Shuttle team, leading Alpamayo VLA deployment on NVIDIA AGX Thor.</span>
</div>
</li>
<li class="news-item">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4">
<span class="text-xs font-medium text-accent-600 whitespace-nowrap">Jun 2026</span>
<span class="text-sm text-stone-600">Joined <span class="font-semibold text-stone-800">Moby Robotics</span> as a Perception ML Engineer, building underwater perception for at-sea deployments.</span>
</div>
</li>
<li class="news-item">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4">
<span class="text-xs font-medium text-accent-600 whitespace-nowrap">Jun 2026</span>
<span class="text-sm text-stone-600"><span class="font-semibold text-stone-800">OceanSim 2.0</span>, an underwater robotics simulator, is headed to <span class="font-semibold text-stone-800">OCEANS 2026</span>.</span>
</div>
</li>
<li class="news-item">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4">
<span class="text-xs font-medium text-accent-600 whitespace-nowrap">Mar 2026</span>
<span class="text-sm text-stone-600">Started building latent world-model navigation at the <span class="font-semibold text-stone-800">Scalable Spatial Intelligence Lab</span>, reaching 78% ObjectNav success on HM3D.</span>
</div>
</li>
<li class="news-item">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4">
<span class="text-xs font-medium text-accent-600 whitespace-nowrap">Dec 2025</span>
<span class="text-sm text-stone-600">Joined the <span class="font-semibold text-stone-800">Field Robotics Group (FRoG) Lab</span> to work on multimodal coverage planning for shipwreck inspection.</span>
</div>
</li>
</ul>
</section>
<!-- About -->
<section id="about" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">About</h2>
<div class="space-y-4 text-stone-500 leading-[1.8] max-w-2xl">
<p>
I am a Robotics undergraduate at the
<a href="https://umich.edu" target="_blank" rel="noopener" class="text-accent-600 hover:text-accent-800 underline underline-offset-2 decoration-stone-300 hover:decoration-stone-500 transition-colors">University of Michigan</a>
who spends most of his time writing the software that makes robots see, decide, and move. Right now
that means an end-to-end autonomous driving stack at NiFT and world-model navigation at the Scalable
Spatial Intelligence Lab, after a summer building underwater perception at Moby Robotics.
</p>
<p>
I like the parts of the problem where correctness is measurable. A detector is 30% better than the
baseline or it isn't; a navigation policy hits 78% success on held-out scenes or it doesn't; inference
fits the latency and memory budget of the edge device or it doesn't ship. So a lot of my work is
evaluation infrastructure, benchmarking harnesses, and profiling: the scaffolding that turns a
promising idea into a claim you can defend.
</p>
<p>
The systems I enjoy most cut across layers: a multi-camera fusion pipeline that has to reconcile 360°
imagery with stereo depth, a planner that switches sensing modes based on what it can currently
observe, a safety layer that must deterministically override a learned policy. Getting those right is
as much software engineering (interfaces, tests, reproducible environments) as it is robotics.
</p>
<p>
I've also taught four robotics courses as a teaching assistant, which has made me a much better
debugger of other people's systems and a much clearer writer about my own.
</p>
</div>
</section>
<!-- Focus areas -->
<section id="focus" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">What I Work On</h2>
<div class="grid sm:grid-cols-2 gap-5">
<div class="card p-6 border-l-[3px] border-l-stone-800">
<h3 class="text-base font-bold text-stone-800">Perception & Computer Vision</h3>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">Open-set detection, multi-camera sensor fusion, stereo depth, and 3D reconstruction from real field data.</p>
<p class="mt-4 text-[11px] font-medium text-stone-400 tracking-wide">Moby Robotics · Event-Optical Fusion</p>
</div>
<div class="card p-6 border-l-[3px] border-l-stone-800">
<h3 class="text-base font-bold text-stone-800">Navigation & World Models</h3>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">Long-horizon navigation with spatial memory, language-conditioned goals, and predictive representations.</p>
<p class="mt-4 text-[11px] font-medium text-stone-400 tracking-wide">Scalable Spatial Intelligence Lab · ObjectNav</p>
</div>
<div class="card p-6 border-l-[3px] border-l-stone-800">
<h3 class="text-base font-bold text-stone-800">Planning & SLAM</h3>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">Coverage and frontier exploration, occupancy mapping, and state estimation under partial observability.</p>
<p class="mt-4 text-[11px] font-medium text-stone-400 tracking-wide">FRoG Lab · MBot SLAM</p>
</div>
<div class="card p-6 border-l-[3px] border-l-stone-800">
<h3 class="text-base font-bold text-stone-800">Systems & Infrastructure</h3>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">ROS 2 and Dockerized evaluation stacks, reproducible benchmarks, profiling, and real-time edge deployment.</p>
<p class="mt-4 text-[11px] font-medium text-stone-400 tracking-wide">CARLA SFF · Habitat pipelines</p>
</div>
</div>
</section>
<!-- Education -->
<section id="education" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">Education</h2>
<div class="card p-6 sm:p-8 flex items-start gap-5">
<img src="michigan_logo.png" alt="University of Michigan" class="w-12 h-12 object-contain rounded-lg shrink-0 bg-stone-50 p-1" />
<div class="flex-1">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1">
<h3 class="text-base font-bold text-stone-800">University of Michigan, Ann Arbor</h3>
<span class="text-sm font-medium text-stone-400">Aug 2024 – Dec 2027 (expected)</span>
</div>
<p class="text-sm text-stone-500 mt-1">B.S.E. in Robotics · <span class="font-semibold text-stone-700">GPA 3.8 / 4.0</span></p>
<p class="text-sm text-stone-500 mt-4">
<span class="font-semibold text-stone-700">Honors:</span>
4× University Honors · 4× Dean's List · Academic Excellence Award
</p>
<p class="text-sm text-stone-500 mt-3">
<span class="font-semibold text-stone-700">Coursework:</span>
Data Structures & Algorithms, Deep Learning, Computer Vision, SLAM & Navigation,
Controls, Robot Operating Systems, Dynamics & Vibration, Intro to Electrical Circuits
</p>
<p class="text-sm text-stone-500 mt-3">
<span class="font-semibold text-stone-700">Current:</span>
Machine Learning, Intro to Reinforcement Learning, 3D Robot Perception, Autonomous Driving
</p>
</div>
</div>
</section>
<!-- Experience -->
<section id="experience" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-10 section-heading">Experience</h2>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-accent-600 mb-8">Industry & Research</h3>
<div class="space-y-8">
<article class="flex gap-4">
<img src="nift_logo.png" alt="NiFT logo" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-cover border border-stone-200 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">NiFT</h3>
<span class="text-sm font-medium text-stone-400">Aug 2026 – Present</span>
</div>
<p class="text-sm text-stone-400 mb-2">Co-Team Lead · Robotics ML Engineer · Autonomous Shuttle</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Co-lead the NiFT Autonomous Shuttle team, developing an end-to-end autonomous driving stack spanning planning, localization, control, and safety for multi-camera/LiDAR shuttles on <span class="font-medium text-stone-600">NVIDIA AGX Thor</span>.</li>
<li>Lead deployment and real-time optimization of NVIDIA Alpamayo 1.5/2, accelerating VLA inference via TensorRT Edge-LLM, FP8/INT8 quantization, CUDA Graphs, KV-cache tuning, and zero-copy pipelines.</li>
<li>Integrate Alpamayo into planning and control, linking multi-camera perception and 6.4 s waypoint trajectories to deterministic tracking, safety controls, and p50/p95/p99 latency profiling.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="moby_logo.png" alt="Moby Robotics logo" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-cover border border-stone-200 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">Moby Robotics</h3>
<span class="text-sm font-medium text-stone-400">Jun 2026 – Aug 2026</span>
</div>
<p class="text-sm text-stone-400 mb-2">Perception Machine Learning Engineer</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Built underwater perception systems for nodules, marine life, and open-set objects, reaching <span class="font-medium text-stone-600">30% better detection</span> than a vanilla VLM baseline, trained on real field data collected during at-sea deployments.</li>
<li>Developed a multi-camera sensor-fusion pipeline combining 360° imagery, stereo depth, and 3D reconstruction to improve spatial consistency for autonomous underwater mapping and navigation.</li>
<li>Profiled and optimized perception workloads on resource-constrained edge compute, balancing detection accuracy, inference latency, and memory for real-time deployment on embedded systems.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">Scalable Spatial Intelligence Lab</h3>
<span class="text-sm font-medium text-stone-400">Mar 2026 – Present</span>
</div>
<p class="text-sm text-stone-400 mb-2">Researcher · Navigation · Michigan Robotics</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Developed a latent world-model navigation system reaching <span class="font-medium text-stone-600">78% ObjectNav success on HM3D</span>, improving generalization over the OpenFrontier baseline through spatial memory and learned planning decisions.</li>
<li>Implemented a long-horizon navigation stack combining visual observations, language-conditioned goals, episodic memory, and predictive world-model representations for sequential decision-making.</li>
<li>Built Habitat evaluation pipelines benchmarking agents across unseen environments on success rate, path efficiency, and compute-performance tradeoffs, for fair and reproducible comparison.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="frog_logo.png" alt="Field Robotics Group logo" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-cover border border-stone-200 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">Field Robotics Group (FRoG) Lab</h3>
<span class="text-sm font-medium text-stone-400">Dec 2025 – May 2026</span>
</div>
<p class="text-sm text-stone-400 mb-2">Researcher · Perception & Planning · Michigan Robotics</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Implemented hierarchical coverage planning for shipwreck inspection using BFS global search with locally biased RRT sampling, improving exploration efficiency.</li>
<li>Developed occupancy-grid and frontier-exploration algorithms to update coverage state and reduce redundant traversal under partial observability and noisy underwater sensing.</li>
<li>Built a multimodal mapping pipeline fusing sonar and stereo vision into a unified spatial representation, improving robustness of 3D scene understanding across varying conditions.</li>
<li>Designed state-driven switching between long-range sonar exploration and close-range stereo inspection, balancing global coverage against high-resolution local reconstruction.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">Synergic Adaptive Machines (SAM) Lab</h3>
<span class="text-sm font-medium text-stone-400">Aug 2025 – Dec 2025</span>
</div>
<p class="text-sm text-stone-400 mb-2">Undergraduate Researcher · University of Michigan</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Researched macro- and micro-scale robot swarms under Prof. Steven Ceron to study collective motion and environmental interaction.</li>
<li>Developed decentralized control strategies for physical reconfiguration and emergent coordination.</li>
<li>Built a C++ HTTP and serial control bridge with a browser UI for driving a 9-motor experimental array with real-time feedback.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">Michigan Mars Rover Team</h3>
<span class="text-sm font-medium text-stone-400">Nov 2024 – May 2025</span>
</div>
<p class="text-sm text-stone-400 mb-2">Embedded Software Engineer · Ann Arbor, MI</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Programmed STM32 firmware to control servos, LEDs, and accelerometers for subsystem actuation and feedback.</li>
<li>Developed embedded drivers and ROS nodes for motor coordination and sensor data handling.</li>
<li>Contributed to navigation and control tuning for reliable performance in dynamic rover environments.</li>
</ul>
</div>
</article>
</div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-accent-600 mb-8 mt-14">Teaching</h3>
<div class="space-y-8">
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">ROB 330</h3>
<span class="text-sm font-medium text-stone-400">Aug 2026 – Present</span>
</div>
<p class="text-sm text-stone-400 mb-2">Teaching Assistant · University of Michigan</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Support MBot lab work in ROS 2 covering SLAM, localization, mapping, and waypoint navigation.</li>
<li>Debug full-stack robot systems with students, from sensor drivers and TF trees up through planning and control.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">EECS 467: Autonomous Robotics</h3>
<span class="text-sm font-medium text-stone-400">Jan 2026 – May 2026</span>
</div>
<p class="text-sm text-stone-400 mb-2">Teaching Assistant · University of Michigan</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Mentored students through C++/Python/ROS labs covering perception, SLAM, sensor fusion, planning, and control.</li>
<li>Debugged end-to-end robot systems during labs and office hours, diagnosing software, algorithmic, sensor, and integration failures across the hardware/software stack.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">ROB 201: Robot Differential Equations</h3>
<span class="text-sm font-medium text-stone-400">Aug 2025 – Dec 2025</span>
</div>
<p class="text-sm text-stone-400 mb-2">Teaching Assistant · University of Michigan</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Supported instruction in ODE modeling, linear systems, and control for undergraduate robotics students.</li>
<li>Led weekly office hours and problem sessions using Julia notebooks, simulations, and visualizations.</li>
</ul>
</div>
</article>
<article class="flex gap-4">
<img src="michigan_logo.png" alt="University of Michigan" width="48" height="48" loading="lazy" class="shrink-0 h-12 w-12 rounded-lg object-contain bg-white border border-stone-200 p-1 mt-0.5" />
<div class="flex-1 min-w-0">
<div class="flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-1 mb-1">
<h3 class="text-base font-bold text-stone-800">ROB 101: Computational Linear Algebra</h3>
<span class="text-sm font-medium text-stone-400">Dec 2024 – Apr 2025</span>
</div>
<p class="text-sm text-stone-400 mb-2">Teaching Assistant · University of Michigan</p>
<ul class="space-y-1.5 text-sm text-stone-500 list-disc list-outside pl-4">
<li>Supported instruction in computational linear algebra (linear systems, least squares, and matrix factorizations), taught in Julia.</li>
<li>Held office hours and guided students through programming assignments and weekly problem sets.</li>
</ul>
</div>
</article>
</div>
</section>
<!-- Publications -->
<section id="publications" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">Papers</h2>
<div class="space-y-4">
<article class="card p-6">
<div class="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2">
<h3 class="text-base font-bold text-stone-800">Multi-Map Navigation World Action Models</h3>
<span class="shrink-0 text-[11px] font-semibold uppercase tracking-wider text-stone-400 border border-stone-200 rounded-full px-2.5 py-1">In preparation</span>
</div>
<p class="mt-2 text-sm font-medium text-accent-700">First author</p>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
Latent world models for long-horizon, language-conditioned navigation across multiple maps.
</p>
</article>
<article class="card p-6">
<div class="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2">
<h3 class="text-base font-bold text-stone-800">Multimodal Sensor Fusion for Shipwreck Coverage Planning</h3>
<span class="shrink-0 text-[11px] font-semibold uppercase tracking-wider text-stone-400 border border-stone-200 rounded-full px-2.5 py-1">In preparation</span>
</div>
<p class="mt-2 text-sm font-medium text-accent-700">Co-first author</p>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
Fusing sonar and stereo vision into a unified representation to drive hierarchical coverage planning for autonomous underwater inspection.
</p>
</article>
<article class="card p-6">
<div class="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2">
<h3 class="text-base font-bold text-stone-800">OceanSim 2.0: Underwater Robotics Simulator</h3>
<span class="shrink-0 text-[11px] font-semibold uppercase tracking-wider text-accent-700 bg-accent-50 border border-accent-100 rounded-full px-2.5 py-1">OCEANS 2026</span>
</div>
<p class="mt-2 text-sm font-medium text-accent-700">Third author</p>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
An Isaac Sim extension for underwater robotics research, adding subsea sensing, dynamics, and scene generation for repeatable experiments.
</p>
</article>
</div>
</section>
<!-- Projects -->
<section id="projects" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-3 section-heading">Projects</h2>
<p class="mb-8 max-w-2xl text-sm text-stone-400 ml-[15px]">
Selected work across perception, autonomous driving, navigation, SLAM, and multi-robot systems.
</p>
<!-- Filter pills -->
<div id="projFilters" class="mb-10 flex flex-wrap gap-2" role="tablist" aria-label="Filter projects">
<button data-filter="all" class="proj-pill active">All <span class="pc">12</span></button>
<button data-filter="perception" class="proj-pill">Perception <span class="pc">1</span></button>
<button data-filter="av" class="proj-pill">Autonomous Driving <span class="pc">1</span></button>
<button data-filter="nav" class="proj-pill">Navigation <span class="pc">1</span></button>
<button data-filter="slam" class="proj-pill">SLAM & Planning <span class="pc">2</span></button>
<button data-filter="swarm" class="proj-pill">Swarms <span class="pc">1</span></button>
<button data-filter="hw" class="proj-pill">Hardware <span class="pc">6</span></button>
</div>
<!-- Featured -->
<h3 id="featuredHeading" class="proj-group-heading text-xs uppercase tracking-[0.2em] font-semibold text-accent-600 mb-6">Featured Work</h3>
<!-- Spotlight: VLA Safety Force Field -->
<article data-proj="av" data-group="featured" class="mb-6 card overflow-hidden">
<div class="grid md:grid-cols-2">
<div class="bg-[#FAFAFA] p-7 sm:p-9 flex flex-col justify-center gap-5 border-b md:border-b-0 md:border-r border-stone-100">
<span class="text-[11px] uppercase tracking-wider font-semibold text-accent-600">Flagship · AV Safety</span>
<div class="grid grid-cols-3 gap-4">
<div>
<div class="font-serif text-2xl sm:text-3xl font-bold text-stone-900">10+</div>
<div class="text-[11px] text-stone-400 font-medium">long-tail scenarios</div>
</div>
<div>
<div class="font-serif text-2xl sm:text-3xl font-bold text-stone-900">SFF</div>
<div class="text-[11px] text-stone-400 font-medium">deterministic override</div>
</div>
<div>
<div class="font-serif text-2xl sm:text-3xl font-bold text-stone-900">ROS 2</div>
<div class="text-[11px] text-stone-400 font-medium">closed-loop eval</div>
</div>
</div>
<p class="text-xs text-stone-400 font-medium">CARLA · Docker · Safety Force Field</p>
</div>
<div class="p-7 sm:p-9 flex flex-col justify-center">
<h4 class="text-lg font-bold text-stone-800">Vision-Language-Action Model: Safety Force Field</h4>
<p class="mt-3 text-sm text-stone-500 leading-relaxed">
Integrated a learned driving policy with a deterministic Safety Force Field that overrides unsafe
actions in multi-agent scenarios using collision-risk constraints. Implemented the potential-field
safety algorithms plus unit tests validating deterministic behavior across diverse driving
conditions, and wrapped it all in a Dockerized ROS 2 stack for closed-loop, reproducible evaluation
with synchronized simulator and sensor interfaces.
</p>
<div class="mt-4 flex flex-wrap gap-1.5">
<span class="tech-chip">CARLA</span>
<span class="tech-chip">ROS 2</span>
<span class="tech-chip">Docker</span>
<span class="tech-chip">AV Safety</span>
</div>
</div>
</div>
</article>
<div class="grid sm:grid-cols-2 gap-5">
<!-- Event-Optical Fusion -->
<article data-proj="perception" data-group="featured" class="card flex flex-col overflow-hidden">
<div class="p-6 flex flex-col flex-1">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-2">Perception & Multimodal ML</p>
<h4 class="text-base font-bold text-stone-800">Event-Optical Fusion for Space Object Classification</h4>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
Multimodal DarkNet53 + PointNet++ fusion for satellite detection, scoring <span class="font-medium text-stone-600">0.944 auPR</span>.
Paired with a spatiotemporal 3D CNN for trajectory prediction at ~91 ms batch inference.
</p>
<div class="mt-auto pt-4 flex flex-wrap gap-1.5">
<span class="tech-chip">PyTorch</span>
<span class="tech-chip">Event Cameras</span>
<span class="tech-chip">3D CNN</span>
</div>
</div>
</article>
<!-- ObjectNav BC -->
<a href="https://github.com/Ashrith5321/habitat-behavior-cloning-hm3d" target="_blank" rel="noopener" data-proj="nav" data-group="featured" class="card flex flex-col overflow-hidden group">
<div class="p-6 flex flex-col flex-1">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-2">Embodied AI</p>
<h4 class="text-base font-bold text-stone-800 inline-flex items-center gap-1.5">
ObjectNav Behavior Cloning on HM3D
<svg class="h-3.5 w-3.5 text-stone-300 link-arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M7 7h10v10"></path></svg>
</h4>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
A ResNet18 + GRU navigation policy trained from 76K+ PIRLNav human VR demonstrations across 80 HM3D
scenes, with truncated BPTT, 3.28x inflection weighting, and a custom dataset loader that bypasses
Habitat's strict episode schema.
</p>
<div class="mt-auto pt-4 flex flex-wrap gap-1.5">
<span class="tech-chip">PyTorch</span>
<span class="tech-chip">Habitat Sim</span>
<span class="tech-chip">Behavior Cloning</span>
</div>
</div>
</a>
<!-- Ocean Frontier -->
<article data-proj="slam" data-group="featured" class="card flex flex-col overflow-hidden">
<div class="p-6 flex flex-col flex-1">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-2">Exploration & Planning</p>
<h4 class="text-base font-bold text-stone-800">Ocean Frontier 3D Exploration: ROV Shipwreck Survey</h4>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
A three-phase autonomous ROV mission: BFS sweep of unmapped voxels, RRT-biased centroid approach, and
full next-best-view survey. Detects wrecks via vertical column clustering and fuses stereo depth with
sonar into a real-time OctoMap.
</p>
<div class="mt-auto pt-4 flex flex-wrap gap-1.5">
<span class="tech-chip">ROS 2</span>
<span class="tech-chip">C++</span>
<span class="tech-chip">Sensor Fusion</span>
</div>
</div>
</article>
<!-- MBot SLAM -->
<article data-proj="slam" data-group="featured" class="card flex flex-col overflow-hidden">
<div class="aspect-[16/9] bg-stone-100 overflow-hidden">
<video data-src="mbot_path.mp4" class="lazy-video w-full h-full object-cover" preload="none" loop muted playsinline></video>
</div>
<div class="p-6 flex flex-col flex-1">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-2">SLAM</p>
<h4 class="text-base font-bold text-stone-800">MBot Autonomous SLAM System</h4>
<p class="mt-2 text-sm text-stone-500 leading-relaxed">
Full SLAM on the MBot platform: laser-based localization, occupancy-grid mapping, and autonomous
exploration using frontier detection and A* path planning.
</p>
<div class="mt-auto pt-4 flex flex-wrap gap-1.5">
<span class="tech-chip">ROS 2</span>
<span class="tech-chip">SLAM</span>
<span class="tech-chip">A*</span>
</div>
</div>
</article>
</div>
<!-- More projects -->
<h3 id="moreHeading" class="proj-group-heading text-xs uppercase tracking-[0.2em] font-semibold text-accent-600 mb-6 mt-14">More Projects</h3>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-5">
<!-- SAM Motor UI -->
<article data-proj="swarm" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="sam-motor-ui.png" alt="9-motor swarm control UI" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Robotics Systems</p>
<h4 class="text-sm font-bold text-stone-800">9-Motor Swarm Control UI</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
A C++ HTTP + serial bridge and browser UI controlling a 9-motor array with real-time feedback and preset motion patterns.
</p>
</div>
</article>
<!-- Humanoid Leg -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<video data-src="humanoid_simulation.webm" class="lazy-video w-full h-full object-cover" preload="none" loop muted playsinline></video>
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Dynamics</p>
<h4 class="text-sm font-bold text-stone-800">Humanoid Leg Dynamics</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
MATLAB dynamic simulation of a humanoid leg, modeling joint torques, ground contact, and human-like gait.
</p>
</div>
</article>
<!-- Robotic Limb -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="robotic_arm.jpg" alt="Motion-sensing robotic limb" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Embedded</p>
<h4 class="text-sm font-bold text-stone-800">Motion-Sensing Robotic Limb</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
An accelerometer-based robotic limb with precise real-time finger control and motion sensing.
</p>
</div>
</article>
<!-- FROST -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="frost.png" alt="FROST black-ice detection robot" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Sensing</p>
<h4 class="text-sm font-bold text-stone-800">FROST</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
Black-ice detection robot using sensor fusion; alerts pedestrians with LEDs and an audio module.
</p>
</div>
</article>
<!-- HighWay Go -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="highwaygo.png" alt="HighWay Go" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Robotics</p>
<h4 class="text-sm font-bold text-stone-800">HighWay Go</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
Solar-powered robot that waters plants on highway medians using a robotic arm.
</p>
</div>
</article>
<!-- SmartWheel -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="smartwheel.png" alt="SmartWheel" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Energy</p>
<h4 class="text-sm font-bold text-stone-800">SmartWheel</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
A dual energy-harvesting system drawing from pressure and heat to power EV batteries autonomously.
</p>
</div>
</article>
<!-- AutoFarm -->
<article data-proj="hw" data-group="more" class="card overflow-hidden">
<div class="aspect-[16/9] bg-stone-50 overflow-hidden">
<img src="autofarm.png" alt="AutoFarm" loading="lazy" class="w-full h-full object-cover" />
</div>
<div class="p-5">
<p class="text-[11px] uppercase tracking-wider font-semibold text-accent-600 mb-1">Automation</p>
<h4 class="text-sm font-bold text-stone-800">AutoFarm</h4>
<p class="mt-1.5 text-xs text-stone-500 leading-relaxed line-clamp-2">
An agricultural robot that ploughs, sows, and waters, accelerating indoor crop growth with artificial light.
</p>
</div>
</article>
</div>
<p id="projEmpty" class="hidden mt-6 text-sm text-stone-400">No projects in this category.</p>
</section>
<!-- Skills -->
<section id="skills" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">Skills</h2>
<div class="space-y-6 max-w-3xl">
<div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-stone-400 mb-3">Languages & Systems</h3>
<div class="flex flex-wrap gap-2">
<span class="skill-tag">C++</span>
<span class="skill-tag">Python</span>
<span class="skill-tag">Linux</span>
<span class="skill-tag">Git</span>
<span class="skill-tag">Docker</span>
<span class="skill-tag">ROS 2</span>
<span class="skill-tag">MATLAB</span>
<span class="skill-tag">Julia</span>
</div>
</div>
<div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-stone-400 mb-3">ML & Computer Vision</h3>
<div class="flex flex-wrap gap-2">
<span class="skill-tag">PyTorch</span>
<span class="skill-tag">OpenCV</span>
<span class="skill-tag">NumPy</span>
<span class="skill-tag">Stereo Vision</span>
<span class="skill-tag">Visual Odometry</span>
<span class="skill-tag">Multi-View Stereo</span>
<span class="skill-tag">3D Gaussian Splatting</span>
<span class="skill-tag">3D Reconstruction</span>
<span class="skill-tag">Point Cloud Processing</span>
</div>
</div>
<div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-stone-400 mb-3">Algorithms</h3>
<div class="flex flex-wrap gap-2">
<span class="skill-tag">A*</span>
<span class="skill-tag">RRT</span>
<span class="skill-tag">Particle Filters</span>
<span class="skill-tag">EKF / UKF</span>
<span class="skill-tag">Occupancy Grids</span>
<span class="skill-tag">Frontier Exploration</span>
<span class="skill-tag">Trajectory Optimization</span>
<span class="skill-tag">SLAM</span>
<span class="skill-tag">Sensor Fusion</span>
<span class="skill-tag">State Estimation</span>
</div>
</div>
<div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-stone-400 mb-3">Simulation</h3>
<div class="flex flex-wrap gap-2">
<span class="skill-tag">CARLA</span>
<span class="skill-tag">Isaac Sim</span>
<span class="skill-tag">Habitat</span>
<span class="skill-tag">Gazebo</span>
</div>
</div>
<div>
<h3 class="text-xs uppercase tracking-[0.2em] font-semibold text-stone-400 mb-3">Embedded & Tooling</h3>
<div class="flex flex-wrap gap-2">
<span class="skill-tag">STM32</span>
<span class="skill-tag">Arduino</span>
<span class="skill-tag">I2C</span>
<span class="skill-tag">CMake</span>
<span class="skill-tag">gdb</span>
<span class="skill-tag">Profiling</span>
<span class="skill-tag">CUDA</span>
<span class="skill-tag">TensorRT</span>
<span class="skill-tag">Quantization</span>
</div>
</div>
</div>
</section>
<!-- Awards -->
<section id="awards" class="py-16 scroll-mt-20 border-t border-stone-100">
<h2 class="font-serif text-2xl font-semibold text-stone-900 mb-8 section-heading">Awards</h2>