top of page

PROJECTS

Below you can see a small snapshot of relevant project descriptions and images. The projects appear in roughly chronological order starting with the most recent.

Latest Projects
norsat_logo.jpg

Mechatronic Engineer Level 3 with Norsat International for 6 years. Assisted with the design, development, testing, and support of numerous Commercial and Military Grade Satellite Communication Component and Terminal Products throughout tenure.  

norsat_BUC_lineup.png
norsat_Terminals-Collection_540x.png
norsat_logo.jpg

Solo skunkworks development for a proof-of-concept vehicle-mountable 3-axis BLDC Motor Controlled Satellite Communication Platform capable of real-time Satellite Tracking and Pedestal Stabilization.

A massive undertaking and over a year of focused development resulting in a functional prototype and demonstrations leading to formal approval for commercial development of this product to be added to the New Product Roadmap.  

I designed and managed all technical aspects of the project from the ground up including:

  • tech-spec generation,

  • overall system architecture,

  • hardware selection,

  • pedestal frame and joint mechanics design,

  • Cable definitions

  • schematic capture and PCB motherboard design - facilitating integration and connectorization between the power supply, micro-controllers, peripheral hardware (Satellite Communication and Motion Control related) over various hardware standards (Digital IO, I2C, SPI, RS232, UART, USB), and the Client PC

  • custom embedded control firmware development

    • over 13,000 lines of custom C++ straddling 2 micro-controllers, responsible for driving peripheral hardware, running real-time tracking and motion controllers, and communicating with associated PC Client application  

  • custom PC Client Monitor and Control Software Application development (Python/Qt)​​

    • Multi-threaded GUI application providing rapid/robust real-time read/write communication, logging, plotting, and auto-magical synchronization of over 400 defined functions and parameters between application and hardware controllers

    • Relies on custom Serial Protocol and byte-wise packetization modeled off the CANOpen protocol that is mirrored in software and firmware

  • Vendor Management,​ in-house CNC machining, cable builds, PCB Assembly, System Assembly, Testing

  • as well as leading weekly project status meetings with the Director of Engineering and CEO.

 

Sanitized media of the prototype in action below: 

udacity_robond_logo.jpg

Through Udacity's Robotics Software Engineering Nanodegree - I developed several projects involving modelling, simulation, and practical software implementations of modern robotics kinematics and control theory, computer vision, and machine learning using Python, C++, ROS framework, and Gazebo in a Linux environment.

Project 1: Autonomous Navigation and Mapping - Computer Vision and State Machine Development using Python and OpenCV of simulated Rover 

Project Submission GitHub Repo

Project 2: Kinematics/Control of 6-axis Serial Manipulator for Pick & Place Applications - Simulated in Gazebo running Python Controller:

Project Submission GitHub Repo

RoboND - Kinematic hand calcs.jpg
RoboND - Pick and Place Gazebo.jpg

Project 3: 3D Perception - Process/filter/segment live data stream from simulated RGB-D camera to perform object recognition of assorted items for Pick and Place Robot in Gazebo Simulation

Project Submission GitHub Repo

RoboND - 3d perception_final.png

Project 4: Deep Learning Follow Me - Developed and trained a Deep Fully Convolutional Neural Network (FCN) to perform pixelwise segmentation on each frame of a video stream provided by a Quad Copter to locate, identify, and track a target actor amongst a crowd of people in a simulated city.  FCN modelled in Python using Tensorflow. 

Project Submission GitHub Repo

RoboND - Deep Learning Predictions.jpg
norsat_logo.jpg

Performed data wrangling, processing,  and analysis of large commercial flight path dataset (1000+ aircraft, > 4GB csv files) using Python with Pandas to determine if aircraft intersecting Satellite Terminal Line-Of-Sight during critical ~4day continuous live test were the cause of otherwise unexplained transient satellite signal losses.

A comparison of the timestamped signal losses and nearest crossing points of aircraft suggested causation between the events resulting in customer acceptance of Satellite Terminal Performance and sign-off to pass critical development gate.

 

Norsat - Flight Path Analysis - Video day.jpg
Norsat - Flight Path Analysis - Google Earth.jpg
Norsat - Flight Path Analysis - Time History.jpg
Norsat - Flight Path Analysis - Time History - Boresight.jpg
3dp_stewart_platform.jpg

Designed/built an ultra-low-cost ($15) 3d printed 6-axis stewart platform as a hobby project. 3D printed frame and joint mechanics with servo and bearing hardware integrated. Inverse Kinematic Solver and Servo Cal Tables implemented in C++ running on Arduino.

Design and consrtuction of prototype heatsink compartment to house high wattage (220kW) power electronic components. Assembly designed in Solidworks. Components (and necessary jigs) personally contructed and assembled at in-house machine shop using CNC and manual mill and other equipment. 

Design, construction, wiring, and programming of 2 Degree-Of-Freedom balancing robot. 6-DOF accelerometer/gyro signals processed in multiple PID control loops to coordinate two motors to balance robot in two planes. Programmed using an Arduino MicroController Unit.

Animation illustrating the bipedal walking gait of a human body. Programmed in Matlab from scratch utilizing robotics forward kinematics theory and joint angles found in a biomechanics journal. Limbs modelled in Solidworks and imported to Matlab.

Animation of simple 3-axis pick and place sandwich making robot. Programmed in Matlab from scratch as part of my 4th year Robotics Class Project. Mechanics modelled in Solidworks and imported to Matlab.

animation.gif

Low force adjustable joystick: An exercise in the design of a joystick with specific size and force constraints. Different concepts were considered before choosing the design with consideration to manufacturability, cost, and product effectiveness. A mathematical model was created and optimized in Matlab to determine product dimesnsions. A paramtetric CAD model was created with 3D printing in mind. The gymbal assembly was 3D printed in one print. The casing was machined and fitted to the gymbal.

During my Coop with Evasc, I assisted in the product testing phase of development of Evasc's new neurovascular stent package eClips. I designed and contructed more than half a dozen jigs used to mount components of the eClips in different stress tests using tensile and torque testing devices. The medical device industry is strictly regulated and all tests were run in accordance with ISO criteria. Technical documentation of components, test procedures, and test results were performed routinely.

A mechatronic sorting machine. Several optical and ferromagnetic sensors were wired along a DC-motor driven conveyor belt that would carry parts of different colour and material into a compartmentalized dish where the pieces would be sorted by their properties. The electronics were wired to and controlled by an Atmel MCU programmed in C. 

During my 8 month coop placement with PDG Mobility I worked extensively with Solidworks to create a CAD library of all parts used witihin PDG's wheelchair models. I created countless drawings of components adhering to GD&T standards for PDG's manufacturing partners. I designed several custom components in Solidworks for client's chairs that were machined in-house or outsourced to local fabricators. I took over designing a linkage-based foot-operated-breaking system that was later mass produced for the Fuze line of wheelchairs.

For a personal project I plan to 3D print a particular mountain range as a decorative table-top piece. By processing elevation data (obtained from publicy available sources) in Matlab I have created a high resolution 3D model editable in Solidworks of Mount Baker which I intend to 3D print using an available service.

For a personal project I recreated Theo Jansen's famous "Strandbeest" mechanism - using lego!  

Prototype COTM
bottom of page