Ossama Ahmed

Ossama Ahmed

Senior Robotics Research Engineer

Nvidia

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

Jun 2021 – Present Montreal, Canada
Contributing to the research and development of Isaac Sim - Nvidia’s Robot Learning and Simulation platform.
 
 
 
 
 

Visiting Student Researcher - Prof. Yoshua Bengio

MILA - Montreal Institute for Learning Algorithms

Oct 2020 – Mar 2020 Montreal, Canada
Research on motion planning using model based learning methods.
 
 
 
 
 

Volunteer

The Machine Learning Summer School (MLSS)

Jun 2020 – Jul 2020 Tübingen, Germany
 
 
 
 
 

Visiting Student Researcher - Prof. Bernhard Schölkopf

Empirical Inference, Max Planck Institute for Intelligent Systems

Feb 2020 – Oct 2020 Tübingen, Germany
  • 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

Sep 2019 – Feb 2020 Zurich, Switzerland
  • 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

Jun 2019 – Jul 2019 Zurich, Switzerland
Participated in the first robotics summer school of ETH, where tutorials and hands-​on sessions were delivered at a training center for search and rescue. We got the opportunity to program a (semi)-​autonomous rough-​terrain UGV, to extensively test it in a variety of environments, and finally we challenged other participants in a Search and Rescue competition.
 
 
 
 
 

Master’s student Researcher - Prof. Marco Hutter

Robotic Systems Lab, ETH Zurich

Feb 2019 – Jul 2019 Zurich, Switzerland
  • 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

Jun 2018 – Sep 2018 Montreal, Canada
  • 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

Jun 2017 – Jun 2018 Toronto, Canada
  • 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

Jun 2016 – Jun 2017 Montreal, Canada
  • 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

Jan 2016 – Apr 2016 Montreal, Canada
Effectively conducted tutorials to over 80 students in Introduction to Software Engineering Course with 96% satisfaction on anonymous surveys. Actively mentored students for their projects and grading their assignments.

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.