About Me

I'm a first year Robotics PhD student at the University of Michigan in Ann Arbor.

I grew up in China, immigrated to Canada when I was 8, stayed in Calgary for 10 years, did my undergrad in Toronto (Engineering Science Robotics) for 4 years, spent 16 months in Zurich, and now I'm in Ann Arbor.

In my spare time, I enjoy making reusable tools, freely available on my github, and participating in various programming competitions.

Icon meanings

Professional Statement

As an engineer,

I believe engineering design is the iterative application of scientific knowledge and technical skills to solve real problems in a robust, usable, and efficient manner. Good engineering is a balance of fitting theoretical models and trial and error through prototyping, and it often involves breaking down the problem and inventing a language of tools at each conceptual layer for a long-lasting, robust solution.

Design Principles

My vision of good engineering design should seek these objectives in order of importance: robustness, usability, and efficiency.

Robust

solutions are designed for real life, where the environment is constantly changing. Designing for robustness often involves making the product simple (less parts often means less susceptible to noise). It also involves making the product easily changeable, which I implement by building the solution out of **modules**. This requires clearly defining how each module/component interact, which then allows the change of one component without requiring the change of other components as long as the interface is kept the same. My engineering process is geared towards robustness by first breaking the problem into components, creating a solution/module for each part, then combining and refining them to provide what best suits the current context.

Usable

solutions are designed for the end users, who possess a various set of skills and perspectives. Designing for usability often involves changing perspectives (reframing), and considering what would be intuitive for the users. It requires attention to detail to provide a quality user experience. The more physical aspect of usability is ergonomics - making the product physically compatible with human users. This involves research into human factors and designing the physical properties with those factors in mind.

Efficient

solutions are designed for progress, which involves solving large problems with little resources. Designing for efficiency often involves refining and iterating through solutions. My engineering process emphasizes maintaining a solution pool and keeping the selection open partly for this purpose. Retaining possible component solutions encourages iteration through various combinations to find a balance between efficiency and robustness.

To reach these objectives, I generally follow my design process.