corot / world_canvas

ROS framework for storing and accessing semantic information about the world, with an initial emphasis on needs and use cases for mobile robots.
10 stars 19 forks source link

World Id's #17

Closed stonier closed 10 years ago

stonier commented 10 years ago

I wonder if it would be possible to use string identifiers for worlds. Of course you'd probably have to handle the issue of dealing with registering two worlds with the same id. And if you have to save the id in uuid form, just hash the strings.

Be a much easier practical simplification. Any real cons to doing this?

corot commented 10 years ago

You mean, an arbitrary (but unique) string, or the string representation of the uuid? I'm ok with the uuid because warranties uniqueness and maps can also have a name, but for sure it's not superpractical when you manipulate them by hand.

stonier commented 10 years ago

Yeah, a string for which uniqueness is guaranteed because the 'user says it is unique'. Of course the system should check and make sure the user is not an idiot :P

stonier commented 10 years ago

Like we do in rocon with gateway uuids....you can disable them if you are sure you can control who connects.

corot commented 10 years ago

The important point is that a user NEVER needs to mangle with uuid, regardless we use them backing the data or not. He/she identifies a world by its name

Using uuid for maps comes from save_map node within the map_store package. As it saves maps automatically, without prompting for a name, it assigns a uuid to every map. However, in WCF a world is not a map: a world can have 0, 1, or N maps of any kind (as maps are annotations too!), so we should not confuse world uuid and 2D map uuid. We can get rid of the former according to this issue, but not from the later without changing map_store interface.

corot commented 10 years ago

I have completely removed world_id; we always use a string now. In fact, it changes nothing of the internal working, just the interfacing.