The Application of Ultrasonic Positioning System for Indoor Navigation of Omni-Directional Mobile Robot

The technology for aerial robots and mobile robots is developing very rapidly. This technology can be used in many applications: for example, security robots, tour guided robots, home care robots, and restaurant service robots. Positioning systems are necessary for these applications. The global positioning system (GPS) is widely used in many applications. It gives users information on current location immediately in an outdoor environment. However, GPS cannot be used indoors because of the shadowing effect. Consequently, many researchers are studying indoor positioning systems. In this research, we developed an indoor positioning system based on several ultrasonic sensors and the ZigBee network. Visual Basic software was used to design a user interface (UI) which can show the current position of an aerial robot or a mobile robot. Ultimately, an ultrasonic based positioning system was used to guide an omni-directional mobile robot. Several paths, for example squares and circles, were used to measure the positioning error of a mobile robot with the proposed indoor positioning system.


Introduction
Indoor positioning has been a popular research topic. Indoor positioning can be applied to big shopping malls or buildings with complex surroundings so that people will not easily get lost. It can also be applied to robots, equipping them with self-navigation abilities, an essential function for intelligent robots. As the development of robots gradually matures, it is hoped that robots could replace human beings in doing minute, complicated, boring, or even dangerous tasks. Therefore, intelligent robots may play an important role in the future. However, as previously mentioned, the self-navigation ability of a good intelligent robot is crucial. Good self-navigation is built on a mature and reliable positioning system.
Most people use the global positioning system (GPS) for location. Nonetheless, GPS is flawed because of the shadowing effect, which prevents it from being used indoors. Therefore, researchers are engaged in the field of indoor positioning.
In the current study, ultrasonic sensors in combination with the ZigBee network served as the basis for constructing an indoor positioning system, in which Microsoft Visual Basic was used to design a user interface (UI) which displayed real-time positioning information. Finally, an omni-directional mobile robot was employed to test the reliability of this positioning system. Several paths, such as squares or circles, were designed for the robot to move spontaneously in a given space. Actual moving positions of the robot were collected to measure the positioning error of the mobile robot using this ultrasonic indoor positioning system.

ZigBeX module and ultrasonic sensors
ZigBeX mote equipment consists of a microcontroller (ATmega128L), a wireless communication chip (CC2420), sensors, and antennas. It includes an interface capable of programming design and communication with the main computer [see Fig. 1(a)]. ZigBeX mote equipment, as the most fundamental module to construct a sensor network, could retrieve various sensor information via the sensors with different functions. Figure 1(b) displays the ultrasonic sensor module. Figure 2 shows the structure of the ultrasonic positioning system, where the combination of five ZigBeX motes and ultrasonic sensors was used to construct the proposed positioning equipment (four fixed nodes and one mobile node). RS232 was used to connect the computer and coordinator. Microsoft Visual Basic was employed to design a UI as the communication medium. The coordinator sent the time that ultrasonic reflected all nodes back to the computer via RS232 for the estimation of distance. Triangular positioning was used to calculate the coordinates of the mobile node on the robot, eventually shown in the UI. (2,4)

Positioning algorithm
Time of flight (TOF) was employed as a positioning algorithm, in which product (i.e., speed of signal transmission multiplied time for transmission) was used to estimate the distance between the transmission end and the reception end. As shown in Eq. (1), D stands for the distance between two points, V stands for the speed of signal transmission, Ts refers to the time for transmitting signals, and Tr is the time when the signal is received. (5) With three fixed nodes containing known coordinates used for transmitting signals, the distance between the mobile node and three known fixed nodes could be estimated once the mobile node received the signal. As shown in Fig. 3, triangular positioning, expressed in Eqs. (2) and (3), was used to calculate the coordinate of the mobile node. (6) When the known nodes were N (N > 3), Eq. (3) could be modified into Eq. (4). The least squares method shown in Eq. (5) could be used to estimate the location of the mobile node, enhancing positioning accuracy. (3) x y = 1 2

Omni-Directional Mobile Robot
To test the precision of the ultrasonic positioning system, we developed an omni-directional mobile robot, whose moving equation is illustrated in Eq. (7), where θ 1 , θ 2 , and θ 3 stand for the rotational angle of the three motors; R stands for the radius of the wheel; x w , y w , and φ stand for the robot's coordinate and heading angle, δ; and L 1 , and L 2 stand for the included angles and lengths shown in Fig. 4 Arduino Mega2560 was used as the controller of the omni-directional mobile robot, in which two L239 motor drivers drive three DC motors. The robot was controlled by a 2.4 GHz radio controller, and a 2.4 GHz Xbee module was used as the wireless communication to connect to the computer. The ultrasonic mobile node was put on top of the robot for positioning. In terms of the power supply, after two UBEC, one 3S Li-Po battery was stepped down to 8 V for powering motors, while the other was step-downed to 5 V for other systems. The mobile robot is a threewheeled mechanism, and its size is about 20 × 20 × 15 cm 3 (LWH). The maximum moving speed is about 150 cm/s. The backplane is made of acrylic, and the separated board is made of glass fiber board. The finished omni-directional mobile robot is shown in Fig. 5, and its hardware structure is illustrated in Fig. 6.

UI
Microsoft Visual Basic was used to design a UI (see Fig. 7) that included two series ports. While one series port was designed for the communication with the Zigbee coordinator to calculate the moving coordinate via the time difference for the ultrasonic reflection of each node, the other series port was used for wireless communication with the omni-directional mobile robot, through which the current position of the robot and the expected position input by a user were transmitted to enable automatic navigation.

Test of ultrasonic positioning system
In the 4.5 × 5 m 2 area, points at an interval of 50 cm were measured to compare the error between the actual distance and the coordinate located by the ultrasonic positioning system (see Fig. 8). Except for the relatively larger errors shown in the surrounding area and in the upper left area, most errors fell within 15 cm. The underlying reason for this was the dead zone in the ultrasonic reflection.

Automatic navigation test of omni-directional mobile robot
A 4-waypoint square route [see Fig. 9(a)] and a 24-waypoint circle route [see Fig. 9(b)] were designed in the UI. A 3D motion capture system was used to measure the actual path of the moving robot. The coordinates that the robot actually passed were exported to Excel. The results are illustrated in Figs. 10(a) and 10(b). The results of the test indicated that the omni-directional mobile robot accurately reached the set waypoints, although its path was crooked. The underlying reason for this was that the DC motor was equipped with open loop control, leading to a lack of precise control of motor speed. In addition, the omni-directional wheel contained only three free rollers, leading to severe skidding on the part of the omni-directional mobile robot.

Conclusions
This study adopted a combination of ultrasonic sensors and a TOF positioning algorithm for higher precision. The results revealed that the positioning error could fall within 15 cm, which means it is capable of being applied to general indoor robot navigation. However, the disadvantage was that the ultrasonic emission angle was limited to 40 degrees, which easily led to dead zones. In addition, in complex surroundings, ultrasonic waves could be blocked or could have a multi-path effect, leading to unreliable positioning.
We have demonstrated that an ultrasonic indoor positioning system can provide indoor coordinates for mobile robot navigation indoors. Although the proposed system has some shortcoming, like low response and limited accuracy, it can work.