-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
713 lines (692 loc) · 31.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
<!DOCTYPE HTML>
<!--
Phantom by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Thomas Cohn</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<link rel="stylesheet" href="assets/css/academicons.min.css" />
<noscript><link rel="stylesheet" href="assets/css/noscript.css" /></noscript>
</head>
<body class="is-preload">
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<div class="inner">
<!-- Nav -->
<nav>
<ul>
<li><a href="#menu">Menu</a></li>
</ul>
</nav>
</div>
</header>
<!-- Menu -->
<nav id="menu">
<h2>Menu</h2>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#featured_videos">Featured Video</a></li>
<li><a href="#publications">Publications & Preprints</a></li>
<li><a href="#research_projects">Research Projects</a></li>
<li><a href="#other_projects">Other Projects</a></li>
<li><a href="#math_notes">Math Notes</a></li>
<li><a href="#online_demos">Interactive Javascript Demos</a></li>
</ul>
</nav>
<!-- Main -->
<div id="main">
<div class="inner">
<header>
<span class="image right" style="text-align: center;">
<img src="images/Headshot.jpg" style="width: 100%; display: inline-block;">
<br>
<p style="text-align: center; margin-top: 0px;"><a href="./about_me.html">About Me</a></p>
</span>
<h1>
Thomas Cohn
</h1>
<h3>
Robotics • Math • Computer Science
</h3>
<p>
Computer Science PhD student at the Massachusetts Institute of Technology, advised by Russ Tedrake.
Member of the <a href="https://groups.csail.mit.edu/locomotion/index.html">Robot Locomotion Group</a>.
</p>
<h4>
<a href="Resources/cv.pdf"> <span class="icon fa-file-pdf"></span>CV (Last updated December 2024)</a>
</h4>
<h4>
<a href="https://blog.tommycohn.com/"> <span class="icon solid fa-blog"></span>Research Blog</a>
</h4>
</header>
<h2 id="featured_videos">
Featured Videos
</h2>
<!-- Thank you https://www.ankursheel.com/blog/full-width-you-tube-video-embed -->
<div style="width: 49%; display: inline-block;">
<div class="video-container">
<iframe src="https://www.youtube-nocookie.com/embed/videoseries?si=dtQFzFHdzj3SOXfR&list=PLU6BDl-vm1jT5MoTgS2AmHKIbziJpJV63" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen class="contained-video"></iframe>
</div>
</div>
<h2 id="publications">
Publications & Preprints
</h2>
<div class="project-section">
<div class="project-image-cont">
<a href="https://shrutigarg914.github.io/pgd-gcs-results/"><img src="images/pgd_gcs.png"></a>
</div>
<div class="project-description">
<p>
<em>"Planning Shorter Paths in Graphs of Convex Sets by Undistorting Parametrized Configuration Spaces"</em>
<br>
(Under review)
<br>
<a href="https://www.linkedin.com/in/sgrg914/">Shruti Garg</a>,
<b>Thomas Cohn</b>, <a href="https://groups.csail.mit.edu/locomotion/russt.html">Russ Tedrake</a>
<br>
[
<a href="https://arxiv.org/abs/2411.18913">Preprint</a>
]
[
<a href="https://shrutigarg914.github.io/pgd-gcs-results/">Project Page</a>
]
<br>
<br>
We extend GCS to handle nonconvex objectives, while maintaining feasibility guarantees. This is especially applicable for parametrizations of configuration space, used in <a href="https://tommycohn.com/Bimanual-Web/">bimanual manipulation</a> and <a href="https://alexandreamice.github.io/project/c-iris/">certifiably collision-free planning</a>.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="https://sites.google.com/view/fastiris"><img src="images/fastiris.gif"></a>
</div>
<div class="project-description">
<p>
<em>"Faster Algorithms for Growing Collision-Free Convex Polytopes in Robot Configuration Space"</em>
<br>
<b>Accepted: ISRR 2024</b> (Acceptance 56.58%)
<br>
<a href="https://wernerpe.github.io/">Peter Werner</a>,
<b>Thomas Cohn*</b>, Rebecca H. Jiang*, <a href="https://tseyde.github.io/">Tim Seyde</a>, <a href="https://msimchowitz.github.io/">Max Simchowitz</a>, <a href="https://groups.csail.mit.edu/locomotion/russt.html">Russ Tedrake</a>, <a href="https://danielarus.csail.mit.edu/">Daniela Rus</a>
<br>
*Denotes equal contribution.
<br>
[
<a href="https://arxiv.org/abs/2410.12649">Preprint</a>
]
[
<a href="https://sites.google.com/view/fastiris">Project Page</a>
]
<br>
<br>
We present faster and more reliable algorithms for constructing convex collision-free polytopes in robot configuration space. These sets can then be used with for trajectory optimization with the Graph of Convex Sets framework.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="https://tommycohn.com/Bimanual-Web/"><img src="images/bimanual.gif"></a>
</div>
<div class="project-description">
<p>
<em>"Constrained Bimanual Planning with Analytic Inverse Kinematics"</em>
<br>
<b>Accepted: ICRA 2024</b> (Acceptance 44.83%); <b style="color: #d4af37;">Best Paper in Robot Manipulation Finalist</b>
<br>
<b>Thomas Cohn</b>, <a href="https://seijis.csail.mit.edu/">Seiji Shaw</a>, <a href="https://msimchowitz.github.io/">Max Simchowitz</a>, <a href="https://groups.csail.mit.edu/locomotion/russt.html">Russ Tedrake</a>
<br>
[
<a href="https://ieeexplore.ieee.org/abstract/document/10610675">Paper</a>
]
[
<a href="https://tommycohn.com/Bimanual-Web/">Project Page</a>
]
<br>
<br>
We leverage analytic inverse kinematics to parametrize the constrained configuration space that arises when two robot arms grasp a common object. This simplifies the motion planning problem, allowing the use of standard sampling-based planners, trajectory optimizers, and the GCS planning framework with only slight modifications.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="https://ggcs-anonymous-submission.github.io/"><img src="images/ggcs.gif"></a>
</div>
<div class="project-description">
<p>
<em>"Non-Euclidean Motion Planning with Graphs of Geodesically-Convex Sets"</em>
<br>
<b>RSS 2023</b> (Acceptance 31%); <b style="color: #d4af37;">Best Paper Finalist</b>
<br>
<b>Thomas Cohn</b>, <a href="https://www.linkedin.com/in/mpetersen94/">Mark Petersen</a>, <a href="https://msimchowitz.github.io/">Max Simchowitz</a>, <a href="https://groups.csail.mit.edu/locomotion/russt.html">Russ Tedrake</a>
<br>
[
<a href="https://www.roboticsproceedings.org/rss19/p057.html">Paper</a>
]
[
<a href="https://ggcs-anonymous-submission.github.io/">Project Page</a>
]
[
<a href="https://www.youtube.com/watch?v=JbqIYJcWU9U">Conference Presentation (RSS 2023)</a>
]
<br>
<br>
We generalize the <a href="https://arxiv.org/abs/2205.04422">Graph of Convex Sets</a> (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.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/tial.html"><img src="images/tial_shrunk.gif"></a>
</div>
<div class="project-description">
<p>
<em>"Topologically-Informed Atlas Learning"</em>
<br>
<b>ICRA 2022</b> (Acceptance 43.1%)
<br>
<b>Thomas Cohn</b>, <a href="https://www.nikhildevraj.com/">Nikhil Devraj</a>, <a href="https://ocj.name/">Odest Chadwicke Jenkins</a>
<br>
[
<a href="https://ieeexplore.ieee.org/abstract/document/9812311">Paper</a>
]
[
<a href="projects/tial.html">Project Page</a>
]
[
<a href="https://www.youtube.com/watch?v=I1guvJNtpV4">Conference Presentation (ICRA 2022)</a>
]
[
<a href="https://github.com/cohnt/Topologically-Informed-Atlas-Learning">Code</a>
]
<br>
<br>
<em>Topologically-Informed Atlas Learning</em> 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.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/tsbp.html"><img src="images/tsbp_shrunk.gif"></a>
</div>
<div class="project-description">
<p>
<em>"TSBP: Tangent Space Belief Propagation for Manifold Learning"</em>
<br>
<b>Robotics and Automation: Letters (RA-L) + IROS 2020</b>
<br>
<b>Thomas Cohn</b>, <a href="https://ocj.name/">Odest Chadwicke Jenkins</a>, <a href="https://karthikdesingh.com/">Karthik Desingh</a>, <a href="https://www.zhenzeng.org/">Zhen Zeng</a>
<br>
[
<a href="https://ieeexplore.ieee.org/document/9166624">Paper</a>
]
[
<a href="projects/tsbp.html">Project Page</a>
]
[
<a href="https://www.youtube.com/watch?v=P46YEvAFj2I">Conference Presentation (IROS 2020)</a>
]
[
<a href="https://github.com/cohnt/Tangent-Space-Belief-Propagation/">Code</a>
]
<br>
<br>
<em>TSBP</em> 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.
</p>
</div>
</div>
<br><br>
<h2 id="research_projects">
Research Projects
</h2>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/ccpf.html"><img src="images/ccpf.png"></a>
</div>
<div class="project-description">
<p>
<em>Coordinate Chart Particle Filter for Deformable Object Pose Estimation</em>
<span style="float: right;">(2020-2021)</span>
<br>
[
<a href="projects/ccpf.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/Deformable-Object-Manifold-Learning">Code</a>
]
<br>
<br>
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.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/grocery.html"><img src="images/grocery.png"></a>
</div>
<div class="project-description">
<p>
<em>Particle-Based Localization and Grasping of Grocery Bags</em>
<span style="float: right;">(2018-2019)</span>
<br>
[
<a href="projects/grocery.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/Particle-Based-Localization">Code</a>
]
[
<a href="https://www.youtube.com/watch?v=sxgNvvJMJZw">Video</a>
]
<br>
<br>
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.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/icpslam.html"><img src="images/icpslam.png"></a>
</div>
<div class="project-description">
<p>
<em>Simultaneous Localization and Mapping with Iterative Closest Point</em>
<span style="float: right;">(2016-2017)</span>
<br>
[
<a href="projects/icpslam.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/M4Progress">Code</a>
]
<br>
<br>
By matching LIDAR scans with iterative closest point, a robot can construct a map of its surroundings while exploring an unknown environment.
</p>
</div>
</div>
<br><br>
<h2 id="other_projects">
Other Projects
</h2>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/6.8210.html"><img src="images/6.8210.png"></a>
</div>
<div class="project-description">
<p>
<em>6.8210 (Underactuated Robotics) Final Project: Cooperative Shared-Load Carrying by Quadrotors</em>
<span style="float: right;">(2023)</span>
<br>
[
<a href="projects/6.8210.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/6.8210-Final-Project-Lifting-Heavy-Objects-with-Teams-of-Quadrotors/blob/main/6_8210_Final_Project_Report.pdf">Project Writeup</a>
]
[
<a href="https://www.youtube.com/playlist?list=PLU6BDl-vm1jQolVMZFbHOre19acIl-vtI">Video Playlist</a>
]
[
<a href="https://github.com/cohnt/6.8210-Final-Project-Lifting-Heavy-Objects-with-Teams-of-Quadrotors">Code</a>
]
<br><br>
<em>With <a href="https://seijis.csail.mit.edu/">Seiji Shaw</a></em>
<br><br>
Cooperative control (including stabilization and trajectory planning) of multiple quadrotors, tethered to a slung load.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/graphslam.html"><img src="images/graphslam.png"></a>
</div>
<div class="project-description">
<p>
<em>EECS 467 (Autonomous Robotics) Final Project: Large Scale Mapping with Loop Closure</em>
<span style="float: right;">(2022)</span>
<br>
[
<a href="projects/graphslam.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/ICP-SLAM-with-Loop-Closure/blob/master/final-report.pdf">Project Writeup</a>
]
[
<a href="https://youtu.be/uV2OP7v6lY0">Video</a>
]
[
<a href="https://github.com/cohnt/ICP-SLAM-with-Loop-Closure">Code</a>
]
<br><br>
<em>With <a href="https://github.com/JohnRosner">John Rosner</a></em>
<br><br>
Robotic mapping with iterative closest point scan matching, automatic loop closure detection, and pose graph optimization.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="http://tommycohn.com/Occupancy-Grid-SLAM-JS/index.html"><img src="images/og_slam.gif"></a>
</div>
<div class="project-description">
<p>
<em>Occupancy Grid SLAM in JavaScript</em>
<span style="float: right;">(2021-2022)</span>
<br>
[
<a href="http://tommycohn.com/Occupancy-Grid-SLAM-JS/index.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/Occupancy-Grid-SLAM-JS/">Code</a>
]
<br><br>
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!
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/monocularslam.html"><img src="images/monocularslam.png"></a>
</div>
<div class="project-description">
<p>
<em>EECS 442 (Computer Vision) Final Project: Monocular Simultaneous Localization and Mapping</em>
<span style="float: right;">(2021)</span>
<br>
[
<a href="projects/monocularslam.html">Project Page</a>
]
[
<a href="https://web.eecs.umich.edu/~justincj/teaching/eecs442/projects/WI2021/pdfs/070.pdf">Project Writeup</a>
]
[
<a href="https://github.com/neil-gurnani/eecs-442-slam-project">Code</a>
]
<br><br>
<em>With <a href="https://nickono.com/">Nicholas Konovalenko</a>, <a href="https://neilgurnani.me/">Neil Gurnani</a>, and <a href="https://www.linkedin.com/in/james-doredla/">James Doredla</a></em>
<br><br>
Constructing a sparse 3d map with a single camera, by extracting image features and triangulating them across multiple video frames.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/eecs442.html"><img src="images/eecs442.png"></a>
</div>
<div class="project-description">
<p>
<em>EECS 442 (Computer Vision) Course Projects</em>
<span style="float: right;">(2021)</span>
<br>
[
<a href="projects/eecs442.html">Project Page</a>
]
<br>
<br>
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.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/headgesture.html"><img src="images/headgesture.png"></a>
</div>
<div class="project-description">
<p style="width: 100%;">
<em>EECS 498-005 (Applied Machine Learning) Final Project: Head Pose Gesture Recognition</em>
<span style="float: right;">(2021)</span>
<br>
[
<a href="projects/headgesture.html">Project Page</a>
]
[
<a href="https://drive.google.com/file/d/1AVlwgXs67TOGz-cT55T3TQDrktR0HV6I/view">Project Writeup</a>
]
[
<a href="https://github.com/cohnt/head-tracking-gesture-recognition">Code</a>
]
<br><br>
<em>With <a href="https://scholar.harvard.edu/lanceying/home">Lance Ying</a></em>
<br><br>
Tracking head pose (as obtained via facial landmarks) for gesture recognition.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/eecs367.html"><img src="images/eecs367.gif"></a>
</div>
<div class="project-description">
<p>
<em>EECS 367 (Intro to Autonomous Robotics) Course Projects</em>
<span style="float: right;">(2020)</span>
<br>
[
<a href="projects/eecs367.html">Project Page</a>
]
[
<a href="https://youtube.com/playlist?list=PLU6BDl-vm1jTHYZwrjQczLyQQ_IL8obMQ">Video Playlist</a>
]
<br>
<br>
Assorted class projects for EECS 367 at the University of Michigan, including A* search, forward and inverse kinematics, and RRT planning.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/piano.html"><img src="images/piano.png"></a>
</div>
<div class="project-description">
<p style="width: 100%;">
<em>Interactive Piano Lights</em>
<span style="float: right;">(2020)</span>
<br>
[
<a href="projects/piano.html">Project Page</a>
]
[
<a href="https://github.com/cohnt/midi-piano-lights">Code</a>
]
<br>
<br>
A maker project that reads MIDI output from an electric keyboard, in order to control LEDs.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/hurricanes.html"><img src="images/hurricanes.png"></a>
</div>
<div class="project-description">
<p style="width: 100%;">
<em>Stats 406 (Computational Statistics) Final Project: Hurricane Track Modeling via Manifold Learning</em>
<span style="float: right;">(2019)</span>
<br>
[
<a href="projects/hurricanes.html">Project Page</a>
]
[
<a href="https://raw.githubusercontent.com/cohnt/stats406_final_project/master/report/main.pdf">Project Writeup</a>
]
[
<a href="https://github.com/cohnt/stats406_final_project">Code</a>
]
<br>
<br>
Modeling Atlantic hurricane tracks with manifold learning and nonparametric kernel regression.
</p>
</div>
</div>
<br>
<div class="project-section">
<div class="project-image-cont">
<a href="projects/drum.html"><img src="images/drum.png"></a>
</div>
<div class="project-description">
<p style="width: 100%;">
<em>Interactive Drum Lights</em>
<span style="float: right;">(2019)</span>
<br>
[
<a href="projects/drum.html">Project Page</a>
]
<br>
<br>
A maker project that detects drum notes with a piezoelectric sensor, in order to control LEDs.
</p>
</div>
</div>
<br><br>
<!-- <section class="tiles">
<article class="style1">
<span><a href="projects/hurricanes.html">
<p class="project-title other-project-title">Hurricane Track Modeling via Manifold Learning</p>
</a></span>
<span class="image">
<a href="projects/hurricanes.html"><img src="images/hurricanes.png"></a>
</span>
</article>
<article class="style1">
<span><a href="projects/piano.html">
<p class="project-title other-project-title">Interactive Piano Lights</p>
</a></span>
<span class="image">
<a href="projects/piano.html"><img src="images/piano.png"></a>
</span>
</article>
<article class="style1">
<span><a href="projects/drum.html">
<p class="project-title other-project-title">Interactive Drum Lights</p>
</a></span>
<span class="image">
<a href="projects/drum.html"><img src="images/drum.png"></a>
</span>
</article>
</section>
<br><br> -->
<h2 id="math_notes">Math Notes</h2>
<p style="margin: 0 0 0.1em 0;">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.)</p>
<ul>
<li> <a href="https://drive.google.com/drive/folders/1TgWRFC2Yf2-Xq30k5XcWfNVPfQK-ZBwG?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-635-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 635 (Riemannian Geometry) Taught by <a href="https://lsa.umich.edu/math/people/faculty/uribe.html">Professor Alejandro Uribe</a> in 2021.</li>
<li> <a href="https://drive.google.com/drive/folders/1ge7YUQIg7MsrQ8SMsQ4Z9ASZj5Yj9yfH?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-591-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 591 (Differentiable Manifolds) Taught by <a href="https://lsa.umich.edu/math/people/faculty/uribe.html">Professor Alejandro Uribe</a> in 2020.</li>
<li> <a href="https://drive.google.com/drive/folders/19jmJU0kUoLjWg7X7Vkj6CKK66AqZ_Ka3?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-493-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 493 (Abstract Algebra/Group Theory) Taught by <a href="https://lsa.umich.edu/math/people/faculty/asnowden.html">Professor Andrew Snowden</a> in 2019</li>
<li> <a href="https://drive.google.com/drive/folders/1uCyxSCWTgEcUYhy35CaiHU_Le9SUjyiW?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-396-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 396 (Honors Analysis II) Taught by <a href="https://lsa.umich.edu/math/people/faculty/barrett.html">Professor David Barrett</a> in 2019</li>
<li><a href="https://drive.google.com/drive/folders/1nuGbVQTNcok5V2s-YYzC4klfmPETo0q8?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-565-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 565 (Graph Theory) Taught by <a href="https://sites.google.com/site/dannynguyenmath/">Dr. Danny Nguyen</a> in 2018</li>
<li><a href="https://drive.google.com/drive/folders/1oreFsJu05_uE-OuI6LiFeVn49ZtF8iON?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-395-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 395 (Honors Analysis I) Taught by <a href="https://lsa.umich.edu/math/people/faculty/barrett.html">Professor David Barrett</a> in 2018</li>
<li><a href="https://drive.google.com/file/d/1sXXt_yCa5LNT7K_qQxrLc8UswaXvoODJ/view?usp=sharing"> <span class="icon fa-file-pdf"></span> PDF Files</a> <a href="https://github.com/cohnt/Math-217-Notes"> <span class="icon brands fa-github"></span> LaTeX Source</a> Math 217 (Proof-Based Linear Algebra) Taught by <a href="https://homepage.univie.ac.at/david.fernandez-breton/english.html">Dr. David Fernández Bretón</a> in 2016</li>
</ul>
<h2 id="online_demos">
Interactive Javascript Demos
</h2>
<p style="margin:0 0 0.1em 0;">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.</p>
<ul>
<li><a href="http://tommycohn.com/Occupancy-Grid-SLAM-JS/index.html">Occupancy Grid SLAM</a></li>
<li><a href="http://tommycohn.com/MCL/index.html">Monte Carlo Localization</a></li>
<li><a href="http://tommycohn.com/Demo-Particle-Filter/index.html">Particle Filter Demo</a></li>
<li><a href="http://tommycohn.com/3D-Parametric-Curve-Plotter/">3D Parametric Curve Plotter</a></li>
<li><a href="http://tommycohn.com/Old-Derivative-Calculator/">Derivative Calculator</a></li>
<li><a href="http://tommycohn.com/PID-Demo/">PID Controller Demo</a></li>
<li><a href="http://tommycohn.com/DBSCAN/">DBSCAN Demo</a></li>
</ul>
</div>
</div>
<!-- Footer -->
<footer id="footer">
<div class="inner">
<section>
<h2>Contact</h2>
<ul class="icons">
<li><a href="mailto:[email protected]" target="_blank" class="icon solid style2 fa-envelope"><span class="label">Email</span></a></li>
<li><a href="https://scholar.google.com/citations?user=1Eg4C90AAAAJ" class="plainicon brands style2 ai ai-google-scholar"><span class="label">Google Scholar</span></a></li>
<li><a href="https://github.com/cohnt/" class="icon brands style2 fa-github"><span class="label">GitHub</span></a></li>
<li><a href="https://www.linkedin.com/in/thomas-cohn-hello/" class="icon brands style2 fa-linkedin"><span class="label">LinkedIn</span></a></li>
<li><a href="https://blog.tommycohn.com/" class="icon solid style2 fa-blog"><span class="label">Research Blog</span></a></li>
</ul>
</section>
<ul class="copyright">
<li>© Thomas Cohn. All rights reserved</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
</ul>
</div>
</footer>
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
<script src="assets/js/my.js"></script>
</body>
</html>