STEM is just as important as learning how to read in this generation! I am building a learning platform that not only teaches robotics and computer science, but fosters both imagination and creativity through play.
I worked on developing an autonomous dual-arm robot in the Computer Vision Research & Development team at EPSON. We used state-of-art object detection algorithms to recognize the position and orientation of objects in 3D space, much like the human eye.
The project is featured here.
There was some satisfaction in designing and flying my own aircraft.
I designed a RC conventional aircraft and flew it. The aircraft could carry 10 golf balls with an average flight speed of 17 m/s. The aircraft was made from laser-cut balsa wood and carefully crafted together. The main wing used a SD7062 airfoil for optimized performance.
The full design report can be viewed here.
I designed a deorbiting pod space system to deorbit rocket bodies in Low Earth Orbit (LEO). Presently, there are a significant amount of man-made space debris found in LEO. These debris travel at thousands of miles per hours and endangers the success of future space missions. If these space debris are not removed, further debris can be created from debris collisions and aggravate the situation in a cascade-like effect. This is very bad!
The space system uses an ion drive to exert 0.2 N of drag force over a ~200 day period to the target debris. The debris eventually slows down to its target speed and moves towards the Pacific Ocean. The system aims to deorbit large rocket bodies, such as the Zenit-2, within a year. The design is an octagonal prism that is 2.7 m wide and 0.9 m high and is capable fitting into the Atlas V 521 launch vehicle. The mass of the system is estimated to be 1365 kg. A summary of the space system and its internal components are shown below.
Part of the design report focussing on our Control system can be viewed here.
There must be a better way to put traffic-cones on the street. Why not use robots?
I designed a miniture autonomous robot to deploy traffic cones onto unsafe road conditions. In particular, the robot followed a path and deployed traffic cones near potholes. The mechanical system consisted of a novel deployment mechanism that took advantage of the traffic-cone's geometry. All circuits were fabricated and soldered by hand, and programming was done in x86 Assembly on a PIC microcontroller. This was a very light-weight robot weighing in at less than 1 kg!
The full design report can be viewed here.
I developed an assistive robot mobile app. The app connected to a LEGO Mindstorm EV3 brick via Bluetooth for the mobile base of the robot, and another smart phone via WiFi Direct to display facial expressions of the robot. The robot has her own personality and will protect you when walking on the streets late at night.
The repository can be viewed here.
I programmed the game Othello in Prolog to learn about depth-first minimax game tree search. The game tree search used alpha-beta pruning. The heuristic function took into account limiting player's mobility, capturing higher number of pieces, and obtaining corner positions.
The repository can be viewed here.
An educational game targeted towards elementary students (Grade 1 - 4) for learning basic arithmetic. The game is an artillery-based game where the player controls a catapult (similar to Worms and Gunbound), and the goal of the game was to shoot numbers in order to answer arithmetic questions. It kept kids engaged in learning math!
The repository can be viewed here.
A contact record book GUI using Swing architecture.
The repository can be viewed here.
Neural Networks to learn utterances!
The repository can be viewed here.
Some fun CV projects I dived into. These include tracking pigeons using particle filters, cell detection using robust estimation, eye detection using AdaBoost, and depth estimation.
The repository can be viewed here.
I developed software for analysing mechanical structures using FEM.
The repository can be viewed here.
A short program to demonstrate data compression using Huffman coding. The program accepts an input file of text with ASCII values from 0 to 127, and builds a Huffman tree. The tree is used to assign codes to each character in the input file. These codes are then used to compress the text.
The repository can be viewed here.
I created a simulation of a parallel kinematic mechanism. It uses both forward and inverse kinematics to give user important data for research experiments.
The repository can be viewed here.
I designed an initial conceptual layout of a two-spool turbofan engine for a transonic passenger jet. I also had the opportunity to design and analyse an axial compressor by balancing performance trade-offs to meet certain mission requirements.
The repository can be viewed here.
I created a real-time multimodal system for human affect recognition. Using various computer vision and machine learning approaches, facial expression, body language, and vocal intonation were extracted to determine a person's emotion. This implementation was used to improve social bi-directional communication between humans and robots for various applications (e.g. assistive robots).
I've published my work in several research journals and presented my work at international research conferences.
Teams of autonomous robots can provide valuable assistance in Urban Search and Rescue (USAR) environments by gathering useful information about the complexity of the environment and accessing confined spaces. Learning-based semi-autonomous controllers allow robots to learn from dynamic USAR environments and previous experiences in order to optimize their own behaviours.
In my reserach, I implemented MAXQ Hierarchical Reinforcement Learning (HRL) for a team of rescue robots in a 3D simulation. The simulation served to evaluate HRL's performance in both map exploration and victim identification in unstructured USAR environments, as well as assess human-robot interaction metrics for the operator (i.e., workload, situational awareness).
Autonomous robots may accumulate significant errors during their long-range motion to a desired pose. These errors, however, can be compensated for by subsequent local, short-range corrective actions to within random noise levels of the system. Using Line of Sight technology and a novel iterative localization algorithm, parallel kinematic mechanisms (PKMs) can achieve their desired poses within nanometre error (noise levels).
This work has been published in a journal paper.
I am an amateur all-around competitive gymnast for University of Toronto. I do handstands on a daily basis, and train all-year long. I also love bouldering.
I am also a competitive dragon boat athlete. I love paddling in the open water during summer time. Crews that I have been part of include MOFOs and Iron Dragons. In 2016, we participated in the Canadian National Dragonboat Championships where we placed 1st in University and U24 divisions, and 3rd in Open Division.
I have a hidden talent in art. In my spare time, I sketch, paint, and design characters for 3D animations. I also love solving UI/UX problems.