All-terrain mobile robot disinfectant sprayer to decrease the spread of COVID-19 in open area

Received Aug 12, 2020 Revised Dec 9, 2020 Accepted Dec 21, 2020 The application of disinfection is becoming popular in recent months due to the COVID-19. Usually, the disinfection is used by spraying the liquid into an object. However, the disinfection process for humans and objects in the human environment is still done manually and takes time and increases exposure to viruses. Robotic technology can be a solution to handle that problem. Following that problem, robot design is proposed with many abilities and features. The robot can operate in remote conditions and full function for approximately 56 minutes and spray the liquid for more than 1 meter. This research can effectively be applied in COVID-19 handlings.


INTRODUCTION
The corona virus disease 2019 (COVID-19) handling can be done by disinfecting both the human body and object in the outer environment. In addition to spray disinfectant to the object, the process of virus degradation can be also be done by exposing the virus to ultraviolet (UV) light [1,2]. Since the pandemic outbreak, various disinfecting machines have begun to develop, both manual and automatic. Automatic devices are considered more practical and useful in the process of degradation of viruses and bacteria. However, with the high mobility of medical personnel and pandemic officers, a disinfecting mobile device is needed and reduces the potential for virus transmission.
The application of robotics technology for spraying liquid uses concepts applied to agricultural robots with the same function but different spraying objects [3]. Research in Gibson et al. [4] and Vasconez et al. [5] proposed the application of human-robotic interaction (HRI) technology for teleoperated spraying and other agricultural application. The application of robotics for automatic weed detection and herbicide sprayer are reported in Aravind et al. [6]. Mobile robot used for Carbon Monoxide monitoring devised by Rahmaniar et al. [7]. The research effort in Aishwarya et al. [8] proposed a method for spraying an open field using a robotics application. In that paper, the source of the robot electricity is coming from solar power. Robots used in this application must be reliable in all fields, whether flat, bumpy, or steep [9][10][11][12][13]. Another goal is the novel which proposed enhancing images to use in many purposes as done by Zhiguo et al. [14], Peifang et al. [15], and Dorgham et al. [16], and also in encryption scheme for computer system done by Qiming et al. [17] and Gupta et al. [18].

2091
The problem is, the disinfection process for humans and objects in the human environment is still done manually and using human labor, which takes time and increases the risk of exposure to viruses. Furthermore, this mobile disinfecting machine is vital to reduce the high level of risk and high energy consumption and time. Hence, robotic technology can be an excellent solution to handle this problem.
This research proposed a robot design for handling the COVID-19 pandemic. This research optimized the previous study about spraying robots for any purpose to be only used and suited in handling the COVID-19 pandemic. This robot is designed in order to have capabilities in detecting, measuring, and operating. Those abilities are needed to give convenience in handling COVID-19. Figure 1 shows the block diagram of the robot system. It can be seen that the system is separated into two devices. The first system highlighted in red is an onboard controller in the mobile robot. The second system highlighted in blue is the controller system, which is installed on the computer monitor. The robot's movement, camera, and pump ignition are controlled by remote control (RC) with the type of FlySky i6b 6 channel with a frequency of 2.4 GHz. The RC can reach distances of more than 500 meters. The components onboard systems are sensors, camera, the microcontroller, the data transmission controller, two motor drivers, and relay. The data transmission controller uses Arduino Nano, which is integrated with LoRa board as a remote and real-time sensor data sender. 4 DC motors are used to maneuver the robot. One motor driver for controlling, two right DC motors, and one other driver for two left DC motors. Two servos are used to move the camera direction with 4 degrees of freedom. One relay is used for the ignition of the pump.

