1 Motivation
2 Related Work
3 Theory of Explanation
3.1 Guiding Principles
3.2 Characteristic Axes
3.3 Methodology for Generating Explanations
- The position of the robot and objects can change due to the execution of one or more actions of the robot.
- The robot can move to a place, pick up or put an object at a particular place, or deliver an object to a person.
- The domain may be viewed at different resolutions, e.g., a place can be one or four rooms or one of four cells within each room, and the robot may move an object or a part of the object to a particular room or grid cell.
- The robot has grasping and stirring manipulators.
- The domain may be viewed at different resolutions, e.g., the tools may be on the work table or in one of the six cells considered on the work table.
4 Reasoning Architecture
4.1 Action Language
4.2 Knowledge Representation
4.3 Reasoning with Knowledge
4.4 Refinement, Zooming and Probabilistic Execution
4.5 Interactive Learning
4.6 Constructing Explanations
5 Execution Examples and Results
5.1 Execution Traces
- Human: “Please describe the plan you executed.”Robot: “ [...] I moved to the study. I put down a small programming book on \(table_1\). I picked up a large robotics book from \(table_1\). I moved to the office. I gave the large robotics book to the engineer. I achieved the goal.”
- When asked to provide a more detailed description, the robot revises the point along the abstraction axis; in the current implementation, this corresponds to using the fine-resolution description to generate an explanation.Human: “Provide a more detailed description.”Robot: “[...] I moved to cell \(c_2\) in the study. [...] I moved to cell \(c_4\) in the study and put down a small programming book with a hard cover on the table. I picked up the large robotics book with a soft cover by its spine from the table. [...] I moved to cell \(c_2\) of the study. [...] I moved to cell \(c_7\) of the office. I gave the large robotics book to the engineer. I achieved the goal.”
- During planning or plan execution, the robot can explain the need for particular actions, and explain their direct and indirect effects.Human: “Why did you move to cell \(c_4\) of the study?”Robot: “I had to retrieve the large robotics book from the table. The table is in cell \(c_4\) of the study.”
- Human: “Relationally describe the effects of moving to cell \(c_4\) of the study.”Robot:\(loc^*(rob_1, cell_4), loc(rob_1, study)\).
- Human: “Why do you believe the heavy encyclopedia is in the study?”Robot: “At time 0, I assumed encyclopedia was in the library. At time 4, I observed encyclopedia was in the study. To restore consistency, I inferred encyclopedia was in the study from time 0.”
- Given the clear separation of concerns between the domain-specific and domain-independent content, our architecture can be adapted to the RB domain, although the agent, its task, associated concepts, and the other elements of the signature differ from the RA domain.Human: “Please describe the plan you executed.”Robot: “ [...] I poured the cocoa in the yellow small ingredient bowl to a red large mixing bowl. I poured the cornflakes in a red medium ingredient bowl to the red large mixing bowl. I mixed the contents of the red large mixing bowl. I scraped the mixture to a metallic silver medium baking tray. I picked up the metallic silver medium baking tray. I moved to \(table_2\) with the metallic silver medium baking tray in my hand. I opened the silver toaster oven on \(table_2\). I put the metallic silver medium baking tray in the silver toaster oven. I closed the silver toaster oven. I baked the silver metallic medium baking tray in the silver toaster oven for 20 minutes. I opened the silver toaster oven. I picked up the metallic silver medium baking tray from the silver toaster oven. I put the metallic silver medium baking tray on \(table_2\). [...] I achieved my goal.”
- When asked to provide more concise and relevant information, the robot moves its operating point along the specificity and verbosity axes.Human: “Provide a concise and relevant description.”Robot: “[...] I poured the cocoa in \(bowl_5\) to \(mixing\_bowl_1\). I poured the cornflakes in \(bowl_2\) to \(mixing\_bowl_1\). I mixed the contents of \(mixing\_bowl_1\). I scraped the mixture in \(mixing\_bowl_1\) to \(baking\_tray_1\). I picked up \(baking\_tray_1\). I moved to \(table_2\). I opened \(toaster\_oven_1\) on \(table_2\). I put \(baking\_tray_1\) in \(toaster\_oven_1\). I baked \(baking\_tray_1\) in \(toaster\_oven_1\) for 20 minutes. I opened \(toaster\_oven_1\). I picked up \(baking\_tray_1\). I then put \(baking\_tray_1\) on \(table_2\). [...] I achieved my goal.”
- Human: “Please be more concise.”Robot: “I preheated \(toaster\_oven_1\). I mixed flour, butter, sugar, cocoa, and cornflakes in \(mixing\_bowl_1\). I scraped the mixture to \(baking\_tray_1\). I baked \(baking\_tray_1\) in \(toaster\_oven_1\) for 20 minutes. I put \(baking\_tray_1\) on \(table_2\). I achieved my goal.”
- The robot explains the need for, and can potentially explain the likelihood of, particular actions and outcomes during planning or execution.Human: “Why did you move the baking tray to \(table_2\)?” Robot: “I needed to put the baking tray in the toaster oven that is on \(table_2\).” Human: “How likely is it that there is cocoa in the yellow ingredient bowl?”Robot: “I am \(95\%\) sure there is no cocoa in the yellow ingredient bowl”.
- The robot can describe the learned knowledge.Human: “What have you learned?”Robot: “I have learned to chop an ingredient. I have learned to spill an ingredient from a bowl.”
- Learned knowledge can be revised over time.Human: “What have you learned about action chop?”Robot: “It is necessary to hold a knife to perform chop. It is necessary for the ingredient to be located in front. The action sometimes fails if the ingredient is not butter.”
- Knowledge can be acquired from observations obtained from active exploration (e.g., during downtime), reactive action execution (e.g., unexpected and unexplained observation), or by observing other robots.Human: “How did you learn that a baking tray can contain ingredients?”Robot: “I poured cocoa on a baking tray. I observed baking tray contained cocoa.or, in a different context:Robot: “I poured cocoa into a bowl that was on a baking tray. The observed the bowl did not contain cocoa. I observed the baking tray contained cocoa.”
- Robot can learn from delayed action outcomes. For example, when a dish set in an oven to be cooked is observed to be burned, the robot infers the reason to be setting the wrong temperature initially.
5.2 Experimental Evaluation
Domain | Low | Medium | High |
---|---|---|---|
RA | 0.00014 | 0.00025 | 0.0027 |
\(RA^*\) | 0.00041 | 0.0154 | 0.232 |