-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsoftware.html
More file actions
325 lines (303 loc) · 18.2 KB
/
software.html
File metadata and controls
325 lines (303 loc) · 18.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eric Xiao | Software Engineering Portfolio</title>
<link rel="icon" href="images/logo.svg" type="image/svg+xml">
<!-- Google Fonts -->
<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@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<!-- Modern CSS -->
<link rel="stylesheet" href="assets/css/modern.css">
<!-- FontAwesome for icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
</head>
<body>
<!-- Navigation -->
<nav class="nav" id="navbar">
<div class="nav-container">
<div class="nav-left">
<a href="index.html" class="nav-logo">Eric Xiao</a>
<a href="resume.html" class="nav-resume">
<span class="resume-text">Resume</span>
</a>
</div>
<ul class="nav-menu" id="nav-menu">
<li><a href="resume.html" class="nav-link nav-link-mobile-only">Resume</a></li>
<li><a href="index.html" class="nav-link">Home</a></li>
<li><a href="mechanical.html" class="nav-link">Mechanical</a></li>
<li><a href="software.html" class="nav-link active">Software</a></li>
<li><a href="message.html" class="nav-link">Contact</a></li>
</ul>
<div class="nav-toggle" id="nav-toggle">
<span></span>
<span></span>
<span></span>
</div>
</div>
</nav>
<!-- Software Projects Section -->
<section class="section" style="min-height: auto; padding-top: 120px;">
<div class="container">
<div class="section-header">
<h1 class="section-title">Software Engineering Portfolio</h1>
<p class="section-subtitle">
Here are some of my software engineering related projects, showcasing my expertise in AI/ML,
web development, blockchain, and data analytics.
</p>
</div>
<div class="projects-grid">
<!-- EROBS -->
<div class="project-card" onclick="window.location.href='software/EROBS.html'">
<img src="images/software/EROBS/architecture.png" alt="EROBS System Architecture" class="project-image">
<div class="project-content">
<h3 class="project-title">Extensible Robotic Beamline Scientist</h3>
<p class="project-description">
Adaptive motion planning stack for novel scientific experiments at National Synchrotron Light Source II.
Integrates Bluesky control software with ROS 2 and MoveIt to enable hardware-agnostic Universal Robot control
at beamlines. Features dynamic end-effector management, collision-aware motion planning, and automated experimental workflows
deployed in production at CMS beamline.
</p>
<div class="project-tech">
<span class="tech-tag">ROS2</span>
<span class="tech-tag">MoveIt</span>
<span class="tech-tag">Bluesky</span>
<span class="tech-tag">Python</span>
<span class="tech-tag">Docker</span>
<span class="tech-tag">Motion Planning</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
In Service at NSLS-II
</span>
</div>
</div>
</div>
<!-- Autonomous UAV Navigation & SLAM -->
<div class="project-card" onclick="window.location.href='software/UAVNavigation.html'">
<img src="images/software/UAVNavigation/simulation_navigation.png" alt="UAV Navigation SLAM" class="project-image">
<div class="project-content">
<h3 class="project-title">Autonomous UAV Navigation & SLAM</h3>
<p class="project-description">
Lightweight SLAM pipeline for resource-constrained Crazyflie 2.1 UAV, fusing IMU and 4-point LiDAR
for real-time obstacle mapping. Implemented D* Lite path planner achieving 20% faster replanning
than A*, with Minimum Snap trajectory generation for smooth cascaded control. Developed ROS2 bag-based
offline validation pipeline enabling deterministic algorithm refinement through flight data replay.
</p>
<div class="project-tech">
<span class="tech-tag">Python</span>
<span class="tech-tag">ROS2</span>
<span class="tech-tag">SLAM</span>
<span class="tech-tag">Path Planning</span>
<span class="tech-tag">Control Theory</span>
<span class="tech-tag">LiDAR</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
Completed Fall 2025
</span>
</div>
</div>
</div>
<!-- Cobot Trajectory Planning -->
<div class="project-card" onclick="window.location.href='software/CobotPlanning.html'">
<img src="images/software/CobotPlanning/cover.png" alt="Cobot Trajectory Planning" class="project-image">
<div class="project-content">
<h3 class="project-title">Cobot Trajectory Planning</h3>
<p class="project-description">
Advanced kinematics and motion planning for AUBO i5 collaborative robot. Implemented forward and inverse
kinematics from URDF model, developed Jacobian-based velocity control for smooth end-effector trajectories,
and performed Monte Carlo workspace analysis identifying kinematic singularities. Designed time-parameterized
trajectories with polynomial interpolation ensuring C2 continuity for stable, dynamically feasible motion.
</p>
<div class="project-tech">
<span class="tech-tag">Python</span>
<span class="tech-tag">Kinematics</span>
<span class="tech-tag">Motion Planning</span>
<span class="tech-tag">URDF</span>
<span class="tech-tag">Jacobian Control</span>
<span class="tech-tag">Trajectory Optimization</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
Completed Fall 2025
</span>
</div>
</div>
</div>
<!-- Robotic Pipette End Effector - Software Focus -->
<div class="project-card" onclick="window.location.href='mechanical/RoboticPipette.html#software-focus'">
<img src="images/mechanical/RoboticPipette/pipettor_on_ur5e_close_up.png" alt="Robotic Pipette Software Integration" class="project-image">
<div class="project-content">
<h3 class="project-title">Robotic Pipette Software Stack</h3>
<p class="project-description">
Comprehensive software integration for precision robotic liquid handling system with 50µL target achieving 5µL ±0.5µL accuracy.
Developed microcontroller firmware with RS485 communication, Python service bridging MoveIt motion planning with hardware
control, and ROS2 wrapper for seamless integration with erobs scheduling and Bluesky protocols.
</p>
<div class="project-tech">
<span class="tech-tag">C++</span>
<span class="tech-tag">Python</span>
<span class="tech-tag">ROS2</span>
<span class="tech-tag">Arduino</span>
<span class="tech-tag">RS485</span>
<span class="tech-tag">Linear Actuator Control</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
In Service at NSLS-II
</span>
</div>
</div>
</div>
<!-- ChefBuddy -->
<div class="project-card" onclick="window.location.href='software/ChefBuddy.html'">
<img src="images/software/ChefBuddy/chefbuddy_app_interface.png" alt="ChefBuddy" class="project-image">
<div class="project-content">
<h3 class="project-title">ChefBuddy - AI Recipe Manager</h3>
<p class="project-description">
An AI-powered recipe manager inspired by Paprika v3 but enhanced with automated meal planning,
smart recipe management, and receipt-based inventory tracking. Built with Express.js, Vue.js,
OpenAI, Cheerio, and Axios, it scrapes and summarizes recipes, suggests meals, and manages
pantry stock by scanning receipts.
</p>
<div class="project-tech">
<span class="tech-tag">Express</span>
<span class="tech-tag">Vue.js</span>
<span class="tech-tag">OpenAI</span>
<span class="tech-tag">AI/ML</span>
<span class="tech-tag">OCR</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--accent-primary); font-weight: var(--font-weight-medium);">
<i class="fas fa-clock"></i>
In Development
</span>
</div>
</div>
</div>
<!-- BMI Bootcamp -->
<div class="project-card" onclick="window.location.href='software/BMICodeCamp.html'">
<img src="images/software/BMICodeCamp/cover.jpg" alt="BMI Bootcamp" class="project-image">
<div class="project-content">
<h3 class="project-title">Biomedical ML Bootcamp</h3>
<p class="project-description">
Intensive bootcamp hosted by Stony Brook Medicine and CEAS Department focusing on machine learning
techniques for biomedical data analytics. Explored Random Forest, SelectKBest, K-Means clustering,
and neural networks using PyTorch. Applied edge detection with OpenCV and optimized models using
Optuna for hyperparameter tuning, improving accuracy and efficiency.
</p>
<div class="project-tech">
<span class="tech-tag">Python</span>
<span class="tech-tag">PyTorch</span>
<span class="tech-tag">ML/AI</span>
<span class="tech-tag">OpenCV</span>
<span class="tech-tag">Optuna</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
Completed Fall 2023
</span>
</div>
</div>
</div>
<!-- CarbonShare -->
<div class="project-card" onclick="window.location.href='software/CarbonShare.html'">
<img src="images/software/CarbonShare/IMG_1365.JPG" alt="CarbonShare" class="project-image">
<div class="project-content">
<h3 class="project-title">CarbonShare - Blockchain Carbon Tracking</h3>
<p class="project-description">
A decentralized carbon tracking solution powered by blockchain technology. The idea came from
Yun Zhang, CEO of Mobileware, who envisioned rewarding onTime Carpool users for reducing their
carbon footprint. Built with Solidity, Angular, Python, and deployed on Ethereum testnet with
CarbonShare Tokens (CST) as ERC-20 rewards.
</p>
<div class="project-tech">
<span class="tech-tag">Solidity</span>
<span class="tech-tag">Angular</span>
<span class="tech-tag">Python</span>
<span class="tech-tag">Blockchain</span>
<span class="tech-tag">Web3</span>
</div>
<div style="margin-top: var(--space-md);">
<span style="color: var(--text-secondary); font-weight: var(--font-weight-medium);">
<i class="fas fa-check-circle"></i>
24-hour Hackathon Project
</span>
</div>
</div>
</div>
</div>
<div class="btn-group" style="justify-content: center; margin-top: var(--space-3xl);">
<a href="mechanical.html" class="btn btn-primary">
<i class="fas fa-cog"></i>
View Mechanical Projects
</a>
<a href="index.html" class="btn btn-secondary">
<i class="fas fa-home"></i>
Return Home
</a>
</div>
</div>
</section>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="footer-content">
<p>© 2025 Eric Xiao. All rights reserved.</p>
<p>I like to game, walk my dog Mochi, and cook in my spare time.</p>
<p style="margin-top: var(--space-md);"><a href="directory.html" style="color: var(--accent-primary);">Project Directory</a></p>
</div>
<!-- Social Links -->
<div class="social-links">
<a href="https://www.linkedin.com/in/eric-xiaoy/" class="social-link" title="LinkedIn">
<i class="fab fa-linkedin"></i>
</a>
<a href="https://github.com/sixym3" class="social-link" title="GitHub">
<i class="fab fa-github"></i>
</a>
<a href="https://www.instagram.com/sixym3/" class="social-link" title="Instagram">
<i class="fab fa-instagram"></i>
</a>
<a href="https://x.com/cyberbroker4729" class="social-link" title="Twitter">
<i class="fab fa-twitter"></i>
</a>
<a href="https://www.instagram.com/mochi_is_a_shiba_inu" class="social-link" title="Mochi's Instagram">
<i class="fas fa-paw"></i>
</a>
</div>
</div>
</footer>
<!-- JavaScript -->
<script>
// Mobile Navigation Toggle
const navToggle = document.getElementById('nav-toggle');
const navMenu = document.getElementById('nav-menu');
navToggle.addEventListener('click', () => {
navMenu.classList.toggle('active');
});
// Close mobile menu when clicking on a link
document.querySelectorAll('.nav-link').forEach(link => {
link.addEventListener('click', () => {
navMenu.classList.remove('active');
});
});
// Navbar background on scroll
window.addEventListener('scroll', () => {
const navbar = document.getElementById('navbar');
if (window.scrollY > 50) {
navbar.style.background = 'rgba(10, 10, 10, 0.98)';
} else {
navbar.style.background = 'rgba(10, 10, 10, 0.95)';
}
});
</script>
</body>
</html>