Sheng Zhong (Johnson)

Robotics PhD

Education

2018-09 to 2024-09

Ph.D. in Robotics, University of Michigan

Advisor: Dmitry Berenson, Co-advisor: Nima Fazeli

Dissertation: Contact-based Perception and Planning for Robotic Manipulation in Novel Environments

2013-09 to 2018-06

B.ASc. in Engineering Science Robotics, University of Toronto

GPA: 3.914.0, Major GPA: 4.04.0, Class standing 2161 with high honors

Publications

2024-09

S. Zhong, N. Fazeli, and D. Berenson, “RUMI: Rummaging with Mutual Information,” IEEE Transactions on Robotics (T-RO), 2024. (under review)

2023-02

S. Zhong, N. Fazeli, and D. Berenson, “CHSEL: Producing Diverse Plausible Pose Estimates from Contact and Free Space Data,” Robotics: Science and Systems (RSS), 2023. link

2022-01

S. Zhong, N. Fazeli, and D. Berenson, “Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval,” IEEE Robotics and Automation Letters (RA-L), vol. 7, no. 2, pp. 3507-3514, April 2022. link

2021-02

S. Zhong, Z. Zhang, N. Fazeli, and D. Berenson, “TAMPC: An Online Controller for Escaping Traps in Novel Environments,” IEEE Robotics and Automation Letters (RA-L), vol. 6, no. 2, pp. 1447-1454, April 2021. link

2018-01

K. E. Murray, O. Petelin, S. Zhong, J. M. Wang et al., “Vtr 8: High-performance CAD and Customizable FPGA Architecture Modelling,” ACM Transactions on Reconfigurable Technology and Systems (TRETS), vol. 13, no. 2, pp. 1-55, 2020. Best Paper Award. link

Open-source Software

2022-06

PyTorch Volumetric Data Structures

github.com/UM-ARM-Lab/pytorch_volumetric pythonPyTorch

Signed distance functions (SDF), voxel grids, and other volumetric data structures accelerated on the GPU.

Fast parallel query across points for SDF value and gradients

2021-01

PyTorch Differentiable Robot Kinematics

github.com/UM-ARM-Lab/pytorch_kinematics pythonPyTorch

Parallel and differentiable robot forward kinematics and Jacobian calculation.

Load robot description from URDF, SDF, and MJCF formats

2020-01

PyTorch Model Predictive Path Integral Controller

github.com/UM-ARM-Lab/pytorch_mppi pythonPyTorch

Batched and GPU accelerated Model Predictive Path Integral (MPPI) controller.

Novel kernel interpolation smoothing

Work Experience

2018-05 to 2018-08

Kepler Communications Software Engineering Intern

Summer internship, Toronto keplercommunications.com pythonasyncioSQL

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 Projects

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

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 of lines of code]
  • Python
  • 100
  • C++
  • 60
  • Javascript
  • 15
  • C
  • 5
Software Skills
  • Specialities
  • Asynchronous programming, Parallelization
  • Build tools
  • CMake, Makefile, Catkin
  • Version control
  • Git, SVN
  • Environments
  • ROS, Linux, Web, Arduino
  • Libraries
  • PyTorch, numpy, cvxpy, Boost, QT, D3
  • Simulators
  • PyBullet, MuJoCo
  • Code review
  • Gerrit
  • Integration
  • Buildbot, Jenkins
  • Database
  • PostgreSQL, MySQL
Courses
  • Heavy focus
  • Control, Machine learning, Modelling, MPC
  • Medium focus
  • Perception, Kinematics, Probability, Algorithms
  • Light focus
  • Economics, Marketing