| CARVIEW |
About Me
I am currently a Senior Robotics Research Engineer at Nvidia. I am interested in all topics surrounding Machine Learning, Perception and Robotics. Previously I obtained a MSc in Robotics, Systems and Controls at ETH Zurich; and before that I worked at Qualcomm with the SNPE SDK team after finishing my undergrad in Software Engineering at McGill.
Interests
- Machine Learning
- Reinforcement Learning
- Robotics
- Sim2Real
- Motion Planning
- Perception
- Transfer Learning
Education
-
MSc in Robotics, Systems and Control, 2020
ETH Zürich
-
BEng in Software Engineering, 2016
McGill University
Experience
Robotics Research Engineer
Nvidia
Visiting Student Researcher - Prof. Yoshua Bengio
MILA - Montreal Institute for Learning Algorithms
Visiting Student Researcher - Prof. Bernhard Schölkopf
Empirical Inference, Max Planck Institute for Intelligent Systems
- Developed and released CausalWorld, a novel robotics manipulation library for generalization in reinforcement learning.
- Collaborated with a team of engineers and researchers to launch the Real Robot Challenge - as part of the open dynamic robot initiative – where participants can use a farm of real robot manipulators as a cluster computing service.
- This work was covered by multiple news articles including IEEE Spectrum and Digital Trends.
- Tools used: C++, Python, Tensorflow, ROS and Bullet
Master’s student Researcher - Prof. Andreas Krause
Learning and Adaptive Systems Lab, ETH Zurich
- Implemented and benchmarked a model predictive controller(MPC) that uses a bayesian network to plan under uncertainty.
- Released blackbox_mpc library for MPC with sampling-based optimizers to enable fast prototyping of new optimizers.
- Tools used: Python, Tensorflow and Mujoco
Participant
Robotics Summer School 2019
Master’s student Researcher - Prof. Marco Hutter
Robotic Systems Lab, ETH Zurich
- Designed a legged locomotion controller for ANYmal robot that uses imitation learning to imitate different walking gaits.
- Successfully developed a simulated environment of the ANYmal robot using Mujoco physics engine for training controllers.
- Tools used: C++, Python, Tensorflow, ROS and Mujoco
Applied Research Scientist - Consultant
DeepLite.ai
- Engineered a neural network optimizer that improves speed, size and efficiency for on-device inference of networks.
- Improved the compression rate of neural networks by up to 15X using reinforcement learning.
- Tools used: Python, Tensorflow and PyTorch
Machine Learning Software Engineer
Qualcomm
- Designed and developed a tool that parses and optimizes Tensorflow graphs into an intermediate network representation which can then be used for efficient inference on Snapdragon mobile devices - using CPU, DSP or GPU.
- Implemented inference algorithms and GPU kernels for the different layers needed to support SOTA perception models.
- Tools used: C++, Python, Tensorflow, Caffe, Caffe2 and OpenCl
Research Assistant - Prof. Brett Meyer
Reliable Silicon Systems Lab, McGill University
- Leveraged machine learning to develop a neural architecture search engine that design quantized models to run on FPGAs.
- Tools used: Python, Tensorflow and Theano
Undergraduate Teaching Assistant
McGill University
Selected Projects
Real Robot Challenge
Currently co-organizing a new real robotics challenge to advance the state-of-the-art in robotic manipulation, a key skill required to deploy robots in the real world. Where we host multiple robotic platforms at the Max Planck Institute for Intelligent Systems. Participants will submit their code as they would for a cluster, and it will then be executed automatically on our platforms. This will allow teams to gather hundreds of hours of real robot data with minimal effort.
Causal World
CausalWorld is an open-source simulation framework and benchmark for causal structure and transfer learning in a robotic manipulation environment (powered by bullet) where tasks range from rather simple to extremely hard. Tasks consist of constructing 3D shapes from a given set of blocks - inspired by how children learn to build complex structures.
Blackbox MPC
A framework of different derivative-free optimizers which can be used in conjunction with a model predictive controller and a learned dynamics model to control an agent in a mujoco or a gym environment.
Deep 3D Human Pose Estimation
Proposed a pipeline that comprises one of the most recent approaches, namely the HighResolution Network combined with a lowweight baseline model for extracting the 3D skeleton of human subjects applied to the Human3.6M dataset; splitting the challenge to image-related and geometric-related tasks.
Effect of Behavioral Cloning on Policy Gradient Methods
With the increasing complexity of robots and the environments they interact with, crafting manual locomotion controllers becomes a challenging task to achieve. As evident from the recent research in this field, reinforcement learning (RL) contin- ues to emerge as an attractive solution for learning locomotion policies in high- dimensional continuous domains.
Local Exploration Based on TSDF
Most current exploration algorithms are based on heuristics and sampling/evaluating many potential viewpoints. The goal of this work is to learn an ideal motion to maximize the known space based on a local map representation.
Online Adaptation using Graph Networks
Considered learning online adaptation in a model-based reinforcement learning context where we train a dynamics model, implemented as a Graph Neural Network, in conjunction with using MPC to control a system where the controller adapts to changes in the environment or tasks.
Duckie Town
Successfully implemented a path planner and a velocity profiler for duckiebots as part of duckietown, a robotics outreach and educational platform, while taking into account various sources of uncertainty.
Sparse Monocular Visual Odometry Pipeline
Successfully implemented a monocular visual odometry (VO) pipeline with the most essential features: initialization of 3D landmarks, key point tracking between two frames, pose estimation using established 2D ↔ 3D correspondences, and triangulation of new landmarks.
Telepresence System
Successfully developed a Telepresence System that is equipped with high definition cameras remotely connected to an Oculus Rift. The purpose of the Telepresence System is to allow the users to see as if they were physically in place of the system itself. The project focused on three main areas: distortion removal, panoramic frame stitching and high definition video streaming.
Enigma Machine
Designed, built and tested a model of a digital Enigma Machine, a cipher machine used in WWII, on an FPGA board.
GoLite Compiler
Designed a compiler for GoLite, a subset of the Go programming language. Built the entire compiler pipeline (parser, syntax tree, type checker, code generator and optimizer), producing Java Byte Code as the target language.
HUS AI agent
Created an Artificial Intelligence agent to compete against more than 200 engineering students to play the HUS game, which is from the family of “Mancala Games”, using Reinforcement Learning Techniques. The agent ranked from the top 10%.
Catch the Flag Robot
Led my team in developing an autonomous robot, in a team of 5 students, to compete against more than 120 engineering students to play catch the flag game, where we ranked 3/25.
Bomberman Game
Implemented a modified version of this game with integrated account management system.