Interface Specification - PennNLP/Gumbo GitHub Wiki

Gumbo User Interface

The UI will display:

  • The map, which is fixed and known in advance
  • The robot's current position
  • The position of any hostages and active bombs seen by the robot
  • History of dialogue (user commands and robot responses), ideally with some clever way to change/remove past standing orders
  • The robot's current goal?
  • Camera snapshot from last time one was requested?

LTLMoP Robot Control

LTLMoP controls the robot via a set of handlers (objects which handle data exchange and abstractions).

Pose handler

  • The pose handler reports the robot's current position.
  • Note: In terms of high-level control, this technically only needs to be as granular as the name of the current room, but a more accurate position is required for plotting on the map.

Sensor handler

  • The sensor handler will read the state of robot sensors and perform any adjustments (abstractions) needed before reporting them as current state to the automaton. This includes persisting objects within a room even when the robot is not currently viewing them and filtering out any objects visible but not in the current region.

Motion handler

  • LTLMoP tells the robot which room to go to. It will always instruct the robot to go to a room adjacent to the current one. As there is no guarantee that the path planner will take a path that does not pass through any region, we need to avoid any maps with multiple ways to go between regions.

  • Note: Even without cycles, is this actually safe? You still have no guarantee of not spilling into a third region (i.e. neither initial-region nor target-region) during movement.

Map communication

  • Q: How will we sync up the map between LTLMoP and the robot?
  • A: Each will have a map file in its own format. The LTLMoP one will be auto-generated from Lowell's JSON one.