Skip to content

Experiments with ORB-SLAM and emscripten

Notifications You must be signed in to change notification settings

Multi-V-VM/orb-slam-expts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 .data file generated by emscripten needs to be copied from the wasm directory 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 allow SharedArrayBuffer, which is necessary for threading.

About

Experiments with ORB-SLAM and emscripten

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 36.9%
  • JavaScript 27.9%
  • CMake 26.1%
  • HTML 9.1%