Wall Climbing Robot ProjectReport
Wall Climbing Robot ProjectReport
net/publication/359815663
CITATIONS READS
0 1,157
5 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Md. Asiful Islam on 08 April 2022.
Group Members
ID Name
Figure 1.5.1: Solidworks design of Cleaning Mechanism Figure 1.5.2: Actual Fabricated of Cleaning Mechanism
Task Weeks 01 02 03 04 05 06 07 08 09 10 11 12
Work
1 Project Selection and Proposal
2 Literature Review
3 Selection of Components
4 Components Design
5 Fabrication of Parts
6 Circuit Design
7 Coding
8 Fabrication and Assembly
9 Data Accusation
10 Calibration and Testing
ME-B Group-3 10 | P a g e
2.2 - CAD Drawing and Assembly
Here the Solidworks assembly, actual assembly and the Solidworks design of the core
components are as below:
ME-B Group-3 11 | P a g e
Fig 2.2.3: Chassis Fig 2.2.4: Cleaning Mechanism Fig 2.2.5: BLDC Motor
Fig 2.2.6: Arduino Nano Fig 2.2.7: Motor Driver Fig 2.2.8: Gear Motor
Fig 2.2.9: Bluetooth Module Fig 2.2.10: Wheel Fig 2.2.11: Servo Motor
Fig 2.2.12: LiPo Battery Fig 2.2.13: Breadboard Fig 2.2.14: Button
ME-B Group-3 12 | P a g e
2.3 - Details of Core Components
List of All components and respective mass:
2. BLDC Motor:
A Brushless DC Electric Motor (BLDC) is an electric motor powered by a direct current
voltage supply and commutated by an electronic commutator continuously switches the DC
current through the windings, and thus switches the magnetic field too. This way, the rotor can
keep rotating as long as the motor is powered. An A2212/6T 2200KV brushless motor has been
used in this project. Here A2212 is an indication of motor’s structural properties. It
means 22mm motor diameter, 12mm motor shaft height. 6T represents 6 turns per pole.
2200KV means if 1V supply is given to the motor, it will rotates 2200 times in one minute.
ME-B Group-3 14 | P a g e
3. Propeller:
A device for propelling an aircraft or boat, consisting of a shaft with radiating blades that are
placed so as to thrust air or water in a desired direction when spinning. The reason behind using
this in this project to generate thrust force which allows the robot stick on the wall. A 6 inches
propeller has been attached with the BLDC.
ME-B Group-3 15 | P a g e
5. Arduino Nano:
Arduino Nano is a small, compatible open-source electronic development board based on an
8-bit AVR microcontroller. Two versions of this board are available, one is based on
ATmega328p, and the other on Atmega168. ATmega328p has been applied in this project.
There are 14 digital pins on board which is used to connect external component. 6 analog pins
on board that is used to measure voltage in a range from 0 to 5V. Vin pin inputs voltage to the
Arduino board when using an external power source (6-12V). 5V and 3.3V pin produce 5V
and 3.3V respectively by voltage regulator. Two ground pins are available on the board. There
are as many other pins with different functionality.
6. Bluetooth Module:
This module gives the Arduino board the possibility to communicate with the computer, laptop
or even telephone via Bluetooth. HC-05 Bluetooth module is connected with the Arduino Nano
for this project. The working voltage is 5V and the signal covering range is 10 meters of this
module.
8. Gear Motor:
Four N20 12V 110RPM gear motor are attached on the robot. This is a DC Mini Metal Gear
Motor, ideal for making robots .Light weight, high torque and low RPM. Fine craftsmanship,
durable, not easy to wear. With excellent stall characteristics, can climb hills easily. For this
project, these motor are the main components in climbing the vertical surface by generating
high torque.
ME-B Group-3 17 | P a g e
9. Servo Motor:
Servo motors are high torque motors which are commonly used in robotics and several other
applications due to the fact that it’s easy to control their rotation. Servo motors have a geared
output shaft which can be electrically controlled to turn one (1) degree at a time. A MG90S 9g
servo motor is mounted on the cleaning mechanism of the robot. Overall weight of the servo is
around 9 grams and its stall torque 2.0kg/cm (4.8V). It has 180 degree rotational range.
10. Battery:
A lithium polymer battery, or more correctly lithium-ion polymer battery is a rechargeable
battery of lithium-ion technology using a polymer electrolyte instead of a liquid electrolyte.
High conductivity semisolid (gel) polymers form this electrolyte. A 2200mAh 11V 3S 20C Li-
Po battery is used as power source in this project. It has 3 cell. The full charge voltage is 12.7,
rated voltage is 11.1 and continuous discharge rate is 20C.
ME-B Group-3 18 | P a g e
2.4 - Circuit Diagram
The schematic circuit diagram of this Wall Climbing Cleaner Robot is as follow:
ME-B Group-3 19 | P a g e
Chapter 03: Working Methodology
3.1 - Illustration of working Methodology
The Block Diagram of working methodology of Wall Climbing Cleaner Robot fabricated for
this project are given below:
Data
Transmitted Data
over Received
bluetooth over
bluetooth
Bluetooth Receiver
Smart (HC-05 Bluetooth Module)
Phone
App Power Source
Regulated Input (2200mAh 11.1V Li-Po)
I/P Signal
5V
Electronic Speed
Motor Driver
Controller
Regulated (L298N) (30 A)
I/P
Output 5V
Signal O/P
O/P O/P O/P
O/P
ME-B Group-3 20 | P a g e
3.2 - Layout of Robot Controlling Remote
The following Layout of our Robot Controlling Remote has been designed in RemoteXY
website. It is an online open platform where developer can design and customize his own
unique graphical user interface (GUI) to control Arduino via smartphone or tablet. The GUI
runs on the phone or tablet by RemoteXY application. Our graphical interface has been
designed to:
i. Control the direction of the Robot
ii. Control the RPM of the BLDC motor
iii. Engaging and Disengaging Cleaning Mechanism
iv. Turn off and Turn on the whole controlling system
ME-B Group-3 21 | P a g e
3.3 – Working Procedure [ Back to : Subchapter 5.1 ]
The working procedure of this Wall Climbing Cleaner Robot is explained step by step and the
visuals of relative working action are as follow:
ME-B Group-3 22 | P a g e
Steps Procedure Visual Representation
6 After the operator think that that the robot has
clung with the vertical surface properly, he moves
it on the vertical surface with the direction control
joystick. Then he moves it to the cleaning point
of the vertical surface
ME-B Group-3 23 | P a g e
Chapter 04: Experimentation and Calculation
4.1 - Electronic Speed Controller (ESC) Selection [ Back to : Subchap 5.3 / Subchap 5.4 ]
Calculating load current of the BLDC A2212/6T 2200KV 3 phase induction motor:
From the specification of this BLDC,
Power, P = 239W
Assuming Power Factor, Cosφ = 0.8
Measured line to line voltage of 3 phase connection, Vline = 7.95 V
Load current draw by BLDC motor, Irms.load = P ( 3 * Vline * Cosφ )
( + ) Σ Fy = 0
Ffriction – mg = 0 Assuming,static co-efficient
Ffriction = mg of friction, µs = 0.8
µs . Fnormal = mg
Figure 4.2.1: Free-body diagram of
µs . Fthrust = mg [ from eq. i ]
the wall climbing robot during stuck
Therefore, Fthrust = mg/µs on the wall (static condition)
ME-B Group-3 24 | P a g e
In sense, if thrust force is greater than mg/µs then the body should be more static. Hence,
Fthrust ≥ mg/µs
So, m ≤ ( Fthrust . µs ) / g
=> m ≤ (8.99577 * 0.8) / 9.81
=> m ≤ 0.733 kg
∴ m ≤ 733 gm
According to this calculating we have to pack up our Wall climbing cleaner robot’s overall
mass within 733 gm.
Ffriction
Fnormal
75.9cm
θ
Ftendency
mg
θ
94.4 cm
Figure 4.3.1: Experiment of determining the static frictional coefficient of rubber tyre on
white board
ME-B Group-3 25 | P a g e
Friction Force ∝ Normal Reacion Force
Ffriction = µs * Fnormal
µs = Ffriction / Fnormal
µs = mg sinθ / mg cosθ
µs = tanθ
µs = 79.9 / 94.4
Therefore, µs ≈ 0.80402
Hence, static friction co-efficient of rubber tyre on white board is approximately
0.80402
Probable mass can be clung when the vertical surface is a white board,
From 4.2,
m ≤ ( Fthrust * µs ) / g
m ≤ ( 8.99577 N * 0.80402 ) / 9.81 m/s2
m ≤ 0.73729 Kg
Therefore, m ≤ 737.29 gm
According to this calculation, we have to pack up our Wall climbing cleaner robot’s overall
mass within 737.29 gm while clinging on white board surface.
ME-B Group-3 26 | P a g e
4.4 - Chassis Material Selection
We have to select such type of chassis material which has certain amount of bending moment
to resist bending of chassis.
Fthrust
Here, L = (3.34+3+3+3.34) inch
= 12.68*0.0254 m
= 0.3134 m
Assuming this case is with in simply supported beam with constant cross-sectional area :
Moment produced due to thrust force Fthrust ,
MC = Fthrust * L / 4
= 8.99577 * 0.3134 / 4
= 0.7049 Nm
So, the moment produce due to thrust force is 0.7049 Nm
ME-B Group-3 27 | P a g e
In sense, if,
MC > M : then it should bend
MC < M : then it should not bend
As, we get M = 1.55 Nm and MC = 0.7049 Nm. So, it satisfies our desired condition, MC < M.
ME-B Group-3 28 | P a g e
Chapter 05: Result and Discussion
5.1 - Objectives Completed
Design and fabricate a robot that can climb and clean the vertical surface.
[ See, Subchapter 3.3 ]
Construct a custom cleaning mechanism that puts less amount of force against thrust
force as the robot will mainly hold itself on the wall by thrust force.
[ See, Subchapter 1.5 ]
Build a robot that can climb faster than the suction based climbing robot.
5.3 - Limitations
If the full robotic system runs continuously with a full charge of 2200mAh 12V Li-Po
battery, it will run only three and a half or four minutes. So, the duration of work with
a full charge is very low.
The cleaning mechanism that has been installed on this robot is very inefficient in terms
of cleaning. The width of cleaning area by a single wipe is very small.
[ See, Subchapter 1.5 ]
Heating issue is one of the major limitations of this robot. The heat mainly generates in
the ESC and BLDC motor. [ See, Subchapter 4.1 ]
The signal range is very short. A HC-05 Bluetooth module is used as signal receiver in
this project. The range is only 10 meters or approximately 30 feet.
ME-B Group-3 29 | P a g e
Chapter 06: Conclusion
In this project, our objective was to design a cost efficient simple wall climbing cleaning robot.
Among the other mean of wall climbing methods the propeller thrust method is quite cost
effective and easy to design. During the climbing operation, a very precise calculation is done
so that it can generate enough thrust to cling the whole body of the robot to the vertical surface.
A very important term in this calculation was the determining the friction coefficient (µs) in
static condition of the rubber wheels of the robot on white board. It was calculated through an
experimental procedure. The programming code of the robot is also a vital part. This needs to
be done in the most accurate way possible otherwise the robot will not work properly. The
cleaning mechanism is a custom made mechanism which is designed especially for this robot.
A separate calculation is also done for the stress and deformation of the chassis. It is a very
important step as this calculation is directly related to material selection for the chassis. Overall
weight distribution and the component set ups and their positions also plays a very important
role for this robot to maintain its stability and fluent operation. However, this project is at its
initial stage. Further development and research can be done to maximize the robot’s efficiency
and to enhance its abilities.
ME-B Group-3 30 | P a g e
Chapter 07: References
[1] A. D. P. Raj and D. Nayak, "Design and development of wall climbing robot,"
ethesis@nitr, vol. 1, no. 3, pp. 1-27, 2014. http://ethesis.nitrkl.ac.in/5904/1/110ID0570-
4.pdf
[2] M. Donode, S. Bramhankar, M. M. Ansari, S. Ahmad, V. Chede and S. Choudhary, "Wall
Climbing Glass Cleaner Robot," International Journal of Innovations in Engineering and
Science, vol. 6, no. 2, pp. 1-3, 2021. http://www.ijies.net/finial-docs/finial-
pdf/020721681.pdf
[3] P. Liang, X. Gao, Q. Zhang, R. Gao, M. Li, Y. Xu and W. Zhu, "Design and Stability
Analysis of a Wall-Climbing Robot Using Propulsive Force of Propeller," Symmetry, vol.
13, no. 3, p. 37, 2020. https://www.mdpi.com/2073-8994/13/1/37
[5] H. A. Rodriguez-Arias, "Low-cost automatic device for obtaining the coefficient of static
friction," IOP Conference Series: Materials Science and Engineering, vol. 519, no. 5, p.
012018, 2019. https://www.researchgate.net/publication/333431558_Low-
cost_automatic_device_for_obtaining_the_coefficient_of_static_friction
ME-B Group-3 31 | P a g e
Chapter 08: Appendix
8.1 - Programming Code
Following coding is developed to create a program to control the overall operating
system of the robot through GUI designed in RemoteXY website:
#define REMOTEXY_MODE__HARDSERIAL
#include <RemoteXY.h>
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,5,0,0,0,64,0,15,31,0,
5,36,66,10,32,32,2,26,31,4,
0,15,14,8,36,2,26,10,59,77,
48,13,13,12,26,31,69,110,103,97,
103,101,0,31,68,105,115,101,110,103,
97,103,101,0,2,0,31,4,22,11,
2,26,31,31,79,78,0,79,70,70,
0 };
// this structure defines all the variables and events of your control interface
struct {
// input variables
int8_t joystick_1_x; // =-100..100 x-coordinate joystick position
int8_t joystick_1_y; // =-100..100 y-coordinate joystick position
int8_t slider_1; // =0..100 slider position
uint8_t switch_1; // =1 if state is ON, else =0
uint8_t switch_2; // =1 if switch ON and =0 if OFF
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
ME-B Group-3 32 | P a g e
#include <Servo.h>
Servo Motor;
Servo myservo;
int x=60;
#define PIN_SWITCH_1 13
ME-B Group-3 33 | P a g e
else{
digitalWrite (motor [0], LOW);
digitalWrite (motor [1], LOW);
analogWrite (motor [2], 0);
}
}
void setup()
{
RemoteXY_Init ();
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(12, OUTPUT);
tone(2, 2500);
delay(1000);
noTone(2);
delay(1000);
tone(2, 2500);
delay(500);
noTone(2);
delay(500);
tone(2, 2500);
delay(500);
noTone(2);
digitalWrite(4, HIGH);
myservo.attach(3);
myservo.write(150);
delay(2000);
myservo.write(180);
delay(2000);
myservo.write(120);
delay(2000);
myservo.write(60);
pinMode(3,OUTPUT);
digitalWrite(12, LOW);
ME-B Group-3 34 | P a g e
pinMode (PIN_SWITCH_1, OUTPUT);
//initialization pins
pinMode (right_motor_A, OUTPUT);
pinMode (right_motor_B, OUTPUT);
pinMode (left_motor_A, OUTPUT);
pinMode (left_motor_B, OUTPUT);
void loop()
{
RemoteXY_Handler ();
if(RemoteXY.switch_2==1)
{
//manage the right motor
Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x);
Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);
Motor.attach(11,1000,2000);
Motor.write(RemoteXY.slider_1 * 1.8);
if(RemoteXY.switch_1==1)
{
if(x>30)
{
digitalWrite(4, LOW);
for (x=60; x>0 ; x--)
{
// bail out on sensor detect
myservo.write(x);
delay(50);
}
digitalWrite(12, HIGH);
}
ME-B Group-3 35 | P a g e
else
{
x=0;
digitalWrite(4, LOW);
digitalWrite(12, HIGH);
}
}
else
{
myservo.write(60);
x=60;
digitalWrite(12, LOW);
digitalWrite(4, HIGH);
}
}
else
{
ME-B Group-3 36 | P a g e