Twist-n-Sync. Time synchronization algorithm that employs IMU gyroscope data
Imagine that you want to synchronize two smartphones1 for stereoscopic (or multiscopic) photo or video shutting with microseconds accuracy and precision. Or you need to synchronize Azure Kinect DK depth frames2 with smartphone frames.
Twist-n-Sync is a time synchronization algorithm that can solve the time sync issues by employing gyroscope chips widely available in millions of comsumer gadgets.
Another benefical usage of the package is synchronization of diverse motion capture (mocap) systems (OptiTrack, Vicon) that provide ground truth data for robot navigation and state estimation algorithms (Wheeled, Visual, Visual-Inertial Odometry and SLAM).
Installation
pip install twistnsync
Usage examples
WIP: The python notebook examples in examples folder provide comprehensive mini-tutorials how to use the code:
- two systems sync by gyroscope data;
- TODO mocap data (position orientation) and robot data sync;
- TODO clock drift evaluation of two independent systems;
References
In case of usage of the materials, please, refer to the source and/or publications:
1
@article{faizullin2021twist,
title={Twist-n-Sync: Software Clock Synchronization with Microseconds Accuracy Using MEMS-Gyroscopes},
author={Faizullin, Marsel and Kornilova, Anastasiia and Akhmetyanov, Azat and Ferrer, Gonzalo},
journal={Sensors},
volume={21},
number={1},
pages={68},
year={2021},
publisher={Multidisciplinary Digital Publishing Institute}
}
2
@ARTICLE{9709778,
author={Faizullin, Marsel and Kornilova, Anastasiia and Akhmetyanov, Azat and Pakulev, Konstantin and Sadkov, Andrey and Ferrer, Gonzalo},
journal={IEEE Sensors Journal},
title={SmartDepthSync: Open Source Synchronized Video Recording System of Smartphone RGB and Depth Camera Range Image Frames with Sub-millisecond Precision},
year={2022},
volume={},
number={},
pages={1-1},
doi={10.1109/JSEN.2022.3150973}
}
Credits
This package was created with Cookiecutter and the zillionare/cookiecutter-pypackage project template.
Metadata
Release files for twistnsync 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| twistnsync-0.3.0.tar.gz | 5.7 kB | Without provenance | Details for twistnsync-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| twistnsync-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for twistnsync-0.3.0-py3-none-any.whl |
Total release size: 11.1 kB
Release files / twistnsync-0.3.0.tar.gz
| Download URL | twistnsync-0.3.0.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e20a259a7ec626773adb8677b99d9ddd79e2a591433aa206cd8fffefc4c253b7
|
|
BLAKE2b-256 checksum How to use checksums |
26045dd15c075c8e49771fbff26a8acfdcd5768e65dc36aa969f4cb2b5f55643
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
|
Release files / twistnsync-0.3.0-py3-none-any.whl
| Download URL | twistnsync-0.3.0-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3f49ccee672af93bdd7a2b33afedf71a933ae8d9ab18a7df905f4dabd27e831
|
|
BLAKE2b-256 checksum How to use checksums |
7a3c4907901d0486c97912eb3173cae4c55d3f534e9563e618ccbf3d5471dec5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
|
Security for twistnsync 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.