Home Community Blog Buy Now
Blog

Misty Community Forum

Misty does not obtain POSE on an existing map

Background: Using a Standard Misty II, Development in C#
Android Patch installed: “androidOSVersion”:“OpenQ820_O_v4.1-OPM1.171019.026-scripts1.0.1-patch1.0.5”

From what I understand, Misty should be able to create a SLAM map, then set tracking and then have Misty go to one or more weigh-points… If I’m on the navigation portal and create the SLAM map and then set tracking, I can set weigh-points and Misty will navigate to those locations. Then in C# code (while Misty is still connected in the Portal) I can set tracking as well as set weigh-points and Misty will go to these locations.

The Issue we are having is when we turn Misty Off and On again, then in C# code we can locate the saved SLAM map, but when we set tracking Misty is never able to obtain POSE, and without pose we can’t navigate to any weigh-points. We’ve even started Misty in the exact same position as when she initially started the SLAM mapping.

-=Duane=-

I am working with Duane on this issue - how do we get Misty to use a saved SLAM map? what can we do to resolve this issue?

Are you calling SetCurrentSlamMap with the appropriate map before trying to track?

If yes and it’s still not working then please send us logs. Even better, if you know how to use adb, please send logcat logs while attempting to do this.

Vlad… Yes I’m calling SetCurrentSlamMap… Here’s a snippet of the Code


WriteDebugMessage(ProcName, $“Attempting to Navigate Misty using the {_UsingThisMapName}”);

await _misty.SetCurrentSlamMapAsync(_UsingThisMapKey);
await _misty.WaitAsync(5000);
ChangeChestLED((int)LEDColors.Green);

await _misty.GetMapAsync();
await _misty.WaitAsync(5000);
ChangeChestLED((int)LEDColors.Red);

await _misty.StartTrackingAsync();
await _misty.WaitAsync(5000);
ChangeChestLED((int)LEDColors.Yellow);

double velocity = 50;
await _misty.FollowPathAsync(_waypoint[6], velocity, null, null, null);

await _misty.StopTrackingAsync();
await _misty.WaitAsync(5000);


Here’s the Console Debug Messages:

skillrunner.js:1149 Running skill ‘Misty.Skill.ErgonomicsCoach’. Open the web console to see misty.Debug() messages and other skill data.
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Starting” “2020-07-10T17:20:40.9345052Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Starting”, timestamp: “2020-07-10T17:20:40.9345052Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Enable SLAM Service” “2020-07-10T17:20:40.9657561Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Enable SLAM Service”, timestamp: “2020-07-10T17:20:40.9657561Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Get SLAM Maps” “2020-07-10T17:20:41.356974Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Get SLAM Maps”, timestamp: “2020-07-10T17:20:41.356974Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – SLAM Map JSON: System.Collections.Generic.List`1[MistyRobotics.Common.Data.MapDetails]” “2020-07-10T17:20:41.5308459Z”

skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – SLAM M…eric.List`1[MistyRobotics.Common.Data.MapDetails]”, timestamp: “2020-07-10T17:20:41.5308459Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existing Map > Key:Map_20200622_22.58.23.UTC Name:Map_of_Kitchen” “2020-07-10T17:20:41.5308459Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existi…Key:Map_20200622_22.58.23.UTC Name:Map_of_Kitchen”, timestamp: “2020-07-10T17:20:41.5308459Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existing Map > Key:Map_20200625_14.22.45.UTC Name:Map_20200625_14.22.45.UTC” “2020-07-10T17:20:41.5308459Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existi…00625_14.22.45.UTC Name:Map_20200625_14.22.45.UTC”, timestamp: “2020-07-10T17:20:41.5308459Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existing Map > Key:Map_20200710_16.27.15.UTC Name:Map_of_Basement” “2020-07-10T17:20:41.5464972Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Existi…ey:Map_20200710_16.27.15.UTC Name:Map_of_Basement”, timestamp: “2020-07-10T17:20:41.5464972Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Attempting to Navigate Misty using the Map_of_Basement” “2020-07-10T17:20:41.5464972Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Attempting to Navigate Misty using the Map_of_Basement”, timestamp: “2020-07-10T17:20:41.5464972Z”, truncated: false}
skillrunner.js:511 “Misty.Skill.ErgonomicsCoach: IN OnStart: – Finished” “2020-07-10T17:21:02.70763Z”
skillrunner.js:518 {message: “Misty.Skill.ErgonomicsCoach: IN OnStart: – Finished”, timestamp: “2020-07-10T17:21:02.70763Z”, truncated: false}

