# Construction of the Control System of Cleaning Robots with Vision Guidance

Authors: Tian-Syung Lan; Long-Ji Yeh; Min-Chie Chiu; You-Xiang Hwang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

The study uses Kinect,  modern and depth detectable photography equipment to detect objects on the ground and  above the ground. The data collected is used to construct a model on ground level, that is, used lead automatic guiding vehicle. The core of the vehicle uses a PIC18F4520 microchip. Bluetooth wireless communication is adopted for remote connection to a computer, which is used to control the vehicles remotely. Operators send movement command to automatic guiding vehicle through computer. Once the destination point is identified, the vehicle lead is forward. The guiding process will map out a path that directs the vehicle to the destination and void any obstacles. The study is based on existing cleaning robots that are available. Aside from fixed point movement, through data analysis, the system is also capable of identifying objects that are not supposed to appear on the ground, such as aluminum cans. By configuring the destination to aluminum cans, the automatic guiding vehicle will  lead to a can and pick it up. Such action is the realization of cleaning function.


---

## Body

## 1. Introduction

Since the first robot made its appearance in the 1960s, there has been significant development progress in the past 40 years [1, 2]. On the other hand, with the advancement of computer processing power, the maturity of wireless transmission technology, and the popularity of personal mobile devices, consumer electronic devices have become a normality and can be seen everywhere [3]. In addition, the advancement of processor’s commutation capacity allows technologies that were originally researched in labs, such as machine vision and virtual reality, can be applied to consumer products. This brings a wide range of possibilities, such as cleaning robot, human imitation robot, agriculture robot, service robot, underwater robot, medical robot, military robot, and entertaining robot [4, 5]. The technologies used within these automatic guiding robots, such as robot control technology, sensor technology, multirobot coordination technology, and communication technology, are being applied for practical use in a growing number of situations [6–8].The research objective of this study focuses on how to use digital processing technology to develop home-use intelligent vacuum cleaner. Image segmentation is an important process in digital processing technology. The research focuses on cleaning robots and how its image guidance can be enhanced by applying the depth detection capability by using the modern detection device of Kinect.


## 2. System Structure

### 2.1. Master Robot System Structure Planning

The purpose of the system is to construct a robot group in which individuals are capable of share cleaning workloads automatically. Figure1 illustrates the master robot’s system structure. The master robot takes the lead and commands all slave robots. The number of slave robots is adjustable based on the task range and other demands. By adopting many slave robots of the same type, the robots can share workloads and speed up the task time required. The master robot system equips Bluetooth and Wi-Fi wireless communication. The communication between master and slave robots is conducted via wireless communication. Communication type includes commands, reporting project progress, malfunction reports, and other data transmissions.Figure 1
System structure of a master robot.


### 2.2. Hardware Design of Slave Robots

The hardware structure of slave robots is shown in Figure2. Microprocessor PIC18F4520 works as the central processor. It conducts wireless communication via Bluetooth module, which receives commands sent by master robot and sends back status reports. The slave robot illustrated in this study is an experimental prototype. The device carries only the basic accessories that are required for slave robot to move according to master robot’s command. The robot does not have the capability for exploration and cleaning. Slave robot structure includes processing center, Bluetooth module, power module, movement module, and light ball module.Figure 2
Hardware structure of a slave robot.


### 2.3. Bluetooth Module

The Bluetooth module used on slave robots is ZX-BLUETOOTH, which is shown in Figure3. Its Bluetooth capability only contains the slave mode and not the master mode. Serial data can be transmitted via Tx and Rx pin for input and output.Figure 3
Bluetooth module.


### 2.4. Movement Module

DC motor controller TA7279P is used as movement module. The module controls motor rotation. Two DC motors are used as the power source of the automatic guiding vehicle. Each TA7279P is equipped with two sets of H Bridge, which is shown in Figure4. The PWM output of microprocessor also contributes to the adjustment of motor speed.Figure 4
TA7279 block diagram.


### 2.5. Light Ball Module

The main purpose of light ball module is to indicate the current status by its color. It can also help in allowing the master robot to detect the position of the slave robot. The master robot detects the light via its camera. Therefore the light ball is positioned at the top of the slave robot to avoid being blocked by robot body or other obstacles. The red, green, and blue LED are installed inside the light ball and can provide 8 different colors of light. The master robot uses the light to identify different slave robots. The color can also help operator understand slave robots’ status.


## 2.1. Master Robot System Structure Planning

