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

T265 Mapping/Relocalization/Jumping Options #4321

Merged
merged 12 commits into from Jul 11, 2019

Conversation

radfordi
Copy link
Contributor

Expose options to enable/disable mapping, relocalization and pose jumping. The options are also available in the realsense-viewer. Disabling pose jumping requires a firmware update which will be forthcoming. IntelRealSense/realsense-ros#779

@radfordi
Copy link
Contributor Author

radfordi commented Jun 28, 2019

@dorodnic, it looks like options that return is_read_only() == true are not "dimmed" in the realsense-viewer, so I had to add extra code to throw when someone tries to set them. Is this a bug or the expected behavior?

@PaulKrush PaulKrush mentioned this pull request Jun 28, 2019
@radfordi
Copy link
Contributor Author

@dorodnic, it looks like ImGui::Checkbox doesn't support a disabled mode yet.

@rgreid
Copy link

rgreid commented Jul 1, 2019

+1 for this PR. Any idea when this will be merged and the firmware update will be released?

src/tm2/tm-device.cpp Outdated Show resolved Hide resolved
@@ -563,6 +589,7 @@ namespace librealsense
case RS2_STREAM_POSE:
{
auto tm_profile = _tm_supported_profiles.sixDof[stream_index];
tm_profile.mode = _tm_mode;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These options are for Pose stream only. Is it possible to configure those as N/A if the user request raw IMU and/or FE streams without Pose ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The mode is already set to reasonable defaults, as part of the profiles, for all stream types (including pose). For pose I override it rather than create a permutation of all possible modes in the profiles and then have to select the profile that is asked for. mode doesn't quite fit the profile concept, but it's the only way we have to pass these parameters for now.

 o Clear old map first when loading a new one (until multiple maps are supported)
 o New run flags for enabling/disabling jumping/dynamic-calibration
 o Stop/stop/map-load now synchronous to avoid race conditions
@radfordi
Copy link
Contributor Author

radfordi commented Jul 9, 2019

@rgreid, a candidate firmware for this PR should be available here as soon as I can get it uploaded, but a release with this PR is at least a week or two away.

@rgreid
Copy link

rgreid commented Jul 10, 2019

@radfordi Thanks for the update. Eagerly awaiting this. Looks like you're working towards three mode flags:

SIXDOF_MODE_ENABLE_MAPPING
SIXDOF_MODE_ENABLE_RELOCALIZATION
SIXDOF_MODE_ENABLE_JUMPING

Can you please explain these? In particular the difference between relocalization and jumping?

We're using the T265 for VO in a lidar-based SLAM system: Is there a simple way to disable relocalization in the near term? (i.e. we need visual odometry only). Thanks!

set( FW_VERSION "0.0.18.5715")
set( FW_SHA1 cc12cf05f387d80f65e98c4d41fc883725124a08)
set( FW_VERSION "0.0.18.6100")
set( FW_SHA1 858b786215ff66cf8cf93fa85393ca6268dedee4)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@radfordi , the FW 6100 has already been uploaded. If this PR was pending the FW release - then pls check and confirm to merge.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ev-mp, I confirmed that the FW had been uploaded before pushing this particular commit.

@@ -76,6 +76,10 @@ extern "C" {
RS2_OPTION_HARDWARE_PRESET, /**< Hardware stream configuration */
RS2_OPTION_GLOBAL_TIME_ENABLED, /**< disable global time */
RS2_OPTION_APD_TEMPERATURE, /**< APD temperature*/
RS2_OPTION_ENABLE_MAPPING, /**< Enable an internal map */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new features/usage also should be elaborated in Readme

@radfordi
Copy link
Contributor Author

radfordi commented Jul 11, 2019

Hi @rgreid,

I added some documentation for these new T265 options in de76d3a. I suspect what you'll want is to disable just RS2_OPTION_ENABLE_POSE_JUMPING rather then RS2_OPTION_ENABLE_RELOCALIZATION. I would be surprised if you find disabling RS2_OPTION_ENABLE_MAPPING useful. Please do let us know what you end up using and why.

@schmidtp1, it was requested, in IntelRealSense/realsense-ros#779, for these options to make their way into IntelRealSense/realsense-ros.

@ev-mp ev-mp marked this pull request as ready for review July 11, 2019 20:55
Copy link
Collaborator

@ev-mp ev-mp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @radfordi

@ev-mp ev-mp merged commit aab21de into IntelRealSense:development Jul 11, 2019
@mmoyes
Copy link

mmoyes commented Aug 9, 2019

These dont seem to be changeable while streaming. It would be useful to change at least RS2_OPTION_ENABLE_POSE_JUMPING without losing the current tracking data.

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

Successfully merging this pull request may close these issues.

None yet

5 participants