Johnson Zhong

Robotics Engineering Student

Education

2018-09 to now

University of Michigan

PhD in Robotics under Dmitry Berenson

2013-09 to 2018-06

University of Toronto

B.ASc in Engineering Science Robotics with high honours johnsonzhong.me/res/grad/degree.pdf

Cumulative GPA: 3.914.0

Major GPA: 4.04.0

Rank 2161 in semester 5 | 5158 in semester 6

Work Experience

2018-05 to 2018-08

Kepler Communications Software Engineering Intern

Summer internship, Toronto keplercommunications.com pythonasyncio

Kepler is a Toronto startup providing communication services with low earth orbit satellites. Challenges from this situation include communication opportunities being limited to when the satellite is above a ground station (a pass), and frequently dropped packets.

Designed and developed mission control backend for commanding and communicating with satellites to replace 3rd party software

Scaled communication to potentially tens of satellites simultaneously

Modularized architecture to allow for handling of any communication protocol without affecting interaction logic

Allowed for task scheduling and progress saving across passes

2016-05 to 2017-09

Verity Studios R&D Engineering Intern with Prof. Raffaello D'Andrea

16 months Professional Experience Year, Zurich veritystudios.com C++QTboost

Verity Studios is an ETH spinoff specializing in indoor drone show systems. I designed and implemented a robust parameters system.

Real time performance

Parameter values smartly retained after adding/removing other parameters

PC software can modify parameters on all hardware platforms and versions without recompilation

Simplified usage so much that a coworker wrote: Tears of joy come to my eyes seeing how much simpler the code becomes

Research Experience

2017-09 to 2018-05

Magnetic Microbead Control for Intracellular Manipulation with Prof. Yu Sun

Undergraduate Thesis at the Advanced Micro and Nanosystems Laboratory MATLABQT

The lab develops a cutting edge magnetic tweezer to manipulate nano-sized beads

Created simulation of the magnetic system

Explored how practical constraints impacted controllable region

Designed a learned gain scheduling controller to optimize controllable region

2016-05 to 2017-09

Verity Studios R&D Engineering Intern with Prof. Raffaello D'Andrea

16 months Professional Experience Year, Zurich veritystudios.com C++QTboost

Modelled novel indoors localization system using physics first principles

Enabled optimization of flight performance

Achieved correlation of 0.86 (95% confidence >0.80) against experimental performance

2015-05 to 2015-09

FPGA CAD Routing Optimization with Prof. Vaughn Betz

Summer research with USRA NSERC 5k grant, University of Toronto johnsonzhong.me/projects/vpr C++

Verilog-to-Routing (VTR) is a CAD flow mapping Verilog to FPGAs. Its runtime performance was bottlenecked by the routing phase for large circuits.

Developed route tree pruning algorithm to allow incremental reroutes, speeding up routing by up to 3x on difficult benchmarks

Designed targeted rerouting algorithm for critical yet suboptimal connections, producing up to 30% faster resulting circuits (maximum frequency)

Benchmarked over realistic circuits, with speedups scaling with circuit size

Awards

2018-04

Engineering Science Award of Excellence johnsonzhong.me/res/grad/award_of_excellence.pdf

2018-01

3rd in Ontario Engineering Competition 2018 Programming category 500

2016-03

1st in Ontario Engineering 2016 Competition Programming category 2000 johnsonzhong.me/projects/snowfun

2015-10

1st in Canada in IEEEXtreme 9.0 (286800 globally) johnsonzhong.me/res/ieee9.pdf

2015-01

Context.io API prize in PennApps Winter 2015 500 devpost.com/software/snowball

2014-10

8th in Canada in IEEEXtreme 8.0 (526500 globally) johnsonzhong.me/res/ieee8.pdf

2014-09

Google Cloud Platform prize in Hack the North 2015 1000 devpost.com/software/forenships

2013-10

6th in Canada in IEEEXtreme 7.0 (437500 globally) johnsonzhong.me/res/ieee.jpg

Languages
  • Experience [> thousands lines of code]
  • C++
  • 50
  • Javascript
  • 10
  • Python
  • 10
  • C
  • 5
Projects

2015-09 to 2015-11

Autonomous Cooperating Robots

AER201 Design Project in a team of 3 johnsonzhong.me/projects/robot/ C++Arduino

The task was to design and build a mobile robot to play connect-4 on a semi-randomized game board. We decided to pursue a two robots approach, one for retrieving the ball and one for playing the ball.

Targeted randomly placed high-reward ball dispensers to obtain fastest ball retrieval time (3 ball/min vs average 0.5 ball/min)

2014-11 to 2015-09

Simple Algorithms and Data Structures Library

Open source personal project johnsonzhong.me/sal/ C++

Header only C++ template library with an interactive tester focused on implementation readability.

Implemented sets and maps with treaps to get 4x insertion and 2x read time improvements over standard library

Software Skills
  • Specialities
  • Asynchronous programming, Optimization
  • Build tools
  • CMake, Makefile
  • Version control
  • Git, SVN
  • Environments
  • Windows, Linux, Arduino
  • Libraries
  • Boost, QT
  • Code review
  • Gerrit
  • Integration
  • Buildbot, Jenkins
Courses
  • Heavy focus
  • Control theory, Machine learning, Modelling
  • Medium focus
  • Dynamics, Kinematics, Probability, Algorithms
  • Light focus
  • Economics, Marketing