Robots usually perform repetitive tasks, and an intelligent robot should be able to recognise and take advantage of situations where the same objects or object elements are encountered more than once. Such capabilities are an important element of most CSG solid modellers, where they are the equivalent of macros or subroutines in programming languages. If, for example, a table is being defined using a CSG scheme, a single leg might be described as the union of a truncated cone and a disk (at the foot). This description, instead of being repeated three more times at other corners of the table, could be defined as a functional grouping with the name ``leg'', allowing a more straightforward description of the table by referring simply to a leg at each corner.
The ability to define a complex shape as an abstract functional grouping enables a robot to associate specific properties with the whole group of features comprising that shape. There are a number of properties which could be usefully linked to abstract shape groupings, as follows:
Similar advantages are listed by Noah and Sacerdoti as arising from the addition of ``macro operators'' to a robot planning system. MACROPS enabled the planner to collect effective sub-plans so that they could be re-used in appropriate situations, and functional groupings provide an analagous mechanism which records physical descriptions for re-use.
The two representations discussed later in this chapter have not been extended to allow all of the above capabilities in matching and collecting information about functional groupings of shape elements. The suitability of each of the two dimensional representations for functional grouping description is discussed, however.