-
Notifications
You must be signed in to change notification settings - Fork 4.9k
T265 Mapping/Relocalization/Jumping Options #4321
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
Changes from 10 commits
38ca168
143805a
43f6f56
df925ab
8a7b749
05f7b0c
2f05c0c
f263620
8510332
15c47fe
f865e2f
de76d3a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -178,6 +178,32 @@ namespace librealsense | |
| tm2_sensor& _ep; | ||
| }; | ||
|
|
||
| template <perc::SIXDOF_MODE flag, perc::SIXDOF_MODE depends_on, bool invert = false> | ||
| class tracking_mode_option : public option_base | ||
| { | ||
| public: | ||
| float query() const override { return !!(s._tm_mode & flag) ^ invert ? 1 : 0; } | ||
|
|
||
| void set(float value) override { | ||
| if (s._is_streaming) | ||
| throw io_exception("Option is read-only while streaming"); | ||
| s._tm_mode = (!!value ^ invert) ? (s._tm_mode | flag) : (s._tm_mode & ~flag); | ||
| } | ||
|
|
||
| const char* get_description() const override { return description; } | ||
|
|
||
| bool is_enabled() const override { return !depends_on || (s._tm_mode & depends_on) ? true : false; } | ||
|
|
||
| bool is_read_only() const override { return s._is_streaming; } | ||
|
|
||
| explicit tracking_mode_option(tm2_sensor& sensor, const char *description_) : | ||
| s(sensor), description(description_), option_base(option_range{ 0, 1, !!(sensor._tm_mode & flag) ^ invert ? 1.f : 0.f, 1 }) { } | ||
|
|
||
| private: | ||
| tm2_sensor &s; | ||
| const char *description; | ||
| }; | ||
|
|
||
| class asic_temperature_option : public temperature_option | ||
| { | ||
| public: | ||
|
|
@@ -563,6 +589,7 @@ namespace librealsense | |
| case RS2_STREAM_POSE: | ||
| { | ||
| auto tm_profile = _tm_supported_profiles.sixDof[stream_index]; | ||
| tm_profile.mode = _tm_mode; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| if (convertTm2InterruptRate(tm_profile.interruptRate) == sp.fps) | ||
| { | ||
| _tm_active_profiles.set(tm_profile, true); | ||
|
|
@@ -1439,6 +1466,10 @@ namespace librealsense | |
| _sensor->register_option(rs2_option::RS2_OPTION_GAIN, std::make_shared<gain_option>(*_sensor)); | ||
| _sensor->register_option(rs2_option::RS2_OPTION_ENABLE_AUTO_EXPOSURE, std::make_shared<exposure_mode_option>(*_sensor)); | ||
|
|
||
| _sensor->register_option(rs2_option::RS2_OPTION_ENABLE_MAPPING, std::make_shared<tracking_mode_option<perc::SIXDOF_MODE_ENABLE_MAPPING, perc::SIXDOF_MODE_NORMAL, false>>(*_sensor, "Use an on device map (recommended)")); | ||
| _sensor->register_option(rs2_option::RS2_OPTION_ENABLE_RELOCALIZATION, std::make_shared<tracking_mode_option<perc::SIXDOF_MODE_ENABLE_RELOCALIZATION, perc::SIXDOF_MODE_ENABLE_MAPPING, false>>(*_sensor, "Use appearance based relocalization (depends on mapping)")); | ||
| _sensor->register_option(rs2_option::RS2_OPTION_ENABLE_POSE_JUMPING, std::make_shared<tracking_mode_option<perc::SIXDOF_MODE_DISABLE_JUMPING, perc::SIXDOF_MODE_ENABLE_MAPPING, true>>(*_sensor, "Allow pose jumping (depends on mapping)")); | ||
| _sensor->register_option(rs2_option::RS2_OPTION_ENABLE_DYNAMIC_CALIBRATION, std::make_shared<tracking_mode_option<perc::SIXDOF_MODE_DISABLE_DYNAMIC_CALIBRATION, perc::SIXDOF_MODE_NORMAL, true>>(*_sensor, "Enable dynamic calibration (recommended)")); | ||
|
|
||
| // Assing the extrinsic nodes to the default group | ||
| auto tm2_profiles = _sensor->get_stream_profiles(); | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,8 +2,8 @@ | |
| # Copyright(c) 2019 Intel Corporation. All Rights Reserved. | ||
| cmake_minimum_required(VERSION 3.1.3) | ||
|
|
||
| set( FW_VERSION "0.0.18.5715") | ||
| set( FW_SHA1 cc12cf05f387d80f65e98c4d41fc883725124a08) | ||
| set( FW_VERSION "0.0.18.6100") | ||
| set( FW_SHA1 858b786215ff66cf8cf93fa85393ca6268dedee4) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
| set(APP_VERSION "2.0.19.271") | ||
| set(APP_SHA1 cab0011e9e18edc8bcca20afb2f944399ac8b81c) | ||
| set( BL_VERSION "1.0.1.112") | ||
|
|
||
There was a problem hiding this comment.
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