robotology / poeticon

This is the repository of the POETICON++ EU project http://www.poeticon.eu
GNU General Public License v2.0
4 stars 6 forks source link

World state - map initialization phase sometimes fails #160

Closed gsaponaro closed 8 years ago

gsaponaro commented 9 years ago

worldStateManager is confused at times, even when input is stable (object recognition). It goes like this

failure in initializing IDs and names: at least one of the candidate names was a duplicate or was skipped. trying again. if this goes on forever, check the status of 1) object recognition, 2) activityInterface and 3) WSOPC database.

for a few times, then eventually it succeeds in getting a unique <ID,label> mapping. Need to debug the function that constructs the map: getTrackNames().

gsaponaro commented 8 years ago

Hi @AlexAntn, I analyzed this problem that we had again this afternoon in Lisbon, causing the above issue.

It is a situation in which the object recognition information is lost in the pipeline (in particular between IOL and activityInterface), even though everything shows as green in yarpmanager GUI. As a resultgetNames was empty, so getLabel of any valid set of coordinates asked by the world state obtained an empty string, thus the module was refusing to proceed in its initialization routine, trying over and over.

Restarting IOL (in particular ARE), making a yarp clean and reconnecting everything again fixed this.

I'm pretty positive this won't be a problem in Genoa, where they have a stable ARE, motor part and yarp network.

In any case, I added the following print in the world state if we ever see this again:

[WARNING]STATE_PERCEPTION_SET_MEMORY: getNames is empty

Marking as fixed.