Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Relocalization/Loop Closure for T265 #779

Closed
manomitbal opened this issue May 20, 2019 · 14 comments
Closed

Disable Relocalization/Loop Closure for T265 #779

manomitbal opened this issue May 20, 2019 · 14 comments

Comments

@manomitbal
Copy link

Is there a way to disable Relocalization/Loop closure on the T265 using a param or code change until the Relocalization API is considered stable? I am planning to use odometry output as a differential instead, Would that be possible?

@BriceRenaudeau
Copy link

I think it is better to directly use the twist from the odom/sample topic (that's what I am doing).
They are not differential hence they don't present the jumps from the pose.
And the covariances are coherent.

@manomitbal
Copy link
Author

That makes sense, thanks @BriceRenaudeau !

@macmason
Copy link

Upvote here; we want to use this sensor as a "pure" odometer inside a much larger SLAM system, but loop closures make that impossible.

@doronhi
Copy link
Contributor

doronhi commented Jun 26, 2019

It sounds like a valid use case and we'll take it into consideration in inner discussions. @radfordi

@radfordi
Copy link

radfordi commented Jun 27, 2019

Thanks for the feedback @manomitbal and @macmason. We have a few different layers we can disable. I'll see about exposing them.

@RealSenseCustomerSupport
Copy link
Collaborator


Hello,

There is now a RS2_OPTION_ENABLE_RELOCALIZATION flag in the 'rs2_options' enum. Omitting this flag should accomplish what you're looking for.

You'll also find a control_sensor_options() method in librealsense/examples/sensor-control/rs-sensor-control.cpp that demonstrates how to change sensor options.

This should be sufficient for your needs. Is there anything else I can assist you with this matter?

Thanks

@nacorti
Copy link

nacorti commented Oct 13, 2019

After looking at this topic, this issue from RTabMap, and this question from the realsense-ros issue tracker, is there any plan to publish relocalization events to output?

I'd prefer to use the T265's strengths and not rely on an app like rtabmap to perform relocalization - OTOH, T265 loop closure conflicts with rtabmap's, and there's no way to properly optimize the map with both localization processes running.

If not, is there a best practice to detect relocalization events from looking at the other output streams?

@radfordi
Copy link

radfordi commented Oct 15, 2019

@nacorti, we have added a few options IntelRealSense/librealsense#4321 to disable different parts of the internal mapping on the T265. I would suggest leaving mapping enabled, but disabling relocalization and jumping. This may avoid the conflict with RTabMap while still giving good results. We are curious to hear which combinations work well for you.

With respect to relocalization events, we have just enabled them, IntelRealSense/librealsense#4936. Please let us know your thoughts on the API.

@doronhi
Copy link
Contributor

doronhi commented Oct 15, 2019

All the options add in IntelRealSense/librealsense#4321 are added automatically in realsense2_camera. As for the relocalization events, we still need to integrate those. Any thoughts about the ROS API for that. Is there a convention or a better way then publishing another topic?
The issue is also referenced here

@cimbar
Copy link

cimbar commented Nov 14, 2019

Hello,

There is now a RS2_OPTION_ENABLE_RELOCALIZATION flag in the 'rs2_options' enum. Omitting this flag should accomplish what you're looking for.

You'll also find a control_sensor_options() method in librealsense/examples/sensor-control/rs-sensor-control.cpp that demonstrates how to change sensor options.

This should be sufficient for your needs. Is there anything else I can assist you with this matter?

Thanks

how can we disable RS2_OPTION_ENABLE_RELOCALIZATION flag?

@doronhi
Copy link
Contributor

doronhi commented Nov 17, 2019

You could use rqt_reconfigure to turn "enable_relocalization" off or you could add the following lines to your launch file:

  <rosparam>
      /camera/tracking_module/enable_relocalization: false
  </rosparam>

@RealSenseCustomerSupport
Copy link
Collaborator


Thanks doronhi.

cimbar, manomitbal...will you be needing further assistance with this issue?

Thanks

@cimbar
Copy link

cimbar commented Nov 19, 2019

It solves my problem on ros side, thanks. Additionally, it would be better to explain how rs2_option flags can be disabled from librealsense

@RealSenseCustomerSupport
Copy link
Collaborator


If you look at the change_sensor_options() method in Intel RealSense SDK 2.0\samples\sensor-control\api_how_to.h you will find an example. You should be able to simple set RS2_OPTION_ENABLE_RELOCALIZATION to 0 to accomplish what you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants