HackerPapers

arXiv:2204.07889cs.RO

SymForce: Symbolic Computation and Code Generation for Robotics

Hayk Martiros, Aaron Miller, Nathan Bucki, Bradley Solliday, Ryan Kennedy, Jack Zhu, Tung Dang, Dominic Pattison, Harrison Zheng, Teo Tomic, Peter Henry, Gareth Cross, Josiah VanderMey, Alvin Sun, Samuel Wang, Kristen Holtz

HN submission. Found in a submission link or body. Submitters do not count as commenters in the main ranking; a submission is not an endorsement.

Abstract

We present SymForce, a library for fast symbolic computation, code generation, and nonlinear optimization for robotics applications like computer vision, motion planning, and controls. SymForce combines the development speed and flexibility of symbolic math with the performance of autogenerated, highly optimized code in C++ or any target runtime language. SymForce provides geometry and camera types, Lie group operations, and branchless singularity handling for creating and analyzing complex symbolic expressions in Python, built on top of SymPy. Generated functions can be integrated as factors into our tangent-space nonlinear optimizer, which is highly optimized for real-time production use. We introduce novel methods to automatically compute tangent-space Jacobians, eliminating the need for bug-prone handwritten derivatives. This workflow enables faster runtime code, faster development time, and fewer lines of handwritten code versus the state-of-the-art. Our experiments demonstrate that our approach can yield order of magnitude speedups on computational tasks core to robotics. Code is available at https://github.com/symforce-org/symforce.

arXiv comments
10 pages, 5 figures. RSS 2022
Journal reference
DOI
doi:10.15607/RSS.2022.XVIII.041
Subjects
cs.RORobotics cs.CVComputer Vision and Pattern Recognition cs.SCSymbolic Computation

On Hacker News

No comments linking this paper were found in the collected sources. Found in 1 HN submission from May 2022 to May 2022. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments0 threads

No comments linking this paper were found in the collected sources. Open submission discussions.

Submitted to Hacker News

  • Show HN: SymForce – Fast symbolic computation, code generation, and optimization

    Author here. I’m unreasonably excited to share this library that we’re open-sourcing today — our team has been building it for five years and these ideas have been a passion of mine for fifteen. SymForce is a library that makes it easy to code a problem once in Python with an augmented SymPy API (backed by C++), experiment with it symbolically, generate optimized code in C++ or any backend language, and then run highly efficient nonlinear optimization problems based on the original problem…

Connected through shared HN threads, not inferred similarity or a recommendation.