Knowbotic Interface Project



IR: Object Type Files

This is a working paper which will probably be rewritten several times in the next months





AUTHOR: Gerd Döben-Henisch/ Dirk Chr. Schellenberg
FIRST DATE: January 15, 1995
DATE of LAST CHANGE: May-31, 1996



A type-file contains all information which is common to objects including the geometrical as well as non-geometrical data.

type --> TYPE '<' type_head body_number type_body '>'


type_head --> type_name classification gender global_selector collision_radius sensory_envelope


sensory_envelope -->
smell smell_max smell_threshold taste temperature_max temperature_threshold touch touch_threshold texture color noise_number noise_argument noise_threshold max_age weight elasticity material_number material


noise_argument -->
noise_condition noise_type noise_value noise_max noise_quality
|
noise_argument noise_condition noise_type noise_value noise_max noise_quality


material -->
ALPHANUM LONG
|
material ALPHANUM LONG


type_body -->
body_element
|
type_body body_element


body_element -->
body_element_name shape_number shape


shape -->
shape_condition sensory_envelope geo_parameters geom
|
shape shape_condition sensory_envelope geo_parameters geom


geo_parameters --->
father_name link_pos_father link_pos_current link_rotation rotation_freedom scaling small_factor


geom --->
off_filedescriptor
|
off_data


off_filedescriptor -->
'geom' '<' filename'.off'


off_data -->
OFF'<'off_argument'>'


filename'.off' -->
This is a filename -eventually a whole path- with the suffix 'off'. It is assumed that the content of this file is an off-file


body_number, collision_radius, material_number, shape_number, max_age, weight, elasticity -->
LONG


type_name, classification, noise_type -->
ALPHANUM


gender -->
'm' | 'f' | 'n'


global_selector -->
'0' | '1'


smell, touch -->
ALPHANUM


taste -->
sweet sour salty bitter


smell_max, sweet, sour, salty, bitter -->
LONG


touch_threshold, temperature_max, temperature_threshold -->
LONG


noise_number, noise_max, noise_threshold -->
LONG


noise_condition, noise_quality -->
ALPHANUM


noise_value -->
ALPHANUM
|
BITSTREAM


touch, touch_threshold -->
ALPHANUM
texture, color -->
ALPHANUM


body_element_name, father_name -->
ALPHANUM


link_pos_father, link_pos_current -->
x y z


x, y, z -->
LONG


link_rotation -->
x-angle y-angle z-angle


rotation_freedom -->
x1-angle y1-angle z1-angle x2-angle y2-angle z2-angle


x1-angle, x2-angle, dx -->
FLOAT


y1-angle, y2-angle, dy -->
FLOAT


z1-angle, z2-angle, dz-->
FLOAT


scaling -->
dx dy dz


small_factor -->
'0' | '1'



A 'type' has a 'type_head' with general information and 'body_number'-many 'type_body'-elements.

'type_name' gives the name of the type followed by the 'classification' (static, dynamic) and the 'gender'. 'global_selector' is a boolean telling that only the general values of the head are valid (='0') or that every body-element has individual values (='1'). The 'sensory_envelope' gives some values which characterize the sensory-appearance of this type for sensory-evaluation.

The 'taste' is a complex value consisting of the four components 'sweet', 'sour', 'salty', and 'bitter'; each is represented by a number in the intervall [0,2]. The 'smell' is coded by an alphanumeric string. 'taste_max' tells the maximal value with regard to the overall intensity. If the type has sensory-organs to receive sensory data, then tells the value 'smell_threshold' from which value upwards the type can detect a signal. 'taste-thrershold' gives the smallest number where an object with a smell-organ can detect some smell. 'touch', 'touch-threshold', 'temperature', 'temperature_max', and 'temperature_threshold' function analogue to the smell values.

It is assumed that a 'noise_argument' contains 'noise_number'-many sequences of 5-tupels, each containing 'noise_condition' (a descriptor to designate a certain circumstance which triggers this noise), 'noise_type' (speech/ music/ structred-noise/ pure noise), 'noise_value' (the material of the noise), 'noise_max' (maximal loudness of the noise), 'noise_quality' (e.g. a special instrument), and 'noise_threshold' (the minimal loudness which is necessary that this type can detect noise data).

An object or even certain subparts of objects have a 'maximal age' measured in years. They have also a certain 'weight' measured in kg as well as a certain 'elasticity' represented as a number in a scale. Any object consists also of some 'material' which is represented as a finite sequence of substance-names accompanied with a number representing a percentage.

A 'body_element' contains non-geometric information as well as geometric information. The non-geometric information are including the 'body_element_name' (this allows the setup of implicit trees), some special 'conditions' which is related with a certain geometrical form, and the 'sensory_envelope' (see above).

The 'geo_parameters' are giving information about links between two body-elements: 'father_name' gives the name of the body_element, which is the father to the actual body_element, and 'link_pos_father' is a point in the father-element and 'link_pos_current' gives a point in the child of the father. Father-point and Child-point are thus constituting a link. 'rotation' tells how this body-element has to be rotated. 'rotation_freedom' gives for every plane a line segment in which a link can be rotated. 'scaling' gives for every dimension a scaling factor which is either a positiv float or, depending on the 'small_factor', a fraction with the scaling factor as denominator.

The 'link-concept' and the 'condition-concept' are complementary. With the link-concept alone it would be possible to realize any possible configuration of the parts related to some movement-predicate but without changing the surface of the off-objects. The condition-concept allows the selection of different surfaces according to a certain condition, e.g. 'hand_open' or 'hand_closed'.


Comments are welcome to doeb@inm.de
INM

Daimlerstrasse 32, 60314 Frankfurt am Main, Deutschland. Tel +49- (0)69-941963-0, Tel-Gerd: +49- (0)69-941963-10