Cart-Pole Swing-Up & Balance, Sim-to-Real Ready
PPO balances 100% over 20 episodes, matching LQR; energy-pump swing-up catches the pole at 6.4 s. Trained in 1.5M steps, ~6 min CPU.
SHEET 01 / 07 · ROBOTICS / MECHATRONICS · ISO 2768-m
Mechanical engineering student working across RL-based control, machining dynamics & tool-condition monitoring, and validated simulation studies.
20 MSS VERIFIED MANUSCRIPTS · 2026
FIG. 1 — GRASHOF CRANK–ROCKER, COUPLER CURVE SHOWN DASHED · DIMS IN mm
PPO balances 100% over 20 episodes, matching LQR; energy-pump swing-up catches the pole at 6.4 s. Trained in 1.5M steps, ~6 min CPU.
End-to-end PPO swings up 20/20 and reaches upright in 0.71 s, 3x faster than a hand-tuned energy controller that managed 7/10 after five tuning rounds.
Energy swing-up 10/10; against a +0.8 rad/s body poke, PPO recovers 12/20 where the pure LQR loses all 20. Both balance 20/20 near upright.
PPO tracks velocity to 0.123 m/s mean error vs the LQR 0.163 m/s, ~25% tighter; the LQR is marginally more robust (20/20 vs 19/20).
Both PPO and LQR survive 20/20 and recover every shove; LQR holds station tighter (0.235 m vs 0.338 m), PPO settles faster in the demo (2.3 s vs 3.0 s).
BC-from-LQR warm start plus PPO holds 10/10 across ±30% magnet-constant drift where the LQR drops to 5/10; PPO-from-scratch failure documented.
Discrete PID tuned in Python (Kp12/Ki22/Kd1): 13% overshoot, 1.45 s settle, 0 steady-state error — firmware mirrors the sim 1:1.
Space-saving stair designed and built for a split-level bedroom: parallel rails keep 6 treads level through a 900 mm rise; hand drawing → FreeCAD → welded steel.
Design study for the level-2 sleeping platform: a 421.8 N bed panel needs only a 5-39 N·m hand-hold at any swing angle once two 650 N gas struts are sized against it.
A wall-mounted fold-down desk whose two-link toggle bracket locks 5° past dead-centre, carrying ≈278 N per link at the stated 20 kg working load.
Scissor goods lift over the same 900 mm rise as the built stair, stopped at a 20° start angle where the ram still needs ~1.6 kN.
Pantograph arm drops a 900 mm rail 653 mm and 417 mm forward to chest height, held under 16 N hand force for a 12 kg rated load.
Design study for a 4:1 block-and-tackle ceiling hoist: 40 kg tray, 98 N ideal / 120 N real hauling force, 513 N anchor load, ratchet-locked.
ESP32 desk companion driving a 128x64 I2C OLED face, DHT22 read every 5 s, debounced PIR presence, and a 45-minute break-reminder buzzer chirp over 5 GPIOs.
Motorizing the real HW-002 folding stair: limit-switched deploy/stow state machine with current-sensed soft-stop obstruction protection.
From-scratch anti-windup PID with derivative-on-measurement, Steinhart-Hart NTC sensing, and a 1 s time-proportional SSR drive for a bench heater loop.
Five-channel IR array feeds a weighted-centroid line estimate into a PD differential-drive controller, with a calibration sweep and lost-line spin-search recovery.
ESP32 sweeps an HC-SR04 through 180° on an SG90 servo, median-of-3 filters each echo, and a 128x64 OLED draws a live polar radar display with fading blips.
Hysteresis watering with dry-run lockout and an 8 s pump-runtime cap, duty-cycled on a 30-min ESP32 deep-sleep loop projecting ~5.6-year single-cell battery life.
Timer-ISR ADC sampling into a ring buffer, rising-edge trigger with pre-trigger capture, and a WebSocket-streamed canvas scope served straight from the ESP32.
From-scratch trapezoidal step profiles, homed soft limits, and an encoder/OLED time-lapse menu driving a belt-slider NEMA17 through an A4988.
Complementary filter (tau 1.0 s) fuses MPU6050 accel tilt with gyro rate into a 2-axis OLED bubble level with 0.1° readout, zero-cal tare, and a ±0.2° level beep.
High-side V/I/P sensing on a bench supply rail with trapezoidal mAh integration and 10 Hz CSV logging for capacity plots.
ESP32 drives a 240x240 round GC9A01 TFT over SPI at a 40 ms frame tick, redrawing a blinking kawaii face and cycling five encouragement messages every 5 s.
Self-directed (Daejeon target)
20 verified manuscripts across machining dynamics, tool-condition monitoring, and validated-analysis audits; all numbers reproduced from code.
Self-directed
Seven PPO-vs-LQR control studies (cart-pole through maglev and chatter suppression), each with a custom Gymnasium env and live demo.
⚙ Factory, Urgench
Hands-on CNC machining, CAM, drilling and metal cutting on the shop floor; sourced the cutting-parameter study access.
New Uzbekistan University
Focus on robotics, controls and manufacturing; graduating May 2027.
Orbit with mouse / touch.
⚙ Replace public/models/placeholder.glb with your own
SolidWorks / Fusion glTF exports — see README.
Fundamental mechanisms, drawn true to their kinematics. Hover, focus, or drag any figure to crank it by hand.
| DOMAIN | TOOL | LEVEL |
|---|---|---|
| CAD | SolidWorks · Fusion 360 | ●●●○ WORKING |
| MFG | CNC machining · 3D printing | ●●●● PRIMARY |
| CODE | Python · NumPy · SciPy | ●●●● PRIMARY |
| ML | Gymnasium · SB3 (PPO) · scikit-learn | ●●●○ WORKING |
| CONTROL | LQR · PID · energy methods | ●●●○ WORKING |
| SIM | FE & stability lobes (from scratch) | ●●●○ WORKING |
| DATA | pandas · matplotlib | ●●●○ WORKING |
| HW | Arduino · sensors | ●●○○ FAMILIAR |
| ESP32 · C++ · PlatformIO · Wokwi | ●●○○ FAMILIAR |
A coupler-curve walking linkage — in the tradition of Chebyshev's 1878 plantigrade machine and Jansen's Strandbeest. Four crank-rocker legs share one crankshaft at staggered phase; each foot traces a curve with a flat stance stroke, so the frame walks. You found the undocumented sheet. Well played, engineer.