Here’s the Logfile downloaded from the Portal and showing just todays results

I’m not sure how to use adb…. I tried awhile back but wasn’t able to connect… I can however get to Misty’s root C$ drive, if you need any logs from there.

-=Duane=-

(Attachment mistylog.txt is missing)

I tried sending a log file and it was rejected saying

“the file you are trying to upload is not authorized (authorized extensions: jpg, jpeg, png, gif).”

Do you have another means for me to send you .txt or .log files

-=Duane=-

if you do not need the logs to be secret, you can anonymously post to https://pastebin.com/ and share the link here.

I’ve sent the logfile direct to Vlad’s email address on July 13th, just wondering if there’s any update on this.

There’s nothing in the logs to signify why it’s not relocalizing. I would need adb logs for more details or even a recording from the depth camera.

Currently we’re all focusing on the new http://temperature.mistyrobotics.com/ application and currently all my robots have the thermal camera visor not the depth camera visor. I will swap out a depth camera visor on one of my robots later in the week and confirm nothing’s changed with relocalization. Once I confirm that still works for me we’ll see why yours isn’t.

Hi,

Is there any update on this?

Sorry, I didn’t get to this until now. I tested with current released software. I was able to create map then stop map then start tracking and get relocalize and get pose. Then I turned the robot off and once it rebooted I started tracking and was able to again relocalize and get pose.

Now, on reboot the robot loads the LAST mapping sessions that was performed. If you did another Start Mapping after the last good map you will need to manually call the SetCurrentSlamMap to the map you want.

At this stage I would need at a minimum adb logs to further diagnose why you’re having problems and/or possibly a recording from the StructureCore sensor.

There are some details here about how to get adb logs:
https://community.mistyrobotics.com/t/mission-mapping-with-misty/1543

The instructions in the post are a bit out of date with respect to the recordings and map directories. All such directories are now under /sdcard/occ/mapping_sessions

Hi,

I do not see the instructions with the link provided. I search the forum and still cannot find anything about getting adb logs

Wes

You can’t go to the link? Hmm the post might be in a locked area for the Field Trials prior to ship.

Here is another post that describes how to get adb logs:

Hi,

Looks like adb is disabled? here is from another post

Actually, it just occurred to me that if you ran the Android update patch from a few months ago ADB over wifi is disabled by default, so you might not be able to do the above without a USB to Ethernet.

Let’s start with your OS and VLC version and VLC settings like Scott asked. Also please include the settings you are using to start streaming.

Yes I tried to connect adb awhile back and wasn’t able to.

Here is Device info from the SDK/Command-Centre

  1. androidHardwareId: “4ea197a5da6fae68”

-=Duane=-

@dlorette @wlaubach64 would it be useful if I provided you remote access to a Misty robot where you can try your code?

If the same error appears, then we can link @Vlad to it, and @Vlad can observe, get adb logs, etc.

Hi,

Don’t think that would help, as I am just trying to use navigate from the command center. I use command center to map the room, by using the “Start Mapping” button provided. And the “start Tracking” button to start tracking, no custom code involved.

I have noticed that start tracking works fine if i have the start mapping working to create a map.

If i try from a point where there is no map loaded(SDK CALL). I use the SDK explorer to load a map that i know was good from the maps list(SDK Call). I have tried using SDK after that and the command center to get Tracking to work. Never finds Pose…

Please help…

Wes

Is there anyway to do a remote desktop/remote meeting kind of thing into my computer so i can show it?

I cannot speak for @Vlad (and I am not a Misty employee), but 3 ideas are:

  1. create a screen recording of what you are doing and that demonstrates the error;
  2. arrange a Zoom (for example) call with @Vlad or someone from Misty company and do screen sharing;
  3. remotely share your robot so someone else can try it.

I think Misty company has less time allocated for customer support like this, so I guess the challenge is to convince ourselves that this is a bug, and to show them the evidence.

Here is how to connect to adb via a USB to ethernet plugged into the backpack USB port:

Once you connect you can re-enable ADB over wifi (we disable it by default due to it being insecure) by following the instructions at the end of this post 2020.01.07: Misty II Android Patch for Improved SLAM Performance

All this being said, if you’re able to create a map and then track in it, not being able to track in it later is unlikely to be a bug. Either the environment changed drastically (lighting changes are one issue) or you’re not loading the correct map or some other similar issue. As per Scott’s suggestion, it would be good if you wrote down and explained the exact process of what you are doing.