RESEARCH METHOD 2.1. System and instrumentation
The teleoperation system consists of a data receiver controller, a ROTG camera receiver, a computer/laptop, and a UI application used to display streaming camera data real-time reading data from sensors. The data receiver controller consists of Arduino Nano, which is integrated with the LoRa board as the sensor reading data receiver sent by the controller sender to the onboard system. ROTG receivers are used as PAL slow data receivers from FPV cameras. Both devices are connected to a computer/laptop via USB. Data from the two devices is processed by a Python-based application program and displayed to a computer/laptop monitor. Figure 2 shows the robot system operational flow chart. While the robot is turned on, it will detect whether the RC has been turned on or not. When the RC is alive, then start the control system. Furthermore, the system detects that the left stick from RC has been moved up and down. These processes are critical to protect against misuse when starting the robot, especially if the RC has not been turned on. If the left stick moved up and down, there would be indicators in sound and light that the robot can be entirely operated. When the robot is at full operation stage, maneuver control is performed to determine the robot's movement to the right, left, forward, backward, and still. This process can be done by moving the RC right stick. Moreover, the camera control procedure is done by moving the left stick up, down, right, left, and default. The movement of the camera direction will follow the left stick motion. The default motion, which is to place the left stick in the middle, will make the camera point forward at 0 degrees. Then sensors are read sequentially between one sensor with another sensor. Sensor data that has been read and then combined into one string and sent to the sender controller data via serial communication. Data sent begins with the letter A to facilitate the process of parsing data on the data sender controller. After that, the control on/off of the pump is regulated by the SWB knob on the RC. The pump will be on if the SWB is down, and vice versa. Furthermore, the process will continue to repeat until the robot and RC are turned off.

Mechanical design
The robot uses two DOIT chassis with the T100 type. These two chassis are then combined and extended with four aluminium alloy bars so that they are enough to expand the chassis dimensions to 48 cm long and 24 cm wide. The chassis, which can carry loads up to 5 kg, has a torque specification of 9.5 kgNan, made of aluminium alloy material, weighs 0.65 kg, and a trackwheel made of engineering plastic. In this chassis includes two for DC motors with 9 V input voltage specifications, the on-load current is 1200 mA, and the on-load speed of 100 rpm.
The placement of each component on the board system must consider the midpoint of the robot mass. Besides the position of the sprayer, tank, and pump are also very important for proper and maximum spraying. The position of the battery and the main controller robot is placed behind so that they are far from potential exposure to the liquid spray. FPV cameras are placed behind so that they can monitor the movement of robots and spraying well. With these mechanical specifications, the robot can transport more than 1-liter disinfectant liquid, DC pumps, batteries, and electrical circuits.

Electrical design
The electrical design consists of two parts: the main controller robot and the LoRa sender/receiver, as shown in Figure 3. The main controller robot consists of Arduino Mega 2560 as a data processor and controller [19][20][21][22][23][24]. There are several sensors on the robot that are GPS, non-contact temperature sensors, accelerometers, and ambient humidity temperatures. The actuators consist of relays for controlling DC on/off pumps, two servo for 4 degrees of freedom camera movement, and two motor drivers for direction and speed control of each right and left motor. The data sender/receiver controller showed in Figure 3(a) consists of Arduino Uno and LoRa SX1278. Arduino Nano(s) are used to pair and process the data, LoRa(s) used to transmit data between robot and ground control. All components in the main controller robot showed in Figure 3(b) are supplied by LiPo battery 3 cells 11.1 V with a capacity of 8000 mAh. For the Arduino Mega microcontroller board and the pump is supplied directly from the battery. DC/DC step-down converter is used to supply the 5 V sender controller, camera, and relay data. While the DC/DC Servo step-down converter is used to supply servo, RC receiver, motor driver. TPA 64, GPS, and DHT 11 sensors are supplied from pin 3.3 V of Arduino Mega. This separation of the power supply is done because of differences in each component's maximum voltage requirements and so that the Arduino Mega board is not burdened with large currents. Both sender and receiver controller work flow showed in Figure 4(a) and Figure 4(b). Arduino Nano, on the data sender controller, receives data serially from Arduino Mega on the main controller robot. Then it is routed wirelessly to the receiver's data controller between 2 LoRa devices. On the other side, data receiver controller used to receive data from robot to ground control which connected to computer via serial communication.

