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: A safe way to hang the camera on macOS, development branch, #5213 applied #5401

Closed
neilyoung opened this issue Dec 8, 2019 · 5 comments

Comments

@neilyoung
Copy link
Contributor

neilyoung commented Dec 8, 2019


Required Info
Camera Model T265
Firmware Version 0.2.0.879
Operating System & Version macOS Catalina
Kernel Version (Linux Only)
Platform
SDK Version 2.31.0, development branch, #5213 applied
Language
Segment others

Issue Description

Probably related to the problems reported here #5394

Receipt to hang a T265 with the a.m. firmware and SDK under macOS Catalina:

  • Take pose example
  • Alter these lines

    // Add pose stream
    cfg.enable_stream(RS2_STREAM_POSE, RS2_FORMAT_6DOF);


like so:

    // Add pose stream
    cfg.enable_stream(RS2_STREAM_POSE, RS2_FORMAT_6DOF);
    auto pose_sensor = cfg.resolve(pipe).get_device().first<rs2::pose_sensor>();
    // Options
    pose_sensor.set_option(RS2_OPTION_ENABLE_POSE_JUMPING, 1);
    pose_sensor.set_option(RS2_OPTION_ENABLE_MAPPING, 1);
    pose_sensor.set_option(RS2_OPTION_ENABLE_RELOCALIZATION, 1);
    pose_sensor.set_option(RS2_OPTION_ENABLE_MAP_PRESERVATION, 1);

It should not work anymore.

EDIT: If I omit the set_option calls, the script runs, but you MUST NOT call it too quickly after having terminated it. The promised result of a quick re-open after close is this:

~/Documents/librealsense/build/examples/pose $ ./rs-pose 
RealSense error calling rs2_config_resolve(config:0x7fbf82500c90, pipe:0x7fbf825009d0):
    No device connected

I think it all boils down to some regression in #5213, since I don't remember to have seen this behaviour last week.

@neilyoung
Copy link
Contributor Author

neilyoung commented Dec 10, 2019

And would somebody please comment on the internal defaults of these cfg settings?

RS2_OPTION_ENABLE_POSE_JUMPING
RS2_OPTION_ENABLE_MAPPING
RS2_OPTION_ENABLE_RELOCALIZATION
RS2_OPTION_ENABLE_MAP_PRESERVATION


My guess is: true, true, true, false. Is that correct?

EDIT: Yepp... get_option confirms that:


RS2_OPTION_ENABLE_POSE_JUMPING 1.000000
RS2_OPTION_ENABLE_MAPPING 1.000000
RS2_OPTION_ENABLE_RELOCALIZATION 1.000000
RS2_OPTION_ENABLE_MAP_PRESERVATION 0.000000

@neilyoung
Copy link
Contributor Author

neilyoung commented Dec 10, 2019

The astonishing fact: The python binding is absolutely not affected by this bug (?) I can set_options and the script runs w/o issues. It is just the CPP thing...

EDIT: No, forget about this. The same bitchy behaviour :) I'm confused already, having seen too many fails with this...

@bfulkers-i
Copy link
Contributor

Thanks for the report @neilyoung, I am able to reproduce this, we will look into it and provide a fix.

@neilyoung
Copy link
Contributor Author

@bfulkers-i Great. Thanks for the follow up.

radfordi added a commit to radfordi/librealsense that referenced this issue Dec 11, 2019
  o Avoid pruning the map near static nodes
  o Avoid starting upside down in rare cases (fixes fly-aways during initialization)
  o Fix/allow map preservatiom when there is was no previous map to preserve
    IntelRealSense#5401
bfulkers-i pushed a commit to bfulkers-i/librealsense that referenced this issue Dec 11, 2019
  o Avoid pruning the map near static nodes
  o Avoid starting upside down in rare cases (fixes fly-aways during initialization)
  o Fix/allow map preservatiom when there is was no previous map to preserve
    IntelRealSense#5401
@neilyoung
Copy link
Contributor Author

Fixed with #5394

bfulkers-i pushed a commit to bfulkers-i/librealsense that referenced this issue Dec 12, 2019
  o Avoid pruning the map near static nodes
  o Avoid starting upside down in rare cases (fixes fly-aways during initialization)
  o Fix/allow map preservatiom when there is was no previous map to preserve
    IntelRealSense#5401
honpong pushed a commit to honpong/librealsense that referenced this issue Dec 17, 2019
  o Avoid pruning the map near static nodes
  o Avoid starting upside down in rare cases (fixes fly-aways during initialization)
  o Fix/allow map preservatiom when there is was no previous map to preserve
    IntelRealSense#5401
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

No branches or pull requests

2 participants