SO-ARM RL: Manipulation tasks (WIP)
End-to-end RL policy to lift a cube on SO-ARM100/101. Domain randomization and deployment helpers.
A curated set of things I’ve built, shipped, or validated on hardware. For a more visual overview, see my portfolio.
End-to-end RL policy to lift a cube on SO-ARM100/101. Domain randomization and deployment helpers.
Modular pipeline enabling end-to-end training in Isaac Lab and deployment on the real Gen3 without a runtime sim dependency. Includes training scripts, pre-trained weights, and ROS 2 nodes to stream joint targets directly to the arm. Validated with INIT Lab (ÉTS Montréal).
Clean locomotion environment for the BD-X biped with a 10-DoF task, curriculum randomization, and reward shaping. Designed for efficient training and easy reproduction; pending upstream integration in Isaac Lab.
Built a VR environment to study how manipulated visual feedback affects throwing accuracy and skill transfer. The study highlights VR’s potential for improving motor learning and precision.
Designed an innovative wheeled-biped with a zero-cantilever mechanism for stability. 3D-printed the structure and implemented ROS 2 control and RViz visualization for robust motion in varied environments.
Assistive sit-to-stand system using EMG-based intent detection and real-time seat hardening/tilting to reduce quadriceps load. Implemented data capture and analysis; validated with synchronized camera and EMG measurements.
Fused Velodyne LiDAR and RealSense D455 data for semantic mapping and person-following. Included calibration (ArUco), point-cloud colorization/interpolation, and YOLO/CLIP hooks — deployed on Jetson Xavier with ARM-Docker fixes.
Edge-based lane extraction (Hough) and real-time multi-object tracking for vehicle counting. Designed to be resilient to changing lighting and weather conditions.
Low-cost leg module prototype (2-DoF per leg) with a roadmap toward a 12-DoF upgrade and more dynamic gait control.
Tiny 1v1 game coded entirely in C++ (no engine), supporting keyboard and gamepad. Focused on core game loop, collisions, and rendering in a compact codebase.