Esempio n. 1
0
    def parse(self, utterance):
        '''
        Parses and returns result.

        Returns:
            RobotCommand
        '''
        rc = self.parser.parse(utterance)
        self.parse_buffer = Logger.get_buffer()
        return rc
Esempio n. 2
0
    def _set_world_internal(self, world_objects, robot):
        '''
        Sets the parser's world, robot, parser maybe regenerates.

        This is so we can capture the log for reporting (if desired).

        Args:
            world_objects ([WorldObject])
            robot ([Robot])
        '''
        self.parser.set_world(world_objects, robot)
        self.start_buffer = Logger.get_buffer()
Esempio n. 3
0
    def ground(self, grounding_query):
        '''
        Grounds the provided expression with probabilities over objs.

        Args:
            grounding_query (str)

        Returns:
            {str: float}: Map of obj : P(obj).
        '''
        gprobs = self.parser.ground(grounding_query)
        self.parse_buffer = Logger.get_buffer()
        return gprobs
Esempio n. 4
0
    def describe(self, grab_buffer=True):
        '''
        Describes all objects in the world.

        Args:
            grab_buffer (bool, optional): Whether to grab the log buffer
                and save it as self.parse_buffer. Defaults to True.

        Returns:
            {str: str}: Map of object names to their description.
        '''
        desc = self.parser.describe()
        if grab_buffer:
            self.parse_buffer = Logger.get_buffer()
        return desc