a cross. Therefore, we use compass points such as
North (N), South (S), East(E), West (W) for a rule of
the notation of directions. When you make a world
map, first, you should assign the North direction on
the floor plan for the reference bearing.
The data structure of a node include the list of ad-
jacent nodes with a compass point and tag ID numbers
which a robot will find coming to a particular place.
Figure 5(b) illustrates examples of the data structure
of a node of the graph. The mark ”–” in the node d
denotes there is no hallway in this direction, because
the node d is a junction. The mark ”?” means that a
hallway exists but the name of an adjacent node is un-
known at the moment. If a robot finds a tag with the
ID number 9 in a hallway, for example, the navigation
system searches all the node data of the graph for the
tag number and then finds it is in the data structure
of the node c. Consequently, the navigation system
recognizes the robot is coming into the intersection
c from the East side. Suppose that the next sub-goal
is the junction d, the navigation system searches the
node c for the next node direction. It finds that the
node d is adjacent to the node c and the direction is
the North. The robot is coming from the East side,
turns to the right at the intersection and going out to
the North side. Finally it will find another tag with
the ID number 11. This process is repeated until the
robot finds the goal.
We have developed an interactive system for mak-
ing the database of map information from a floor plan.
The system was built up on a Linux computer with the
graphical toll kit GTK+ and the graphical user inter-
face (GUI) is shown in Figure 6. The small window in
the upper right corner displays the menus for editing.
The main window is used to draw the topological con-
nection of intersections and junctions the robot can
pass through. First, the user assigns the North direc-
tion on the floor plan for the reference bearing. The
mouse button is clicked on the screen and the mouse
is dragged in one of the four directions (North, South,
East or West), then two nodes with an edge is dis-
played and the data structures for the nodes as shown
in Figure 5(b) are created in the system. After this the
mouse button is clicked on one of the nodes and the
mouse is dragged to extend the graph. Next, the user
changes the editing mode to compile the data struc-
ture of a node and clicks each node on the screen.
Then another small window (in the lower left corner)
appears to input the RFID tag numbers which are set
near the node. This process is repeated for every par-
ticular place on the floor plan. Finally, the user selects
the menu to save the database in a file, which the robot
can use for path planning.
Figure 6: Interface for tracing a map.
4 ROBOT SYSTEM
Figure 7 illustrates the architecture of the navigation
system. The system mainly consists of a navigation
planning module, a graphical user interface (GUI) for
tracing maps and a database of map information. The
GUI as shown in Figure 6 enables us to make the
database of map information from a floor plan. The
database is a set of the data structure of nodes shown
in Figure 5(b), which shows the relation of the par-
ticular places of the floor plan and assigned RFID
tag numbers to each particular place. The navigation
planning module decide a route to a given goal from
sensed RFID tag numbers and the map information.
The navigation system was implemented on a host
computer running on Linux and the mobile robot
shown in Figure 1. The host computer manages the
functions of the navigation planning module shown in
Figure 7. The computer has two wireless RS-232c se-
rial ports. It is responsible for handling the data from
the RFID tag sensor through a wireless serial port and
sending commands to the motor control module on
the micro-controller of the mobile robot through an-
other wireless serial port. The robot consists of a mo-
bile platform and an RFID tag sensor. The mobile
platform (approx. 35 cm square) is equipped with an
on-board micro-controller, a two-wheel drive system
with one rear free wheel, an odometer with optical en-
coders, seven ultrasonic rangefinders and an RS-232c
serial port. The rangefinder units are mounted at the
front of the robot as shown in Figure 8(a) for forward
and lateral sensing and the sensitivity range is up to
5 meters. The micro-controller manages the motion
control module for running the drive system and col-
NAVIGATION SYSTEM FOR INDOOR MOBILE ROBOTS BASED ON RFID TAGS
301