Firmware design
The firmware used in this robot is divided into three parts, namely the main controller, the data sender controller, and the receiver data controller. For the main controller, the flowchart is shown in Figure 5. In Figure 5 (a), the sender controller data section's flowchart starts with serial communication initialization followed by LoRa initialization. If the LoRa initialization is successful, and the module is working properly, the next step will be to detect incoming data sent from the main controller. On the main controller, data is sent via serial using the second Tx and Rx pins. As mentioned before, sensor reading data from the main controller is sent in the one string line format that starts with the letter "A". Then, the value of each sensor is separated by commas. Therefore, the sender controller data can detect the arrival letter "A" or ASCII, which is valued at 65 due to the marks of the complete data set.
After receiving a complete data set, the program then opens LoRa communication. The next step is sending the data set package via LoRa, and then close LoRa communication. This process occurs if the device receives serial data from the main controller. In Figure 5 (b), the receiver controller data device's flowchart is also initiated by serial initialization and LoRa initialization. If both have succeeded, then it continues to detect the packet of data sent by the data sender controller device. If there is an incoming data packet, the program will receive the entire contents of the packet as long as communication is available. If the process has ended, the data is reassembled back to the previous format. Then the data set is sent to the computer/laptop via serial.

User interface (UI) design
The purpose of the UI program is used to display video streaming from the camera and sensor readings. This program uses the OpenCV library for Python. The flowchart of this program is described in Figure 6. This program begins with the importing libraries, then initializes serial communication and video streams, then define sensor reading parameters. In an infinite loop, this program opens a video stream sourced from the ROTG camera receiver. If there is incoming data from the receiver controller data, the program will split the data set and then display it in each parameter column on the UI screen. If the "q" wait key is pressed, the video stream will end, and the UI program is closed.

Sensor readings
The global positioning system (GPS) sensor with type NEO 8m is used for reading the robot position. It contains both a passive and an active antenna along with a crystal oscillator [25]. Therefore, for reading the temperature of the object used TPA 64 sensor. It is a high-quality thermopile array sensor that uses sensors from Panasonic, AMG8833. The AMG8833 camera consists of an array of 8×8 thermal IR sensors, and its output is used for temperature calculations [26,27]. This sensor has a working voltage of 3.3 V or 5 V with a temperature range from 0 to 80 degrees Celsius. With the i2c interface and the optimal distance to the object is 7 meters, this sensor is reliable for non-contact temperature measurements. The temperature and humidity sensor utilized is DHT11. It produces aligned advanced yield and gives unwavering high quality and long haul dependability [28,29]. For the measurement of acceleration, the ADXL345 sensor is used. This device is ideal for measuring dynamic acceleration, low vibrations, static acceleration of gravity force, the movement, and tilt angles [30]. Bandwidth describes the ability of the sensor to detect acceleration changes that occur with a high frequency. The maximum sample frequency for ADXL345 is 3200 Hz [31-33].

RESULTS AND DISCUSSIONS
This section is focusing on the result and analysis of the mobile robot. The design results in terms of mechanical, electrical, performance, and sensor readings are described thoroughly in this section.

Mechanical chassis and trackwheels
As explained in the previous chapter, this robot is four wheels drive machine. The chassis is composed of rods and wheels made of aluminium alloy type 5070. As showed in Figure 6, each wheel has three jagged wheels, one of which is driven directly by the motor and two others to position the trackwheel so it will stay still in the frame. The trackwheel material used is engineered plastic with each adjustable lattice. The frame of the robot is connected by aluminium alloy bars 3 mm thick. Above the frame is given an acrylic sheet with a thickness of 5 mm to place the water tank and electrical components such as pumps, batteries, and controllers. At the front of the frame, the acrylic slab is made to tilt to prevent the front motor from being sprayed with liquid droplets.