The purpose of the system is to construct a robot group in which individuals are capable of share cleaning workloads automatically. Figure1 illustrates the master robot’s system structure. The master robot takes the lead and commands all slave robots. The number of slave robots is adjustable based on the task range and other demands. By adopting many slave robots of the same type, the robots can share workloads and speed up the task time required. The master robot system equips Bluetooth and Wi-Fi wireless communication. The communication between master and slave robots is conducted via wireless communication. Communication type includes commands, reporting project progress, malfunction reports, and other data transmissions.Figure 1
System structure of a master robot.


## 2.2. Hardware Design of Slave Robots

The hardware structure of slave robots is shown in Figure2. Microprocessor PIC18F4520 works as the central processor. It conducts wireless communication via Bluetooth module, which receives commands sent by master robot and sends back status reports. The slave robot illustrated in this study is an experimental prototype. The device carries only the basic accessories that are required for slave robot to move according to master robot’s command. The robot does not have the capability for exploration and cleaning. Slave robot structure includes processing center, Bluetooth module, power module, movement module, and light ball module.Figure 2
Hardware structure of a slave robot.


## 2.3. Bluetooth Module

The Bluetooth module used on slave robots is ZX-BLUETOOTH, which is shown in Figure3. Its Bluetooth capability only contains the slave mode and not the master mode. Serial data can be transmitted via Tx and Rx pin for input and output.Figure 3
Bluetooth module.


## 2.4. Movement Module

DC motor controller TA7279P is used as movement module. The module controls motor rotation. Two DC motors are used as the power source of the automatic guiding vehicle. Each TA7279P is equipped with two sets of H Bridge, which is shown in Figure4. The PWM output of microprocessor also contributes to the adjustment of motor speed.Figure 4
TA7279 block diagram.


## 2.5. Light Ball Module

The main purpose of light ball module is to indicate the current status by its color. It can also help in allowing the master robot to detect the position of the slave robot. The master robot detects the light via its camera. Therefore the light ball is positioned at the top of the slave robot to avoid being blocked by robot body or other obstacles. The red, green, and blue LED are installed inside the light ball and can provide 8 different colors of light. The master robot uses the light to identify different slave robots. The color can also help operator understand slave robots’ status.


## 3. Figures Processing

### 3.1. Depth Test

The position of infrared projector and the recording camera is positioned at different level. According to the experiment results as shown in Table1, objects must be at least 0.5 m away from the camera to generate stable results on depth. When the distance is close to 0.5 m, the depth resolution is up to 1 mm. As distance increases, the resolution decreases gradually as shown in Figure 5. When the object distance reaches 4 meters, the resolution is reduced to about 50 mm.Table 1
Kinect distance test result.
Actual distance(cm)
Value
50
396
50.1
397
50.2
398
50.3
400
50.32
401
50.4
402
51.03
409
51.06
410
51.1
411
51.15
412
51.3
413
51.5
414
145
849
150
857
155
864
160
872
165
878
170
885Figure 5
Kinect distance test result.


### 3.2. Accelerometer Angle Test

Accelerometers are built in all three axes of Kinect. Their purpose is to measure the acceleration speed from all angles. The association between accelerometer and gravity can be used to deduct the horizontal level of Kinect. If the device is not fully parallel with ground level, the angle that forms by the two is called “dip angle.” Table2 and Figure 6 display the acceleration speed measured by accelerometer when Kinect is positioned in different angles against the ground level.Table 2
Accelerometer test result.
Angle
Value
0
4
10
145
20
290
30
417.3333
45
580
60
710.6667
70
769
80
806
90
810.6667Figure 6
Acceleration speed test result.


## 3.1. Depth Test

The position of infrared projector and the recording camera is positioned at different level. According to the experiment results as shown in Table1, objects must be at least 0.5 m away from the camera to generate stable results on depth. When the distance is close to 0.5 m, the depth resolution is up to 1 mm. As distance increases, the resolution decreases gradually as shown in Figure 5. When the object distance reaches 4 meters, the resolution is reduced to about 50 mm.Table 1
Kinect distance test result.
Actual distance(cm)
Value
50
396
50.1
397
50.2
398
50.3
400
50.32
401
50.4
402
51.03
409
51.06
410
51.1
411
51.15
412
51.3
413
51.5
414
145
849
150
857
155
864
160
872
165
878
170
885Figure 5
Kinect distance test result.


## 3.2. Accelerometer Angle Test

Accelerometers are built in all three axes of Kinect. Their purpose is to measure the acceleration speed from all angles. The association between accelerometer and gravity can be used to deduct the horizontal level of Kinect. If the device is not fully parallel with ground level, the angle that forms by the two is called “dip angle.” Table2 and Figure 6 display the acceleration speed measured by accelerometer when Kinect is positioned in different angles against the ground level.Table 2
Accelerometer test result.
Angle
Value
0
4
10
145
20
290
30
417.3333
45
580
60
710.6667
70
769
80
806
90
810.6667Figure 6
Acceleration speed test result.


