About Me

Thomas   Cohn

Robotics   •   Math   •   Computer Science

Computer Science PhD student at the Massachusetts Institute of Technology, advised by Russ Tedrake. Member of the Robot Locomotion Group.

CV (Last updated September 2022)

Research Blog

Publications & Preprints


"Topologically-Informed Atlas Learning" (2021-2022)
ICRA 2022 (Acceptance 43.1%)
Thomas Cohn, Nikhil Devraj, Odest Chadwicke Jenkins
[ Paper ]    [ Project Page ]    [ Conference Presentation (ICRA 2022) ]    [ Code ]

Topologically-Informed Atlas Learning extends manifold learning to handle data from topologically non-trivial manifolds, by partitioning the manifold into regions with no holes and separately embedding each region. Thus, it constructs an atlas of coordinate charts, preserving both the local and global topology. We use our atlas learning approach to reconstruct human motion and learn kinematic models for articulated objects.


"TSBP: Tangent Space Belief Propagation for Manifold Learning" (2019-2020)
Robotics and Automation: Letters (RA-L) + IROS 2020
Thomas Cohn, Odest Chadwicke Jenkins, Karthik Desingh, Zhen Zeng
[ Paper ]    [ Project Page ]    [ Conference Presentation (IROS 2020) ]    [ Code ]

TSBP is a neighborhood graph denoising technique to make manifold learning more robust to data sparsity and noise. We use belief propagation to estimate tangent spaces, and use that information to remove false edges. We apply our technique to simulated robot sensing data and tactile data.

Research Projects


Coordinate Chart Particle Filter for Deformable Object Pose Estimation (2020-2021)
[ Project Page ]    [ Code ]

By learning a low-dimensional representation of deformable objects with manifold learning, we can then estimate their pose with a particle filter, where particles are constrained along the manifold to reduce the dimension of the search space.


Particle-Based Localization and Grasping of Grocery Bags (2018-2019)
[ Project Page ]    [ Code ]    [ Video ]

We detect the handles of a paper grocery bag in a video feed, and then triangulate their 3D locations with a paricle filter while moving the robot in order to grasp the bag.


Simultaneous Localization and Mapping with Iterative Closest Point (2016-2017)
[ Project Page ]    [ Code ]

By matching LIDAR scans with iterative closest point, a robot can construct a map of its surroundings while exploring an unknown environment.

Other Projects


EECS 467 (Autonomous Robotics) Final Project: Large Scale Mapping with Loop Closure (2022)
[ Project Page ]    [ Project Writeup ]    [ Video ]    [ Code ]

Robotic mapping with iterative closest point scan matching, automatic loop closure detection, and pose graph optimization.


Occupancy Grid SLAM in JavaScript (2021-2022)
[ Project Page ]    [ Code ]

A simulation of occupancy grid simultaneous localizaiton and mapping, with particle filter Monte Carlo localization. It's interactive, and it runs in your browser, so feel free to try it out!


EECS 442 (Computer Vision) Final Project: Monocular Simultaneous Localization and Mapping (2021)
[ Project Page ]    [ Project Writeup ]    [ Code ]

Constructing a sparse 3d map with a single camera, by extracting image features and triangulating them across multiple video frames.


EECS 442 (Computer Vision) Course Projects (2021)
[ Project Page ]

Assorted class projects for EECS 442 at the University of Michigan, including fitting homography transformations to warp and combine images, and performing semantic image segmentation with neural networks.


EECS 498-005 (Applied Machine Learning) Final Project: Head Pose Gesture Recognition (2021)
[ Project Page ]    [ Project Writeup ]    [ Code ]

Tracking head pose (as obtained via facial landmarks) for gesture recognition.


EECS 367 (Intro to Autonomous Robotics) Course Projects (2020)
[ Project Page ]    [ Video Playlist ]

Assorted class projects for EECS 367 at the University of Michigan, including A* search, forward and inverse kinematics, and RRT planning.


Interactive Piano Lights (2020)
[ Project Page ]    [ Code ]

A maker project that reads MIDI output from an electric keyboard, in order to control LEDs.


Stats 406 (Computational Statistics) Final Project: Hurricane Track Modeling via Manifold Learning (2019)
[ Project Page ]    [ Project Writeup ]    [ Code ]

Modeling Atlantic hurricane tracks with manifold learning and nonparametric kernel regression.


Interactive Drum Lights (2019)
[ Project Page ]

A maker project that detects drum notes with a piezoelectric sensor, in order to control LEDs.

Math Notes

I've partially or completely typset my lecture notes for several of the math classes I have taken. I've included links to Google Drive folders containing the PDFs, and links to the git repositories containing the LaTeX source files. (Classes are listed in reverse chronological order.)

Interactive Javascript Demos

I've created several interactive javascript demos, which you can try out online (no downloads required). I recommend you access these on a computer -- I can't guarantee they'll work on a mobile device.