Hi, this is Richard – welcome to my website! I'm in my final year at McMaster University, where I focus my study on computing systems, high-performance computing, computer architecture, operating systems, machine learning, and modern web technologies. As an aspiring engineer, I am driven to apply my skills and knowledge to develop innovative solutions that can improve people's daily lives. My passion for creating positive change keeps me engaged with the latest technologies, with the goal of making a meaningful impact to the society.
Designed and built an embedded spatial measurement system using a ToF (Time-of-Flight) sensor to capture surrounding area data. Utilized Python NumPy and Open3D for 3D spatial mapping. Utilized UART and I2C for efficient software-hardware communication.
Collaborated in a team of three to design and develop an efficient Python program for the McMaster Recycling Plant Sorting System. Leveraged infrared (IR) technology to enhance sorting accuracy, improving it from 50% to 93%.
As a team of international students, we recognized the challenges newcomers face in Canada, from securing housing to opening a credit card. To address this, we developed a centralized platform that consolidates essential resources and information, simplifying the transition for incoming international students.
Developed and integrated software and hardware modules for the McMaster AEV, a 1/10th-scale RC vehicle platform. Utilized Jetson Nano and ROS for the AEV’s operating environment, programmed the Electronic Speed Controller with the VESC tool, and implemented SLAM for simultaneous mapping and self-localization to enable autonomous driving.
Designed and developed an advanced warehouse reels ordering system with real-time order display, comprehensive history tracking, and dynamic data syncing. Optimized order processing, reducing cycle time by 70% and significantly enhancing operational efficiency.
Developed the Smart Receiving Device (SRD) for warehouse automation using C#, integrating the Keyence SR-5000X camera and additional sensors to enable up to 8 barcode reads per scan. Improved materials traceability and increased production efficiency by 50%.
Optimized, profiled, and tested key machine learning operations (GEMM, GEMV, SPMM, SPMV) on the SciNet supercomputer using C++. Achieved a 5000x speedup by implementing cache-efficient algorithms and leveraging vectorization (AVX), CPU parallelism (OpenMP), and GPU parallelism (CUDA).
Developed a Lunar Lander agent using Deep Q-Networks (DQN) and Reinforcement Learning, achieving an average score of 265. Trained the agent in the OpenAI Gym environment with PyTorch for neural network implementation.
Developed an out-of-order CPU execution model with Reorder Buffer (ROB) and Load-Store Queue (LSQ) to optimize instruction processing. Designed instruction fetching, allocation, and commit mechanisms for parallelism. Improved performance with load forwarding to reduce memory latency. Analyzed IPC, ROB, and LSQ size to identify execution bottlenecks.
From hardware to software, building an interesting autonmous driving bike project aim to resolve the last-mile problem. (Looking for Mobile side collaboration and commercialization opportunities.)