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 July 2023)

Research Blog

Publications & Preprints


"Non-Euclidean Motion Planning with Graphs of Geodesically-Convex Sets" (2022-2023)
RSS 2023 (Acceptance 31%); Best Paper Finalist
Thomas Cohn, Mark Petersen, Max Simchowitz, Russ Tedrake
[ Paper ]    [ Project Page ]    [ Conference Presentation (RSS 2023) ]

We generalize the Graph of Convex Sets (GCS) framework for motion planning to handle non-Euclidean configuration spaces. In the zero-curvature case (encompassing mobile bases and continuous revolute joints), we provide optimality and collision-free guarantees via a reduction to a GCS problem. We demonstrate our results by producing whole-body plans for a PR2 mobile manipulator.


"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


6.8210 (Underactuated Robotics) Final Project: Cooperative Shared-Load Carrying by Quadrotors (2023)
[ Project Page ]    [ Project Writeup ]    [ Video Playlist ]    [ Code ]

With Seiji Shaw

Cooperative control (including stabilization and trajectory planning) of multiple quadrotors, tethered to a slung load.


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

With John Rosner

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 ]

With Nicholas Konovalenko, Neil Gurnani, and James Doredla

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 ]

With Lance Ying

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.