I apologize. I was not able to find any scripting relating to activating a reset in the SLAM library in the RealSense SDK for Linux. Reading the manual that you did, I get the impression that it is an automated process.
A reset becomes possible when the same conditions are met as those required to start the SLAM (e.g being motionless), and if the tracking senses that it may have become lost then it uses what it has already learned during its travels to correct itself, consulting its map to find a point to re-orient itself to. It can correct drift by consulting its map when returning to the first room that it started in after having visited another room (as the potential for drift increases as it travels further from its origin location).
Hi Allring ,
First there is a flag to enable/ disable re-localization.
Now for mode detailed code..
You can look in the SLAM API here the 'get_relocalization_pose' return bool indication if frame was relocalized. (Also you can see header under Euclid device at 'usr/include/librealsense/slam/slam_core.h')
Now please look also on the Euclid code sample for realsense_sp Inside there is a call for 'get_camera_pose'.
You can replace that call with the 'get_relocalization_pose'.
Hope this helps,
Intel Euclid Development Team
I appreciate your help very much. Sorry for reply lately.
Intel® RealSense™ for Linux - SLAM Library Version 1.0 mentions the function get_relocalization_pose(), but I have no idea about when to use it and why it do not work.
I clone this version code GitHub - robojay/realsense_sp: ROS package for the RealSense SP middleware under Intel Euclid. and reveal the odom data on RViz and get not good result. The odom data drift.
I clone this version code GitHub - robojay/realsense_sp: ROS and it looks the flag enable_relocalization is default true according to the launch file.
The function get_relocalization_pose() always return false if which replaces call for get_camera_pose in code.
I have no idea what the problem is.
There is a script called Slam.h for the Intel RealSense For Linux that may be helpful in learning how get_relocalization_pose() is used. Lines 238 to 243 and line 283 refer to the instruction.
I'm experiencing the same issue here. Relocalization is enabled but I hardly ever get a valid pose. My guess is that the lack of the processing ASIC in the Euclid (with respect to the ZR300) makes processing all the required data really difficult. Did you manage to do it?