Comments (4)
That makes perfect sense. thanks for your answer!
from rtabmap.
By default, most actions would call rtabmap.close() with databaseSaved=true, even in localization mode
rtabmap/corelib/src/Rtabmap.cpp
Lines 460 to 462 in 81e249b
In localization mode, if you are not using memory management, here would be at least that line that would modify the database every time it is closed:
rtabmap/corelib/src/Rtabmap.cpp
Line 518 in 81e249b
Under ROS, we also save the current optimized occupancy grid:
https://github.com/introlab/rtabmap_ros/blob/d7d2c3f122af955ea500d3cc49a4e718edc84a83/rtabmap_slam/src/CoreWrapper.cpp#L879-L893
If you are not on ROS, you may just add this inside Rtabmap::close()
function:
databaseSaved = databaseSaved && _memory->isIncremental();
I think then the database won't be modified, unless I forget another place.
from rtabmap.
Ok Just to clarify a few things;
I can modify the code like you said in order for the database to not be modified after running rtabmap. Im using ros2 rtabmap.
If i modify the code like you said, would that make any differece to the actual localization mode like it wont localize as good? or the performance?
Also, the odometry correction of the robot would be the position of the robot from the previous session.
So run the rtabmap node -> mode the robot -> stop the robot->map-to-odom would be the same as the previous map to odom.
If I disable the database save function as mentioned above, would I still be able use the "re-loading" of the previous map-to-odom feature?
I do want to change the code so that the database will not be modified, but I do not want to make any difference to the actual system performance at all.
Thanks!
from rtabmap.
If we don't save the last location position in the database, on restart, the robot won't have a any a priori knowledge where it is restarting to help first localization. It will behave like of if the robot is shutdown, moved to another place and booted up again. The first localization guess will be wrong, thus it would rely only on global localization. In most cases, it won't change anything, as global localization could work on the first frame or two if the robot is seeing enough discriminating visual features.
The map->odom correction is always adjusted on start depending on the new odometry origin and where the robot thinks it is in the map on start.
Not saving the back the last position in the database is similar to use RGBD/StartAtOrigin
:
Param: RGBD/StartAtOrigin = "false" [If true, rtabmap will assume the robot is starting from origin of the map. If false, rtabmap will assume the robot is restarting from the last saved localization pose from previous session (the place where it shut down previously). Used only in localization mode (Mem/IncrementalMemory=false).]
This won't change localization performance, just where the robot thinks it is on start.
from rtabmap.
Related Issues (20)
- how to SLAM on ceiling, anyone can help me ?? thank you so much QAQ ~ HOT 2
- Error while running HOT 1
- G2o Fatal error for optimizeBA() HOT 5
- rtabmap parameter problem in 0.21.4 HOT 2
- how to change 2d map when i navigate from 1f to 2f HOT 4
- Empty Gridmap and Octomap with recent integration of Gridmap HOT 2
- Received IMU doesn't have orientation set! It is ignored HOT 2
- many nodes are not optimized (negative weight) after mapping HOT 1
- Python3 Option with RTABMAP Issue HOT 4
- Support for Orbbec Femto cameras HOT 1
- what are these lines mean in graph view ? HOT 2
- how to merge multiple times SLAM db file with rgbd camera, 3d lidar and odometry ? HOT 4
- Localization Mode + MM: Add option to pre-optimize the full global graph once so that map origin doesn't change on retrieval
- how to fusion icp odometry and visual odometry into a fusion odometry? and some question need to reassure
- Change exported multiband filenames
- `cmake_modules/FindSqlite3.cmake` breaks transitive dependencies. HOT 2
- (iSAM2) GTSAM exception caught: Requested the BayesTree clique for a key that is not in the BayesTree HOT 1
- bad calib camera matrix HOT 3
- Continously updating the reconstructed cloud with the sensor field of view HOT 4
- Wiki: Installation iOS - add App Store link HOT 1
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 rtabmap.