spacetimeengine
symforce
spacetimeengine | symforce | |
---|---|---|
1 | 15 | |
143 | 1,349 | |
- | 1.1% | |
1.0 | 8.9 | |
about 1 year ago | 3 days ago | |
Python | C++ | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
spacetimeengine
-
SymPy: Symbolic Mathematics in Python
A decade ago when I was interested in General Relativity I wanted to write a simple program to handle symbolic calculations for Einstein field equations (Starting with metric and calculated affine connections, ricci tensor …etc.). Sympy was an option (better because python was the only language I know well) but I found it hard and actually couldn't make it work. I used mathematica which was new for me but did it in a couple of hours. I expanded it later and used it to calculate a lot of things in a black hole paper I published later.
I checked now, and it seems that on this front a lot of development in sympy made it possible that we know how very good libraries built on top of it [1] [2]. There is even now a Jupyter notebook example on schwarzschild metric [3].
[1] https://docs.einsteinpy.org
[2]https://github.com/spacetimeengineer/spacetimeengine
[3] https://github.com/sympy/sympy/blob/master/examples/intermed...
symforce
-
SymPy: Symbolic Mathematics in Python
You might find this library interesting: https://github.com/symforce-org/symforce
- SymForce is a fast symbolic computation and code generation library for robotics
- Fast Symbolic Computation for Robotics
-
Literature request: Lie groups and algebra
Personally I followed along the text implementing things using symforce (https://symforce.org/) instead of Sophus.
-
Jacobian Matrix possible on arduino?
It isn't related to Arduino, and may be overkill for this application, but Symforce has some cool tools for implementing the 1st option.
-
What optimization libraries are you using?
I've been paying around with Symforce and the more I get into it the more excited I get about it. It lets you prototype in high level symbolic math in Python, then once you get things working it autogenerates super optimized C++ for you. And it has the built in tangent space stuff for factor graphs like GTSAM
-
Skydio Researchers Open-Source ‘SymForce’: A Fast Symbolic Computation And Code Generation Library For Robotics Applications Like Computer Vision, etc.
Continue reading | Checkout the paper and github
- Fast symbolic computation, code generation, and nonlinear optimization for robotics
What are some alternatives?
casadi - CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
CppRobotics - Header-only C++ library for robotics, control, and path planning algorithms. Work in progress, contributions are welcome!
pinocchio - A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Colosseum - Open source simulator for autonomous robotics built on Unreal Engine with support for Unity
ANMS-Codes - Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution
openvslam - OpenVSLAM: A Versatile Visual SLAM Framework
xflrpy - xflrpy is a python enabled version of xflr5 for scripting and design optimization.
wyvern - Automatic conversion of call by value into call by need in the LLVM IR.
slambook-en - The English version of 14 lectures on visual SLAM.
vpsolver - Arc-flow Vector Packing Solver (VPSolver)
MRPT - :zap: The Mobile Robot Programming Toolkit (MRPT)
Fast_RRT-ROS - RRT-ROS implementation.