## 4. Guiding Path Design and Slave Robot Guidance

### 4.1. Guiding Path Design

Before deciding on a guiding path, the master robot needs to draw up a map and locate the coordinates of slave robots. The slave robots are guided by the master robot to reach the indicated positions, which are decided by the operator. The designed path is based upon the map drawn by the master robot and the position function built within slave robots. These two required steps must be decided before the experiment begins. The map layout and the position of the slave robots are marked out. The operator decides on slave robots destination point and begins path planning.


### 4.2. Slave Robot Guidance

Once the path is set, master robot sends the command to slave robots and guides them to the destination as shown in Figure7. Slave robots are only capable of rotating and moving forward. Path direction is presented as combinations of angles and distance. After the figures are readjusted by angle encoder or slave robots’ correction adjustment, the numbers are sent to slave robot’s task scheduler. Slave robots perform tasks according to task sequence. Once all tasks are carried out, operators check to see if the device has reached the destination.Figure 7
Slave robot guidance flowchart.In Figure8(a), red block is preset destination. Once the destination is set, slave robots start to perform tasks. First is motion adjustment. Figures 8(b) to 8(d) show the standard actions during the adjustment. The slave robots move forward for 5 seconds, make a 3-second right turn, and move forward for another 2 seconds. After the motion adjustment, the slave robot will head toward the destination. Figure 8(f) shows that the slave robot reaches the destination. Figure 8(g) is what the operator observes on the computer screen.Operation procedure.
(a)
(b)
(c)
(d)
(e)
(f)
(g)


## 4.1. Guiding Path Design

Before deciding on a guiding path, the master robot needs to draw up a map and locate the coordinates of slave robots. The slave robots are guided by the master robot to reach the indicated positions, which are decided by the operator. The designed path is based upon the map drawn by the master robot and the position function built within slave robots. These two required steps must be decided before the experiment begins. The map layout and the position of the slave robots are marked out. The operator decides on slave robots destination point and begins path planning.


## 4.2. Slave Robot Guidance

Once the path is set, master robot sends the command to slave robots and guides them to the destination as shown in Figure7. Slave robots are only capable of rotating and moving forward. Path direction is presented as combinations of angles and distance. After the figures are readjusted by angle encoder or slave robots’ correction adjustment, the numbers are sent to slave robot’s task scheduler. Slave robots perform tasks according to task sequence. Once all tasks are carried out, operators check to see if the device has reached the destination.Figure 7
Slave robot guidance flowchart.In Figure8(a), red block is preset destination. Once the destination is set, slave robots start to perform tasks. First is motion adjustment. Figures 8(b) to 8(d) show the standard actions during the adjustment. The slave robots move forward for 5 seconds, make a 3-second right turn, and move forward for another 2 seconds. After the motion adjustment, the slave robot will head toward the destination. Figure 8(f) shows that the slave robot reaches the destination. Figure 8(g) is what the operator observes on the computer screen.Operation procedure.
(a)
(b)
(c)
(d)
(e)
(f)
(g)


## 5. Results and Discussion

Video recorders are easily affected by external lights. Therefore, the depth of the surrounding is taken into consideration during data analysis. This will avoid any possible decision errors that are caused by objects brightness, which sometimes may be too bright to affect the environment. During the object search, the main objective is to check if the depth value taken by infrared camera is different from the pre-constructed map data. The differences will be marked out.


## 6. Conclusions

The development of an automatic guiding vehicle guidance system is based on the infrared ray within Kinect. Digital processing and roadmap planning were used to map out the test area and construct guiding path. Bluetooth modules are used to help the master robot guide slave robots within Kinect recorder’s detectable distance. Through the design, the slave robots are able to avoid obstacles and reach the destination point.The research can be extended to adding cleaning tools, such as clamps used to pick up aluminum can, on slave robots. Master robots detects aluminum can and guides slave robots to pick up the aluminum can, or sorting out the cans from other materials. Another research direction is to use the motion capture device of Kinect and the microphone array feature to replace tradition user experience that is carried out with computer screens and mouse. Operators can stand in front of the master robot, making commands through motion, hand gesture, and voice control. For example, the operator points to the aluminum can and speaks the word “clean.” The master robot can detect the operator’s current action and the vector value extended from the arm to find the can’s coordinates. Slave robots can be sent out to execute the task.



---

*Source: 283795-2013-11-28.xml*