0% found this document useful (0 votes)
62 views14 pages

Autonomous Floor Cleaning Robot

Uploaded by

clarenceblessing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views14 pages

Autonomous Floor Cleaning Robot

Uploaded by

clarenceblessing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

17 fig:3 28 fig:4 313

1
AUTONOMOUS FLOOR CLEANING ROBOT
Keloi Joseph ENM221-0287/2020
Edgar Mutuku ENM221-0284/2020
December 2024

1 Introduction
An autonomous machine is a device which can perform required tasks without
human control or intervention. To achieve this with even simple tasks requires
an intelligent system that is able to perform logic and make decisions based on
information collected from its changing environment.
The task given is to design an autonomous floor cleaning robot. This product
can be designed to be used in either domestic and commercial spaces as it en-
counters different challenges based on where its used. We decided to focus the
design of our product mainly for the domestic market. For our robot to func-
tion, it requires a propulsion system, a navigation system and a floor cleaning
system .For autonomy, the mechatronic approach is vital to allow integration of
all these features.
The autonomous floor cleaning robot technology was pioneered by Rodney
Brooks, and two other scientists. The initial navigation was through the use of
bump sensors to detect walls and floor sensors to detect potential hazards. It
used a random mopping technique where it randomly moved across the room
and changing course only on bumping a wall or detecting a hazard such as a
fall. The robots using this technology completed the task but were very ineffi-
cient as the random pattern meant that they went over surfaces multiple times
unnecessarily.
Since then, with advances in technology, the robots have steadily improved to
using LiDAR, vSLAM and Camera systems for navigation as well as 3D scanning
techniques for object avoidance. These systems will be reviewed to understand
their benefits to enable us to come up with our solution.

2 Objectives
The main objectives were based on the title and are:
• Performance of both soap cleaning and rinsing operations
• Navigation of the space to be cleaned without human intervention

2
• Operation using low power consumption
Other objectives are:
• Good cleaning performance
• Low cost of components

3 Literature Review
We reviewed the floor cleaning robots available on the market so see their design
choices.

1. Narwal t10
https://us.narwal.com/products/narwal-t10-4-in-1-robot-cleaner
One of the models I chose to review was the narwal t10. This is because
most floor cleaning robots were either only vacuums or hybrid vacuums
where they had a high performance vacuum and a mop pad as well. This
product on the other hand could only perform mopping or vacuuming sep-
arately but not both together. This would give us a good chance to see
what a purely mopping operation would look like. Based on our research,
the robot did reasonably well when cleaning stains off of floors but per-
formed poorly when cleaning floors with dirt in the form of solid particles
and hair.
The hybrid robots on the other hand handled all the dirt on floors well as
the vacuum, which is placed in front of the mopper could collect all the
solid particles and hairs leaving the mopper to deal with the stains. Based
on these demonstration, it was deemed necessary to design our robot with
a vacuum and mopper system for good results. The robot did have good
features which we found insightful and are discussed below.
Dual rotating moppers-These motors rotate in opposite directions inwards.
They are also pressed into the ground with some significant force to in-
crease the friction when scrubbing to enable removal of tough stains. Dock
station -The dock station is the home of the robot and enables autonomous
charging of the robot. It also houses a self cleaning station for the moppers
where they are cleaned and dried when necessary during use and after use.
It also has two water storage tanks. One for clean water supply and the
other for dirty water storage after washing the moppers
2. Roborock S8 Ultra
https://global.roborock.com/pages/roborock-s8-pro-ultra
Another model I chose to review was the Roborock S8 Ultra. This is be-
cause this brand had the best performing navigation and object avoidance
technology as well as an alternative mopper configuration . The robot
uses a rotating LiDAR system mounted on top of the robot for navigation
as it enables the robot to quickly make a map of the space being cleaned

3
which is stored for future use. It also helps in finding the most efficient
path to follow to clean the required space. An advantage of these system
compared to others is that it can operate well in low light conditions.
For object avoidance ,the robot uses a combination of a 3D structured
light sensor and two other laser scanners which are mounted at the front
of the robot. These sensors together create a detailed 3d model of ob-
jects and using artificial intelligence software can recognize the nature of
the objects and determine the best decision to take. The roborock also
uses an different mopper which is vibrated at a high rate to generate the
scrubbing action. The vibrating system is based on sonic technology and
is achieved using a motor and gear system.
3. IRobot Roomba i3+
https://www.irobot.com/en_US/roomba-i3plus-evo-self-emptying-
robot-vacuum/I355020.html
This robot was reviewed to evaluate its navigation system which consists
of a gyroscopic sensor and floor tracking sensors to efficiently clean the
desired space. The gyroscopic sensor allows it to navigate the room in
straight lines and is a step above the random cleaning system. It is a
cheaper and more reliable method as it has less moving parts.
4. IRobot Roomba i7
https://www.irobot.com/en_US/roomba-vacuuming/robot-vacuum-irobot-
roomba-i7-plus/I755020.html
This robot was reviewed to evaluate its visual SLAM navigation technol-
ogy. This camera based technology enables navigation by taking references
from the roof and visible surroundings to calculate its position and effi-
cient paths to follow during cleaning. It is a cheaper system than LiDAR
but performs poorly in low light environments.

4 Methodology
For our solution, we had to choose between two approaches. One of the solutions
involved an all in one floor cleaning robot which carried all the required water
and detergent for cleaning the required floor area. The other solution involved
a smaller robot that carried only a small amount of water and periodically went
for refilling and recharging at a stationary docking station.
While the all in one solution had no need for constant refilling, it was would
have to be quite large in size to house the large tanks of water required for
cleaning. This would cause problems when mopping small spaces as the robot
would not fit. It would also lead to an increase in weight due to the larger tanks
which would increase the power consumption.
The robot with a standalone docking station was chosen as it its smaller size

4
and weight decreased power consumption as well as allowed for cleaning in
movement in tight spaces. The need for refilling during cleaning operations was
a disadvantage but it allowed for cleaning of the moppers and some recharging
during the operation.

5 Design
5.1 Electronics Design
Electric power as the energy source for the robot constitutes the need for power
electronics for the various electrical components and actuators in the design.
The electrical system of our design can be further split into power supply and
regulation, sensing elements and their complimentary circuitry, electric actua-
tors such as valves, processing, and logic devices.

5.1.1 Power System


Our design makes use of a rechargeable battery system. Lithium-ion batteries
are a good choice due to their high energy density and long lifespan. Battery
consisting of 6 lithium-ion cells in series (24V) each 2200mAh. A charging
module is integrated into the robot to control charging and discharging of the
battery. Each cell weighs approximately 82grams making the battery weigh
330grams. Voltage buck converters and regulators are used to supply, 12V, 6V
and 5V as per the circuit design.

5.1.2 Motors and Motor Drivers


• Used to control motors that drive the robot, pump, and rollers
• Voltage 6V, 3.3V

• Current draw 120mA per motor, 60mA

5
5.1.3 Sensors
Various sensors are required to achieve autonomous functionality. This includes
water level sensors, infrared sensors, ultrasonic sensors, rotary encodes with a
gyroscope and accelerometer.
• Ultrasonic sensors
This module has an ultrasonic transmitter and an ultrasonic receiver so
you can consider it an ultrasonic transceiver. Familiar with sonar, when
the 40KHz ultrasonic wave generated by the transmitter encounters the
object, the sound wave will be emitted back, and the receiver can receive
the reflected ultrasonic wave. We chose to use the Grove ultrasonic dis-
tance sensor for our design due to its low power consumption and large
working range. It has a range of 3 to 350cm with a relative error of 2mm.
This sensor draws a current of 8mA and can work with 3.3V.

• IR sensors
IR sensors work by emitting an infrared light beam and measuring the
light that bounces back. They are useful for detecting edges (like the edge
of a stair) and for close-range obstacle detection. Distance = k ·V −r where
k and r are parameters of the sensor and V is the analogue voltage output
of the sensor. Values from this sensor pass through an A2D converter
providing a digital value that can be used to calculate distance and detect
edges and even carpets. Draws a current of about 60mA.

• Water level sensor


To detect water level a variable resistor can be used which changes value
based on how much of it is dipped into water. The sensor module imple-
mented in our design has a current drain of about 20mA.

• Rotary encoders
Attached to rotating motor shaft (directly coupled to driving motors)
converting the position of the wheel to a coded output. This information
can be used to calculate the distance the robot has travelled and its speed.
The resolution of our encoder is 8 and our motor gear reduction is 48.
Hence the angle measurement accuracy of the wheel is 360/ (8*48) = 0.93
degrees. Using a wheel of radius 5cm, the distance measurement accuracy
of the encoders is (0.93/ 360) *pi*10 = 0.082cm or 0.8mm.

• Gyro
Gyroscopes measure the robot’s orientation or angular velocity. This is
crucial for maintaining the robot’s balance and for accurate navigation
and path planning.

6
5.2 Control design
5.2.1 Floor Mapping
Robot hugs the wall from the docking station forming a loop to measure the
length and orientation of all the walls enclosing the area to be cleaned. This
allows the robot to create a map for the floor area based on the perimeter walls.

Figure 1: Floor mapping algorithm

5.2.2 Floor Cleaning


After creating a map of the floor, the robot starts from the docking station. It
loads soap water to the tank till the tank is full based on sensor value. The
robot the follows the initial path, hugging the wall for the initial cleaning run.
Just as it is off the docking station, soapy water is pumped onto the rollers
as they rotate at the selected rpm and brushing against the floor. This action
is maintained through-out the initial cleaning process. As the robot begins to
approach the docking station again, it turns just short of its width performing
this same operation for every corner following an inward spiral to the centre of
the room.

5.2.3 Methods of reducing power consumption


Software Optimization: Optimize the robot’s path planning algorithm to min-
imize travel distance. Also, put the robot in a low-power standby mode when
it’s not in use.
Hardware Optimization: Design the robot’s mechanical system to minimize fric-
tion and unnecessary movement. For example, use high-quality bearings and
wheels.

7
Figure 2: Floor cleaning algorithm

5.3 System design


For our design we chose a circular shape for our robot. This was because it
would aid in easy movement in close proximity to obstacles as the robot could
rotate to change its direction at any time.
For the navigation system, we chose a combination of ultrasonic sensors and
wheel encoders. The ultrasonic sensor would be placed at the front of the robot
and would have a wide field of view which would enable it to detect walls and
obstacles which would help guide the robot’s movements. The wheel encoders
would measure the distance covered in a certain direction and aid in the in-
struction set that would form the map of the floor space to be cleaned. Infrared
sensors would then be placed near the lower edge at the front and sides of the
robot to detect hazards which may be indicated by large changes in floor level
which may cause damage to the robot or immobilize it.
From our research, there were other navigation systems which provided a faster
and more efficient performance than our system such as the LIDAR and vSLAM
system. Our choice of navigation system was driven by our power consumption
targets as well as cost and reliability which were all better with our system.
This is because systems such as LIDAR had to be implemented with motors
to ensure constant rotation. This would have increased the number of moving
parts which increases the risk of breakdown. Other systems such as VSLAM had
poor performance in low light conditions and required higher computing power
due to the cameras image processing which would have increased the cost of the
processor as well as the power consumption.
For our propulsion system we used two electric motors which would allow in-
dependent rotation of our two driving wheels. Rotation the wheels at different
speeds would provide a moment enabling steering in different directions while
rotation of the wheels in opposite directions enabled rotation of the robot at a
point. We also placed a caster wheel at the front to enable smooth transition
to slightly raised floor areas. An LED strip was also added to ensure the robot
is visible when operating in low light conditions to ensure safety of the user.
For our source of power we chose a rechargeable lithium ion battery due to its

8
good power density. It could be recharged at the docking station when the robot
is not in use or when it was refilling its tank during operation.
The docking station was designed to serve many functions. It was to enable
recharging of the robots battery through contacts the back of the robot. It
also held the three tanks which were used for storage of clean rinsing water,
soapy water and dirty water. This enabled its placement at any location near
the space to be cleaned. It also contained a water pump for pumping the used
water to its storage tank and pumping water to the mopper bay when cleaning
and wetting the mops.
The cleaning system comprised of the moppers, electric motors a small vacuum
and the water tank. The moppers chosen were two circular moppers which were
rotated by electric motors. They rotate in opposite directions and in doing so
scrub the floor and remove stains. The moppers are constantly supplied with
small amounts of water via nozzles from the small water tank to keep them wet
when cleaning. The water tank contains a water level sensor which monitors
the water level to ensure the robot goes for refilling when the tank is empty.
The vacuum, while not part of the problem was deemed essential to collect the
large solid particles and hair which the mops could not deal with. It also had
the added benefit of collecting dust which enabled the mops to stay clean for
longer. Since vacuuming was not the main function of the cleaning robot, it
had a small suction power to keep power consumption low but was enough to
perform its function.

6 Materials
6.0.1 Chassis
For the body of the robot, we used ABS plastic. This is because of its high
strength which would provide protection to the internal parts of the robot body

6.0.2 Water Tank


For this components we used the polycarbonate polymer as it is transparent
allowing for visibility of the water level .

6.0.3 Wheels
For the tyres we used rubber to ensure good grip was available even on the
wet floor For the rims and caster wheel ,we used abs plastic as they need to be
durable

6.0.4 Mops
For the mops, they were made with microfiber cloth to ensure good absorbance
as well as good cleaning performance.

9
7 Operation
7.1 Mapping
To map the space its cleaning, the robot defines its docking station as its starting
point. It then uses its ultrasonic sensor to scan for nearby walls. When the
nearest is located, the robot moves close to the wall and aligns itself with it.
It then moves along the wall until the sensor senses an obstacle close to the
robot which causes a change in direction based on the position of the obstacle.
It continuously records the live data from the ultrasonic sensors and wheel
encoders to create an instruction set on how to navigate the space its supposed
to clean.
The infrared sensors close to the edge also continuously monitor the floor level
to detect abrupt changes in the floor level which indicates a hazard such as
a descending flight of stairs which the robot steers clear of. When it finishes
mapping the perimeter it moves inwards by the distance which its moppers
cover when moving to prevent overlapping. It then moves in the same pattern
along the inner path till it completes the second perimeter path. It continues
this pattern while avoiding obstacles till the floor area is complete. All the data
is used to create an instruction set which is used for future operatons.

7.2 Cleaning
The cleaning operation is activated via a button on the robot. The operation
comprises of soap washing and rinsing cycles.

7.2.1 Soap Washing


Th operation starts with wetting of the moppers. The moppers are rotated by
the robot while soapy water is continuously sprayed into the mopper bay. The
rotational motion within the bay area allows for proper soaking of the moppers
as the water is pumped to the used water tank. The small robot tank is then
filled with the soapy water.
The robot then moves out of the docking station which is always its starting
point. It then uses its established map and follows the perimeter of the room
using its ultrasonic sensor and wheel encoders. while operating its vacuum and
rotating its circular moppers which rotate in opposite direction. The vacuum
which is placed in front of the mops collects any heavy solid particles and dust
while the rotating mops motion scrubs the floor with some applied consistent
pressure which helps remove tough stains. As the robot moves, the small nozzles
above the moppers periodically spray small amounts of water onto the rotating
moppers which keeps them wet and able to consistently clean the floor.
When the tank is empty, the robot returns to the docking station. It follows the
guides on the station and is able to move into its position. The docking station
has a pump which empties the robots vacuum container. It also washes the
dirty moppers and pumps the dirty water to the used water tank. It then wets

10
the moppers with soapy water and refills the robot tank. The robot then moves
out of the docking station and moves to its last mopping position from where
it continues mopping. This process continues until the whole floor is cleaned.
The robot then returns to the docking station where its mops are cleaned.

7.2.2 Rinsing
This operation follows after soap washing. The moppers are wet in their bay
by rotating them while clean water is continuously sprayed into the bay. The
robots tank is then filled with the rinsing water. The robot then moves out of
the docking station which is always its starting point. It then uses its established
map and follows the perimeter of the room using its sensors.
It then operates the rotating circular moppers which rinse the floor as the rinsing
water is regularly sprayed onto the moppers. It doesn’t activate its vacuum
during this cycle as the solid particles are already collected and doing so saves
energy. It follows its predefined map and returns to the docking station for
refilling and rinsing of its moppers when needed. When done, the robot returns
to the docking station where its moppers are cleaned and it recharges.

8 Mechatronic Modules
8.1 Interface Module
The robot has a button used to turn it on which is also used to start the
operation. It also has a small display that shows the operation its performing
as well as the battery percentage remaining.

8.2 Communication Module


