automated mobile robot with rfid scanner and self obstacle ... · sensor modules and pre -loaded...
TRANSCRIPT
Automated Mobile Robot with RFID Scanner and Self Obstacle
Avoiding System 1Asif Ahmed Neloy,
2Aziz Arman,
3Mohammad Samiul Islam,
*4Tamanna Motahar
1234Department of Electrical and Computer Engineering,North South University
Dhaka, Bangladesh
Email: {asif.neloy, aziz.arman, samiul.mohammad,* tamanna.motahar}@northsouth.edu
Abstract
An Automated Mobile Robot can navigate on a floor freely by avoiding obstacles and
walking on the shortest path between two points. It uses a vector map of the floor and Dijkstra's
shortest path algorithm for calculating shortest path. For obstacle avoidance, it uses ultrasonic
sensor modules and pre-loaded intelligence. The RFID scanner is used for identification and
verification of destination and re-calibrating position of the robot on a path by detecting other
locations on the path. This system requires 195 RPM and 1.75 seconds duration for the robot to
successfully read the RFID tag.
Keywords:Mobile Robot; Obstacle Avoiding System; RFID; Delivery Robot; Dijkstra’s
Algorithm;
1. Introduction
1.1Background
Robotics is a growing field around the world, including Bangladesh. Over the past few
years, there has been a significant increase in the number of Robotics competition among
universities. [1] Most of these competitions are about constructing “Line Following Robots”.
Recently, a restaurant has opened where food is served by a “Line Following Robot” [2]. It is rare
to see robots in Bangladesh that are autonomous and capable of making complex decisions. An
autonomous intelligent robot that can go from one place to another within a building while
avoiding the obstacle is quite formidable to build. It comes with many challenges solving which
will take the robotics sector of Bangladesh another step forward [3].
1.2 Problem Formulation
Automating delivery of items between rooms using an “Automated Mobile Robot” that
can find its path from one point to another while avoiding obstacles, without any lines to follow.
Also, it can identify the source and destination by RFID scanning. After delivering the items, the
robot will backtrack its path to return to its source.
1.3Overviewof Automated Delivery Robot
The robot is called “Automated” because it is able to run without manual control of a
user. The user simply needs to input which rooms the delivery needs to go and the robot will
carry the item there.
The ADR uses the shortest path between source and destination. It calculates this path using
Dijkstra’s Shortest Path Algorithm [4].
International Journal of Pure and Applied MathematicsVolume 118 No. 18 2018, 3139-3150ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version)url: http://www.ijpam.euSpecial Issue ijpam.eu
3139
While traveling between source and destination, the robot can avoid obstacles. Once it reaches
the destination, it verifies the destination by scanning an RFID tag with the unique code on the
door. Once it is verified, it will wait there for a fixed amount of time (so that someone can pick
the item from the robot) and then backtrack to a source. If the verification is failed, it will still
return to the source.
2. Related Works
Robotics is a growing field and there are plenty of works which are related to ours.
Below are some of the works which relate to ours. This robot uses “Obstacle Avoidance”
techniques to reach a destination from the source. Obstacle Avoider Robot using ultrasonic sensor
HC-SR04 can sense the obstacle in its path and by identifying the object, it avoids the path [5] In
Bangladesh, popular trends in robotics have been regarding line follower robots and recently
restaurants using line follower robots for delivery. Yet there a scarcity of obstacle avoiding robot
systems likes ours and we can say that ours is the first of its kind in Bangladesh. Also from
Worcestershire Polytechnic Institute have developed an obstacle avoiding robotic system [6] but
it lacks the idea of delivering goods from one room to another that can help disabled people and
also small and big business ventures.
3. Proposed work
3.1 Basic Design of Robot
In our proposed design, the robot has 30 cm length, 20 cm width, and 15cm height. The
body is built of PVC cardboard. The whole system is controlled by Arduino Mega 2560 R3 which
has 16 MHz oscillators and ICSP header. It has 4 DC motors (12 volts, 400 RPM). These motors
are controlled by two L298N Dual Motor Driver for PWM control. The motors use positive polar
to indicate forward move and negative polar to move on backward direction. Sensors and
modules are also corporate with the circuits to control the system. Ultrasonic Sensor HC-SR04
for observing obstacles, RFID RC522 for RFID Reader and Scanner, Buzzer to emulate sound.
Figure 1: Automated Mobile Robot with RFID Scanner and Self Obstacle Avoiding
3.2 Algorithm
International Journal of Pure and Applied Mathematics Special Issue
3140
The floor on which the robot will work on is first modeled into a graph. Each room is a
node. In order to travel from one node to another, the floor is further divided into a mesh of nodes
[13]. There are edges between a pair of nodes whose weights are the distance between that pair of
nodes. These all nodes are considered as row and column of a 2-D matrix.
We have modified the Dijkstra’s shortest path algorithm to find the shortest distance between two
nodes [12]. First, the robots need the distance between source and destination. Suppose the
Source is U and the destination is V. The robot will calculate the shortest distance by Vector
Mapping (VecSLAM) [7] using the following algorithm.
{
measure_source();
measure_destnation();
motor_reading ();
shortest_path();
if (sonar_reading() == true) {
avoid_obstacle();
}else {
motor_reading();
}
}
Shortest Path Calculation:
For each node distance, n, in the graph:
n.destination_distance = Infinity (Keypad Reading)
Create an possible path list
start.source_distance = 0, (motor off)
While path list not empty:
current_source = node in the list with the smallest distance from destination, remove current from
list
For each node from source, n that is adjacent to current distance:
if source.distance>current.distance + length of edge from n to current destination
destination.distance = current.distance + length of edge from n to current source (distance
measuring for RPM of robot, motor starts)
Mainly, the robot calculates the vector mapping source and destination distance from the
user input[8]. If the node distance is 10 cm, each node from the source will be calculated with
pre-loaded vector mapping. 2-D grip will define the row and column between source and
distance. The robot will calculate row to row and column to column distance to measure actual
path.
International Journal of Pure and Applied Mathematics Special Issue
3141
Figure 2: Row-Column divination for path measurement
3.3 System Design
3.3.1 Equipment list:
One of the main specialties of this robot is, it is cost and power efficient. Very few
Drivers and Sensors have been used and all of them are operable in a very low Power supply. All
the equipment’s are listed with power capacity.
Arduino Mega 2560 R3: Arduino mega 2560 has integrated as the main development board in
this robot where Input Voltage (limits) : 6-20V and Operating Voltage : 5V[9].
Motor Driver: L298N motor driver has been used to control the PWM of the Robot where
Operating Voltage: up to 46V and Total DC Current: up to 4A [9]
Motor: 4 DC Motors with 400 RPM controls the movement and speed whereVoltage: 12V and
Voltage Range: 6-12V[9]
Wheels:42x19mm pololu is associated with the DC Motors whereDiameter: 1.65 inches (42
mm) and Width of tire: 0.75 inch (19mm) [9]
Sensors:Ultrasonic Sensor HC-SR04 is used to sense the obstacle for the robot. 4 of them has
been used in Front, Rear, Left and Right where Voltage: DC5V and Current: less 2mA[9]
RFID Reader: Mifare RC522 Module RFID Reader Scans the RFID tags and
recirculates the result to the robot where Frequency: 13.56MHz [9]
Keypad: Flexible 4*4 Matrix Keypad has been used to take the input of Room Number from the
User. Buzzer: 5V Continuous Tone Beeper Creates the sound when the robot successfully scans
the RFID tag while Roaming where Voltage Range: 2 ~ 5VDC and Sound Pressure Level: 82 dB
[9]
Mini Breadboard:Mini breadboard of 170 Points have been used to regulate the whole circuit.
International Journal of Pure and Applied Mathematics Special Issue
3142
Power Source:LIPO 2200mAh 11.1V battery is the power source for the whole robot and
circuits.
3.4 Assemble and System Principle:
DC Motor Connection with Motor Drivers-DC motors are connected to the L298N
dual motor. 2 L298N motor controls 4 motors. Positive polar of the DC motor will work as the
Forward movement and Negative polar will be the Backward Movement.
Ultrasonic Sensor connection: Trig and Echo Pin of Ultrasonic Sensor are connected to
Arduino Mega (Digital Pin 33-41) and VCC GND shorted in Breadboard.
RFID RC522 connection: RC522 is placed on Right Side of the Robot and GND VCC is shorted
in Breadboard. RST/Reset - D5, SPI SS - D53, SPI MOSI - D51, SPI MISO - D50, SPI SCK-
D52
Keypad: 4*4 Matrix Keypad is the input source to define source and destination for the Robot.
All the input Pins are connected on Digital Pin of Mega. Here, Row Pins = {23, 25, 27, 29} and
Col Pins= {28, 26, 24, 22}
LIPO:Lipo is the power source for both Bread Board and Arduino Mega. So the positive
terminal is connected to the VCC and 9V terminal is connected in the GND phase.
3.5 Implementations:
After the assembly we have to test or implement the system. For testing following steps
are followed- 1. We have tested the polarity of the motors if they are rotating in the same
direction also their rotation speed. 2. Ultrasonic Sensor reading will provide the actual distance
between objects, which has illustrated in figure 3(a). 3. Test the RFID Tag serial number if they
are being able to read correctly, this test confirms the range and tag id of RFID. Figure 3(b)
shows the result of this test.
International Journal of Pure and Applied Mathematics Special Issue
3143
Figure 3: (a) Ultrasonic Sensor reading from Arduino Serial Monitor, (b) RFID Scanner Result
from Arduino Serial Monitor
3.6 System Principle: RFID and Ultrasonic Sensors are quite complex to handle on a Robotics
System. To handle both sensors and modules, the construction of the robot is shown in Figure 4.
3.7 Circuit: Sample Circuit has been generated by Fritzing [10]. Infigure-4 illustrates the whole
circuit that are implemented in the Robot (digital pin numbers of Arduino mega are changed in
the figure).
International Journal of Pure and Applied Mathematics Special Issue
3144
Figure 4: (a) Circuit Diagram, (b) Work Process
3.7 Result and Discussion:
International Journal of Pure and Applied Mathematics Special Issue
3145
This intelligent robot is capable of moving from one node to another, but only when
certain conditions are met. The robot is able to neutralize some of the errors by regularly scanning
rooms across its pathway using RFID.
The sonar module used for detecting obstacles is pretty accurate, but they still have their
limitations. Experiments have been run to determine the distance of obstacle that sonar modules
can accurately read. An object is placed at a distance of D from the sensor and reading are taken
for a cross check. The distance D is then gradually decreased until 0 while readings are
continuously monitored. A chart (Figure-6) has been generated from the experiment readings
using an online tool Meta-Chart [11]. Black Straight lines of Figure 5 are the error that observed
during taking sensor values of HC-SR04. These values obtained from 20 experiments.
Figure 5: Error range of Ultrasonic Sensor
International Journal of Pure and Applied Mathematics Special Issue
3146
Table 1: RFID Tag Reading time comparing to Speed
Generated by Meta-Chart
Another experiment has been run on reading capabilities of RFID scanner under motion, using
Arduino Serial Monitor. The experiment has been run to determine the optimal speed of the robot
such that it does not skip over the target.
Here, RPM refers to “Revolutions per Minute” of the wheel (speed of the robot) “Time Duration”
refers the amount of time RFID scanner takes two processes reading. As the speed of robot
increases, the RFID scanner finds it difficult to make a proper reading. From this trial and error
experiment (Arduino Serial Monitor), it has been decided to use 195 RPM and 1.75 seconds
duration for the robot to successfully read the RFID tag.
4. Conclusion
The robot can navigate on the floor as long as the detailed map is provided to it
beforehand. A smart robot that can navigate without any line to follow can open doors to further
innovation of the robot industry in Bangladesh. The robot has to room further improvements such
as using indoor positioning system to accurately track position on the floor, voice control for ease
of use and more structural supports to avoid a wider range of obstacles.
References:
International Journal of Pure and Applied Mathematics Special Issue
3147
Website:
[1]Chowdhury,A.M. (26 May, 2017).Prospects Of Robotics In Bangladesh. Daily Sun, Retrieved
from http://www.daily-sun.com
[2] Senior Correspondent (2017-11-15).First-ever 'Robot Restaurant' launched in
Bangladesh.Bdnews24,
Retrieved from https://bdnews24.com
[3]Farhin,N. (September 27, 2017).Bangladesh looks to take robotics education to the next level.
DhakaTribune, Retrieved from http://www.dhakatribune.com
[4]Abiy,T et. al. Dijkstra's Shortest Path Algorithm. Retrieved from
https://brilliant.org/wiki/dijkstras-short-path-finder/
[5]Kinshy, P et. al. and Yang, Z et. al. Obstacle Avoidance Robot. Retrieved from
https://pdfs.semanticscholar.org/fa08/e2f266c1eba32340519003a62b53adc47bd7.pdf
[9] Retrieved from https://www.robotshop.com/
[10] Retrieved from http://fritzing.org/home/
[11]Retrieved from https://www.meta-chart.com/
Journal:
[6]Hanumante,V et. al., 2013. Low Cost Obstacle Avoidance Robot. International Journal of Soft
Computing and Engineering (IJSCE), 3(4), pp.52-55.
[7]Sohn, H et. al., 2009. VecSLAM: An Efficient Vector-Based SLAM Algorithm for Indoor
Environments.Journal of Intelligent & Robotic Systems, 56(3), pp.302-318
[8]Se, S et. al., 2002. Mobile Robot Localization and Mapping with Uncertainty using Scale-
Invariant Visual Landmarks, 21(8), pp.735-758
Conferences
[12] Brendan, H., Gordon, J., 2005. Generalizing Dijkstra's Algorithm and Gaussian Elimination
for Solving MDPs. In International Conference on Automated Planning and Scheduling/Artificial
Intelligence Planning Systems - ICAPS (AIPS), 2005 (pp. 151-160).
[13]Sudhakar, T.D.,Vadivoo, N.S., Slochanal, S.M.R., Ravichandran, S., November,2004. Supply
restoration in distribution networks using Dijkstra's algorithm. In International Conference on
Power System Technology, Singapore. 2004(PowerCon 2004)
Authors Biography
International Journal of Pure and Applied Mathematics Special Issue
3148
Asif Ahmed Neloy was born in Mymensingh, Bangladesh, in 1997. He is now doing his
undergraduate in Computer Science and Engineering at North South University. His research interests are
Robotics, Artificial Intelligence, Machine Learning, and Data Science. He was the 1st Runner up of IEEE
Day Hackathon 2017, BUET Hackathon, IUT Hackathon, MIST Robot fight contest. He is the author of a
fundamental basic robotics book called “Esho Robot Banai” which means “Let’s learn Robotics”.
Aziz Arman was born in Noakhali, Bangladesh, in 1997. He is an undergraduate student of
Computer Science and Engineering at North South University. His research interests are Augmented
Reality, Machine Learning, Artificial Intelligence and Robotics, Mobile Applications. He was the
Champion of IEEE Day Hackathon 2017. He was the finalist of Tech for Peace Hackathon.
Mohammad Samiul Islam was born in 1993. He is an undergraduate student of Computer
Science and Engineering at North South University, Dhaka, Bangladesh. His research interests are Web-
based application and Mobile Applications.
TamannaMotahar is a lecturer in Electrical and Computer Engineering department at North
South University, Dhaka, Bangladesh. She earned her M.Eng. Degree at University of Alberta, USA. She
specializes in computational electromagnetics, Human-Computer Interaction, and computer simulation.
International Journal of Pure and Applied Mathematics Special Issue
3149
3150