User Tools

Site Tools


3dmodeling:shelves

This is an old revision of the document!


Modelling of Supermarket shelves

The shelves are composed of several parts, and we have meshes in different levels of complexity.

Finding a single reference frame for the parts of the shelves is hard because different actors that deal with the meshes have different needs:

  • modelling: Prefer to have the reference frame at the center of the bounding box (can be automated)
  • perception: prefers a reference frame placed on an easily detectable part of the object
  • building the shelf from perceived data: would prefer a reference frame at the back of the shelf parts

So after discussing this with Andrei, Georg, and Alexis, our current proposal is the following:

  • Shelf-parts get modelled and the frame of reference (origin) gets placed at the center of the bounding box.
  • The orientation of that reference frame is chosen such that it is identity when placed on the real world. In practical terms, all the shelf floors will have the same orientation as the shelf system.
  • We will extend the object-state-publisher to publish static-transforms for additionally defined frames that are useful for the other purposes

Shelf systems

The origin of the mesh of the shelf system will be on the center of the bounding box, but the shelf system will have an additional frame, placed on the lower-left-front corner, as can be seen in the next image (click to enlarge):

Additional Reference frame for each shelf system

Shelf floors

Each shelf floor will also have an additional reference frame placed at the front-left corner, according to the following image (click to enlarge):

Additional Reference frame for the shelf floors

Map origin in Mockup Store

We will use a corner of the room, because it is an unmovable feature that we can find in the laser-scans, and we can measure from it in real life.

The origin should be the left-most corner of the back-wall, where it connects to the column next to the door: (Click on the image for full-size)

Origin of the map

TF tree

What follows is the first suggestion by Alexis, please give me feedback. I am aware that it might require calculating some inverse-frames when saving the models from CAD or Unreal, but at the moment it seems like a good tradeoff to have a little complexity there, in order to get easy to mentally verify numbers for the perception of barcodes and separators.

Map to Shelf system

Each shelf system gets a frame relative to map.

map
→ shelf_system_0_lf_corner
→ shelf_system_1_lf_corner
→ shelf_system_2_lf_corner
→ shelf_system_3_lf_corner

Each shelf system

shelf_system_lf_corner → shelf_system_origin

shelf_system_lf_corner → shelf_floor_lf_corner

shelf_floor_lf_corner → shelf_floor_origin

shelf_floor_lf_corner → barcode_x

shelf_floor_lf_corner → separator_x

3dmodeling/shelves.1520949059.txt.gz · Last modified: by amaldo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki