WEB PAGE STILL UNDER CONSTRUCTION

URL: http://www.cs.bham.ac.uk/research/projects/cosy/deliverables/matrix/general-general/axs-kitty.html
Last changed: 5 Jan 2006

Introduction

The CoSy requirements matrix is an attempt to organise requirements for the long term (Fido domestic robot), the short term (CoSy end of project target) and month 30 (Kitty robot). This file gives a provisional overview of capabilities required for Kitty. It includes only a tiny subset of the capabilities required for Fido. On the basis of experience with Kitty, we'll be in a better position to select requirements for CoSy.

General Information about Playmate Kitty (30 month target scenario)

This file focuses on Kitty, since that is what most of the work at Birmingham will be about. Suggestions for Explorer Kitty may be added later. There should be considerable overlap, e.g. in their understanding of space and spatial objects.

Contents


Following discussion on Monday 12th December we have agreed that for the month 30 target for the PlayMate scenario ('Kitty') we wish to achieve the following target competences. However for the month 24 demonstration a relatively small subset of this will have to be selected at the January planning meeting.


NOTE:
We are assuming that Marek's basic programmer tools for online control of the Katana arm will be available, preferably after the Katana firmware has been modified by Neuronics as requested, to allow suitable control commands to be sent during motion caused by previous commands. Exactly what comes out of that will affect the details of what follows.

A: Basic Capabilities

Here are some of the basic capabilities in Kitty (including perception, motion, construction and use of internal representations, question formation, goal formation), on which other capabilities will be built.

B: Nature vs Nurture

Initially a great deal will be programmed into Kitty so that we have behaviours on which more things can be built.
That will be followed by analysis of competences, concepts, policies, etc. that should be learnt by the robot, followed by design of some (probably simple and illustrative) learning mechanisms which demonstrate how what we had programmed might instead have been learnt. This is still necessarily ill-defined.
Learning to move from here to there
We hope that one of the things the robot can eventually learn is how to move the hand (slowly if necessary) from any inital state to a final goal state under visual control, when there are no obstacles. (Learning to do it ballistically is a different requirement, not part of Kitty's initial specificatin.)

C: Motion goals for Kitty

The end-of-project CoSy robot should be able to produce motions that involve effects not only on the robot's hand, but also on objects held or pushed and other objects incontact with those objects. During the Kitty phase it may not be possible to achieve that. So our initial Kitty objectives are restricted. NOTE: Under some circumstances the view of the hand will be partly or wholly occluded by other parts of the arm. In the long run the robot will have to be able to perform actions that involve going through such states. This may require the use of representations of enduring processes, as discussed in this presentation on vision
Whether that should be part of the Kitty project will depend on progress in the rest of this scenario.
D: Manipulation in Kitty
Manipulation tasks are partly derived from Jeremy's document regarding tasks for CoSy, and will build on the perceptual and motion capabilities of Kitty described above.

Manipulative tasks can be defined as physical actions performed by the robot with its hand in relation to objects in the scene. Examples for Kitty might be

Add anything produced by Marek in his PhD work. See especially scenarios in Section 5.
(The time scale for those is longer than for Kitty.)

E: Self-understanding in Kitty

Some self-monitoring of external behaviour

Kitty will have very little self monitoring/recording of internal processes (as needed for learning, for answering questions, for generating some new subgoals, for detecting and dealing with conflicting goals???)

However it should be able to detect that some expectation has been violated, than some goal has been achieved, that something new has been perceived that is potentially more worthy of attention than the preceding focus of attention. Exactly what the consequences of these self-observations are still needs to be worked out. However it is very likely that surprises and failures will be the major drivers of ontology formation.

Instead of arbitrary ostensive definitions (human points and says 'this is a porcupine') we expect new concepts to arise from differentiation and merging based on old concepts, driven by the robot's own observations. This presupposes a suitable framework for the ontological extensions, as discussed here.

F: Natural language use in Kitty There will be two kinds of use of NLP in Kitty

F1: NLP interface for development and testing
During development and testing it will be useful to be able to interrogate data-structures and processes in Kitty, and to insert goals. For this purpose we need a fairly simple natural language interface, with a grammar designed to cope with a debugging/testing ontology.

One way to do this would be to have a process running concurrently with everything else which is 'listening' for keyboard input (later we could add speech but mainly for demonstration purposes). Whenever a new question or command comes in, this will be parsed, transformed into a form that can engage with the internal representations used by CoSy and appropriate action taken. This could be to something like:

Output will not be restricted to verbal communication. In some cases it will be more appropriate to print contents of a data-structure into a file that can be examined later, or direct to the screen. In other cases the verbal question or command will produce a change in the graphical display. In some cses it may initate a special kind of dialogue, e.g. cause a graphical control panel to be displayed. Exactly which kinds of output will be needed in Kitty is a topic for further requirements analysis, and our understand of requirements will expand during development and testing.

F2: Talking to the robot

Use of English for 'real' communication.
TO BE REVISED/EXTENDED

G: Kitty's social awareness

What will Kitty know about the human ?

Initially there will be only two roles for the human, neither of which will be understood by Kitty:

  • The human will be an unknown cause of certain kinds of observed motions of objects on the table: the robot should notice the motion and react to it in a manner that depends on its task (e.g. following a moving object visually, or with its finger)
  • The human will use the NLP interface for development and testing, and this could include directly changing Kitty's goals or actions.
  • Later, when the 'real' NLP interface is functional the human will be an unknown source of some questions and commands.

    It is unlikely that there will be time to add any collaborative capability to Kitty, though we hope this will be done for CoSy.

    Kitty will have no knowledge of the existence of other agents with percepts, desires, goals/intentions, plans, preferences, competences, beliefs, location, body, ...
    TO BE REVISED/EXTENDED

    H: Putting it all together: architectural requirements for Kitty

    Reactive mechanisms, and training for fluency will be missing or minimal (apart from simple alarms and motive generators?)

    There will be a fairly rich deliberative component with learning at the deliberative level.

    Self-monitoring and meta-management will be very primitive e.g. remembering what the robot did and simple self-debugging, explanation capabilities.

    Perhaps detection and resolution of conflicts -- including high level attention control?
    Concurrent with low-level sensory and motor attention control

    Vision and motor control will both need layered sub-architectures engaging (concurrently) with different parts of the central architecture

    Natural language capabilities will be an add-on, as happened in evolution and in child development.

    A partial specification for the architecture is in http://www.cs.bham.ac.uk/research/projects/cosy/matrix/architectures/kitty

    Requirements for representations in Kitty are partly in Deliverable 2.1, but further work is needed. More information will be added later e.g. here.
    TO BE REVISED/EXTENDED

    See Nick's comments.

    I: Things not in Kitty

    Most of the non-spatial entities Fido needs to know about will not be known to Kitty.
    TO BE REVISED/EXTENDED


    Use 'back' button to return to matrix