PROGRESSIVE MESH BASED ITERATIVE CLOSEST POINTS
FOR ROBOTIC BIN PICKING
Kay Boehnke and Marius Otesteanu
Communication Department, Polytehnica University Timisoara, Bd. Vasile Parvan, nr. 2, 300223 Timisoara, Romania
Keywords: Iterative Closest Points, Surface registration, Progressive Mesh, laser range sensors, Object localization,
Robotic bin picking.
Abstract: This paper describes a hierarchical registration process using the iterative closest point algorithm combined
with a Progressive Mesh. To find the exact pose of objects in a robotic bin picking process we simulate the
appearance of object poses and compare them with the real range data provided by laser range sensors. The
coarse pose is estimated in a first step and then refined with the well known iterative Closest Point (ICP)
algorithm combined with Progressive Meshes for hierarchical object localization. We evaluate our approach
with different test scenarios and show the comprehensive potential of this idea for other registration
problems.
1 INTRODUCTION
Today robots get more and more involved in
industrial processes, because they are superior to
man regarding requirements on strength, speed and
endurance. Robotic automation processes became
very successful in the last years, and offers a wide
range for research. The task of robotic bin picking is
easy to explain: Pick a known or unknown object out
of a bin with an unsupervised industrial robot. This
is called the “bin picking problem”(Hashimoto &
Sumi,1999), (Katsoulas, 2005). It is also known as
the de-palletizing problem, which occurs in nearly
every industrial sector. The approach in this paper
focuses on the object localization step, which is the
most challenging step in the whole process. We
introduce a simulation of a full laser scanning
process. Industrial laser range sensors are modelled
to transfer a cad-aided-design (CAD) model to a
2.5D range data representation. This virtual range
data is aligned to the real range data of the scene
with the help of combination of the Iterative Closest
Point algorithm (Besl & McKay, 1992) and
Progressive Meshes (Hoppe, 1996). Beside the
significant improvement in speed our approach leads
to better accuracy and robustness of the whole
system. After the overview in section 2 the coarse
pose estimation for a pose pre-selection is
introduced in section 3. In the refinement step of our
system we use the Progressive Mesh based Iterative
Closest Point (PMICP) algorithm to derive optimal
solution with high accuracy. We evaluate our
approach with test range data in section 4 and
conclude with upcoming extensions of our approach.
2 SYSTEM OVERVIEW
An overview of the proposed object localization
system is shown in the figure 1.
Figure 1: System overview.
The object localization is separated into pose
estimation and refinement. To reduce the number of
possible poses in the computational expensive
refinement step, we make a pre-selection in the pose
estimation step. The refinement step uses a modified
registration algorithm to increase the accuracy. The
components of our system are introduced in detail in
the following sections.
121
Boehnke K. and Otesteanu M. (2008).
PROGRESSIVE MESH BASED ITERATIVE CLOSEST POINTS FOR ROBOTIC BIN PICKING.
In Proceedings of the Fifth International Conference on Informatics in Control, Automation and Robotics - RA, pages 121-124
DOI: 10.5220/0001494801210124
Copyright
c
SciTePress
3 POSE ESTIMATION
The purpose of the object pose estimation is to find
adequate coarse positions of an object in the scene.
The object pose simulation creates a virtual
range image (VRI) with help of a simulated sensor
and a virtual scene points. The triangulated CAD-
based object model is used to generate virtual range
images with the help of the simulated range sensor.
The sensor model virtually scans the object and
produces a range image in the same way like the real
scene. For every possible position and orientation a
VRI is produced. This VRI is indexed with a known
position and orientation of the model in a database.
The range data representation of the VRI and the
real range image (RRI) are datasets of three
dimensional points with the position x, y and z.
Every VRI is compared to the RRI determining the
difference between the distance values z for acquired
data from the range sensor and the simulated data
with the following error function:
∑∑
==
=
x
i
y
j
RRIVRI
jizjiz
N
Error
00
),(),(
1
(1)
The error is defined as the mean of the difference
between every distance value Z
1
of the simulated
object and the distance value Z
2
of the scene. We use
this efficient calculation considering the fact, that
both coordinate systems of RRI and VRI are equal
due to knowledge of the real scene setup. Different
VRI’s for different kind of objects are compared to
the RRI in the same way. So the object classification
is integrated in the step of object localization. One
advantage of this pre-selection of matching positions
is the fact, that all VRI can be calculated offline and
stored in a database. So the process for our coarse
pose estimation can be summarized in that way:
the RRI is delivered by the sensor
all VRI in the database (one for each
possible pose) are compared to the RRI
these VRI with the best error value are
selected for pose refinement
We take the VRI candidates within the best 10-
20% of all error values in the coarse pose estimation.
These VRI candidates are delivered to the pose
refinement process, starting with the best matching
candidate.
4 POSE REFINEMENT
In the previous section the coarse pose estimation
creates an error value for every pose. The best VRI
candidates were chosen and used as input for the
pose refinement to find the best matching candidate.
The task of the pose refinement is to find a nearly
exact match between the object in the scene and the
simulated image. The classical and most commonly
used algorithm for determining rigid transformations
is the Iterative Closest Point algorithm (Besl &
McKay, 1992), (Chen & Medioni, 1992). Because of
the slow convergence speed, the ICP was improved
by many researchers (Rusinkiewicz & Levoy, 2001).
We use the ICP algorithm in combination with
Progressive Meshes (Hoppe, 1996) to find the exact
matching pose for every VRI candidate in the real
scene captured by the laser range sensor. We call
this combination Progressive Mesh Iterative Closest
Point Algorithm (PMICP). The major problems of
the ICP algorithm are the low performance
calculating a huge amount of points in scene and
model and its sensitivity to outliers (Rusinkiewicz
and Levoy, 2001). In every iteration step all points
of the two datasets must be compared to each other
with a complexity of O(N
RRI
*N
VRI
) where N
RRI
and
N
VRI
are the numbers points in the datasets. Our
hierarchical approach now reduces this complexity
by comparing only a reduced number of points N
i
of
each dataset. The representation of Progressive
Meshes provides a highly efficient implementation
for adjusting the level of detail in a point dataset and
includes an inbuilt noise reduction. This
representation is given by a set of meshes M
0
to M
n
.
M
0
is the mesh with the lowest accuracy and M
n
is
the mesh with the highest accuracy. The process of
generating Progressive Meshes from point datasets
is described in detail in the work of Hoppe et.
al.(1993). In our experiments we choose the simplest
way to connect the hierarchy of the Progressive
Mesh representation to the ICP: The Progressive
Mesh representation M
i
is increased by a fixed
increment and starts with a defined level of detail in
each iteration step. The obvious advantage is the
increased performance. But the profoundly effect is
the increased robustness against outliers. By
reducing the mesh up to M
0
outliers can no longer
affect the result of the distance calculation. The
shape of the model in representation of M
0
is similar
to the M
0
representation of the scene representation.
This leads to a very good initial position in the
iterative process of the closest point algorithm. We
have evaluated our PMICP with several experiments
which are described in the next section.
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
122
5 EXPERIMENTAL RESULTS
It is obvious that some results depend on the used
registration data and the initial pose. In our
applications the ICP has to find the transformation
between range images (RRI) and the simulated range
images (VRI), which are more or less similar in
shape to the “fractal” scenario of the following test
scenarios. To evaluate our idea we used the
reference datasets of Rusinkiewicz and Levoy
(2001). We us the same test environment with
synthetic meshs of 2000 points added with Gaussian
noise and outliers. The datasets are shown in figure
2a. The “incised” dataset has two lines in shape of
an “X” in the middle of a planar surface. This
“wave” dataset is an easy scenario because of low
frequency features and a smooth surface. In opposite
to the wave scenario the “fractal” dataset represents
landscape data of terrain registration and has
features in all level of details.
5.1 Results
To compare our results we implemented the standard
ICP algorithm according to (Besl & McKay, 1992)
without approximation and any other possible
improvements described by Rusinkiewicz and Levoy
(2001). We changed the distance error calculation
from Euclidian distance to
()( )()
2
21
2
21
2
21
zzyyxxE ++=
(2)
to avoid computational floating point errors and
increase calculation performance. We implemented
the Progressive Mesh based Iterative Closest Point
Algorithm (PMICP) based on the Progressive Mesh
implementation of Hoppe in DirectX (Hoppe 1998).
In our tests we start with an initial meshs consisting
of five triangles and increase the number of vertices
in the meshs by five triangles for each iteration step.
The initial M
i
does not suffer from outliers like
the standard ICP does. With the increasing iteration
steps and the number of points in the datasets the
PMICP implementation degenerates more and more
to the reference algorithm with a better robustness.
The convergence performance (figure 2b) of the
“wave” scenario is similar to the “fractal” scenario.
The algorithm outperforms the standard algorithm in
the “incised” scenario over most iteration steps. The
higher error between iteration step 20 and 40 shows
the rotation ambiguity of the alignment of two plane
surfaces. Especially in the first few iteration steps
the PMICP aligns the datasets to a good initial pose.
The squared distance error is always smaller when
comparing to the standard ICP.
All this experiments concentrate on convergence
robustness and final distance error issues. But the
experiments show, beside the improvements
mentioned above, that the overall performance of the
refinement process can be increased significantly.
The complexity of the ICP algorithm depends
mainly on the number of points in the dataset. The
search of the closest points has a computational
complexity of
O(N
j
*N
i
). We reduce the number of
2 a) “incised” “wave” “fractal”
2 b)
0 20 40 60 80 100 120 140 160 180 200
3
3.5
4
4.5
5
5.5
x 10
5
iterations
squared error distance
0 20 40 60 80 100 120 140 160 180 200
3
3.5
4
4.5
5
5.5
6
6.5
x 10
5
iterations
squared distance error
0 20 40 60 80 100 120 140 160 180 200
3
3.2
3.4
3.6
3.8
4
4.2
4.4
4.6
4.8
5
x 10
5
iterations
squared distance error
Figure 2: Test scenarios (2a) with convergence performance (2b).
PROGRESSIVE MESH BASED ITERATIVE CLOSEST POINTS FOR ROBOTIC BIN PICKING
123
points in the dataset, starting with only a few points
and increase the number in every iteration step. The
computational complexity is reduced in average to
O((0.5*N
j
)*(0.5*N
i
)) assuming we do not stop the
iteration until we reach the end (M
n
mesh).
If the iteration process is stopped, because the
ICP reached the minimum, the performance of our
implementation is always better than
O((0.5*N
j
)*(0.5*N
i
)). Our Progressive Mesh ICP
experiments need in average 25% of the time of the
standard ICP implementation.
6 FURTHER EXTENSIONS
Many of known modifications of the ICP can be
combined with the PMICP without loss of
generalization. For example the performance in the
closest points search is often increased using Kd-
Trees implementations (Z. Zhang, 1994) to
O(N
j
*log(N
i
)). The Kd-Tree search could be used in
addition to our PMICP leading to a significant
improvement in speed especially in the higher level
of details. The ICP algorithm is known to be very
sensitive to wrong initial poses of the two datasets
because of the fact, that the ICP will always
converge to the local minimum (which is of course
commonly not identical to the global minimum). So
the determination of the optimal initial start value
for the number of points in the mesh is very
important. In the current implementation the level of
detail in the Progressive Mesh is connected to
number of iterations in the ICP. Finding the optimal
number of points for each iteration step in ICP
iterations is one of possible improvements in the
next steps of our research.
7 CONCLUSIONS
We described a system to align range data surfaces
in a context of industrial process automation. We
focused on the improvements in the refinement step
of our hierarchical object localization system. The
well known and proven ICP Algorithm is modified
with the use of Progressive Meshes. To be sure to
meet the requirements of different applications we
evaluated our system with test scenarios, which
cover many types of possible range data scenes.
The simulation of real scenes offers the
possibility to use our approach in many scenarios.
The described two-step object localization is
integrated in our system robotic bin picking covering
different application scenarios (Boehnke, 2007).
ACKNOWLEDGEMENTS
The author would like to thank S. Rusinkiewicz for
providing the datasets. This work was supported in
part by VMT (Pepperl+Fuchs Group) in Mannheim/
Germany. The author wants to thank P. Roebrock,
M. Kleinkes, W. Neddermeyer, W. Winkler, and K.
Lehmann for their support in this project.
REFERENCES
Besl, J.P., N.D. McKay, 1992. A Method for Registration
of 3-D Shapes, In IEEE Trans. on Pattern Analysis
and Machine Intelligence, vol 14, pp. 239-256
Boehnke, K., 2007. Object localization in range data for
robotic bin picking, In IEEE Proceedings on
Automation Science and Engineering, pp. 572-577
Chen, Y., Medioni, G., 1992. Object Modelling by
Registration of Multiple Range Images, In Image and
Vision Computing, vol. 10, pp. 145-155
Hashimoto, M., Sumi, K., 1999. 3d object recognition
based on integration of range image and grey-scale
image, In Proc. British Machine Vision Conference
pp. 253–262
Hoppe, H., 1996. Progressive Meshes, In Computer
Graphics (SIGGRAPH ’96 Proceedings), pp. 99–108.
Hoppe, H., DeRose, T., Duchamp, T., McDonald, J.,
Stuetzle, W., 1993. Mesh optimization. In Computer
Graphics (SIGGRAPH '93 Proceedings) pp 19-26
Hoppe, H., 1998. Efficient Implementation of Progressive
Meshes, In Comp.. & Graphics Vol.22/1, pp. 27-36
Katsoulas, D., 2004. Robust recovery of piled box-like
objects in range images, Ph.D. dissertation, Dept.
Computer Science, Freiburg Univ., Germany
Rusinkiewicz, S., Levoy, M., 2001. Efficient variants of
the ICP algorithm, In Proc. of the Third Intl. Conf. on
3D Digital Imaging and Modeling, pp. 145–152
Zhang, Z.,1994. Iterative point matching for registration of
free-form curves and surfaces. In the International
Journal of Computer Vision, 13(1):119–152.
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
124