The ultrasonic sensor, wheel encoders, floor infrared sensors and water level
sensor are connected to the processor via wires inside the robots chassis to
enable transmission of live data to the processor. The processor also has wired
connections to the wheel motors ,mop motors and water pump which allow
control of the motor robot system based on sensor data received. The control
panel is also connected to the processor via wires to enable display of the current
operation and battery status to the user.

8.3 Processor / Software Module


The processor continuously receives live data from the onboard sensors and
converts any analog data to digital form. Its software uses the navigation and
cleaning algorithms to determine the state of the robot during each operations
and sends impulses to the actuators to enable execution of the required action.

11
8.4 Actuation Module
The wheel motors receive specific voltage and current amounts from the pro-
cessor which enable it to drive the robot in the require direction. The possible
manoeuvres are:

• Forward -The motors rotate in the forward direction at the same speed
to enable forward movement in a straight line

• Right -The left wheel motor rotates at a higher speed than the right wheel
motor which creates a clockwise moment enabling the motor to turn right
• Left- The right wheel motor rotates at a higher speed than the left wheel
motor which creates a anti-clockwise moment enabling the motor to turn
right.

• Reverse – The motors rotate in the opposite direction at the same speed
to enable backward movement in a straight line.

The mop motors mainly rotate at a constant speed to enable consistent


cleaning of the floor surface. The water pump supplies a constant amount of
water to the nozzles after a given distance to ensure the mop remains wet enough
to clean the floor surface.

8.5 Measurement Module


The navigation sensors constantly measure their respective parameters the data
is transmitted to the processor for action. The battery level sensor continuously
monitors battery consumption and transmits readings to the processor The
water level sensor reads data periodically after short periods which saves energy
as constant reading is not necessary.

8.6 Assembly Module


The assembly module enables the soap washing and rinsing of the floor in a
efficient manner which saves on power consumption.

9 Evaluation
9.1 Simulation in Open Modelica
This problem required a defined example of the robot operations during cleaning
to determine the power consumption based on active components (components
consuming power). Efficiency losses are ignored in the simulation. We set
the cleaning action for the robot required for the simulation to includes the
various aspects of the cleaning process, starting with pumping soap water into

12
tank then the robot performs soap water mopping for a given period. This is
followed by emptying the tank and refilling it with clean water and performing
clean water mopping. The last step of the process involves emptying the tank
and powering down. To simulate the power consumption, the power used by
the main electronics and actuators were summed up at each instance a task was
being performed.

Figure 3: Power consumption plot

From the power consumption plot our robot power consumption barely ex-
ceeded 10W at its peak.
Our floor cleaning robot has achieved the set targets by minimizing the num-
ber of moving parts. This was done by choosing an ultrasonic based navigation
system which has no moving parts and using an efficient algorithm in terms of
computing power and mapping method which ensures a short mopping time is
used . The choice of navigation system also saves on cost which would make the
robot suitable for the domestic market.
The dock station approach also allows for efficiency as the large amounts of
water are held in the dock while the robot cleans with a smaller amount which
greatly reduces weight and power consumed. The of a vacuum also greatly in-
creases the cleaning performance as solid particles which would otherwise be left
on the floor are collected. It also keeps the mop clean for longer reducing the
dirt that would be dragged along by the mop. The choice of the rotating mops
was also efficient in that it has fewer moving parts compared to other systems
while still achieving the scrubbing operation required for a good performance.
The solution therefore satisfies the set objectives

10 Conclusion
The design approach taken when designing the robot largely depends on the
area of application and the set targets. An industrial floor cleaning robot would
have different demands on the system and therefore a different design direction.
If our focus was on autonomous performance and object avoidance, our design
choices would be different at the expense of power consumption. Ultimately
,the design direction is a compromise but with more advances in technology , it
is becoming possible to provide a better package.

13
11 References
Appliance Science: How Robotic Vacuums Navigate
https://www.cnet.com/home/kitchen-and-household/appliance-science-
how-robotic-vacuums-navigate/

Sensor breakdown: how robot vacuums navigate


https://www.therobotreport.com/sensor-breakdown-how-robot-vacuums-
navigate-and-clean/

Ecovacs: How do mapping robot vacuums navigate


https://www.ecovacs.com/uk/blog/robot-vacuum-with-mapping

14

You might also like