SymForce: Symbolic Computation and Code Generation for Robotics. Martiros, H., Miller, A., Bucki, N., Solliday, B., Kennedy, R., Zhu, J., Dang, T., Pattison, D., Zheng, H., Tomic, T., Henry, P., Cross, G., VanderMey, J., Sun, A., Wang, S., & Holtz, K. arXiv:2204.07889 [cs], April, 2022. arXiv: 2204.07889 repo: https://github.com/symforce-org/symforce
SymForce: Symbolic Computation and Code Generation for Robotics [link]Paper  abstract   bibtex   
We present SymForce, a fast symbolic computation and code generation library for robotics applications like computer vision, state estimation, motion planning, and controls. SymForce combines the development speed and flexibility of symbolic mathematics 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 .
@article{martiros_symforce_2022,
	title = {{SymForce}: {Symbolic} {Computation} and {Code} {Generation} for {Robotics}},
	shorttitle = {{SymForce}},
	url = {http://arxiv.org/abs/2204.07889},
	abstract = {We present SymForce, a fast symbolic computation and code generation library for robotics applications like computer vision, state estimation, motion planning, and controls. SymForce combines the development speed and flexibility of symbolic mathematics 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 .},
	urldate = {2022-04-24},
	journal = {arXiv:2204.07889 [cs]},
	author = {Martiros, Hayk and Miller, Aaron and Bucki, Nathan and Solliday, Bradley and Kennedy, Ryan and Zhu, Jack and Dang, Tung and Pattison, Dominic and Zheng, Harrison and Tomic, Teo and Henry, Peter and Cross, Gareth and VanderMey, Josiah and Sun, Alvin and Wang, Samuel and Holtz, Kristen},
	month = apr,
	year = {2022},
	note = {arXiv: 2204.07889
repo: https://github.com/symforce-org/symforce},
	keywords = {computer vision and pattern recognition, robotics, symbolic computation, uses sympy},
}

Downloads: 0