Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
An implementation of the SE-Sync algorithm for synchronization over the special Euclidean group.
| Date | Stars |
|---|---|
| 2026-07-24 | 437 |
| 2026-07-25 | 437 |
| 2026-07-28 | 437 |
| 2026-07-30 | 437 |
| 2026-08-06 | 437 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[](https://travis-ci.org/david-m-rosen/SE-Sync) # SE-Sync **SE-Sync** is a *certifiably correct* algorithm for performing *synchronization over the special Euclidean group*: estimate the values of a set of unknown *poses* (positions and orientations in Euclidean space) given noisy measurements of a subset of their pairwise relative transforms. This problem frequently arises in the context of 2D and 3D geometric estimation; for example, the foundational problems of [pose-graph SLAM](http://domino.informatik.uni-freiburg.de/teaching/ws11/robotics2/pdfs/ls-slam-tutorial.pdf) (in robotics), [camera motion estimation](http://cmp.felk.cvut.cz/ftp/articles/pajdla/Martinec-Pajdla-CVPR-2007.pdf) (in computer vision), and [sensor network localization](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3741000/) (in distributed sensing) all require synchronization over the special Euclidean group. SE-Sync improves upon prior methods by exploiting a novel (convex) *semidefinite relaxation* of the special Euclidean synchronization problem to directly search for *globally optimal* solutions, and is capable of producing a *computational certificate of correctness* (global optimality) in the (typical) case that a global minimizer is found. A detailed description of the algorithm and its implementation can be found in our [journal article](https://github.com/david-m-rosen/SE-Sync/blob/master/references/SE-Sync%20-%20A%20certifiably%20correct%20algorithm%20for%20synchronization%20over%20the%20special%20Euclidean%20group.pdf) and its companion [technical report](https://github.com/david-m-rosen/SE-Sync/blob/master/references/SE-Sync%20-%20A%20Certifiably%20Correct%20Algorithm%20for%20Synchronization%20over%20the%20Special%20Euclidean%20Group.pdf). ## Getting Started ### MATLAB To use the MATLAB implementation of SE-Sync, simply place the 'MATLAB' folder in any convenient (permanent) location, and then run the script MATLAB/import_SE_Sync.m. Congrats! SE-Sync is now ready to go :-). For a minimal working example, see [MATLAB/examples/main.m](https://github.com/david-m-rosen/SE-Sync/blob/master/MATLAB/examples/main.m) ### C++ The C++ implementation of SE-Sync can be built and exported as a CMake project. For a minimal working example, see [C++/examples/main](https://github.com/david-m-rosen/SE-Sync/blob/master/C%2B%2B/examples/main.cpp), which provides a simple command-line utility for processing .g2o files. #### C++ quick installation guide The following installation instructions have been verified on Ubuntu 22.04: *Step 1:* Install dependencies ``` $ sudo apt-get install build-essential cmake-gui libeigen3-dev liblapack-dev libblas-dev libsuitesparse-dev ``` *Step 2:* Clone the repository ``` $ git clone https://github.com/david-m-rosen/SE-Sync.git SESync ``` *Step 3:* Initialize Git submodules ``` $ cd SESync $ git submodule init $ git submodule update ``` *Step 4:* Create build directory ``` $ cd C++ && mkdir build ``` *Step 5:* Configure build and generate Makefiles ``` $ cd build && cmake .. ``` *Step 6:* Build code ``` $ make -j ``` *Step 7:* Run the example command-line utility on some tasty data :-D! ``` $ cd bin $ ./SE-Sync ../../../data/sphere2500.g2o ``` ### Python Python bindings for the C++ SE-Sync library can also be built using [pybind11](https://pybind11.readthedocs.io/en/stable/index.html). To do so, install the additional Python dependencies using the command: ``` $ sudo apt-get install python3 python3-numpy python3-matplotlib python3-dev pybind11-dev jupyter-notebook ``` and then set `BUILD_PYTHON_BINDINGS` when configuring the CMake project. See this [notebook](https://github.com/david-m-rosen/SE-Sync/blob/master/C%2B%2B/examples/PySESync.ipynb) for a minimal working example demonstrating the use of SE-Sync's Python interface. ## References We are making this software freely available in the hope that it will be u
Excerpt of 7,746 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:41dac0f3f6877912, topic:slam, readme:robotics, readme:slam