LOCATING AND CROSSING DOORS AND NARROW
PASSAGES FOR A MOBILE ROBOT
Zhiyu Xiang, Vitor M. F. Santos
Dept. of Mechanical Engineering, University of Aveiro, 3810-193 Aveiro, Portugal
Jilin Liu
Dept. of Information & Electronic Engineering, Zhejiang University, Hangzhou, 310027, P.R.China
Keywords: Mobile Robotics; Navigation; Door-crossing, Laser range finder
Abstract: In structured indoor environment, the structural information gathered from sensors can be divided into three
different levels whose features increase gradually: walls, corners and passages. Besides detecting walls and
corners, the paper focuses on narrow passage detecting and crossing. The sensor employed in the robot is a
laser range finder. By detecting the Complete Points in the laser map, two types of narrow passages are easy
to find. Two immediate applications of the proposed approach emerge: localization for robots and automatic
crossing of passages. The validity of the method is proved with experimental results.
1 INTRODUCTION
For indoor mobile robots, usually the robot has a
three-step process to navigate: sensing, processing
and driving. By defining a set of behaviors, the
information from sensors can be directly connected
with the resulting behaviors. Various methods have
been developed on sensor-based localization (Lionis,
2002) and motion planning (Chung, 1992).
The idea is to develop a feature map suitable for
behavior based navigation that can be further
integrated by a high-level language for navigation
mission specification (Santos, 2001). For most
structured indoor environments, three types of
features could be found: planar walls (short or long),
corners (convex or concave hull), narrow passages
(open or closed doors, narrow corridors). They
belong to different levels in the feature map: wall is
the basic element among all of the features; corner is
the intersection line of two or three walls; narrow
passage, which may be symbolized by corners at the
entrance, could be composed of two parallel walls
inside. With these three types of features, different
behavior of robot could be developed. Furthermore,
the features accompanied by the geometric
information could also be used for localization of
robots (Xiang, 2003). Since the narrow passages are
the highest-level features, we focus on detecting
them and consequently make use of them by
localizing and navigating the robot to pass the
narrow passage. Distinction between a door and a
simple narrow passage can be done by using
additional parameters of the algorithm such as the
width, or the “quality” of the delimiting walls. That
is not a major concern and from now on the terms
“door” or “narrow passage” will be used
interchangeably.
Several types of sensors could be used for
detecting the narrow passages. Vision is good at
object recognition (Davison, 2002), but it requires
complex processing and relies on good illumination
condition. Ultrasonic sensors are good to tell the
appearance of obstacles nearby but cannot tell the
accurate position due to their wide beams (Kulich,
1999). On the other hand, laser appears is an ideal
sensor for our purpose and it can provide accurate
2D profiles of the surrounding environments in a
mere scan. Therefore a laser scanner has been used
in the present work.
The paper is organized as follows. The second
part introduces our narrow passage-detecting
algorithm. Section 3 presents the localization of
robots by using the geometric information of
passage entrance. Implementation of behavior
“Crossing the passage” is described in Section 4.
370
Xiang Z., M. F. Santos V. and Liu J. (2004).
LOCATING AND CROSSING DOORS AND NARROW PASSAGES FOR A MOBILE ROBOT.
In Proceedings of the First International Conference on Informatics in Control, Automation and Robotics, pages 370-374
DOI: 10.5220/0001135803700374
Copyright
c
SciTePress
Section 5 gives some results of our experiments and
section 6 concludes the paper.
2 DETECTION OF DOOR
2.1 Extracting Complete Points
In a laser scan, Complete Points (CP) represent
vertical corners in the real environments. As shown
in Figure 1, the ending points filled with black are
all CP because they correspond to the vertical edges
of the wall, while the others are not because their
appearance is due to obstructing of walls in front of
them.
Decision Rules of CP: For every two neighbor
line segments in the laser scan, if they are connected,
the intersection point of them must be a CP; if they
are disconnected, between two broken points, the
one that has the shorter range to the original point of
laser data is a CP.
O
1
2
3
Figure 1: Interpretation of Complete Points in laser map.
In Figure 1, point 1 is the intersection point of
two line segments, thus it is a CP. Between point 2
and point 3, point 2 has a shorter distance to the
origin of laser, meaning that point 2 is a CP while
point 3 is not.
2.2 Detecting the Entrance
Generally, in structured indoor environment, there
are two types of entrance for narrow passages,
namely, type I and type II, as shown in Figure 2. A
type I entrance consists of two corners, and type II
entrance is composed of one corner and one wall.
Whichever the type of entrance, there is at least one
corner as the basic element. Any corner in the real
environment corresponds to CP in the laser scan.
Type I
Entrance
Type II
Entrance
O
Figure 2: Illustration of two different types of entrances of
narrow passages.
Type I entrance detection: Here we should
check every pair of CP to see if they form a type I
entrance. Several conditions could be set up for type
I entrance detection:
The distance from one CP to the line which the
other CP belongs to should be less than a
threshold;
Each CP should lie on the extended part of the
line segment which the other CP belongs to and
neighbored with the other CP;
The distance between two CP should be within
the scope of normal width of narrow passage
which robot could pass through;
The difference of slope angle between two line
segments, which the pair of CP belongs to,
should be less than a predefined threshold.
If any CP belongs to more than one line segment,
all of the line segments it belongs to should be
checked. If there is one line segment that meets all
of the above conditions, the pair of CP form a type I
entrance of narrow passage.
Type II entrance detection: Unlike type I entrance,
type II entrance consists of one CP and one line.
Thus the conditions for forming type II entrance is
like following:
The line to be checked should be almost
perpendicular to the line which the CP belongs
to;
The intersection point between the line to be
checked and the line which CP belongs to
should lie on the side near the CP;
The distance between the obtained intersection
point and the CP is within the scope of width of
entrance.
After the above two steps, each entrance has to
be checked if it is passable for the robot. Only a
passable entrance will be considered as candidate to
pass through.
LOCATING AND CROSSING DOORS AND NARROW PASSAGES FOR A MOBILE ROBOT
371
3 LOCALIZATION OF ROBOT
If the position of the detected entrance in the global
environmental map is known, it is intuitive that the
entrance could be used for localization of the robot
as a natural landmark. Given the position parameters
of the detected entrance
(, )
Gb Gb
x
y and (, )
Ge Ge
x
y
in the global map, and the corresponding coordinates
(, )
L
bLb
x
y and (, )
L
eLe
x
y in the local map, the
position of robot
(, ,)
R
RR
xy
θ
in the global map could
be computed with the following expressions:
11
tan tan
cos sin
sin cos
Gb Ge Lb Le
R
Gb Ge Lb Le
RGbLb R Lb R
RGbLb RLb R
yy yy
x
xxx
xx x y
yy x y
θ
θθ
θθ
−−
−−
=−
−−
=− +
=−
(1)
4 APPROACH AND CROSS THE
PASSAGE
To cross the passage two main steps are required:
reach the front of the entrance with the appropriate
orientation and effectively traverse the passage.
4.1 Approach the passage
Approaching the passage can be done using one of
two fundamental methods: using short-term
odometry to perform some open loop motion (few
meters only up to the door), or a closed-loop
approach based on feature tracking, such as a
Kalman filter-based technique. The later is
conceptually more robust because once the door is
located it can be continuously tracked while the
robot moves towards its center. On the other hand,
since the distances are relatively small (few meters),
short-term odometry can be fairly reliable and much
simpler to implement since simple motions are to be
carried out. Occasional dead-reckoning errors can
result in a poorer positioning near the door, which is
nonetheless not relevant since door traversing is
done in real time with continuous laser data and
corrections will occur. Nonetheless, door locating
can be done continuously and therefore door
approaching can be continuously tracked as a
posture tracking problem (de Wit et al., 1997). This
means that the desired posture near the door can be
tracked as a control problem using linear and non-
linear approaches. However, in this work, no such
tracking control was implemented since distances
are relatively small and short-term odometry clearly
satisfies the demands of the problem.
Approaching the door with open loop motion is
however not trivial; there are practical constraints
that must be taken into account. Firstly, the robot
must place itself near (in front) of the door by taking
into account its dimensions; it could simply rotate
towards that destination point (point D in Fig.4) and
move in straight line until it reaches there (using
short term odometry). This approach seems
reasonable for type I passages, but would fail for
type II since the robot could collide with the wall in
the front before reaching the front of the passage.
The solution is therefore to do the approach along a
circular arc as illustrated in Figure 3. Reporting to
Figure 3, the door location algorithm (described in
the previous sections) returns the points A(Ax, Ay)
and B(Bx,By) on the robot reference frame. The
point C(Cx, Cy) is immediately known (middle
point), and since
l is defined as a parameter for the
algorithm (about 100 cm in the current approach),
D(Dx, Dy) is easily obtained taking into account, for
example, the following 3 conditions:
[CD] [AB] , ||CD|| =
l , ||OD|| is minimal (2)
R (Rx, Ry)
α
β
γ
C
A
B
D
r
δ
l
ε
O
Figure 3: Illustration of the approach to a door of type II.
Given A, B and the desired
l, a preliminary rotation of
angle
γ followed by an arc path completes the approach
which obviously also satisfies type I doors.
The conditions stated in (2) result in the
following expressions ready to implement
computationally for D(Dx, Dy):
(
)
/
xx yy
DC lAB AB (3)
(
)
/
yy xx
DC lAB AB=∆m (4)
where
()
()
2
2
yy xx
AB A B A B=−+
From the two solutions obtained for D(Dx, Dy)
the one that minimizes the norm of vector [OD], that
is, the one that is closer to the robot, should be
chosen. Knowing also that [DR] [CD] and that D
ICINCO 2004 - ROBOTICS AND AUTOMATION
372
is on the circumference, it is possible to obtain the
coordinates of the arc center R(Rx, Ry):
()
22 23
2
2
x
xy xy yy yx y
x
xy yx
DCD DC DC DD D
R
CD CD
−+−
=
(5)
()
2232
2
2
x
xxyx yx yyx
y
xy yx
CD CD D DD CDD
R
CD CD
−−+
=
−+
(6)
Also, the following angles are obtained:
()
arctan ,
yx
RR
δ
= ,
()
arctan ,
yx
DD
β
= and
(
)
2
ε
πβδ
=− . Finally, come the remainder
parameters for the robot motion: /2
γ
πδ
=+ and
the length of the arc for the robot to move along
sOR
ε
∆= ×
.
There are however some cases where
approaching the door using this method may not be
physically feasible due to previously unperceived
objects that become obstacles along that arc-based
path. Figure 4 (left) illustrates one such situation.
The solution is either to reject paths that fall out of
the initial covered region by the laser (initial rotation
angle γ greater that 90º) or that pass though occupied
regions and make the door unreachable, or in fist
place have a better perception system (360º laser).
A
B
O
A
B
O
C
D
E
Figure 4: Planned local path turns out not feasible when
further perception is available. A two-step based approach
is an alternative.
An alternative, although not so elegant solution,
is to set an additional point (E) in the line that
connects the current position of the robot the D point
extracted earlier, as shown in Figure 4 (right). The
approach is done towards this point E in a straight
line, and then the procedure can be repeated: if
distance to door is now at range, perform the arc
path calculated with the previous algorithm.
4.2 Crossing the passage
Crossing effectively the door is done with real-time
data perception and the subsequent driving of the
robot continuously in order to minimize the
difference of measurements on both areas on the
robot sides. The algorithm is conceptually simple: in
the 180º data scan it first locates apertures based on
range gradient. Then it selects the widest aperture on
its frontal region where the robot can fit (between
±60º but this is configurable) and evaluates its
relative position and orientation. Velocity motion is
generated continuously in order to drive the robot
for the middle of the free pathway. Figure 5
illustrates the main procedure
Laser range
profile
Instantaneous
direction to follow
Figure 5: Crossing the door with laser range.
The trigger that detects the end of door crossing
occurs when at least on one of the sides empty space
appears. That is, when a range of data measurements
indicates more than the normal width used for doors.
This way, the algorithm drives the robot along a
narrow passage regardless of its extension.
5 EXPERIMENTAL SETUP AND
RESULTS
The robot used is shown in Figure 6: it is a mobile
robot Robuter equipped, among other systems, with
a SICK laser rangefinder and 24 sonar sensors
distributed around the body. The laser has 180°
scanning scope with a resolution of 0.5°.
Figure 6: The experimental mobile robot: Robuter
Environment setups were built with cardboard boxes
in order to emulate more or less complex situations.
Real doors were also used but their variety is not
vast (at least 95cm wide doors were required).
Figure 7 shows one experimental set-up where two
narrow passages were constructed with one of them
blocked by some obstacles. Figure 8 shows the
corresponding laser map and detection results.
LOCATING AND CROSSING DOORS AND NARROW PASSAGES FOR A MOBILE ROBOT
373
Figure 7: Experimental setup with two narrow passages
built with paper boxes with one of them blocked ahead.
Figure 8: Laser map where two potential narrow passages
were detected but one rejected due to obstruction. The
triangle on the bottom represents the position of the robot.
In Figure 8 the dark lines represent the walls, and
the small circles at the ends of the lines represent the
Complete Points. The two detected entrances of
passages were drawn with dashed lines. The results
of this procedure are summarized in Tab.1.
Table1: Results of narrow passages detection from Figure
8
Type
Coordinates of
Ending Points (mm)
Width
(mm)
Passable
(T/F)
I (344, 2598) (-734, 2761) 1090 False
II (-1378, 1671) (-1171, 2807) 1154 True
Approaching doors resulted as planned and
expected since odometry demands were simple.
Both the solutions depicted in Fig. 5 and Fig. 6
turned out well with the second one more efficient in
cluttered environments.
Crossing the doors proved quite efficient with
the configuration or robot as shown in Figure 6 but a
new configuration where the laser was moved
forwards for other types of data acquisition resulted
less efficient. That is to be enhanced in the near
future.
6 CONCLUSIONS
In this paper an algorithm to detect and cross narrow
passages was described. In feature maps the passage
entrances composed of two corners or one corner
and one wall are the highest-level features and could
be regarded as important natural landmarks that
provide localization information to the robots. The
implementation of the behavior was also simple and
practical. Approaching doors and traverse them also
proved the success of the proposed methods.
ACKNOWLEDGEMENTS
This work has been developed under a bilateral
cooperation between Portugal and the People’s
Republic of China sponsored by the former ICCTI,
Ministry of Science and Technology of the
Portuguese Government.
REFERENCES
Chung, H., Yong Seek Choi, Jang Gyu Lee, 1992. Path
Planning For A Mobile Robot With Grid Type World
Model
, lEEE/RSJ International Conference on
Intelligent Robots and Systems, vol.1, pp. 439–444.
Davison, A.J., Murray, D.W., 2002. Simultaneous
localization and map-building using active vision,
IEEE Transactions on Pattern Analysis and Machine
Intelligence, Volume: 24, No. 7, pp. 865 –880.
Kulich, M., Stepan, P., Preucil, L., 1999, Feature detection
and map building using ranging sensors,
IEEE/IEEJ/JSAI International Conference on
Intelligent Transportation Systems, pp 201-206.
Lionis, G.S., Kyriakopoulos, K.J., 2002, A laser scanner
based mobile robot SLAM algorithm with improved
convergence properties, IEEE/RSJ International
Conference on Intelligent Robots and System, pp. 582
–587, vol.1.
Santos, V., Oliveira, E., 2001. Missões de navegação para
um robot móvel baseadas em tarefas e relações
topológicas do ambiente, Robotica, No. 45, pp. 14–25.
de Wit, C., Siciliano, B., Bastin, G., 1997, Theory of
Robot Control (Eds.), Springer.
Xiang, Z., Santos V., Liu, J., 2003, Robust Mobile Robot
Localization by Fusing Laser and Sonar, Proceeding
of International Conference on Advanced Robotics,
ICAR2003, June, Coimbra, Portugal, pp.276-280.
ICINCO 2004 - ROBOTICS AND AUTOMATION
374