URL:
http://www.cs.bham.ac.uk/research/projects/cosy/matrix/space-general/axs-fido-space.html
Last changed: 14 Dec 2005
Space, Time and Various Purely Spatial/Temporal Entities
Added Time 5th December, changed heading 6th December.
Fido, the domestic robot will have to learn about space on different
scales, with different properties, and ideally should be able to
understand how they are related.
Likewise Fido will need to learn about time, though it is not so clear
whether understanding time on different scales will be needed (e.g.
understanding calendars, and being able to talk about events in the
distant past or future will probably require this).
The understanding of space
will be intimately connected with understanding of time, since
spaces are things in which motions and other changes
can occur, and changes involve time.
We could say that we are dealing with a 4-D space, with subspaces.
Various comments have been added below (5th December) linking the
previous spatial entries to time. We also need to say things about time
in the column on processes.
Time is also important for non-spatial processes, e.g. thinking,
planning, wondering about, deciding, etc. That will not be discussed
here.
The set of spatial entities Fido will need to know about includes
-
spaces on the surfaces of objects, where they can be touched, grasped,
prodded, painted, cut, etc.
-
spaces on tables, in drawers, in cupboards, in a dishwasher etc., into
which things can be put, or in which they can be rearranged, etc.
-
spaces on walls where things can be hung, windows, shelves, hooks,
light-switches, doorways, etc. can be found.
-
spaces in a room where major objects can be located, e.g. the space
close to the window, the space near the door, the space, around the
sink, the space in the middle of the room.
-
spaces linking rooms, such as corridors, and parts of those spaces, such
as foyers, alcoves, junctions etc.
-
the different storeys of a multi-story building,
-
spaces on the outside of the building, e.g. walls roof, roof-ridge, etc.
-
the whole space occupied by the house
-
larger spaces including the plot of land, the street containing the
house, the town or village
-
still larger spaces ....
-
spaces on Fido's own body, e.g. where the doors to its batteries are
located, which bits of its surface need to be kept clear if it is to be
able to see, which parts of it might bump into furniture if it moves in
certain ways, which parts of its grippers will touch which parts of
objects when it grasps them in various ways, how big the space is
between its fingers in various positions, how the surfaces of its
fingers are related to surfaces of objects it is about to grasp, or
objects it does not wish to touch or knock over while moving, ...
-
[Added 5th Dec]
There will be many links between spaces and times. For example, if
spatial region A is inside region B, and there is a time during which
the hand starts outside B, goes to somewhere in A, and then goes to
somewhere outside B, then there will be time intervals in which the hand
is in B and in A, and the time intervals will have the same nesting
relationship as the spatial intervals.
However. If the hand starts outside B, then goes into A then goes to
somewhere outside B, without going through a portion of B that is
not in A, then A must have at least a part of its boundary in contact
with the region that's outside B.
There are many other such relationships, including for instance the
relationships between lengths of various time intervals and the sizes of
various spatial regions, or the sizes of various parts of routes.
Time and place are also intimately involved in notions like velocity and
acceleration. These are also related to causation, e.g. both in terms
of physical constraints on how various motions are caused and how
various kinds causal interpretations are put on interactions involving
different speeds at different times (Michotte).
There will be various attributes of those spaces that can also be
thought of as spatial objects (with more or less vague or fuzzy space
occupancy), for instance, boundaries of 2-D regions on a surface,
surfaces and edges of a 3-D shape, points of inflexion or of maximum or
minimim curvature on a line or surface, long and short axes,
centroids, etc.
Many relations can also hold between spaces or spacial attributes, for
instance, containing, touching, excluding, distance apart, having the
same orientation, angles between directions, etc.
Although spatial entities of the sorts discussed here are very important
in perception and action, there is a sense in which they are not
perceived or acted on -- for there cannot be sensors that detect space
or manipulators that alter properties, locations, relations of portions
of space. The perception of an empty space on a shelf in a cupboard
amounts to non-perception of occupants obove a part of the shelf.
Likewise effectors cannot act on space. We may walk along a route, but
that depends on acting on physical objects associated with that route,
especially the surface we are walking on. Likewise creating an empty
space involves moving occupants of that space away.
Some of the types of occupants of these spaces are described in
Fido will also need to know about, refer to, think about some
non-spatial,
abstract objects.
Much more needs to be said about the relations between space and time.
There is no pretence that this overview is complete. But it helps to
indicate the range of possibilities from which we'll need to choose a
(tiny?) subset for the target PlayMate and Explorer systems. Can the
choice be principled instead of being based in individual
preferences or hunches?
Ideally we should choose subsets that have some generic and
productive features. E.g. they should be widely applicable in
later developments and they should provide a good basis for a system
that can be extended later, either by explicit programming or by means
of learning or bootstrapping mechanisms. (As in altricial species.)
Discussion of these issues in relation to Kitty (the 30 month target)
will go into
this file.
Note: there are many things that have been written about these issues by
other researchers (compare CYC, for example).
It's not clear whether it will be quicker to reinvent the
bits we need or to find and re-use/debug/extend what others have done.