Added Marker Max Range option (default 1m)

This commit is contained in:
matlabbe
2025-03-09 18:54:20 -07:00
parent c049b40ce9
commit f2e5a3b8bd
4 changed files with 51 additions and 2 deletions

View File

@@ -273,7 +273,6 @@ RTABMapApp::RTABMapApp() :
metricSystem_(true),
measuringTextSize_(0.05f),
snapAxisThr_(0.95),
markerDetection_(false),
measuringMode_(0),
addMeasureClicked_(false),
teleportClicked_(false),

View File

@@ -285,7 +285,6 @@ class RTABMapApp : public UEventsHandler {
float measuringTextSize_;
float snapAxisThr_;
std::vector<cv::Vec3f> snapAxes_;
bool markerDetection_;
int measuringMode_;
bool addMeasureClicked_;
bool teleportClicked_;

View File

@@ -1527,6 +1527,7 @@ class ViewController: GLKViewController, ARSessionDelegate, RTABMapObserver, UIP
rtabmap!.setMappingParameter(key: "Marker/Dictionary", value: defaults.string(forKey: "ArUcoMarkerDetection")!);
rtabmap!.setMappingParameter(key: "Marker/CornerRefinementMethod", value: (markerDetection > 16 ? "3":"0"));
rtabmap!.setMappingParameter(key: "Marker/MaxDepthError", value: defaults.string(forKey: "MarkerDepthErrorEstimation")!);
rtabmap!.setMappingParameter(key: "Marker/MaxRange", value: defaults.string(forKey: "MarkerMaxRange")!);
if let val = NumberFormatter().number(from: defaults.string(forKey: "MarkerSize")!)?.doubleValue
{
rtabmap!.setMappingParameter(key: "Marker/Length", value: String(format: "%f", val/100.0))

View File

@@ -836,6 +836,56 @@
<key>KeyboardType</key>
<string>NumberPad</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>FooterText</key>
<string>Maximum range at which the markers are detected. Long range increases the estimated orientation error of the tag, which can then cause bad graph optimization. Using larger tags can improve orientation estimation at longer range.</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Title</key>
<string>Marker Maximum Range</string>
<key>Key</key>
<string>MarkerMaxRange</string>
<key>DefaultValue</key>
<real>1</real>
<key>Titles</key>
<array>
<string>No Limit</string>
<string>0.5 m</string>
<string>1 m</string>
<string>2 m</string>
<string>3 m</string>
<string>4 m</string>
<string>5 m</string>
<string>6 m</string>
<string>7 m</string>
<string>8 m</string>
<string>9 m</string>
<string>10 m</string>
<string>15 m</string>
<string>20 m</string>
</array>
<key>Values</key>
<array>
<string>0</string>
<real>0.5</real>
<real>1</real>
<real>2</real>
<real>3</real>
<real>4</real>
<real>5</real>
<real>6</real>
<real>7</real>
<real>8</real>
<real>9</real>
<integer>10</integer>
<real>15</real>
<real>20</real>
</array>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>