The described 3D model is realized by several applications introduced in this section. They were implemented in C under UNIX and work together with the 3D robot sensor introduced in section 7.
The file format is a readable text. The syntax is rather easy and described explicitly in [5]. Figure 11 shows an example.
All vertices are defined by their three dimensional coordinates in a so called object coordinate system. This is just for defining the object and may be chosen freely.
An object is defined by its surfaces, so the definition is just a list of surface definitions. It starts with the number of edges and the surface type, e for Plane Surfaces and z for cylindrical surfaces. The actual definition consists of numbers of vertices and parameters for the edges alternating with each other. The following example definitions are surfaces of the object in Figure 11.
%F 11 7 e 4 a[16,17] 7 g 6 g 5 g 4 v 23 k1 23 v (surface with hole) 3 e 32 g 6 g 7 a[2,29] (small triangle) 6 e 4 g 5 g 15 g 12 a[12,0] 0 g 1 a[1,4] (front) 4 zi 22 k0 22 v 26 k4 26 v (drill-hole)
The data structure is designed for fast access. The structure is very similar to that in Figure 5, but there are some additional information and derived parameters added.
A library for IO operations (box "IO" in Figure 12) maintains a database of objects, computes the additional parameters, administers files and the data structure.
The visualization is a graphic tool for the display of results. It is also an example for an application (box "application(s)" in Figure 12) using the library.
It simulates the way in which the camera takes pictures of the world. Using the model of the objects and the evaluated object- and pose-hypothesis, it is possible to overlay the results of the pose-estimation to the original (depth or grey) image. This allows interactive verification of the results.
Figure 13 shows a typical result of this visualization tool.
The interactive construction of objects requires a three dimensional graphic editor with syntactic user guidance and semantic check of the constructed objects. This editor is called MWE (model world editor) and as you see in Figure 12 (box "MWE") it is attached to a CAD-system (box "AutoCAD" ). This CAD-system offers the possibility to add applications which use the graphic interface of the system.