ARRelocalization AppleRoomplan API

Im working on Apple RoomPlanAPI MergescansFeature which is an update of ios17. In this it is said mergescans can be done in 2 ways

  1. continuous ARsession
  2. ARRelocalization

I've worked on ARRelocalization . I take a first scan and then come nextday and want to take another scan . can we start the scan anywhere in that particular house. and can merge them. Because currently what I was doing was I take a scan and when i stop the scan ..then save the world map like the snapshot/anchors of that point where I've stopped the scan and again come nextday and start a scan then load the saved map... it says we should go where we've stopped the last scan then only it will sense the environment and it relocalizes with the previous scan coordinatesystem. now we can take a scan and these 2 can be merged.

but now what i want was i will take a scan and due to some reasons i didn't take the bedroom of the house now I'll come next day and want to take only the bedroom scan can i start it from the bedroom scan directly without going to the last point where we stopped the scan and merge these two scans? is it even possible?

Answered by DTS Engineer in 776567022

ARWorldMap can store features from the entire run of the ARSession that captured it. If you traverse an entire home except for one room, the last room that you happened to traverse isn't relevant. When you attempt to relocalize with that ARWorldMap later, it needs to see features from something that it saw when it was captured, which could be any room except for the one room that you never visited before.

Hello,

For ARKit to successfully relocalize to an ARWorldMap, it needs to see features that are stored in that world map.

Hi @gchiste . Thanks for the reply. Yes I understand that it needs to see features that are stored in that world map. yes and Im also following the same but when saving the features after the scan is complete i'm saving only the features of the last frame point where the scan stopped. But can we like store much data in that worldmap like when taking the scan can we save all the data of the environment that we have moved around so that we can just map anywhere we've took the last scan and make arrelocalize and start a new scan.

For EX: if I take scan of my house except one bedroom because it was occupied leave it and take the scan of garage of something and left from that place. again i'll come nextday and want to take only the bedroomscan so now without going to garage(because this is the last point where I've stopped my scan and saved only this feature points in the worldmap) can I take the bedroomscan? as of my R&D i found that it is not possible like this, but now what I want to know was if I'll save all feature points throughout my scan in the worldmap, so when I get back want to take bedroomscan I'll just dont need to specifically go the last point where i stopped the scan.I can just walk around any place where I walked for the last scan so that it will relocalize? in this way is it possible?

Can anyone please help me with this. I really appreciate your help.

Accepted Answer

ARWorldMap can store features from the entire run of the ARSession that captured it. If you traverse an entire home except for one room, the last room that you happened to traverse isn't relevant. When you attempt to relocalize with that ARWorldMap later, it needs to see features from something that it saw when it was captured, which could be any room except for the one room that you never visited before.

Thanks @gchiste, any code snippets how we can store and save all features from entire run of the session and load that and make relocalize before starting another session. I tried but didn't figured it out

yes, correct. Thankyou @gchiste for your valuable time spent on this. I really appreciate your help and response.

ARRelocalization AppleRoomplan API
 
 
Q