orb-slam-expts
orb-slam-expts copied to clipboard
Experiments with ORB-SLAM and emscripten
Experiments with ORB-SLAM3 and emscripten
Experiments to attempt to get ORB-SLAM3 working with emscripten.
Please use the binvoc branch of my own fork of ORB-SLAM3
Log
2022-08-30
Memory alignment issue seems to be fixed, thanks to the PROXY_TO_PTHREAD flag, which runs main() on a separate thread. Thanks to @carlodek for this suggestion. Not sure why it fixes the issue though!
2022-06-10
Able to test on an actual Android device now, however some ongoing problems:
- memory alignment issue, see the Emscripten Port issue in ORB-SLAM2 repo. This should be fixable once the issue below is fixed...
- still having problems with initialising tracking on a mobile device (works better on a desktop), even after updating camera parameters (currently using params output from OpenCV Android calibrator sample).
2021-12-12
Now starting to get tracking working. Added log messages to ORB-SLAM3 fork to identify causes of initialisation failure. Had to remove the time interval check win Tracking::Track() - not sure what impact that has. When two views are obtained, currently an unaligned memory access error occurs. Not sure of the cause of this at present.
2021-12-05
Using binary vocabulary file, now loads in 2s compared to more than 10 minutes :-)
2021-12-04
Got ORB loading. Things to note:
-
the
.datafile generated by emscripten needs to be copied from thewasmdirectory to the project root. This can probably be fixed with some configuration but this is on the todo list. -
note the security settings for the headers in
.htaccess. These are necessary to allowSharedArrayBuffer, which is necessary for threading.