Skip to content

Generating a Semantic Map

Nick Walker edited this page Mar 12, 2018 · 3 revisions
  • Obtain the ROS map (yaml + pgm file) for which you would like to identify semantic objects.
  • For this map, we'll first mark locations(regions), then doors, and finally objects

Mark locations

Run the following command:

rosrun bwi_planning_common logical_marker <yaml-map-file> <locations-file-to-be-saved>

The tool is primitive, but it'll do (pig). You can use it to mark locations using the following instructions. Keypresses have to be done while the gui window is active, and text has to be typed on the terminal:

Will write locations to file: <locations-file-to-be-saved>
Select rectangular region using click + drag.
Press 'a' to accept selection into current location.
Press 'n' to accept current location with name.
Press 'w' to write locations file and exit program.

Location Nomenclature

We have been using the following nomenclature for room names: l3_502 where

l - should always be l. stands for location 3 - floor number 502 - room number. Note that graduate seating does have room numbers, for instance 3_410. The pod lounge also has a number. 

For hallways, it is the same process. All the hallways in GDC are labelled as well: l3_400

  • l - should always be l. stands for location
  • 3 - floor number
  • 4 - corridor number (yes, every hallway in GDC has a number)

Mark Doors

You can write door information by hand, or use an automated tool. To use the automated tool, you need to generate location information first.

rosrun bwi_planning_common mark_doors `rospack find utexas_gdc`/maps/3ne.yaml doors.yaml location.yaml

Instructions:

  • First click selects door center.
  • Second click selects the 2 approach points.
  • Third click selects the door width.
  • Press 'c' at any time to clear current selection.
  • Press 'n' after thee clicks to accept door with name.
  • Press 'w' to write door file and exit program.

Door Nomenclature

Doors are simply labeled as d3_414b2 where

  • 3 - floor number
  • 414b - room number
  • 2 - door number in room

Marking Objects

Done by hand. Syntax is:

- name: table1
  point: [-0.5, 12.0, 1.5708]
- name: coffeecounter
  point: [0.0, 5.0, -1.5708]
Clone this wiki locally