© 2024 The authors. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).
OPEN ACCESS
The mobile robot is widely used in many cleaning applications. This paper presents the design and implementation of a low-cost smart cleaner wheeled mobile robot for floor cleaning applications. The robot is capable of accurately navigating through various environments and avoiding obstacles. The paper focuses on three main points: interfacing the motion modeling equations with an Android application, designing a differential mobile robot with flexible mobility, and incorporating obstacle avoidance using an Ultrasonic sensor. The results demonstrate that the robot can move with high precision and flexibility, with minimal error. The maximum error on the complex (carpet) floor equals (±1.1500 cm) and it is greater than the maximum error on the flat floor which equals (±0.5800 cm). Additionally, the robot's affordability, priced at 28 $. The designed mobile robot is low cost, for this reason it accessible to anyone seeking a cleaning solution for both flat and rough (complex) floors, whether dry or wet. From these specifications of designed mobile robot, it considered better than related works.
cleaner mobile robot, Arduino Nano, Android phone, Bluetooth module, ultrasonic sensor, motor, floor
The smart cleaner mobile robot is autonomous and contains self-driving to move independently. Nowadays, cleaning robots are used for different cleaning purposes and have different cleaning skills in terms of mopping wet floors, mopping, picking up dirt, and vacuuming [1]. Oleiwi et al. [2, 3] designed the collision avoidance controller using optimizing fuzzy logic controller for complicated two known dynamic constraints environment, and then improved the controller design for unknown dynamic obstacles with on-board sensor information. Different types of research developed Android device-controlled robotic systems. Hence researchers have proposed different architectures for Android applications and robotic systems. Monika et al. [1] demonstrated a cleaning robot that uses a wireless robotic cleaning system to clean the floor. The system is made up of a transmitter that is controlled by an Android app, allowing the user to deliver orders to the robot using the transmitter app. The suggested robot has an Arduino UNO controller, a robotic arm with a cleaning pad and a water sprayer for effective cleaning, and other components. It cost 118 \$ and the robot just cleaned wet floor [4] showcased a floor-cleaning robot that makes use of a wireless robotic cleaning system. The system consists of an Android app that controls a transmitter, which enables the user to provide commands to the robot via the transmitter app. The proposed robot consists of an Arduino UNO controller, a robotic arm equipped with a cleaning pad, and a water sprayer for efficient cleaning, as well as additional parts. The Arduino UNO regulates the motors to move in the proper path and direction after receiving the commands through Bluetooth from the Android tablet [5] connected wheeled robot with an Android smartphone by HC05 Bluetooth module. PID controller is used and implemented as a closed-loop system in the robot to provide constant feedback on the current status of the robot's performance and monitor human motion, the room temperature, and the distance of the surrounding obstacles. Al-Obaidi et al. [6] designed and implemented a monitoring and security system-based mobile robot using Arduino, Raspberry Pi, and a camera. The ZigBee module is connected wirelessly to the robot for controlling the movements of the mobile robot and for monitoring the environment. To gather the dust, an autonomous floor cleaner robot has brushes connected to its sides. This robot has a suction device that picks up dust as it moves about the room and utilizes ultrasonic sensors to avoid obstructions and adjust its course. However, this robot's disadvantage is that it cannot clean damp floors. The motion of mobile robot is too important [7]. The autonomous cleaner robot with high cost 170 \$ with brushes for collecting the dust and ultrasonic sensors for avoiding obstacles presented by Jain et al. [8] the robot cleaned just dry floor. Yatmono et al. [9] presented a smart robot for cleaning using a wireless system based on an Android mobile app and transmitter app. The suggested system uses a robotic arm with a cleaning pad and a water sprayer for effective cleaning, as well as an Arduino UNO controller. Khaleel et al. [10] proposed a touchless mobile robot as a hand sanitizer by human body identification based on image processing using the camera, microcontroller, and four DC motors. Ajay et al. [11] focused on using an automatic smart cleaner robot controlled by a mobile phone from user commands. The proposed system was designed and implemented based on an ultrasonic sensor, motor driver L293D, GSM, LCD, and Arduino. Their mobile robot was high cost [12] presented an automatic cleaning and wiping robot which includes electronic components such as an ultrasonic sensor, microcontroller Arduino Uno, actuators motor driving module, and wheels. The robot just cleaned the flat surface. Gopalakrishnan et al. [13] introduced a cleaning robot for both dry and wet cleaning by controlling the robot through a set of commands based on an Android mobile app such as the Blynk app as a transmitter and provided the commands to the Node MCU as a receiver. Eren and Doğan [14] and Oleiwi [15] presented a vacuum cleaner robot using a remote controlling of the robot by using Bluetooth between the Android smartphone and Raspberry Pi connection. Shero et al. [16] discussed a sensor widely used in various applications to assist humans and robots. Murdan and Ramkissoon [17] proposed an autonomous cleaning robot controlled via an Android-based system, utilizing Arduino MEGA and wireless connectivity with a mobile app. Prabakaran et al. [18] and Zahri [19] described a floor cleaning machine designed for flat surfaces, featuring a DC drive-powered rotary brush and pneumatically controlled dust shifting to facilitate waste removal. Palacin et al. [20] focused on a cleaning robot equipped with placement sensors, motor and robot control, and safety features. Winter [21] detailed the system architecture of a robot utilizing a wireless camera for surveillance purposes. Goud and Kumar [22] introduced mobile robots that use Android-based wireless internet control to transfer data between the robot and a smartphone.
The problem statement of this paper is summarized: focusing on the difficulties of interfacing MATLAB and Arduino, achieving flexible motion and obstacle avoidance. Then it can be selecting cost-effective and efficient hardware for a cleaner mobile robot. The structure of the paper is outlined, indicating the subsequent sections that would describe the methodology, experimental results, and conclusions.
The methodology section begins by describing the derivation of the mathematical model for the kinematics of a differential mobile robot. Next, the section also includes the calculation of error. The methodology also describes the design and implementation of a block diagram for the smart cleaner mobile robot. The flowchart of the robot's motion is also presented Furthermore, the hardware implementation is explained. The software setup and interaction between the smartphone application and the mobile robot are described.
2.1 Deriving the mathematical model of differential mobile robot kinematics
2.1.1 Deriving the forward kinematics
Two independently powered wheels installed on either side of a mobile robot's body help the robot move. The relative speeds of its wheels allow it to change its direction without using any steering at all. If all wheels are turned simultaneously and at the same velocity, the robot moved in a straight line. If both wheels were turning at the same speed and in the opposite direction of one another, the robot would spin. Otherwise, depending on the rotation's velocities and direction, the center of rotation could be located anywhere along the line formed by the two tire contact points. While the robot is traveling ahead in a straight line, the center of rotation is infinitely distant from the robot. Mobile robots frequently employ differential drive as their primary propulsion mechanism. It has two driving wheels that can independently travel forward or backward and are mounted on the same axis. The robot must rotate around a point that lies along its left and right wheels' common axis in order to travel in a rolling motion, even if we can change the velocity for each wheel. As seen in Figure 1, the Instantaneous Center of Curvature, or ICC, is the point around which it revolves as shown in Figure 1. The mathematical study of position and velocity motion without taking forces into account is known as kinematics [23, 24].
Figure 1. The differential mobile robot kinematics
Figure 1 shows two coordinates used to present the differential mobile robot motion: global (world) coordinate $\{X, Y\}$ and local coordinate $\left\{x_m, y_m\right\}$. The coordinate $(x, y)$ is the center point of the mobile robot. The two-wheel velocities changed due to the path that the robot takes. Each wheel in a mobile robot has two velocities. One called linear velocity consists of two velocities: linear velocity of the right wheel: $v_r$ and linear velocity of the left wheel $v_l$. The other velocity is called an angular velocity $\omega$ which is the same for two wheels and it must rotate along the ICC. The equations of linear velocity are illustrated in Eq. (1) and Eq. (2) [23, 24].
$\omega\left(R+\frac{l}{2}\right)=v_r$ (1)
$\omega\left(R-\frac{l}{2}\right)=v_l$ (2)
$l$ presents as the distance between the center of a mobile robot and the center of each wheel, and $R$ is the distance from the midpoint between the wheels to the ICC. The equations of $R$ and $\omega$ computed as equations Eq. (3) and Eq. (4) respectively [23, 24]:
$R=\frac{l}{2}\left(\frac{v_l+v_r}{v_l-v_r}\right)$ (3)
$\omega=\frac{v_l+v_r}{l}$ (4)
where, $l$ of this work equals to 13 cm. From the above equations, it can be concluded that [23, 24]:
$I C C=\left(I C C_x, I C C_y\right)=x-R \sin (\theta), y+R \cos (\theta)$ (5)
$I C C_x$ and $I C C_y$ are Instantaneous Center of Curvature about the x-axis and the y-axis respectively. The mobile robot rotated along ICC with angular velocity $\omega$ at the $\delta t$ time. The orientation Eq. (6) of a mobile robot is [23, 24]:
$\theta^{\prime}=\omega \delta t+\theta$ (6)
where, $\theta^{\prime}$ is the new orientation of the mobile robot, $\omega \delta t$ is the change of $\theta$ called $d \theta$ or $\omega \delta t$ is angular velocity at time $\delta t$. The $\theta$ is the old orientation of the mobile robot. Due to Figure 2, the forward kinematics motion Eq. (7) is described as [23, 24]:
Transform position point $(x, y)$ with orientation $\theta$ $\left[\begin{array}{l}x^{\prime} \\ y^{\prime} \\ \theta^{\prime}\end{array}\right]$
Rotation by $\omega \delta t$ about the $z$-axis $\left[\begin{array}{ccc}\cos (\omega \delta t) & -\sin (\omega \delta t) & 0 \\ \sin (\omega \delta t) & \cos (\omega \delta t) & 0 \\ 0 & 0 & 1\end{array}\right]$
Translation from ICC to the origin $\left[\begin{array}{c}x-I C C_x \\ y-I C C_y \\ \theta\end{array}\right]$
Translation ICC back to the original place $\left[\begin{array}{c}I C C_x \\ I C C_y \\ \omega \delta t\end{array}\right]$
$\left[\begin{array}{l}x^{\prime} \\ y^{\prime} \\ \theta^{\prime}\end{array}\right]=\left[\begin{array}{ccc}\cos (\omega \delta t) & -\sin (\omega \delta t) & 0 \\ \sin (\omega \delta t) & \cos (\omega \delta t) & 0 \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{c}x-I C C_x \\ y-I C C_y \\ \theta\end{array}\right]+\left[\begin{array}{c}I C C_x \\ I C C_y \\ \omega \delta t\end{array}\right]$ (7)
Figure 2. Forward kinematics of differential mobile robot
2.1.2 Deriving the inverse kinematics
The inverse kinematic is the opposite of forward kinematics which is to find the mobile robot configuration $(x, y, \theta)$ with the time. The position of a general mobile robot that moving in the direction $\theta(t)$ at a given linear velocity $V(t)$ as [23, 24]:
$x(t)=\int_0^t V(t) \cos (\theta(t)) d t$ (8)
$y(t)=\int_0^t V(t) \sin (\theta(t)) d t$ (9)
$\theta(t)=\int_0^t \omega(t) d t$ (10)
The final Eq. (11), Eq. (12) and Eq. (13) relative to the time of specially designed differential mobile robot are [23, 24]:
$x(t)=1 / 2 \int_0^t\left(v_r(t)+v_l(t)\right) \cos (\theta(t)) d t$ (11)
$y(t)=1 / 2 \int_0^t\left(v_r(t)+v_l(t)\right) \sin (\theta(t)) d t$ (12)
$\theta(t)=1 / l \int_0^t\left(v_r(t)-v_l(t)\right) d t$ (13)
2.2 The distance error calculations
The following calculation was made to determine the distance difference between the real and measured distances. The performance of the designed smart cleaner mobile robot is measured by finding distance error between the real and measured distances as in Eq. (14).
Error = real distance - measured distance (14)
whereas the measured distance is the sensor-to-object distance read from an Arduino Nano, the real distance is the experimental real distance from the sensor to the object [25].
2.3 Designing and implementing a block diagram of a smart cleaner mobile robot
In this section, the proposed design is described. Figure 3 shows the block diagram of a proposed smart cleaner mobile robot designed to clean the floor with an Android application of a smartphone.
Figure 3. A block diagram of obstacle avoidance mobile robot
The procedure of this work begins with opening the switch, then the 9-volt power supplied to all hardware of the system. Then, an Android application of a smartphone connected to the Bluetooth and Arduino Nano of a mobile robot is used to move the mobile robot. H-bridge controls the direction rotation of 2 geared DC motors. The ultrasonic sensor senses the object during the mobile robot's motion. The sweeper brush is placed under the mobile robot which sweeps the dust and waste from the building floor during the motion of the mobile robot.
The flowchart of the moving smart cleaner mobile robot is seen in Figure 4. The proposed flow chart begins with initializing the position and orientation of the mobile robot and opening the Android Application of the smartphone then selecting the Bluetooth type HC-06. Then the cleaner mobile robot moves to clean the floor from dust/waste (wet or dry) with the sweeper brush. After that, during the mobile robot's motion, if it detects the object using an ultrasonic sensor, the Android application phone controlled the smart cleaner mobile robot and moves it on all sides. If an obstacle is detected using an ultrasonic sensor stop the smart cleaner mobile robot. Then the distance error is computed, if the error is < 2 cm then the smart cleaner mobile robot stops and the cleaning process ends as shown in Figure 4.
Figure 4. Flowchart of smart cleaner mobile robot
2.4 Hardware implementation
Figure 5 shows the cleaner mobile robot hardware system. It consists of the components: an L298N motor driver H-Bridge, Arduino Nano microcontroller, Bluetooth type HC-06, ultrasonic sensor type HC-SR04, and a 9V Lithium battery. The H-bridge has four inputs that control 2 DC motors direction: called (IN1, IN2, IN3, and IN4). In addition, the two inputs are used for the control speed of 2 DC motors: ENA and ENB. Two input pins IN1 and IN2 of enable ENA inputs to control the DC motor on the left side [26]. The two input pins called IN3 and IN4 of enable pin ENB to control the DC motor on the right side. The two DC motors are linked to the H-bridge output. The entire circuit is powered by two Li-ion batteries providing 9V. The power supply is connected to a switch (ON/OFF circuit). The HC-SR04 ultrasonic sensor is used to detect obstacles [27]. This HC-SR04 sensor has four pins: the first one is named VCC which is the voltage of the power supply to supply power supply for the circuit, the ground pin GND, Trig, and Echo pins. It is dependent on sending ultrasonic waves by Trigger (Trig) and receiving the return sound waves from the Echo pin. The Bluetooth type HC-06 is used to communicate between the Arduino Nano and a smartphone [28].
The HC-06 has six pins: reception called RXD, transmission named TXD, GND, and power supply VCC required to perform the Android Arduino communication. The RXD pin received data and the TXD pin sent data. The breadboard is connecting all hardware components using the wires as shown in Figure 5.
Figure 5. Hardware block diagram of cleaner mobile robot
2.5 Software part
In this work, an open-source Arduino language is based on C++ and C languages. This language is written in Arduino software 1.8.19 version. MATLAB R2018b is interfaced with Arduino language. The Android application of the smartphone called Ardunio Bluetooth controller is used to communicate and control the mobile robot's motion as shown in Figure 6(a). The (Arduino Bluetooth controller) application is installed on a smartphone then open it and the mobile robot Bluetooth HC-06 is connected to the Arduino Bluetooth controller with all programmed codes in MATLAB and Arduino language. The Arduino Bluetooth controller application opened as shown in Figure 6(b).
Figure 6. Android application of smartphone
In this work, the interfacing (connecting) between MATLAB and Arduino performed using Bluetooth. It was checking if an Arduino® board was linked to MATLAB program and has been configured. By clicking Hardware Setup and installed the Arduino package on MATLAB. The following commands steps should be do it:
Board: Selecting an Arduino Board (in this work: Arduino Nano).
Bluetooth Address: Choosing Bluetooth® name or its address. (the name of Bluetooth is HC-06). After that, clicking on Confirm Parameters. If the connection is success among Ardunio, Bluetooth and MATLAB.
An Arduino Nano board name is appeared then choose it in a Device List for more details described in reference [29] and seen in Figure 7.
Figure 7. Arduino Bluetooth MATLAB connection [29]
3.1 Simulation results
The simulation using MATLAB R2018b implements of proposed smart low-cost cleaner mobile robot. The parameters of the designed mobile robot are the distance between two wheels $(l)=11.55 \mathrm{~cm}$ so that $l / 2=11.55 / 2=5.775 \mathrm{~cm}$. The wheel radius $=3.25 \mathrm{~cm}$. The Eqs. (11)-(13) of the motion mobile robot are programmed in MATLAB program. The results of these equations are the position $(x, y)$ and orientation $(\theta)$ of mobile robots in three main cases of linear velocities that are described in section 2.1.
Case 1: $v_r v_l$ are equal values $=1 \mathrm{~m} / \mathrm{s}$. Figure 8 shows the $x$ and $y$ path is straight then the mobile robot moves straight forward toward to x -axis from 0 to 0.2 m .
Figure 8. x and y coordinates of mobile robot path of case 1
In this case, the $\omega$ equals 0 . Figure 9 shows the position and orientation of the mobile robot $(x, y, \theta)$. The values of $x$ start from 0 to 0.2 m while the $y$ remains at 0 m and $\theta=$ theta value equals 0 radians. All these values were simulated with the time from 0.1 to 5 seconds (s).
Case $2: v_r v_l$ are equal to zero $\mathrm{m} / \mathrm{s}$, the mobile robot can not move (singularity state).
In this case, the mobile robot does not move.
Case 3: $v_r=1 \mathrm{~m} / \mathrm{s}$ while $v_l=-1 \mathrm{~m} / \mathrm{s}$, Figure 10 shows the $x$ and $y$ path. The mobile robot rotates about the midpoint between two wheels. It moves from (0, 0) m to (0.0074, 0.2) m.
Figure 9. (x, y, θ) results of the differential mobile robot of case 1
Figure 10. x and y coordinates of mobile robot path case 3
Figure 11 shows the position and orientation of the mobile robot $(x, y, \theta)$. The values of $x$ start from 0 to 0.0074 m while the $y$ start from 0 m to 0.2 and the maximum value of $\theta=$ theta equals 17.3160 radian. All these values were simulated with the time from 0.1 to 5 seconds (s).
In this work, the smart cleaner mobile robot cleans various places of floors such as flat and (rough) carpet floors. The error is computed due to Eq. (14). The case study distance error for moving the robot for 70 cm results are compared between the flat and the carpet floors with 70 iterations of real-world testing as shown in Figure 12. The maximum error cart equals ($\pm 1.1500$ cm) while the maximum error flat equals ($\pm 0.5800 \mathrm{~cm}$). From these results, it can be concluded that the error on the flat floor < error on the carpet floor because the DC motors of the cleaner mobile robot move easily and flexibly on the flat floor. While the cleaner mobile robot moves with difficulty on the rough (carpet) floor. These results were simulated in MATLAB R2018b. It can be concluded that the mobile robot clean flat and rough floors with small error.
Figure 11. (x, y, θ) results of the differential mobile robot case 3
Figure 12. Comparison of distance error results between flat and carpet (rough) floors with iteration of real-world testing
3.2 The experimental work result
The experimental smart cleaner mobile robot after connecting all its hardware is seen in Figure 13 and Figure 14. The circular red box diameter is 30 cm.
Figure 13. Side view of smart cleaner mobile robot
(a) Smart cleaner mobile robot with cover
(b) Smart cleaner mobile robot without cover
Figure 14. Top view of smart cleaner mobile robot
Figure 15. Two brushes heads handheld carpet table sweeper crumb [30]
In this work, the two Brush Sweeper Crumbs with its container which is attached to the down of the mobile robot in order to clean the floor as shown in Figure 15.
The total costs of all hardware for the proposed smart cleaner mobile robot are shown in Table 1. Here, the buying price and figures of all components are shown in Table 1. The cost seems to be a significant advantage of proposed cleaner mobile robot. Each hardware component price has been written in Iraqi Dinar (IQD). The total price of all mobile robot costs 43000 IQD. This price has been converted to Dollar (\$) which is equal to 28 \$. The proposed cleaner mobile robot has low cost which everyone could buy it.
Table 1. The cost of the mobile robot hardware components
|
Hardware Component Name |
Price (IQD) |
Hardware Component |
1 |
L298N motor driver |
5000 |
|
2 |
Robot chassis 2WD plastic with 2DC motors |
12000 |
|
3 |
Ultrasonic HC-SR04 sensor |
2000 |
|
4 |
Arduino Nano FT232 chip |
14000 |
|
5 |
830P BreadBoard |
2000 |
|
6 |
Rechargeable 3.7V Li-ion batteries |
4000 |
|
7 |
Jumper wires |
2000 |
|
8 |
Red color box (cover of the smart cleaner mobile robot) |
1000 |
|
9 |
2 Brushes heads handheld carpet table sweeper |
1000 |
|
|
Total price |
43000 IQD=28 \$ |
Table 2. The comparative the proposed smart cleaner mobile robot with other related cleaner mobile robots
Ref. No. |
Type of Floor Cleaning |
Technology Used |
Control |
Cost |
Advantage |
[1] |
Wet |
IR, Bluetooth with Android application |
Automatic |
118 \$ |
Easy to use, clean under furniture |
[8] |
dry |
Ultrasonic |
Manual |
5000 INR $\cong$ I70 \$ |
Clean the flat floor |
[11] |
Two modes dry or wet |
Ultrasonic, LCD, sending commands from a mobile phone, IR to enhance its performance communication between user and robot. |
Automatic |
High cost |
Clean flat floor |
Proposed smart cleaning mobile robot |
One mode cleaning (wet and dry) Waste and dust |
The robot uses ultrasonic and Bluetooth technologies, paired with an Android application to control the direction of the motors. This offers easy communication with a mobile phone, eliminating the need for an IR sensor. |
Automatic |
28 \$ |
Easy to use, cleans the flat and rough floor and under furniture or any place |
3.3 The comparative study with related work
The comparative analysis presented in Table 2 demonstrates that the proposed cleaner mobile robot is more cost-effective, easier to use, and provides superior cleaning performance compared to previous models. Unlike other robots that require costly IR sensors to detect short distances up to 80 cm, this robot employs an ultrasonic sensor capable of reading distances up to 400 cm, reducing costs and enhancing long-range capabilities. Additionally, this model is versatile, effectively cleaning both flat and rough surfaces, handling dry and wet conditions. Its dual brush heads, an innovative technical tool, rotate to collect waste and dust, depositing it into a container positioned above the brushes, making it more efficient than models limited to cleaning only flat surfaces.
In this work, a smart cleaner mobile robot avoiding obstacles is designed to clean the building’s flat and complex ground and it is too useful to reduce the time and effort’s person in the cleaning process. The proposed device included: the forward and inverse kinematics is derived to compute an accurate position and orientation for complex states of the mobile robot. This makes the mobile robot moving with high flexibility. An interfacing algorithm was implemented to link the derived equations of the mobile robot, which are programmed in MATLAB, with the Arduino code and an Android smartphone. The HC-06 Bluetooth has been chosen because of ranged up to 9 meters. So that the person can clean the floor using the designed mobile robot for long distances without cut the connection between smartphone and mobile robot. The designed device could enhance the cleaning process of flat and rough floors with high flexibility due to its interfacing algorithm as mentioned above. The maximum error on the carpet floor equals (±1.1500 cm) and it is greater than the maximum error on the flat floor which equals (±0.5800 cm). Because of the cleaner mobile robot motors move easily and flexibly on the flat surface. While the cleaner mobile robot moves with difficulty on a rough (carpet) surface. This designed cleaner mobile robot has two linked sweeper brushes that are used for cleaning the place. Finally, the designed smart cleaner differential mobile robot considered. The designed device has low cost equals to 28 $. It cleans two types of floors flat (dry and wet) and rough (dry and wet) as compared with another related works. The cleaner mobile robot automatically controls using an Android application which reduces the time and effort of persons in the cleaning process. In future work, it can be suggested that replacing the DC motors with another type of two DC motors that have large torque. In the future work, the other algorithms for improvement the mobile robot will applied such as: hybrid PSO-MFB optimization algorithm [31], ant colony optimization algorithm used to enhance the mobile robot path motion [32] and also adaptive neuro fuzzy inference system (ANFIS) used to enhance the motion of robot [33].
[1] Monika, S., Manjusha, K.A., Prasad, S.V.S., Naresh, B. (2019). Design and implementation of smart floor cleaning robot using Android app. International Journal of Innovative Technology and Exploring Engineering, 8(4S2): 250-252.
[2] Oleiwi, B.K., Roth, H., Kazem, B.I. (2014). Multi objective optimization of path and trajectory planning for non-holonomic mobile robot using enhanced genetic algorithm. In Neural Networks and Artificial Intelligence: 8th International Conference, ICNNAI 2014, Brest, Belarus, pp. 50-62. https://doi.org/10.1007/978-3-319-08201-1_6
[3] Oleiwi, B.K., Mahfuz, A., Roth, H. (2021). Application of fuzzy logic for collision avoidance of mobile robots in dynamic-indoor environments. In 2021 2nd International Conference on Robotics, Electrical and Signal Processing Techniques (ICREST), DHAKA, Bangladesh, pp. 131-136. https://doi.org/10.1109/ICREST51555.2021.9331072
[4] Rayguru, M.M., Roy, S., Yi, L., Elara, M.R., Baldi, S. (2023). Introducing switched adaptive control for self-reconfigurable mobile cleaning robots. IEEE Transactions on Automation Science and Engineering, 21(2): 2051-2062. https://doi.org/10.1109/TASE.2023.3260099
[5] Khoje, S., Urad, D., Shirke, M., Shinde, A. (2016). Robotic control using an Android application. International Journal of Computer Science and Information Technologies, 7(2): 773-776.
[6] Al-Obaidi, A.S.M., Al-Qassa, A., Nasser, AR., Alkhayyat, A., Humaidi, A.J., Ibraheem, I.K. (2021). Embedded design and implementation of mobile robot for surveillance applications. Indonesian Journal of Science and Technology, 6(2): 427-440.
[7] Oleiwi, B.K., Al-Jarrah, R., Roth, H., Kazem, B.I. (2015). Integrated motion planning and control for multi objectives optimization and multi robots navigation. IFAC-PapersOnLine, 48(10): 99-104. https://doi.org/10.1016/j.ifacol.2015.08.115
[8] Jain, M., Rawat, P.S., Morbale, J. (2017). Automatic floor cleaner. International Research Journal of Engineering and Technology, 4(4): 303-307.
[9] Yatmono, S., Khairudin, M., Pramono, H.S., Asmara, A. (2019). Development of intelligent floor cleaning robot. Journal of Physics: Conference Series, 1413(1): 012014. https://doi.org/10.1088/1742-6596/1413/1/012014
[10] Khaleel, H.Z., Raheem, F.A., Azzam, M. (2022). Design and implementation of a touchless hand sanitizer dispenser mobile robot. ITM Web of Conferences, 42: 01012. https://doi.org/10.1051/itmconf/20224201012
[11] Ajay, P., John, A.V., Amrutha, P.B., Ann, S.T., Megha, P. (2017). Implementation of an automated smart robotic floor cleaner. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, 6(4): 3015-3020. https://doi.org/10.15662/IJAREEIE.2017.0604032
[12] Adithya, P.S., Tejas, R., Varun, V.S., Prashanth, B.N. (2019). Design and development of automatic cleaning and mopping robot. IOP Conference Series: Materials Science and Engineering, 577(1): 012126. https://doi.org/10.1088/1757-899X/577/1/012126
[13] Gopalakrishnan, R., Ramani, U., Maheswari, K.U., Thilagaraj, M. (2022). Design and development of controller based automatic ground cleaning robot. In 2022 6th International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, pp. 491-494. https://doi.org/10.1109/ICCMC53470.2022.9753828
[14] Eren, A., Doğan, H. (2022). Design and implementation of a cost effective vacuum cleaner robot. Turkish Journal of Engineering, 6(2): 166-177. https://doi.org/10.31127/tuje.830282
[15] Oleiwi, B.K. (2019). Scouting and controlling for mobile robot based raspberry Pi 3. Journal of Computational and Theoretical Nanoscience, 16(1): 79-83. https://doi.org/10.1166/jctn.2019.7701
[16] Shero, F.F., Al-Ani, G.T.S., Khadim, E.J., Khaleel, H.Z. (2020). Assessment of linear parameters of electrohysterograph (EHG) in diagnosis of true labor. Annals of Tropical Medicine and Public Health, 23(4): 139-147. http://doi.org/10.36295/ASRO.2020.23418
[17] Murdan, A.P., Ramkissoon, P.K. (2020). A smart autonomous floor cleaner with an Android-based controller. In 2020 3rd International Conference on Emerging Trends in Electrical, Electronic and Communications Engineering (ELECOM), Balaclava, Mauritius, pp. 235-239 https://doi.org/10.1109/ELECOM49001.2020.9297006
[18] Prabakaran, V., Elara, M.R., Pathmakumar, T., Nansai, S. (2018). Floor cleaning robot with reconfigurable mechanism. Automation in Construction, 91: 155-165. https://doi.org/10.1016/j.autcon.2018.03.015
[19] Zahri, R.Z. (2022). Eco-friendly cleaning machine. https://ir.uitm.edu.my/id/eprint/71629/1/71629.pdf.
[20] Palacin, J., Salse, J.A., Valgañón, I., Clua, X. (2004). Building a mobile robot for a floor-cleaning operation in domestic environments. IEEE Transactions on Instrumentation and Measurement, 53(5): 1418-1424. https://doi.org/10.1109/TIM.2004.834093
[21] Winter, J.K. (2013). Android controlled mobile robot. Master's Thesis, Charles III University of Madrid.
[22] Goud, R.K., Kumar, B.S. (2014). Android based robot implementation for pick and retain of objects. International Journal of Engineering Trends and Technology, 16(3): 128-131.
[23] Klancar, G., Zdesar, A., Blazic, S., Skrjanc, I. (2017). Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systems. Butterworth-Heinemann.
[24] Mishra, D., Yadav, R.S., Agrawal, K.K. (2020). Kinematic modelling and emulation of robot for traversing over the pipeline in the refinery. Microsystem Technologies, 26(3): 1011-1020. https://doi.org/10.4172/2168-9695.1000107
[25] Shrivastava, A.K., Verma, A., Singh, S.P. (2010). Distance measurement of an object or obstacle by ultrasound sensors using P89C51RD2. International Journal of Computer Theory and Engineering, 2(1): 64-68.
[26] Cameron, N., Cameron, N., Pao. (2019). Arduino Applied. New York, USA: Apress.
[27] Stiawan, R., Kusumadjati, A., Aminah, N.S., Djamal, M., Viridi, S. (2019). An ultrasonic sensor system for vehicle detection application. Journal of Physics: Conference Series, 1204(1): 012017. https://doi.org/10.1088/1742-6596/1204/1/012017
[28] Ramesh, P., Sudheera, S., Reddy, D.V. (2021). Distance measurement using ultrasonic sensor and Arduino. Journal of Advanced Research in Technology and Management Sciences, 3(2): 1-5.
[29] MathWords. https://www.mathworks.com/help/supportpkg/arduinoio/ug/arduino-explorer-workflow-bluetooth.html.
[30] AliExpress. https://ar.aliexpress.com/i/32831968183.html?gatewayAdapt=glo2ara.
[31] Ajeil, F.H., Ibraheem, I.K., Sahib, M.A., Humaidi, A.J. (2020). Multi-objective path planning of an autonomous mobile robot using hybrid PSO-MFB optimization algorithm. Applied Soft Computing, 89: 106076. https://doi.org/10.1016/j.asoc.2020.106076
[32] Ajeil, F.H., Ibraheem, I.K., Azar, A.T., Humaidi, A.J. (2020). Grid-based mobile robot path planning using aging-based ant colony optimization algorithm in static and dynamic environments. Sensors, 20(7): 1880. https://doi.org/10.3390/s20071880
[33] Raheem, F.A., Khaleel, H.Z., Kashan, M.K. (2018). Robot arm design for children writing ability enhancement using cartesian equations based on ANFIS. In 2018 Third Scientific Conference of Electrical Engineering (SCEE), Baghdad, Iraq, pp. 150-155. https://doi.org/10.1109/SCEE.2018.8684038