Comments (12)
For anyone stumbling upon this, we found a workaround: Make sure there is only a single camera defined in your ncamera.yaml
. (I had both the fisheye and the color camera from the ZR300 in there.)
from maplab.
Hi @iliis
Looks like something went wrong in ROVIOLI while building the map, but I can't see anything obviously wrong with what you're doing based on the information I have. Most likely something is wrong with the timing. The number of images on the other hand seems to nicely correspond to the vertices, so that's fine. Could you provide us with some additional data:
- Could you upload the the ROVIOLI log output somewhere for us to see?
- Do you use our maplab zr300 ros node?
- How did you calibrate the sensor?
from maplab.
Thanks for the quick reply!
- Sure, I put the log here: https://gist.githubusercontent.com/iliis/4843665616b6fb533d9710fa018504fe/raw/70b195ced9381cb08ab90c6217e590872d159e61/gistfile1.txt
There are a lot of messages like
I0305 16:02:27.517788 20486 OutlierDetection.hpp:47] Detected outlier - mahalanobis (d / threshold):29.0232 > 9.21 - count : 1.
- Yes, I've used the maplab_realsense node. The example I gave is running from a bagfile recording of the maplab_realsense node, altough running it live results in the same output.
- I calibrated the ZR300 using Kalibr and an apriltag. I've used the IMU intrinsics from http://robotics.ethz.ch/%7Easl-datasets/maplab/calibrations/vi_sensor_intel_realsense_zr300/ together with Kalibr's IMU-camera calibration for the extrinsics.
Again, the odometry itself seems to works fine. I get a nice and continuous pose on /maplab_rovio/T_G_I
from maplab.
Hi @iliis,
looking at your map statistics, most of the landmarks were classified as bad (only 66 out of 4740 are good, usually that's at least 20%):
Camera 0: 4740 (g:66 b:4674 u:0)
that's why you only see so few of them. That would suggest many of the landmarks do not fulfill the criteria that are related to min/max distance from the observer, min number of observers per landmark or the disparity angle of the bearing vectors.
Looking at the trajectory, are you sure this is a correct path? Looks extremely noisy to me (and might cause the issue with landmarks).
from maplab.
The path looks correct, yes. I was walking up and down the hallway and did a few circles in two of the offices (one on the left and one middle right). The appearant noisyness comes from the fact that there are very few vertices created (only one every few meters). It looks to me like the odometry itself is working well. You can see some drift tough: The long straight lines should overlap.
(Note the scale of the track: It's ~77m from left to right, which seems reasonable.)
from maplab.
Here's a visualization with a manually aligned floor plan:
from maplab.
@iliis Honestly, that doesn't look good to us. We noticed that you're located somewhere nearby, would you have time to simply step by and look at your issue together?
from maplab.
Hehe, that would be very helpful, yes! I've set it up on my PC in the lab tough, so let me try to get everything running on my laptop. Otherwise, I'll just bring the raw bagfile.
So, i'll just visit you at ASL, ok?
from maplab.
@iliis In your case of the ZR300 that's certainly correct, in general having more than one fisheye camera should not be a problem , we do this for VI-sensor datasets all the time. ROVIO will still use only one, but ROVIOLI will run feature tracking and map-building based on both/all of the cameras. I think the issue must have been the fact that a color image was passed into our feature tracker, this must have lead to some weird side effects. We haven't investigated whether the problem was the significantly larger size of the color image or if the color image was corrupted and/or misinterpreted as gray scale. It might have worked if we convert the image to gray scale.
from maplab.
Hm, I don't think it was the image size, as both the fisheye and the color camera of the ZR300 only provide 640 x 480 pixels. I could try converting it to gray scale tough. Could it be a timing issue after all? The cameras on the VI-sensor are accurately synchronized while the ones on the ZR300 might not be.
from maplab.
Ah I thought the RGB image was bigger for the ZR300. That's a very good point. I think you are right about the synchronization, it would explain the sparsity of the vertices. ROVIOLI probably tries to synchronize VisualNFrames (a struct that contains the camera images of all cameras and data for one specific point in time), but rarely succeeds, i.e. only if the RGB timestamp happens to be within a certain range of the Fisheye.
from maplab.
Hm, I don't think it was the image size, as both the fisheye and the color camera of the ZR300 only provide 640 x 480 pixels. I could try converting it to gray scale tough. Could it be a timing issue after all? The cameras on the VI-sensor are accurately synchronized while the ones on the ZR300 might not be.
AFAIK the fisheye tracking camera is time synchronized with the IMU, while the RGB camera is not. Also, I believe the color camera is rolling shutter, wheres the tracking camera is global shutter.
from maplab.
Related Issues (20)
- Example to use okvis and super point + brisk on maplab 2.0 HOT 10
- How to use rovio or other odometery with multi-camera on maplab 2.0 HOT 4
- "aslam/common/id.pb.h" not found HOT 3
- Compilation Error ROS Noetic, Ubunto 20.04 HOT 4
- Unable to open example VI map in maplab - missing vi_map/vi_map_metadata HOT 6
- How to add lidar resource with vio data to map in maplab2.0?
- Failed to save mesh to disk
- The generation process of the dense point cloud image is not displayed after executing sdr --flagfile=
- Could I get a demo for lidar date process in maplab2.0?Especially the lidar yaml and .sh file.
- plot_vi_states_of_mission not work
- wheels odometry integration HOT 1
- Cmake submodules for internal dependencies
- How to transmit the actual submap data to the mapping server?
- multi-cam run
- Error while running the tutorial_euroc_live script HOT 1
- maplab2.0 branch problem
- ROVIO on EUROC V2_03 difficult misses trajectory estimates
- undefined reference to `void backend::addLabelToPointCloud<resources::VoxbloxColorPointCloud>(unsigned int, unsigned long, resources::VoxbloxColorPointCloud*)'
- Write an assembly program that simulates a single-digit counter (0-9) that: increments on the rising edges of RB4 (by interrupt); decrement on the rising edges of RB5 (by interrupt); automatically initializes if its value reaches the maximum value of 9; it can be initialized by the operator using an interrupt on RB0. Modify your program to add an LED that blinks as long as the counter=0 by: Using a timer based on timer0 of 250 ms (Osc=16MHz)
- Not able to execute `init-git-hooks.py`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maplab.