Autonomous Drone Racing Competition
Teams competed to design the fastest trajectory planner for a Crazyflie nano-quadrotor. Our team was assigned to use a search-based planner, and so we implemented the classic A* algorithm. Using coordinate data from a VICON system a 2D occupancy map was generated, a path calculated, and then optimized for the drone’s flight dynamics. Our team achieved the fasted recorded time of 9.84 seconds!


Stereo-Based Visual Odometry

As part of a robotic perception assignment the Kitti dataset was used to implement visual odometry. The video sequence shows the output of the VO pipeline which performs image de-warping and rectification as well as keypoint detection and matching. The blue data above shows all feature mappings and the yellow data shows the result of using RANSAC for outlier rejection. Finally, point cloud alignment was performed for pose estimation and the result can be seen in the plot to the left. In later works I got the chance to implement an Extended Kalman Filter to further improve upon the pose estimation problem.
Turtlebot3
While at UofT, I got the chance to play around with some different tools on the Turtlebot3 Waffle Pi platform. Exercises included navigating a maze using RRT*, wheel odometry calibration and motion estimation, constructing an occupancy grid map, and localization and mapping with the AMCL and Gmapping ROS packages.

Ant Colony Style Potential-Guided RRT Algorithm


A study was performed to explore a new methodology for improving the efficiency of the RRT algorithm for robot path planning. Ideas from the ant colony and potential field algorithms were combined to introduce a node expansion prioritization and direction prioritization scheme to the classic RRT planner. The plots above show an RRT* planner on the left and the improved planner on the right. These graphs demonstrate the ability of the improved planner to search more efficiently and find the goal at the top right faster.
Dense 3D Reconstruction from Short Stereo Sequence
To investigate the potential of deep learning techniques as a substitute for high-end depth sensors in reconstruction tasks, an experimental pipeline was developed and evaluated. A D455 camera was used to capture depth and stereo image data of multiple scenes, and the output of three fusion techniques compared. We utilized existing work from PSMNet and TSDF fusion to generate dense reconstructions from stereo-only data. While the results of this short study were not as accurate as pipelines that utilized direct depth measurements, it was demonstrated that denser reconstructions could be achieved and it is likely that with more tuning and optimizations comparable results could be achieved with this methodology.

Boeing 747-400 Autopilot Simulation



As a culminating project for a course on UAV Fundamentals, a Boeing 747-400 autopilot control system was programmed and simulated using MATLAB/Simulink. A non-linear dynamics model was developed and three PID controllers tuned in order to execute the following flight maneuvers: steady-level flight at 35,000 ft, a 90o coordinated turn, and an ascent to 40,000 ft.
Blue Sky Solar Racing





During my undergraduate degree I was a member of the Blue Sky Solar Racing Team for 3 years. I had the amazing opportunity to participate in the design and fabrication of the team’s 9th Gen race car – Polaris! This car competed in the 2017 World Solar Challenge, where we drove the car across Australia from Darwin to Adelaide. We made it through both rain and shine to cross the finish line in 11th place.
Cyber Security
As part of an introductory course, I had the opportunity to play around with exploiting certain computer security vulnerabilities. Buffer overflow, format string, and double free vulnerabilities were explored as part of software risks, two-factor authentication was implemented and cross-site scripting, cross-site request forgery, and SQL injection were practised as part of learning about web security. Finally, DNS cache poisoning was performed to further understand network-layer security.
The lecture material from this course covered many other areas, including crypotography, IoT/embedded systems, malware, and even physical security. It was a definite eye-opening learning experience for me, and many of the basic practices taught will definitely come in handy as the digital world continues to evolve.
Universal Mechanical Testing Kit
As an undergraduate capstone project, my teammates and I designed a portable, buildable mechanical testing machine to provide 1st year engineering students more hands-on experience. As part of Prof. Jason Foster’s design course the students would be supplied with the materials to build this machine themselves for use in their coursework and personal projects. This design won 2nd place in the Mechanical and Industrial Engineering Department’s Capstone Design Showcase.