Power consumption
Every electrical component transported by this robot has a power consumption borne by a three-cell LiPo battery. The list of components current consumption is as follows; DC motors are 120 0mA each, and DC pumps are 1200 mA, FPV cameras are 510 mA, Arduino Mega 2560 around 100 mA, a micro servo is 250 mA each, then sensors and drivers can be ignored. The mathematical representation to calculate the total power needed can be described using (1).
(1) V i is the voltage of each component, and I i is the current of each component, respectively.
The total power expressed by P total . The total power is the sum of the voltage and current multiplications of each component used. Hence, the total power needed by the robot is around 63,442 W.
With a LiPo battery V_battery = 8000 mAh and I_battery = 11.1 V, the robot can operate for more than an hour with the pump operate. The calculation above, when compared with actual measurements in the field, does not show significant differences in results. A fully operated robot with running conditions and the pump running causes a decrease in battery voltage from 11.4 V to 8.8 V for approximately 56 minutes. When the cell's voltage touches 3 V, the alarm turns on, and the robot operation is stopped. This is caused by unbalanced battery cell charging, so even when emptying, it is also unbalanced. Cell 1 has been degraded and has the lowest cell voltage. So, it can be overcome by using a battery charger that has a good balancer feature.

Data acquisition
Data transmission on this robot is done wirelessly with the LoRa SX1278 module. The data sent is the reading from all sensors. The main controller sends the data of sender controller serially. Then, the data sender controller sends it to the receiver controller data with LoRa. Receiver controller data send to the monitoring application serially. The format of the sample data string is described in (3).

"
, ℎ , , , , , : Indoor testing shows that the data receiver controller's maximum distance of data reception is about 25 meters. In contrast, outdoor testing shows that the receiver data still receives data well at distances of more than 80 meters.

Video stream
The FPV camera used is the brand type Eachine TX02Pro with Smart audio AIO 5.8 G 40 CH 200 mW VTX 700TVL 1/4 Cmos. This type of camera is very commonly used in drone applications. While the receiver used is Eachine brand type ROTG02 UVC OTG 5.8 G 150 CH. This receiver has two antennas for receiving audio and video data. This receiver is connected to a computer/laptop to display video streams. The test is carried out with five points and distances, as shown in Table 1. The results of receiving images by a computer/laptop are shown in Figures 7 and 8.  Based on indoor testing results, which showed in Figure 9, the quality of the video stream is still visible at a distance of less than checkpoint 5, which is 32 meters. The results of the video stream will start ugly at a distance of about 48 meters and will get worse at distances more significant than that.
Outdoor testing results, which showed in Figure 7 are not much different from indoor testing. At checkpoint distance of 1, Figure 7 shows at the fifth checkpoint or over a distance of 64 meters. Then, the video quality has begun to be disrupted.

User interface integration
The UI application is made with the Python programming language and OpenCV library. In UI application, the video stream also displays the results of the reading of the sensors carried by the mobile robot. The application display shown in Figure 8 is made to simplify the robot operator's work in controlling the robot maneuver while observing the parameters measured by the robot. The position of the camera is also placed in the middle to provide visual comfort. As explained, there are two servos to move the camera up, down, left, and increase the range of vision of the camera.

Sensor reading results
The sensor readings at each checkpoint in the indoor test are presented in Table 1 and the outdoor tests in Table 2. At checkpoint 3, the data receiver controller has not received data transfers. In this outdoor test, the reading and receiving of sensor data are carried out successfully until the last checkpoint. Because of mainly GPS readings are easier and faster when accessed in an open area.

CONCLUSION
The trackwheels and frame configuration described making this robot capable of maneuvering reliably in all terrains. The 4-wheel movement system with trackwheel makes the robot resistant to slippage and can still move even if something solid is blocked. The lightweight and sturdy frame can support a static load of approximately 8 kg. Operationally, this robot can be used in full function for approximately 56 minutes. The spray can reach a distance of more than 1 meter. Robot control is more effectively operated in outdoor, considering the strength and distortion of the radio signal. The data communication process still needs improvement when used indoors. The UI application created not only assists operators in remote but also reduce the risk of operators being exposed to bacteria and viruses in the air and those attached to objects and buildings around the robot's teleoperation.