Comments (16)
Hey, this looks like DepthMapFactor is not set correctly, meaning the scale of the points is different from the scale of the tf frame.
from orb_slam_2_ros.
Thanks for your fast reply!:)
Where does this factor come from? Camera calibration? Its not existing in my .ymal file. And what should it be?
from orb_slam_2_ros.
DepthMapFactor is a scale factor that multiplies the input depthmap (if needed) if you are using a RGB-D camera. This is used in the TUM RGB-D dataset.
(from raulmur/ORB_SLAM2#89 (comment))
But I am using a stereo, and not RGB-D camera...
from orb_slam_2_ros.
In Tracking.cc :
if(sensor==System::STEREO || sensor==System::RGBD)
{
mThDepth = mbf*(float)fSettings["ThDepth"]/fx;
cout << endl << "Depth Threshold (Close/Far Points): " << mThDepth << endl;
}
if(sensor==System::RGBD)
{
mDepthMapFactor = fSettings["DepthMapFactor"];
if(fabs(mDepthMapFactor)<1e-5)
mDepthMapFactor=1;
else
mDepthMapFactor = 1.0f/mDepthMapFactor;
}
orb_slam_2_ros/orb_slam2/src/Tracking.cc
Line 136 in e978a2c
from orb_slam_2_ros.
I just went through the code, you are right, in Tracker.cc, where the parameters are read, the setting is only used for RGBD cams.
I have to say that I work with mono or RGBD cams most of the time and haven't really used the stereo node.
from orb_slam_2_ros.
The algorithm treats the RGBD and Stereo information the same most of the time, if you look in the paper they bring the stereo information in the same format as the RGBD image and use the same pipeline.
from orb_slam_2_ros.
So for me it still looks like its some scaling issue. Maybe you can try to apply the DepthMapFactor to the stereo image?
from orb_slam_2_ros.
I tried changing ThDepth
parameter and also adding the DepthMapFactor
inside the .ymal file. The only thing changes, the more I decrease ThDepth
the less features a extracted.
Adding DepthMapFactor
doesnt do anything, but this also visible in the code I posted above (for stereo)
But this seems to be an issue of ORBSLAM2 itself, thus I should ask Raulmur?
from orb_slam_2_ros.
I'm also thinking of using a RGBD camera instead now... where I wont have this issue right?
from orb_slam_2_ros.
But the original ORBSLAM2 implementation doesn't hast this issue. At least not in the map viewer...
from orb_slam_2_ros.
And when I publish the map points and pose there, it looks also right:
from orb_slam_2_ros.
I'm also thinking of using a RGBD camera instead now... where I wont have this issue right?
At least we never encountered the issue there ;)
from orb_slam_2_ros.
And when I publish the map points and pose there, it looks also right:
Interesting, thanks you for investigating. Probably there is a bug in the stereo code of the node then. Like I said, we usually use the mono or RGBD nodes so the Stereo stuff is much less tested.
If you want to investigate further and fix the bug I am happy to merge your fix!
from orb_slam_2_ros.
I'll take a look at it but I think this is beyond my skills...
Is it possible you take a look as well? It would be crucial for my masters thesis...
from orb_slam_2_ros.
I am pretty busy atm, I wont be able to investigate that in the next couple of weeks.
from orb_slam_2_ros.
Is there any detailed description about the usage of the package with ros? For example, what did I should do for watching of the point cloud on rviz?
Thank you
from orb_slam_2_ros.
Related Issues (20)
- orb_slam2_ros orb_slam2_d415
- Visualize and save the trajectory HOT 2
- Tf has two or more unconnected trees HOT 3
- no image received using realsense d435i and orb_slam2_d435_rgbd.launch HOT 1
- catkin build fails (Melodic) HOT 2
- Adjust Scale Factor for Metric Conversion
- orb_slam2_ros crashes when camera image topic is available HOT 5
- Slam doesnโt detect movement HOT 2
- How to correctly make a transformation?
- Though the topic name had been aligned, but still not subscribe. HOT 1
- Pose topic very inacurate - D435i
- Using Pointcloud Map.bin outside orbslam
- "If I want to test using a dataset, what should I do?"
- Im not able to receive the image
- colcon build failed undefined reference to `DUtils::Random::SeedRandOnce()' <ORB_SLAM3_ROS2> HOT 1
- how to build from source on aarch64, opencv 4.* - FAQ
- cant start with ROS2 - Wrong path to vocabulary
- camera_frame_id_param_ and target_frame_id_param_: correspond to what frame exactly?
- Compatibility with ROS2 Humble
- No rule to make target (libg2o.so), Failed to build orb_slam3_ros
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 orb_slam_2_ros.