Open ryanESX opened 1 year ago
Hi! Still working on the documentation and docker deployment. I'll be presenting at ICRA and have still a bunch of stuff to do until then. That is totally possible, to get you started, you can do things separately:
okvis_maplab_odometry
. Similarly if you want to use for example ORBSLAM3 you can just go and modify the standard odometry message to include the biases for the imu from the estimator. Here's for example how I did it for FASTLIO2.I have a similar problem. I want to change the method of keypoints detection and matching. For example, some feature extraction and matching algorithms based on deep learning,such as SuperPoint, etc. How can I do it on an Ubuntu 20.04 computer. Thank you very much and look forward to your reply.
Hi, so it should be relatively easy. Download this repo that runs the feature detection https://github.com/ethz-asl/maplab_features. If you want to use opencv features I suggest a different workspace (where you copy over the maplab_msgs and catkin_simple packages from dependecies). As there's still some conflicts on 20.04 I'm trying to fix.
Afterward you have this example:
To switch to superpoint you can look at the other config and launch file in maplab features that's for hilti, it's relatively straight forward. You also have to adapt the name of the features in the maplab calibration file.
After making the map in the console you can run ms
to see if you have other types of features in the map. And then a few other commands would be:
v --vis_show_only_landmark_type=SuperPoint
lc --lc_feature_type=SuperPoint --lc_detector_engine=hnsw
optvi --ba_feature_type=SuperPoint
Let me know if you have any issues, I'll be working on improving stuff until ICRA.
@smauq Thanks for your suggestion. I'll try and update to reproduce your work. I will close this issue first. If there is any updates, I will give you feedback.
@smauq I have another similar question. Is it possible to use other vio(like orbslam3/vins fusion) to do localization mode? like following tutorial, but we use other vio source. https://maplab.asl.ethz.ch/docs/master/pages/tutorials-rovioli/C_Running-ROVIOLI-in-Localization-mode.html
@ryanESX Not yet implemented, but it's on my todo list. It would not be a huge task to add a small section in maplab_node that gives you raw localizations (I'll see when I get to that). However these would be raw localizations, i.e. unfiltered. So they could be jumping all over the place. Integrating these into ORBSLAM / VINS would be a more involved process, as you would need to go change their code to take localizations from some other framework and somehow integrate them into their state.
If you just want raw localizations, and get to the point you need them I can have a look at what's the easiest changes I can do to output them from maplab_node.
@smauq Sorry for late reply. I think first step can be raw localization. And VIO can be benefit from loosely-coupled way. It will be great if maplab_node can provide raw localization. Even maplab provide "jumping" position, VIO can try to "fuse" it. There has some example from open_vins: https://github.com/rpng/ov_secondary ( loosely-coupled). And tightly-coupled example https://github.com/HKUST-Aerial-Robotics/VINS-Fusion/tree/master/loop_fusion. Of course, tightly-coupled way like loop_fusion in vins_fusion could have better result. But as you said, easiest way is to use raw localization. And is it easy to use raw localization to integrate with different VIO/VSLAM.
Hi @smauq is there any update on docker depolyment? Even a semi-finished working development branch will be very helpful! Thanks!
@cheng-chi You can find one here https://github.com/ethz-asl/maplab/tree/wiki_update2/docs/pages/installation Before I can merge that, I still need to make one change regarding opencv and noetic. Otherwise, the feature detection module and maplab can't coexist in the same docker environment, which is very annoying. I'll ping you here as soon as that's done, was just working on it now.
@smauq Thank you so much for the update!
Hi @smauq do you have any update on the docker image and instructions? I was trying to setup the one you link to here https://github.com/ethz-asl/maplab/tree/wiki_update2/docs/pages/installation but getting some errors. Thanks!
Hello @smauq
I replicated the steps that you posted to run with external features (in my case, SIFT). When I do the ms
in the console I get something like this:
So the map is built by both the internal Binary and the external SIFT features. Is there any way of getting rid of the Binary features? So building the map only with SIFT or preprocessing.
My aim is to perform localization using SIFT features, not the Binary ones.
After I reviewed 2.0 paper. I want to try to use okvis + super point to mapping. But I couldn't find in documentation or code. The closest one is in this launch file(https://github.com/ethz-asl/maplab/blob/master/maplab-launch/launch/alphasense-dev-kit/alphasense-dev-kit-maplab-node-w-okvis.launch) But I think it is for original okvis. any launch file or anyway to do this? Also, maplab 2.0 supports a lot of modular design. Is it possible to use another odometry source like ORB-SLAM3/Vins-fusion?