Kelvin (Pengwei) Tao
Calgary, AB, Canada T3A 5V1
Tel: 403-***-****
Toronto, ON, Canada M1W 3M1
Tel: 416-***-****, 647-***-****
Email: ******.***@********.**
QUALIFICATIONS SUMMARY
Kelvin is a recent Engineering Science graduate with over a year of industrial experience in .NET and Java software development on the windows platform. He is proficient in C/C++, C#, XAML, WPF, .NET, MATLAB, Java, Fortran 97 and Python. He has extensive experience programming in C++ and C# using the .NET Framework, and has previously worked with Nvidia’s CUDA programming. Additionally, he has experience implementing multi-threaded programs and is familiar with multi-core programming. His eagerness to learn, attention to detail and quality, and excellent oral and written communication skills make Kelvin an asset to any team.
PROFESSIONAL EXPERIENCE
Software Developer, MacDonald, Dettwiler and Associates Ltd. Space Missions 2009 – 2010
Autonomous Intelligent Robust Guidance Navigation and Control (AIRGNC) Project
Developer for software package designed for auto-pilot use in future extraterrestrial rovers. Duties included the writing and integration of multiple hardware drivers and controls algorithms using C++ and C# utilizing the .NET Framework in Microsoft Visual Studio 2010.
• Wrote drivers in C++ for the calibration of the Tzyx 3D camera and the voxelization of image data to create a 3D point cloud.
• Assisted in optimizing the Iterative Closest Point (ICP) code (C++) used to stitch together multiple 3D point cloud data from the different sensors.
• Implemented the Scale-Invariant Feature Transform (SIFT) feature extraction algorithm using Nvidia’s CUDA code for parallel computing on a GeForce GTX 280 GPU.
• Integrated SIFT, Harris Corner and Maximally Stable External Regions (MSER) feature extractors to share common I/O parameters (classes, vectors, trees, graphs & other data structures) for access by the Visual Motion Estimation (VME) software.
• Implemented a software-based polling system to regulate and time the various control algorithms: USER GUI VME Feature Extractor Sensor Firmware.
• Implemented a 3D GUI using C# in .NET.
• Incorporated a D* Lite path planner, in C#, to compute the optimal path from the current location (given by VME) to a given goal (set by user) into the C# GUI.
• Assigned different programs to different CPUs to ensure efficient resource sharing.
• Assisted in the debugging and performance testing of AIRGNC in the Mojave Desert.
International Lunar Network (ILN) Simulation Project
Developer for a real-time 3D dynamics simulation program, including wheel-soil interaction, of a rover traversing on the lunar surface. Duties included the writing and integration of all software using Java in the Eclipse IDE.
• Ensured proper I/O communication through a local TCP/IP link from the MATLAB Simulink dynamics block to the 3D dynamics simulator (Java).
• Wrote hit-scan type programs (Java) to simulate vision from various sensors installed on the simulated rover.
• Created a real-time 3D simulator GUI using Java in Eclipse.
• Implemented a software-based polling system to regulate and time the various pieces of code.
• Demonstrated the capabilities of the real-time 3D simulator to the Canadian Space Agency (CSA) before final delivery.
Summer Research Student, University of Toronto Institute of Aerospace Studies 2008
Multiple Disciplinary Optimization (MDO) Project
Assisted Professor Joaquim Martins in writing and debugging pyMDO, a multidisciplinary design optimization program. Duties included the implementation and testing of Gradient Descent and Complex Step optimization algorithms.
• Wrapped several optimization Fortran 97 codes for interfacing with the python front-end.
• Tested optimization algorithm codes against known complex functions such as the Rosenbrock function.
• Programmed and debugged a python GUI front-end utilizing an optimization game for prototyping.
• Used pyMDO to optimize the overall design for modern commercial air-liners over several criteria, such as range, aerodynamic efficiency, weight, fuel efficiency, etc.
• pyMDO yielded the blended wing-body aircraft, like Boeing X-48, as the optimal solution when heavily optimizing for operating costs and fuel efficiency.
• pyMDO also yielded very interesting results depending on the different weights placed on the different criteria used in the optimization; results included box-wing aircrafts.
EDUCATION
University of Toronto, Toronto, Ontario 2006 - 2011
Bachelors of Applied Science in Engineering Science
• Thesis: A Study of Mobile Robot Algorithms for the Purposes of Area Coverage
o Created a C++ simulator of a rover and its performance operating under various different algorithms.
References Available Upon Request