ROCVSCApr 17, 2022

SymForce: Symbolic Computation and Code Generation for Robotics

arXiv:2204.07889v221 citationsh-index: 18Has Code
AI Analysis

This addresses efficiency challenges for robotics researchers and engineers in areas like computer vision and motion planning, though it appears incremental as an improvement over existing symbolic and optimization tools.

The authors tackled the problem of slow development and runtime performance in robotics optimization by creating SymForce, a library that combines symbolic computation with code generation, resulting in order of magnitude speedups on core robotics tasks.

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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes