Posts

Atomic Cycles and Finding Holes in Manifolds

Image
It's been a while! Turns out being in a PhD program keeps you pretty busy. I'm gonna try to get back into research blogging, but we'll see how long that lasts. This post is going back to manifold learning , my research focus during my undergrad at the University of Michigan. Machine learning theoreticians and practitioners frequently make use of the manifold hypothesis , which asserts that high-dimensional data generally lie along lower-dimensional latent manifolds. Manifold learning makes heavy use of that assumption: it tries to find a coordinate chart of that manifold, towards producing an explicit low-dimensional representation of the data. One potential shortcoming of this strategy is that not all manifolds can be represented using a single coordinate chart, due to holes in the manifold. One can get around this by making cuts to the manifold or embedding pieces of the manifold as an atlas of charts , but to do so, one must identify the holes. Since the manifold is un

RSS 2023 Recap

Image
Last week, I attended Robotics: Science and Systems in Daegu, South Korea. While there, I presented our paper, Non-Euclidean Motion Planning with Graphs of Geodesically-Convex Sets . This was my first experience presenting at a single-track conference, and giving a talk in front of hundreds of people was pretty anxiety-inducing! But I think the talk and poster session went very well. You can view the poster here , and I've clipped a recording of the talk from the RSS livestream here . There were several papers at the conference that I found particularly interesting. Path Planning for Multiple Tethered Robots Using Topological Braids presents a group-theoretic framework for tethered quadrotors, which may be in a knotted configuration. It would have been very nice to know about their work when I was working on my final project with Seiji Shaw for Underactuated this past spring. In that project, we ended up making the simplifying (and somewhat unrealistic) assumption that the cab

Defining Geodesic Convexity

In my previous blog post , I discussed the notion of geodesic convexity , which is a generalization of ordinary convexity in Euclidean space to Riemannian manifolds. This is essential for disciplined optimization over manifolds; hence, it's very relevant to my research in optimization-based motion planning over manifolds. Unfortunately, in the current literature, there are various definitions of geodesic convexity, with key differing properties. This is chiefly because if a geodesic connecting two points exists (it may not exist), it may not be unique, and it may not be minimizing. In this brief blog post, I'll discuss the various definitions that are used, and then explain why we use the one we did in our GGCS paper . The Definitions Nicholas Boumal's textbook An introduction to optimization on smooth manifolds is an excellent reference on the subject, and he discusses the various definitions of geodesic convexity in Section 11.3. The first definition of geodesic convexi

IRIS on a Torus: Growing Convex Sets on Manifolds

Image
My current research focus at MIT is motion planning along manifolds, which we're primarily exploring through the lens of the graph of convex sets framework, abbreviated as GCS. (Refer to a previous blog post for more details, or check out the papers of Marcucci et. al. here and here .) Convexity is a property that is examined through the lens of Euclidean geometry, but it is possible to consider it in the broader context of smooth manifolds. This is reliant on the idea of a geodesic: a shortest path on a manifold. Replacing Euclidean spaces with manifolds and lines with geodesics allows us to consider a graph of geodesically convex sets (GGCS). We've begun laying the groundwork for planning over manifolds with such a tool, and you can read about it in our paper Non-Euclidean Motion Planning with Graphs of Geodesically-Convex Sets , to appear at RSS 2023. (You can read the preprint today on arXiv!) While GGCS assumes the geodesically convex sets are given, computing such set

Differing Formulations of GCS for Motion Planning

Image
In case you haven't heard of it before, GCS stands for "Graph of Convex Sets", and it is a framework for certain mixed integer convex optimization problems, primarily used for robot motion planning. I previously wrote a blog post on my experience implementing a basic version of it, which you can find here . I'd recommend reading that blog post before looking at this one. If you've read that previous blog post, you may recall that I described two different ways of transcribing the motion planning problem into a graph of convex sets. I implemented one version, which seems more faithful to the original GCS paper . However, the other transcription, presented in the planning-specific followup paper , has several benefits over the previous approach. In this blog post, I'll briefly present both methodologies, and explain their costs and benefits. Formulation 1: Conjugate Graph Fig. 1 of Shortest Paths in Graphs of Convex Sets The classic picture of GCS is the one sho

Paper Breakdown: A Heuristic Approach to Finding Diverse Short Paths (Caleb Voss et. al.)

Image
A Heuristic Approach to Finding Diverse Short Paths (Caleb Voss, Mark Moll, and Lydia E. Kavraki) is a motion planning paper from Rice University's Kavraki Lab . The paper specifically examines graph-based motion planning, and aims to produce multiple diverse plans from the start to the goal, to make a robotic system robust to changing conditions. In particular, it would be computationally expensive to constantly update the edge weights in a graph if the underlying environment it models were dynamically changing. With the authors' approach, one only needs to check the potential paths for validity. The diversity of the paths makes it more likely that the system will succeed, since an obstacle blocking one path will likely block similar paths. 20 diverse paths from a start to a goal through downtown Houston, from Fig 6 of the paper. Background Graph-based motion planners represent the set of robot configurations as nodes in a graph, where edges indicate it's possible to move

Reimplementing GCS (Shortest Paths in Graphs of Convex Sets)

Image
In a previous blog post , I discussed my experiences reimplementing Iterative Regional Inflation by Semidefinite programming (IRIS) , which is an algorithm for finding large convex regions of collision free space (C-Free). In this blog post, I'll be discussing my experiences reimplementing shortest paths in Graphs of Convex Sets (GCS) , an algorithm for motion planning when the configuration space is described as the union of convex sets. Disclaimer: the intent is not to build a codebase for future use, since the Drake toolbox has mature implementations of both IRIS and GCS . Disclaimer: if you have not read the previous blog post , you should do so before reading this one. In this blogpost, I'll give a brief overview of the GCS paper, and then discuss my experiences reimplementing it. Before reading this blog post, you should read my previous blog post about reimplementing IRIS, as it provides some background and context which I will not repeat in this post. I have also ma