SymForce: Symbolic Computation and Code Generation for Robotics

04/17/2022
by   Hayk Martiros, et al.
0

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.

READ FULL TEXT

page 1

page 2

research
03/22/2022

sympy2c: from symbolic expressions to fast C/C++ functions and ODE solvers in Python

Computer algebra systems play an important role in science as they facil...
research
11/26/2020

Copy-and-Patch Binary Code Generation

Runtime compilation of runtime-constructed code is becoming standard pra...
research
12/22/2017

Differential geometry and stochastic dynamics with deep learning numerics

In this paper, we demonstrate how deterministic and stochastic dynamics ...
research
05/04/2018

Manifold Geometry with Fast Automatic Derivatives and Coordinate Frame Semantics Checking in C++

Computer vision and robotics problems often require representation and e...
research
10/01/2021

Calibrating Concepts and Operations: Towards Symbolic Reasoning on Real Images

While neural symbolic methods demonstrate impressive performance in visu...
research
02/24/2016

Differentiation of the Cholesky decomposition

We review strategies for differentiating matrix-based computations, and ...
research
02/03/2020

A Code for Unscented Kalman Filtering on Manifolds (UKF-M)

The present paper introduces a novel methodology for Unscented Kalman Fi...

Please sign up or login with your details

Forgot password? Click here to reset