SlideShare a Scribd company logo
1 of 30
I
TRIBHUVAN UNIVERSITY
INSTITUTE OF ENGINEERING
PASCHIMANCHAL CAMPUS
LAMACHAUR POKHARA
A Project Report
On
INDOOR PATH FINDING AND PLANNING OF A MOBILE ROBOT FOR
WAREHOUSES
Submitted by:
Anis Shrestha [PAS075BEI003]
Sachin Giri [PAS075BEI032]
Sunil Shah [PAS075BEI044]
Suyogya Bhandari [PAS075BEI047]
Submitted to:
Department of Electronics and Computer Engineering
Paschimanchal Campus Lamachaur-16, Pokhara
II
TRIBHUVAN UNIVERSITY
INSTITUTE OF ENGINEERING
PASHCHIMANCHAL CAMPUS
DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING
The undersigned certify that they have read, and recommended to the Institute of
Engineering for acceptance, a project report entitled "INDOOR PATH FINDING
AND PLANNING OF A MOBILE ROBOT FOR WAREHOUSES" submitted
by Anis Shrestha, Sachin Giri, Sunil Shah, and Suyogya Bhandari in partial
fulfillment of the requirements for the Bachelor’s degree in Electronics,
Communication, and Information Engineering.
_____________________
Supervisor: Sharan Thapa
MSc Program Coordinator
Department of Electronics And Computer Engineering
_____________________________________
Laxmi Prasad Bastola
Deputy Head of Department
Department of Electronics and Computer Engineering
DATE: May 9, 2022
III
COPYRIGHT
The author has agreed that the Library, Department of Electronics and Computer
Engineering, Pashchimanchal Campus, Institute of Engineering may make this report
freely available for inspection. Moreover, the author has agreed that permission for
extensive copying of this project report for scholarly purposes may be granted by the
supervisors who supervised the project work recorded herein or, in their absence, by the
Head of the Department wherein the project report was done. It is understood that the
recognition will be given to the author of this report and the Department of Electronics and
Computer Engineering, Pashchimanchal Campus, Institute of Engineering for any use of
the material of this project report. Copying or publication or the other use of this report for
financial gain without the approval of the Department of Electronics and Computer
Engineering, Paschimanchal Campus, Institute of Engineering, and the author’s written
permission is prohibited.
Request for permission to copy or to make any other use of the material in this report in
whole or in part should be addressed to:
Head
Department of Electronics and Computer Engineering
Pashchimanchal Campus, Institute of Engineering
Lamachaur, Pokhara
Nepal
IV
ACKNOWLEDGEMENTS
Path planning is the most important issue in-vehicle navigation. It is defined as finding a
geometrical path from the current location of the vehicle to a target location such that it
avoids obstacles.
This project as a black-box model takes a grid map, obstacles, and initial and final point
from the user and provides the information on how the vehicle should navigate such that it
avoids any collision. Moreover, our team being a group of tech enthusiasts while working
on this project we were able to learn a better and more efficient way to find new algorithms
to complete the path.
Here, the concept of A* star algorithm, Matlab GUI (to make it user friendly), LM393
speed sensor, MPU6050 orientation sensor, motor driver, motors, STM32 processor, and
moving a vehicle in grid map was used.
Besides, this project wasn’t possible on its own, we would like to express our sincere
gratitude to Mr. Ramesh Thapa, Head of Department, and Mr. Laxmi Prasad Bastola,
Deputy Head of Department, who gave us the golden opportunity to do this wonderful
project that aims to create the shortest path planning route between any two points. We are
also equally thankful to Mr. Sharan Thapa for his valuable guidance and supervision that
helped us to complete the project with the necessary accuracy and effectiveness.
We are thankful to the Department of Computer and Electronics Engineering,
Paschimanchal Campus for granting us this good opportunity.
Further, we are obliged to our friends and classmates who constantly without any hesitation
and expectations instantly help us solve and tackle the problems we faced.
V
ABSTRACT
Indoor path planning and tracking of a mobile robot, in general, is a hardware and software-
based project which is specifically designed for pathfinding and planning to reach from
one position to another. Accurate calibration of the path is the key to successful
displacement. The objective of this project is to study the effective implementation of the
shortest pathfinding algorithm, A* in MATLAB to navigate the robots between any two
positions of the predefined indoor map.
At first, an indoor floormap was fetchedto MATLAB which finds the minimum path from
one positionto another using the A* algorithm. Those arrays ofdata solved from MATLAB
were sent to the robot via Bluetooth using the Bluetooth module. Further, MPU6050
changed the orientation of the robot whenever a robot had to turn left or right or self-
calibrate its position. An LM393 speed sensor found the revolution per minute(rpm) of the
robot and moved in a direction an exact distance without sliding from its defined route.
VI
CONTENTS
COPYRIGHT...................................................................................................................................III
ACKNOWLEDGEMENTS.............................................................................................................. IV
ABSTRACT.....................................................................................................................................V
CONTENTS ................................................................................................................................... VI
LIST OF FIGURES ........................................................................................................................VII
LIST OF SYMBOLS/ABBREVIATIONS .......................................................................................VIII
CHAPTER 1. INTRODUCTION................................................................................................... 1
1.1 Background ........................................................................................................................... 1
1.2 MOTIVATION AND INSPIRATION....................................................................................... 1
1.3 PROBLEM STATEMENT...................................................................................................... 2
1.4 OBJECTIVES........................................................................................................................ 2
1.5 SCOPE.................................................................................................................................. 3
CHAPTER 2. LITERATURE REVIEW......................................................................................... 4
CHAPTER 3. RELATED THEORY............................................................................................... 6
3.1 Matlab.................................................................................................................................... 6
3.2 A* Search Algorithm.............................................................................................................. 6
3.3 STM32 Arm Cortex MCU...................................................................................................... 8
3.4 LM393 sensor........................................................................................................................ 8
3.5 MPU6050 .............................................................................................................................. 8
3.6 Arduino .................................................................................................................................. 9
3.7 HC05 Bluetooth Module...................................................................................................... 10
CHAPTER 4. METHODOLOGY................................................................................................. 11
4.1 System Block Diagram........................................................................................................ 11
4.2 Activity Diagram of calculation in Matlab............................................................................ 12
4.3 Activity Diagram in a physical robot.................................................................................... 14
4.4 Selection of A* algorithm..................................................................................................... 15
4.5 Path visualization of the robot............................................................................................. 16
4.6 Master-slave relation between STM32 and Arduino .......................................................... 16
4.7 Interfacing between Microcontroller and components........................................................ 17
CHAPTER 5 OUTPUT AND ANALYSIS ..................................................................................... 18
CHAPTER 6. CONCLUSION AND FUTURE ENHANCEMENT ............................................... 21
CHAPTER 7. REFERENCES..................................................................................................... 22
VII
LIST OF FIGURES
Figure 3.2 A* path planning ……………………………………………………………14
Figure 4.1 System Block diagram of a system…………………………………...……...18
Figure 4.2 Activity diagram of calculation in Matlab…………………………………...19
Figure 4.3 Activity diagram of calculation in physical robot..…………………………..21
Figure 4.6 Master-Slave relation between STM32 and Arduino………………………...23
Figure 4.7 Interfacing…………………………………………………………………….24
Figure 5.1 Matlab GUI …………………………………………………………………..25
Figure 5.2 GUI with obstacles…………………………………………………………...26
Figure 5.3 Optimal path found…………………………………………………………...27
VIII
LIST OF SYMBOLS/ABBREVIATIONS
2D Two Dimensional
A* A Star
PRM Probability Roadmap
RPM Revolution Per Minute
SGPP Save Global Path Planning
VHF Very High Frequency
1
CHAPTER 1. INTRODUCTION
1.1 Background
Pathfinding robots have become an important part of industry life whose form has been
changed into different ones overtime where the main gist of locomoting products from one
unit to another unit has always been the same. Pathfinding is vague in itself because of
real-time obstruction, immobile objects, and multiple paths generated between any two
points while maintaining its balance itself. Nowadays, line-following robots and heavy
cargo lifting robots are in the feed of different industries.
Furthermore, for navigation and tracking of the robot, Global Positioning System (GPS)
and other similar global navigation satellite systems (GNSS) are generally not suitable to
establish indoor locations, since microwaves will be attenuated and scattered by roofs,
walls, and other objects.
The major need for this system is for the dynamic nature of the environments the robot will
be placed in and the extra installation required for the robot to work. A * algorithm would
help in finding the shortestpath between the start and end position of the indoor map, based
on the grid system.
1.2 MOTIVATION AND INSPIRATION
It all startedwhen we were brainstorming for the minor project ideas. Then, we came across
this topic and we also had previously heard about shortest path finding through different
articles. It immediately caught our attention as our group consists of people who are keen
on robots that can help us solve our problems. At first, we were curious about ourselves
how we can implement the A* algorithm towards optimal pathfinding and what parameter
will our model use.
Being an engineering students, the major inspiration which led us to select, work on
throughout, and complete this project was to know we were creating something that
combine electronics components with the A* algorithm. Out of several inspiring factors,
learning and gaining more knowledge about how we can implement our algorithm in a
mobile robot was the major factor that led us through this project.
2
1.3 PROBLEM STATEMENT
A common task for a mobile robot is to navigate in an indoor environment. Determining
the precise location within a map and arriving at a particular place without collision is a
great challenge in mobile robotics. If the robot has a precise map of the environment then
it can use many techniques to navigate optimally. This is called path planning or global
navigation.
Every path planning method is dependent on a state space, representation of all possible
positions, and orientation of a robot. The most used representation of state space in robotics
is the grid/metric map. Although geometric or topological representations are used, the
metric map is easy to update new information about the environment. The algorithm
evaluated in this proposal is based on a grid representation of space.
So, to provide a cheap and effective navigation system for mobile robot navigation, a low-
cost inertial navigation system using the easily available MPU-6050 sensor is proposed
here. The MPU-6050 is a low-cost integrated 6-axis motion tracking IMU sensor that
combines a 3-axis gyroscope and a 3-axis accelerometer. Also, Bluetooth communication
will be studied in detail for the transfer of routing data and tracking of the robot in
MATLAB.
1.4 OBJECTIVES
● To study the effective implementation of the shortest pathfinding algorithm, A*,
and the autonomous navigation of the mobile robot in a grid system.
● To find the optimal path between any two positions of the predefined indoor map in
a grid system and track and visualize the position of the robot at any time instance.
3
1.5 SCOPE
Shortest pathfinding has evolved in different ways since the industrial revolution. So, new
algorithms for shortest paths were constantly developing. From serving orders in a
restaurant to finding a path from home to office without any traffic on google maps, we
have come a long way. Our project has huge potential in automatic path planning for a
dual-crane lifting problem in a complicated environment, looking for victims in a disaster
where humans have difficulty moving around, and food or medicine delivery from
restaurants or hospitals to the order location when upgraded suitably.
Based on the usability of the A* algorithm, it can be implemented for a specific purpose in
gaming, bioinformatics, character animation, industrial automation, and single and
multiple robot navigation in both two and three dimensions. MPU 6050 is utilized in
aerospace technologies, missile guidance systems, submarine navigation, etc. The data
obtained from MPU 6050 has major application in the field of navigation, position
estimation, and determining the orientation of a system in any environment.
4
CHAPTER 2. LITERATURE REVIEW
Leigh R, Zheng T: Path planning has become a prominent technique in the navigation field.
It is employed in most games, mobile robots, and many more. The accuracy of the
algorithms is a major factor, the best result algorithm is always employed in the real world
apart from others. One such algorithm for path planning is the A* (* spelled as A-star)
algorithm. Mobile robots use the A* algorithm, which is the best example forpath planning
applications that travel in the shortest path towards the target location. A* algorithm uses
heuristic values this makes the algorithm most effective, accurate, and unique from all other
algorithms. Mobile robots have the analytical ability to generate paths in a real-world
environment that allows the robots to reach their destination without any ambiguity and
collision. Robots use trajectory planning for navigation. This decides the movement of the
robot in generating the path to reach the destination while at rest and even in the motion.
While traveling it might come across many obstacles so it has to identify, neglect the
obstacles and navigate accordingly towards the target without collision. Collision is the
major aspect that has to be looked after in the case of mobile robots for their safe
navigation. The safety of a mobile robot depends upon how much clearance area has been
found when it moves from the trajectory of a sharp or closer obstacle. To start over
Richardo ocotillo has proposed a method to overcome the collision while traveling, using
different terrain and obstacle encounters he designed a modular robotic system,
unfortunately, it doesn't work practically.
Further Jong-hyun Park and UK-Youl Huh proposed SGPP(save global path planning) a
combination of classical A* with PRM (probability roadmap) algorithms. This helps to
overcome the collisions at the corners and turns (even after the use of sensors) by
determining the hazardous points, risk distance, and velocity control. The path is generated
using SGPP along with the A* algorithm with minimum cost. They explained with a
simulation that the SGPP method showed superior performance to the other considered
algorithms in terms of the safety cost and navigation time. Further, Borenstein and Koren
came up with a new collision-free technique VFH method, In which a two-dimensional
Cartesian Histogram Grid is updated continuously and in real-time with range data sampled
by the onboard range sensors. The data in the Histogram Grid is reduced to a one-
dimensional Polar Histogram that is constructed around the robot's momentary location.
This Polar Histogram represents the polar obstacle density around the robot A sector with
low obstacle density which is close to the target direction is selected, and the robot's
steering is aligned with that direction. They implemented and testedthe VFH method on a
commercially available mobile platform (Cybermation, 1987), with the best result.
5
The literature survey, by observing all the problems and respective approaches to find a
solution, showed us to locate the problem first and then find a perfect solution for it. The
main problem is finding the obstacles, as we see to understand the working of the A*(A
STAR), the algorithm is tested on simple 2D matrices of different sizes and the results are
observed. The inputs are the obstacles, vehicle position, and target position. The maximum
time consumed is due to the time taken to give inputs to the program graphically with
minimal human error. The human error consists of errors such as wasting time,
unintentionally or intentionally, or delay in understanding the instructions, or delay in
giving inputs to the code perfectly. This process is not so effective when considered for
bigger matrices or bigger problems.
To overcome this problem, there is an automatic obstacle detection equipped in the code,
then and only then the obstacles are found at faster rates that is at the rate of CPU. The
CPU processing rate is much faster than the rate at which humans give obstacles as inputs.
The need for simulation of the path carried by the vehicle in the map given as input can
give a clear understanding of the implementation of the A*(A-STAR) algorithm in real-
life maps. The inputs are real-life maps and with the simulation, greater and more precise
results are achieved.
6
CHAPTER 3. RELATED THEORY
3.1 Matlab
MATLAB is a high-performance language for technical computing. It integrates
computation, visualization, and programming in an easy-to-use environment where
problems and solutions are expressed in familiar mathematical notation. Typical uses
include Math and computation, Algorithm development, Modeling, simulation, and
prototyping, Data analysis, exploration, and visualization, Scientific and engineering
graphics, and Application development, including Graphical User Interface building.
MATLAB is an interactive system whose basic data element is an array that does not
require dimensioning. This allows you to solve many technical computing problems,
especially those with matrix and vector formulations, in a fraction of the time it would take
to write a program in a scalar noninteractive language such as C or Fortran.
3.2 A* Search Algorithm
A* (pronounced as "A star") is a computer algorithm that is widely used in pathfinding and
graph traversal. The algorithm efficiently plots a walkable path between multiple nodes, or
points, on the graph.
On a map with many obstacles, pathfinding from points A to B can be difficult. A robot,
for instance, without getting in much other direction, will continue until it encounters an
obstacle, as in the path-finding example to the left below.
However, the A* algorithm introduces a heuristic into a regular graph-searching algorithm,
essentially planning at each step so a more optimal decision is made. With A*, a robot
would instead find a path in a way similar to the diagram on the right below.
A* is an extension of Dijkstra's algorithm with some characteristics of breadth-first search
(BFS).
Like Dijkstra, A* works by making a lowest-cost path tree from the start node to the target
node. What makes A* different and better for many searches is that for each node, A* uses
a function f(n)f(n) that gives an estimate of the total cost of a path using that node.
Therefore, A* is a heuristic function, which differs from an algorithm in that a heuristic is
more of an estimate and is not necessarily provably correct.
7
A* expands paths that are already less expensive by using this function:
f(n)=g(n)+h(n), where
f(n) = total estimated cost of the path through node n
g(n) = cost so far to reach node n
h(n) = estimated cost from n to goal. This is the heuristic part of the cost function, so it is
like a guess.
Figure 3.2: A* path planning
8
3.3 STM32 Arm Cortex MCU
The STM32 family of 32-bit microcontrollers based on the Arm® Cortex®-M processor
is designed to offer new degrees of freedom to MCU users. It offers products combining
very high performance, real-time capabilities, digital signal processing, low-power / low-
voltage operation, and connectivity while maintaining full integration and ease of
development.
The unparalleled range of STM32 microcontrollers, based on an industry-standard core,
comes with a vast choice of tools and software to support project development, making this
family of products ideal for both small projects and end-to-end platforms.
3.4 LM393 sensor
The LM393 is a dual independent accuracy voltage integrated circuit operated with a single
or else split supply. These ICs comprise two independent voltage comparators to operate
from only power supply more than a wide variety of voltages. Working with two supplies
is also achievable as long as the variation among the two supply voltages is 2 volts to 36
volts, & VCC is a minimum of 1.5 volts extra positive than the i/p voltage.
This IC includes 8-pins and every pin of this IC has different features from each other. The
eight pins of this IC are listed below.
● Pin1 (OUTA): Output A
● Pin2 (In A-): Inverting input A
● Pin3 (In A+): Non-inverting input A
● Pin4 (GND): Ground
● Pin5 (INB+): Non-inverting input B
● Pin6 (INB-): Inverting input B
● Pin7 (OUTB): Output B
● Pin8 (Vcc): Voltage Supply
3.5 MPU6050
MPU6050 is a Micro Electro-mechanical system (MEMS), it consists of a three-axis
accelerometer and three-axis gyroscope. It helps us to measure velocity, orientation,
acceleration, displacement, and other motion-like features. MPU6050 consists of Digital
Motion Processor (DMP), which has the property to solve complex calculations. It
consists of 16-bit analog to digital converter hardware. Due to this feature, it captures
9
three-dimension motion at the same time. This module uses the I2C module for
interfacing with Arduino.
There is a main eight PINOUT of MPU6050, which are described here:
● Vcc: This pin is used for Supply Voltage. Its input voltage is +3 to +5V.
● GND: This pin is used for ground.
● SCL: This pin is used for clock pulse for I2C compunction
● SDA: This pin is used for transferring data through I2C communication.
● XDA: It can be used for other interfaced I2C modules with MPU6050.
● XCL: It can also be used for other interfaced I2C modules with MPU6050.
● ADO: If more than one MPU6050 is used on a single MCU, then this pin can be
used to vary the address.
● INT: This pin is used to indicate that data is available for MCU to read.
3.6 Arduino
Arduino UNO is a low-cost, flexible, and easy-to-use programmable open-source
microcontrollerboard that can be integrated into a variety of electronicprojects.This board
can be interfaced with other Arduino boards, Arduino shields, and Raspberry Pi boards and
can control relays, LEDs, servos, and motors as an output.
These are the pins on Arduino, which are described here:
● Vin: Input voltage to Arduino when using an external power source.
● 5V: Regulated power supply used to power microcontroller and other components
on the board.
● 3.3V: 3.3V supply generated by the onboard voltage regulator. The maximum
current draw is 50mA.
● GND: ground pins.
● Reset: Resets the microcontroller.
● Analog(A0 - A5): Used to provide analog input in the range of 0-5V
● Digital pins(0-13): Can be used as input or output pins.
● Serial Tx and Rx: Used to receive and transmit TTL serial data.
● External Interrupt 2 and 3: To trigger an interrupt.
● PWM(3, 5, 6, 9, 11): Provides 8-bit PWM output.
● SPI(10,11,12,13): Used for SPI communication.
● Inbuilt LED(13): To turn on the inbuilt LED.
10
3.7 HC05 Bluetooth Module
HC-05 is a Bluetooth module that is designed for wireless communication. This module
can be used in a master or slave configuration. It can add two-way (full-duplex) wireless
functionality to your projects.
There is a main eight PINOUT of MPU6050, which are described here:
● Enable / Key: This pin is used to toggle between Data Mode (set low) and AT
command mode (set high). By default, it is in Data mode.
● Vcc: Powers the module. Connect to +5V Supply voltage
● Ground: Ground pin of module, connect to system ground.
● Transmitter (TX): Transmits Serial Data. Everything received via Bluetooth will
be given out by this pin as serial data.
● Receiver (RX): Receive Serial Data. Every serial data given to this pin will be
broadcasted via Bluetooth.
● State: The state pin is connected to a board LED, it can be used as feedback to
check if Bluetooth is working properly.
● LED: Indicates the status of the module.
● Blink once in 2 sec: Module has entered Command Mode
● Repeated Blinking: Waiting for connection in Data Mode
● Blink twice in 1 sec: Connection successful in Data Mode
● Button: Used to control the Key/Enable pin to toggle between Data and command
Mode.
11
CHAPTER 4. METHODOLOGY
Our main focus for this project is to provide users with an environment where they can
know about the optimal path between any two points. For this, we dedicated our effort to
a case study of the shortestpathfinding algorithm and its implementation. We will be using
a Matlab program and simulation along with A* algorithms to find the optimal path. We
will be using a path implementation based on the speed sensor and orientation sensor.
4.1 System Block Diagram
The general concept of execution is that the user gives the coordinates and the program
finds the optimal path and then it moves according to the command in real life.
Figure 4.1: System Block diagram of a system
From the system block diagram, we can see that we have taken a grid map. We feed the
current position and destination to the map. Those coordinates are fed to A* algorithm
processing where we will get an array of coordinates. These coordinates are fed to
STM32 which keeps on reading the speed from the LM393 speed sensor. The STM32
behaves as a master and Arduino behave as a slave where Arduino only checks the
orientation from the MPU6050 sensor. All these data are processed and finally, the
required distance is moved until the target is reached.
12
4.2 Activity Diagramof calculationin Matlab
Activity diagrams show the flow of sequential activity taking place in that system. Let us
see the activity diagram of software in Matlab as shown in the following figure.
Figure 4.2: Activity diagram of calculation in Matlab
13
In the above flowchart, we can see that the initial step is to run the Matlab GUI. We turn
on Bluetooth from Matlab and connect it to the Bluetooth module of the robot. If the
connection is established, we go next otherwise we keep looping to see if the connection
is established. We input the initial and final coordinates in GUI. The initial start node(n) is
selected and put on the open list. The cost function of the algorithm is calculated via the
formula f(n) = g(n) + h(n). We remove the node from the open list and put it on a closed
list. We save the index of the sector n which has the smallest value of f(n). We compare
whether the node is the target or not. If it is not target, we detect all the successor sectors
of node n which do not exist on the closedlist and calculate the cost function f(n) for each
sector. If it is the target, we terminate the algorithm and use the pointers of indexes to get
the optimal path. Finally, we send the optimal path to the robot via Bluetooth. And it ends
the process in our Matlab software.
14
4.3 Activity Diagram in a physical robot
Let us see the activity diagram of calculation done in the four-wheeler robot as shown in
the following figure.
Figure 4.3: Activity Diagram in a physical robot
15
Initially, the input array of coordinates that comes from Matlab is fed to the STM32 master
controller. The initial and next point is taken from the array. We compare whether the
current position is targeted or not. If it is not the target, we subtract the two consecutive
coordinates. The resultant coordinate will be in the form of (0,1), (1,0), etc. which are
represented by the direction. In our system, we have (0,1) as the forward direction, (-1,0)
as the left direction, (1,0) as the right direction, and (0,-1) as the backward direction. After
we get the direction, we check whether it is left or right. If it is left or right, we change the
orientation toa +90or -90angle. If the directionis not leftor right, we check if the direction
is forward. If it is in the forward direction, we move 25cm away for 1 grid. We update the
current position as the next position to keep on looping until we reach our target.
4.4 Selection of A* algorithm
A* algorithm is one of the best-known path planning algorithms, which can be applied to
metric or topological configuration space. This algorithm uses a combination of heuristic
searching and searching based on the shortest path. A* algorithm is defined as the best-
first algorithm because each cell in the configuration space is evaluated by the value:
f(v)=g(v)+h(v).
Where h(v) is the heuristic distance (Manhattan, Euclidean, or Chebyshev) of the
cell to the goal state and g(v) is the length of the path from the initial state to the goal state
through the selected sequence of cells.
This sequence ends in the evaluated cell. Each adjacent cell of the reached cell is evaluated
by the value f(v). The cell with the lowest value of f(v) is chosen as the next one in the
sequence. . Advantage of this algorithm is that the distances used as a criterion can be
adopted, modified or another distance can be added. This gives a wide range of
modifications to this basic principle.
16
4.5 Path visualization of the robot
Every time a robot moves to a new grid it sends an update signal back to the user in
MATLAB. The successfully traveled grids will be plotted and visualized for path tracking.
Additionally, an Ultrasonic sensor would be integrated into the robot that detects any
additional obstacles. The presence of the obstacle would result in the robot’s motion
ceasing for a certain amount of time. The robot keeps rechecking for any obstacles until
the obstruction has been cleared. Finally, the robot moves towards its goal position.
4.6 Master-slave relation between STM32 and Arduino
When we performed multiple trials with our robot, we found that the system was too heavy
for STM32 to handle alone because of which it couldn’t supply enough power to
MPU6050. Due to the rise of this problem, we added an Arduino which was completely
responsible for supplying MPU6050 correct data. With this approach, we transformed
STM32 as master and Arduino into a slave where the Arduino interrupted STM32 only
when there is a change in orientation change. The schematic diagram is shown below.
Figure 4.6: Master-Slave relation between STM32 and Arduino
Source: https://www.electronicshub.org/how-to-use-spi-in-stm32f103c8t6/
17
4.7 Interfacing between Microcontroller and components
STM32 is our microcontroller so that it controls all the parameters related to the data
communication, orientation changes, and speed control between any components of the
system. The figure below shows all the interfacing of the robot system.
Figure 4.7: Interfacing
From the above diagram, we are illustrating the interfacing between different components
present in our system. We are using STM32 as our master microcontroller and Arduino as
our slave microcontroller. STM32 controls all the actions from the LM393 speed sensor
and gives sufficient power to the L298N motor driver to control the motors. STM32 is
connected to the HC05 Bluetooth module from which we receive data from our software.
The Arduino on other hand controls all the data for MPU6050 only. And we use I2C
communication to communicate between STM32 master and Arduino slave. We used the
master-slave relationship because STM32 is controlling a lot of components so that it
cannot provide sufficient power to MPU6050 so we used Arduino to solely control and
provide power to the MPU6050 sensor.
Hence, this is the interfacing between all our components of hardware, i.e. STM32
microcontroller, Arduino, MPU6050, LM393, L298N, motors, and HC05.
18
CHAPTER 5. OUTPUT AND ANALYSIS
This is what our GUI looks like in Matlab:
Figure 5.1: Matlab GUI
The above figure shows the GUI we have made in our Matlab application. The Grid system
in the center represents the layout we have used as our static reference map. There are two
buttons on the right named Connect and Disconnect which either connect to the robot via
Bluetooth or disconnect it. The Area buttons on the top generate a certain area map.
19
Figure 5.2: GUI with obstacles
The above figure represents the second step of our output and analysis. After we connect
to the robot, we place the objects on the grid map. The red-colored dot shown in the
diagram represents the obstacles. The blue-colored dot represents the initial point and the
green point dot represents the target position. We provide it from the side coordinate
section. The X_start, Y_start, X_goal, and Y_goal will provide the points for our system.
20
Figure 5.3: GUI with optimal path
The above figure shows the route generated from A* algorithm. After we click on the
proceed button on the right side, the algorithm finds the optimal path. This optimal path
is represented by the purple color line shown above. All the coordinates for this path are
stored and sent to the robot.
Hence, these are the outputs and analyses we have obtained from our project.
21
CHAPTER 6. CONCLUSION AND FUTURE ENHANCEMENT
Our project helps the robot to find the shortest path between two points provided by the
user. We have controlled various parameters to maximize accuracy and reduce test error.
Our project is focused on both hardware and software-based system, such that the results
are as shown in the output figure above as well as in real-life robots. We have completed
our project and fulfilled our objective of doing the project. The accuracy of the robot in the
desired path is very high. Despite the hardware errors, calibration errors, and variation in
power supply, we were able to complete our project.
Our project mainly focuses on finding paths in a static environment. The environment we
are using is very compact. But we can make the environment more and more dynamic.
Currently, the user provides the coordinates but we can upgrade it such that it can map the
whole surrounding. Based on the self-mapped value, it can localize itselfas the initial value
and find the object considering it its final value.
One of the main enhancements of our project today is the best and shortest path by avoiding
every real-time object by self-mapping the environment. As warehouses are increasing day
by day to store products safely, our purpose is to help different types of users to get their
products storedand retrieved in the proper place without any requirement of human power.
22
CHAPTER 7. REFERENCES
1. Robot from indoor navigation:
https://create.arduino.cc/projecthub/team-oblu/robot-for-supercool-indoor-navigati
on-95047f?fbclid=IwAR1x5sp5MPbzEcACusTZE2UNy4VgMjeF3cWjS-koWXH
JQWKWQi6pm6P7mEU
2. Prof . Shiv Kumar Goel, Mr. Sufiyan Ansari, Ms.Tejashree Kuwalekar
https://www.irjet.net/archives/V4/i6/IRJET-V4I6434.pdf
3. Time-Efficient A* Algorithm for Robot Path Planning (Akshay Kumar Guruji,
Himansh Agarwal, D. K. Parsediya)
https://www.sciencedirect.com/science/article/pii/S2212017316300111
4. A Survey of Path Planning Algorithms for Mobile Robots (Karthik Karur, Nitin
Sharma, Chinmay Dharmatti and Joshua E. Siegel) https://www.mdpi.com/2624 -
8921/3/3/27/pdf Path Planning with Modified a Star
5. Richardo acatillo et.al “Implementation and assembly of a robotic module for
mecabot-3 reconfigurable system” International Journal of Applied Engineering
Research 2016 vol-11 no.21 pp 10681- 10684
6. Jong-Hun Park and Uk-Youl Huh “Path Planning for autonomous mobile robot
based on safe space” Journal Electrical Engineering Technology.2016; vol .11
pp1921-718
7. Bornstein, J. and Y. Koren, Real-time obstacle avoidance for fast mobile robots.
Systems, Man and Cybernetics, IEEE Transactions on,1989. 19(5): p.p 1179-1187.

More Related Content

Similar to Minor project Report (1).docx

Report star topology using noc router
Report star topology using noc router Report star topology using noc router
Report star topology using noc router Vikas Tiwari
 
Automation A Robotic Arm (FYP) Thesis.pdf
Automation  A Robotic Arm (FYP) Thesis.pdfAutomation  A Robotic Arm (FYP) Thesis.pdf
Automation A Robotic Arm (FYP) Thesis.pdfKaren Benoit
 
M.tech Term paper report | Cognitive Radio Network
M.tech Term paper report | Cognitive Radio Network M.tech Term paper report | Cognitive Radio Network
M.tech Term paper report | Cognitive Radio Network Shashank Narayan
 
vehicle traking based on GSM/GPS using 8051
vehicle traking based on GSM/GPS using 8051vehicle traking based on GSM/GPS using 8051
vehicle traking based on GSM/GPS using 8051Sagar Parmar
 
IRJET- Path Finder with Obstacle Avoidance Robot
IRJET-  	  Path Finder with Obstacle Avoidance RobotIRJET-  	  Path Finder with Obstacle Avoidance Robot
IRJET- Path Finder with Obstacle Avoidance RobotIRJET Journal
 
Development of the required components of a performance vehicle model to stud...
Development of the required components of a performance vehicle model to stud...Development of the required components of a performance vehicle model to stud...
Development of the required components of a performance vehicle model to stud...Kayalarasan Kanagasabai
 
Design and Fabrication of Obstacle Avoiding Robotic Vehicle
Design and Fabrication of Obstacle Avoiding Robotic VehicleDesign and Fabrication of Obstacle Avoiding Robotic Vehicle
Design and Fabrication of Obstacle Avoiding Robotic VehicleIRJET Journal
 
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATA
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATADATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATA
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATAAishwarya Saseendran
 
INTERNSHIP REPORT AT DRONA AUTOMATIONS
INTERNSHIP REPORT AT DRONA AUTOMATIONSINTERNSHIP REPORT AT DRONA AUTOMATIONS
INTERNSHIP REPORT AT DRONA AUTOMATIONStulasiva
 
Final_Semester_Project _Report
Final_Semester_Project _ReportFinal_Semester_Project _Report
Final_Semester_Project _ReportSriram Raghavan
 
To Develop Fully Automated Conveyor Belt for Industries.
To Develop Fully Automated Conveyor Belt for Industries.To Develop Fully Automated Conveyor Belt for Industries.
To Develop Fully Automated Conveyor Belt for Industries.HasanRashid20
 
Full report on WIMAX Network Planning by Yubraj gupta
Full report on WIMAX Network Planning by Yubraj guptaFull report on WIMAX Network Planning by Yubraj gupta
Full report on WIMAX Network Planning by Yubraj guptaYubraj Gupta
 
Smart web cam motion detection
Smart web cam motion detectionSmart web cam motion detection
Smart web cam motion detectionAnu Mathew
 
Public Transport Systems, Intermediate Public Transport Systems and their Cha...
Public Transport Systems, Intermediate Public Transport Systems and their Cha...Public Transport Systems, Intermediate Public Transport Systems and their Cha...
Public Transport Systems, Intermediate Public Transport Systems and their Cha...Prasad Thanthratey
 
Grid Based Autonomous Navigator
Grid Based Autonomous Navigator Grid Based Autonomous Navigator
Grid Based Autonomous Navigator Sayeed Mohammed
 
Arts final project(MOBILE BRIDGE PLATFORM)
Arts final project(MOBILE BRIDGE PLATFORM)Arts final project(MOBILE BRIDGE PLATFORM)
Arts final project(MOBILE BRIDGE PLATFORM)Thanku Anna Baiju
 
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORT
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORTGSM BASED DEVICES CONTROL SYSTEM PROJECT REPORT
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORTAvinash Kannojia
 

Similar to Minor project Report (1).docx (20)

Report star topology using noc router
Report star topology using noc router Report star topology using noc router
Report star topology using noc router
 
Iot car parking system
Iot car parking systemIot car parking system
Iot car parking system
 
Automation A Robotic Arm (FYP) Thesis.pdf
Automation  A Robotic Arm (FYP) Thesis.pdfAutomation  A Robotic Arm (FYP) Thesis.pdf
Automation A Robotic Arm (FYP) Thesis.pdf
 
M.tech Term paper report | Cognitive Radio Network
M.tech Term paper report | Cognitive Radio Network M.tech Term paper report | Cognitive Radio Network
M.tech Term paper report | Cognitive Radio Network
 
vehicle traking based on GSM/GPS using 8051
vehicle traking based on GSM/GPS using 8051vehicle traking based on GSM/GPS using 8051
vehicle traking based on GSM/GPS using 8051
 
IRJET- Path Finder with Obstacle Avoidance Robot
IRJET-  	  Path Finder with Obstacle Avoidance RobotIRJET-  	  Path Finder with Obstacle Avoidance Robot
IRJET- Path Finder with Obstacle Avoidance Robot
 
Development of the required components of a performance vehicle model to stud...
Development of the required components of a performance vehicle model to stud...Development of the required components of a performance vehicle model to stud...
Development of the required components of a performance vehicle model to stud...
 
Design and Fabrication of Obstacle Avoiding Robotic Vehicle
Design and Fabrication of Obstacle Avoiding Robotic VehicleDesign and Fabrication of Obstacle Avoiding Robotic Vehicle
Design and Fabrication of Obstacle Avoiding Robotic Vehicle
 
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATA
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATADATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATA
DATA MINING FRAMEWORK TO ANALYZE ROAD ACCIDENT DATA
 
complete
completecomplete
complete
 
INTERNSHIP REPORT AT DRONA AUTOMATIONS
INTERNSHIP REPORT AT DRONA AUTOMATIONSINTERNSHIP REPORT AT DRONA AUTOMATIONS
INTERNSHIP REPORT AT DRONA AUTOMATIONS
 
Final_Semester_Project _Report
Final_Semester_Project _ReportFinal_Semester_Project _Report
Final_Semester_Project _Report
 
To Develop Fully Automated Conveyor Belt for Industries.
To Develop Fully Automated Conveyor Belt for Industries.To Develop Fully Automated Conveyor Belt for Industries.
To Develop Fully Automated Conveyor Belt for Industries.
 
Concordia College fake diploma
Concordia College fake diplomaConcordia College fake diploma
Concordia College fake diploma
 
Full report on WIMAX Network Planning by Yubraj gupta
Full report on WIMAX Network Planning by Yubraj guptaFull report on WIMAX Network Planning by Yubraj gupta
Full report on WIMAX Network Planning by Yubraj gupta
 
Smart web cam motion detection
Smart web cam motion detectionSmart web cam motion detection
Smart web cam motion detection
 
Public Transport Systems, Intermediate Public Transport Systems and their Cha...
Public Transport Systems, Intermediate Public Transport Systems and their Cha...Public Transport Systems, Intermediate Public Transport Systems and their Cha...
Public Transport Systems, Intermediate Public Transport Systems and their Cha...
 
Grid Based Autonomous Navigator
Grid Based Autonomous Navigator Grid Based Autonomous Navigator
Grid Based Autonomous Navigator
 
Arts final project(MOBILE BRIDGE PLATFORM)
Arts final project(MOBILE BRIDGE PLATFORM)Arts final project(MOBILE BRIDGE PLATFORM)
Arts final project(MOBILE BRIDGE PLATFORM)
 
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORT
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORTGSM BASED DEVICES CONTROL SYSTEM PROJECT REPORT
GSM BASED DEVICES CONTROL SYSTEM PROJECT REPORT
 

Recently uploaded

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 

Recently uploaded (20)

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

Minor project Report (1).docx

  • 1. I TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PASCHIMANCHAL CAMPUS LAMACHAUR POKHARA A Project Report On INDOOR PATH FINDING AND PLANNING OF A MOBILE ROBOT FOR WAREHOUSES Submitted by: Anis Shrestha [PAS075BEI003] Sachin Giri [PAS075BEI032] Sunil Shah [PAS075BEI044] Suyogya Bhandari [PAS075BEI047] Submitted to: Department of Electronics and Computer Engineering Paschimanchal Campus Lamachaur-16, Pokhara
  • 2. II TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PASHCHIMANCHAL CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING The undersigned certify that they have read, and recommended to the Institute of Engineering for acceptance, a project report entitled "INDOOR PATH FINDING AND PLANNING OF A MOBILE ROBOT FOR WAREHOUSES" submitted by Anis Shrestha, Sachin Giri, Sunil Shah, and Suyogya Bhandari in partial fulfillment of the requirements for the Bachelor’s degree in Electronics, Communication, and Information Engineering. _____________________ Supervisor: Sharan Thapa MSc Program Coordinator Department of Electronics And Computer Engineering _____________________________________ Laxmi Prasad Bastola Deputy Head of Department Department of Electronics and Computer Engineering DATE: May 9, 2022
  • 3. III COPYRIGHT The author has agreed that the Library, Department of Electronics and Computer Engineering, Pashchimanchal Campus, Institute of Engineering may make this report freely available for inspection. Moreover, the author has agreed that permission for extensive copying of this project report for scholarly purposes may be granted by the supervisors who supervised the project work recorded herein or, in their absence, by the Head of the Department wherein the project report was done. It is understood that the recognition will be given to the author of this report and the Department of Electronics and Computer Engineering, Pashchimanchal Campus, Institute of Engineering for any use of the material of this project report. Copying or publication or the other use of this report for financial gain without the approval of the Department of Electronics and Computer Engineering, Paschimanchal Campus, Institute of Engineering, and the author’s written permission is prohibited. Request for permission to copy or to make any other use of the material in this report in whole or in part should be addressed to: Head Department of Electronics and Computer Engineering Pashchimanchal Campus, Institute of Engineering Lamachaur, Pokhara Nepal
  • 4. IV ACKNOWLEDGEMENTS Path planning is the most important issue in-vehicle navigation. It is defined as finding a geometrical path from the current location of the vehicle to a target location such that it avoids obstacles. This project as a black-box model takes a grid map, obstacles, and initial and final point from the user and provides the information on how the vehicle should navigate such that it avoids any collision. Moreover, our team being a group of tech enthusiasts while working on this project we were able to learn a better and more efficient way to find new algorithms to complete the path. Here, the concept of A* star algorithm, Matlab GUI (to make it user friendly), LM393 speed sensor, MPU6050 orientation sensor, motor driver, motors, STM32 processor, and moving a vehicle in grid map was used. Besides, this project wasn’t possible on its own, we would like to express our sincere gratitude to Mr. Ramesh Thapa, Head of Department, and Mr. Laxmi Prasad Bastola, Deputy Head of Department, who gave us the golden opportunity to do this wonderful project that aims to create the shortest path planning route between any two points. We are also equally thankful to Mr. Sharan Thapa for his valuable guidance and supervision that helped us to complete the project with the necessary accuracy and effectiveness. We are thankful to the Department of Computer and Electronics Engineering, Paschimanchal Campus for granting us this good opportunity. Further, we are obliged to our friends and classmates who constantly without any hesitation and expectations instantly help us solve and tackle the problems we faced.
  • 5. V ABSTRACT Indoor path planning and tracking of a mobile robot, in general, is a hardware and software- based project which is specifically designed for pathfinding and planning to reach from one position to another. Accurate calibration of the path is the key to successful displacement. The objective of this project is to study the effective implementation of the shortest pathfinding algorithm, A* in MATLAB to navigate the robots between any two positions of the predefined indoor map. At first, an indoor floormap was fetchedto MATLAB which finds the minimum path from one positionto another using the A* algorithm. Those arrays ofdata solved from MATLAB were sent to the robot via Bluetooth using the Bluetooth module. Further, MPU6050 changed the orientation of the robot whenever a robot had to turn left or right or self- calibrate its position. An LM393 speed sensor found the revolution per minute(rpm) of the robot and moved in a direction an exact distance without sliding from its defined route.
  • 6. VI CONTENTS COPYRIGHT...................................................................................................................................III ACKNOWLEDGEMENTS.............................................................................................................. IV ABSTRACT.....................................................................................................................................V CONTENTS ................................................................................................................................... VI LIST OF FIGURES ........................................................................................................................VII LIST OF SYMBOLS/ABBREVIATIONS .......................................................................................VIII CHAPTER 1. INTRODUCTION................................................................................................... 1 1.1 Background ........................................................................................................................... 1 1.2 MOTIVATION AND INSPIRATION....................................................................................... 1 1.3 PROBLEM STATEMENT...................................................................................................... 2 1.4 OBJECTIVES........................................................................................................................ 2 1.5 SCOPE.................................................................................................................................. 3 CHAPTER 2. LITERATURE REVIEW......................................................................................... 4 CHAPTER 3. RELATED THEORY............................................................................................... 6 3.1 Matlab.................................................................................................................................... 6 3.2 A* Search Algorithm.............................................................................................................. 6 3.3 STM32 Arm Cortex MCU...................................................................................................... 8 3.4 LM393 sensor........................................................................................................................ 8 3.5 MPU6050 .............................................................................................................................. 8 3.6 Arduino .................................................................................................................................. 9 3.7 HC05 Bluetooth Module...................................................................................................... 10 CHAPTER 4. METHODOLOGY................................................................................................. 11 4.1 System Block Diagram........................................................................................................ 11 4.2 Activity Diagram of calculation in Matlab............................................................................ 12 4.3 Activity Diagram in a physical robot.................................................................................... 14 4.4 Selection of A* algorithm..................................................................................................... 15 4.5 Path visualization of the robot............................................................................................. 16 4.6 Master-slave relation between STM32 and Arduino .......................................................... 16 4.7 Interfacing between Microcontroller and components........................................................ 17 CHAPTER 5 OUTPUT AND ANALYSIS ..................................................................................... 18 CHAPTER 6. CONCLUSION AND FUTURE ENHANCEMENT ............................................... 21 CHAPTER 7. REFERENCES..................................................................................................... 22
  • 7. VII LIST OF FIGURES Figure 3.2 A* path planning ……………………………………………………………14 Figure 4.1 System Block diagram of a system…………………………………...……...18 Figure 4.2 Activity diagram of calculation in Matlab…………………………………...19 Figure 4.3 Activity diagram of calculation in physical robot..…………………………..21 Figure 4.6 Master-Slave relation between STM32 and Arduino………………………...23 Figure 4.7 Interfacing…………………………………………………………………….24 Figure 5.1 Matlab GUI …………………………………………………………………..25 Figure 5.2 GUI with obstacles…………………………………………………………...26 Figure 5.3 Optimal path found…………………………………………………………...27
  • 8. VIII LIST OF SYMBOLS/ABBREVIATIONS 2D Two Dimensional A* A Star PRM Probability Roadmap RPM Revolution Per Minute SGPP Save Global Path Planning VHF Very High Frequency
  • 9. 1 CHAPTER 1. INTRODUCTION 1.1 Background Pathfinding robots have become an important part of industry life whose form has been changed into different ones overtime where the main gist of locomoting products from one unit to another unit has always been the same. Pathfinding is vague in itself because of real-time obstruction, immobile objects, and multiple paths generated between any two points while maintaining its balance itself. Nowadays, line-following robots and heavy cargo lifting robots are in the feed of different industries. Furthermore, for navigation and tracking of the robot, Global Positioning System (GPS) and other similar global navigation satellite systems (GNSS) are generally not suitable to establish indoor locations, since microwaves will be attenuated and scattered by roofs, walls, and other objects. The major need for this system is for the dynamic nature of the environments the robot will be placed in and the extra installation required for the robot to work. A * algorithm would help in finding the shortestpath between the start and end position of the indoor map, based on the grid system. 1.2 MOTIVATION AND INSPIRATION It all startedwhen we were brainstorming for the minor project ideas. Then, we came across this topic and we also had previously heard about shortest path finding through different articles. It immediately caught our attention as our group consists of people who are keen on robots that can help us solve our problems. At first, we were curious about ourselves how we can implement the A* algorithm towards optimal pathfinding and what parameter will our model use. Being an engineering students, the major inspiration which led us to select, work on throughout, and complete this project was to know we were creating something that combine electronics components with the A* algorithm. Out of several inspiring factors, learning and gaining more knowledge about how we can implement our algorithm in a mobile robot was the major factor that led us through this project.
  • 10. 2 1.3 PROBLEM STATEMENT A common task for a mobile robot is to navigate in an indoor environment. Determining the precise location within a map and arriving at a particular place without collision is a great challenge in mobile robotics. If the robot has a precise map of the environment then it can use many techniques to navigate optimally. This is called path planning or global navigation. Every path planning method is dependent on a state space, representation of all possible positions, and orientation of a robot. The most used representation of state space in robotics is the grid/metric map. Although geometric or topological representations are used, the metric map is easy to update new information about the environment. The algorithm evaluated in this proposal is based on a grid representation of space. So, to provide a cheap and effective navigation system for mobile robot navigation, a low- cost inertial navigation system using the easily available MPU-6050 sensor is proposed here. The MPU-6050 is a low-cost integrated 6-axis motion tracking IMU sensor that combines a 3-axis gyroscope and a 3-axis accelerometer. Also, Bluetooth communication will be studied in detail for the transfer of routing data and tracking of the robot in MATLAB. 1.4 OBJECTIVES ● To study the effective implementation of the shortest pathfinding algorithm, A*, and the autonomous navigation of the mobile robot in a grid system. ● To find the optimal path between any two positions of the predefined indoor map in a grid system and track and visualize the position of the robot at any time instance.
  • 11. 3 1.5 SCOPE Shortest pathfinding has evolved in different ways since the industrial revolution. So, new algorithms for shortest paths were constantly developing. From serving orders in a restaurant to finding a path from home to office without any traffic on google maps, we have come a long way. Our project has huge potential in automatic path planning for a dual-crane lifting problem in a complicated environment, looking for victims in a disaster where humans have difficulty moving around, and food or medicine delivery from restaurants or hospitals to the order location when upgraded suitably. Based on the usability of the A* algorithm, it can be implemented for a specific purpose in gaming, bioinformatics, character animation, industrial automation, and single and multiple robot navigation in both two and three dimensions. MPU 6050 is utilized in aerospace technologies, missile guidance systems, submarine navigation, etc. The data obtained from MPU 6050 has major application in the field of navigation, position estimation, and determining the orientation of a system in any environment.
  • 12. 4 CHAPTER 2. LITERATURE REVIEW Leigh R, Zheng T: Path planning has become a prominent technique in the navigation field. It is employed in most games, mobile robots, and many more. The accuracy of the algorithms is a major factor, the best result algorithm is always employed in the real world apart from others. One such algorithm for path planning is the A* (* spelled as A-star) algorithm. Mobile robots use the A* algorithm, which is the best example forpath planning applications that travel in the shortest path towards the target location. A* algorithm uses heuristic values this makes the algorithm most effective, accurate, and unique from all other algorithms. Mobile robots have the analytical ability to generate paths in a real-world environment that allows the robots to reach their destination without any ambiguity and collision. Robots use trajectory planning for navigation. This decides the movement of the robot in generating the path to reach the destination while at rest and even in the motion. While traveling it might come across many obstacles so it has to identify, neglect the obstacles and navigate accordingly towards the target without collision. Collision is the major aspect that has to be looked after in the case of mobile robots for their safe navigation. The safety of a mobile robot depends upon how much clearance area has been found when it moves from the trajectory of a sharp or closer obstacle. To start over Richardo ocotillo has proposed a method to overcome the collision while traveling, using different terrain and obstacle encounters he designed a modular robotic system, unfortunately, it doesn't work practically. Further Jong-hyun Park and UK-Youl Huh proposed SGPP(save global path planning) a combination of classical A* with PRM (probability roadmap) algorithms. This helps to overcome the collisions at the corners and turns (even after the use of sensors) by determining the hazardous points, risk distance, and velocity control. The path is generated using SGPP along with the A* algorithm with minimum cost. They explained with a simulation that the SGPP method showed superior performance to the other considered algorithms in terms of the safety cost and navigation time. Further, Borenstein and Koren came up with a new collision-free technique VFH method, In which a two-dimensional Cartesian Histogram Grid is updated continuously and in real-time with range data sampled by the onboard range sensors. The data in the Histogram Grid is reduced to a one- dimensional Polar Histogram that is constructed around the robot's momentary location. This Polar Histogram represents the polar obstacle density around the robot A sector with low obstacle density which is close to the target direction is selected, and the robot's steering is aligned with that direction. They implemented and testedthe VFH method on a commercially available mobile platform (Cybermation, 1987), with the best result.
  • 13. 5 The literature survey, by observing all the problems and respective approaches to find a solution, showed us to locate the problem first and then find a perfect solution for it. The main problem is finding the obstacles, as we see to understand the working of the A*(A STAR), the algorithm is tested on simple 2D matrices of different sizes and the results are observed. The inputs are the obstacles, vehicle position, and target position. The maximum time consumed is due to the time taken to give inputs to the program graphically with minimal human error. The human error consists of errors such as wasting time, unintentionally or intentionally, or delay in understanding the instructions, or delay in giving inputs to the code perfectly. This process is not so effective when considered for bigger matrices or bigger problems. To overcome this problem, there is an automatic obstacle detection equipped in the code, then and only then the obstacles are found at faster rates that is at the rate of CPU. The CPU processing rate is much faster than the rate at which humans give obstacles as inputs. The need for simulation of the path carried by the vehicle in the map given as input can give a clear understanding of the implementation of the A*(A-STAR) algorithm in real- life maps. The inputs are real-life maps and with the simulation, greater and more precise results are achieved.
  • 14. 6 CHAPTER 3. RELATED THEORY 3.1 Matlab MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include Math and computation, Algorithm development, Modeling, simulation, and prototyping, Data analysis, exploration, and visualization, Scientific and engineering graphics, and Application development, including Graphical User Interface building. MATLAB is an interactive system whose basic data element is an array that does not require dimensioning. This allows you to solve many technical computing problems, especially those with matrix and vector formulations, in a fraction of the time it would take to write a program in a scalar noninteractive language such as C or Fortran. 3.2 A* Search Algorithm A* (pronounced as "A star") is a computer algorithm that is widely used in pathfinding and graph traversal. The algorithm efficiently plots a walkable path between multiple nodes, or points, on the graph. On a map with many obstacles, pathfinding from points A to B can be difficult. A robot, for instance, without getting in much other direction, will continue until it encounters an obstacle, as in the path-finding example to the left below. However, the A* algorithm introduces a heuristic into a regular graph-searching algorithm, essentially planning at each step so a more optimal decision is made. With A*, a robot would instead find a path in a way similar to the diagram on the right below. A* is an extension of Dijkstra's algorithm with some characteristics of breadth-first search (BFS). Like Dijkstra, A* works by making a lowest-cost path tree from the start node to the target node. What makes A* different and better for many searches is that for each node, A* uses a function f(n)f(n) that gives an estimate of the total cost of a path using that node. Therefore, A* is a heuristic function, which differs from an algorithm in that a heuristic is more of an estimate and is not necessarily provably correct.
  • 15. 7 A* expands paths that are already less expensive by using this function: f(n)=g(n)+h(n), where f(n) = total estimated cost of the path through node n g(n) = cost so far to reach node n h(n) = estimated cost from n to goal. This is the heuristic part of the cost function, so it is like a guess. Figure 3.2: A* path planning
  • 16. 8 3.3 STM32 Arm Cortex MCU The STM32 family of 32-bit microcontrollers based on the Arm® Cortex®-M processor is designed to offer new degrees of freedom to MCU users. It offers products combining very high performance, real-time capabilities, digital signal processing, low-power / low- voltage operation, and connectivity while maintaining full integration and ease of development. The unparalleled range of STM32 microcontrollers, based on an industry-standard core, comes with a vast choice of tools and software to support project development, making this family of products ideal for both small projects and end-to-end platforms. 3.4 LM393 sensor The LM393 is a dual independent accuracy voltage integrated circuit operated with a single or else split supply. These ICs comprise two independent voltage comparators to operate from only power supply more than a wide variety of voltages. Working with two supplies is also achievable as long as the variation among the two supply voltages is 2 volts to 36 volts, & VCC is a minimum of 1.5 volts extra positive than the i/p voltage. This IC includes 8-pins and every pin of this IC has different features from each other. The eight pins of this IC are listed below. ● Pin1 (OUTA): Output A ● Pin2 (In A-): Inverting input A ● Pin3 (In A+): Non-inverting input A ● Pin4 (GND): Ground ● Pin5 (INB+): Non-inverting input B ● Pin6 (INB-): Inverting input B ● Pin7 (OUTB): Output B ● Pin8 (Vcc): Voltage Supply 3.5 MPU6050 MPU6050 is a Micro Electro-mechanical system (MEMS), it consists of a three-axis accelerometer and three-axis gyroscope. It helps us to measure velocity, orientation, acceleration, displacement, and other motion-like features. MPU6050 consists of Digital Motion Processor (DMP), which has the property to solve complex calculations. It consists of 16-bit analog to digital converter hardware. Due to this feature, it captures
  • 17. 9 three-dimension motion at the same time. This module uses the I2C module for interfacing with Arduino. There is a main eight PINOUT of MPU6050, which are described here: ● Vcc: This pin is used for Supply Voltage. Its input voltage is +3 to +5V. ● GND: This pin is used for ground. ● SCL: This pin is used for clock pulse for I2C compunction ● SDA: This pin is used for transferring data through I2C communication. ● XDA: It can be used for other interfaced I2C modules with MPU6050. ● XCL: It can also be used for other interfaced I2C modules with MPU6050. ● ADO: If more than one MPU6050 is used on a single MCU, then this pin can be used to vary the address. ● INT: This pin is used to indicate that data is available for MCU to read. 3.6 Arduino Arduino UNO is a low-cost, flexible, and easy-to-use programmable open-source microcontrollerboard that can be integrated into a variety of electronicprojects.This board can be interfaced with other Arduino boards, Arduino shields, and Raspberry Pi boards and can control relays, LEDs, servos, and motors as an output. These are the pins on Arduino, which are described here: ● Vin: Input voltage to Arduino when using an external power source. ● 5V: Regulated power supply used to power microcontroller and other components on the board. ● 3.3V: 3.3V supply generated by the onboard voltage regulator. The maximum current draw is 50mA. ● GND: ground pins. ● Reset: Resets the microcontroller. ● Analog(A0 - A5): Used to provide analog input in the range of 0-5V ● Digital pins(0-13): Can be used as input or output pins. ● Serial Tx and Rx: Used to receive and transmit TTL serial data. ● External Interrupt 2 and 3: To trigger an interrupt. ● PWM(3, 5, 6, 9, 11): Provides 8-bit PWM output. ● SPI(10,11,12,13): Used for SPI communication. ● Inbuilt LED(13): To turn on the inbuilt LED.
  • 18. 10 3.7 HC05 Bluetooth Module HC-05 is a Bluetooth module that is designed for wireless communication. This module can be used in a master or slave configuration. It can add two-way (full-duplex) wireless functionality to your projects. There is a main eight PINOUT of MPU6050, which are described here: ● Enable / Key: This pin is used to toggle between Data Mode (set low) and AT command mode (set high). By default, it is in Data mode. ● Vcc: Powers the module. Connect to +5V Supply voltage ● Ground: Ground pin of module, connect to system ground. ● Transmitter (TX): Transmits Serial Data. Everything received via Bluetooth will be given out by this pin as serial data. ● Receiver (RX): Receive Serial Data. Every serial data given to this pin will be broadcasted via Bluetooth. ● State: The state pin is connected to a board LED, it can be used as feedback to check if Bluetooth is working properly. ● LED: Indicates the status of the module. ● Blink once in 2 sec: Module has entered Command Mode ● Repeated Blinking: Waiting for connection in Data Mode ● Blink twice in 1 sec: Connection successful in Data Mode ● Button: Used to control the Key/Enable pin to toggle between Data and command Mode.
  • 19. 11 CHAPTER 4. METHODOLOGY Our main focus for this project is to provide users with an environment where they can know about the optimal path between any two points. For this, we dedicated our effort to a case study of the shortestpathfinding algorithm and its implementation. We will be using a Matlab program and simulation along with A* algorithms to find the optimal path. We will be using a path implementation based on the speed sensor and orientation sensor. 4.1 System Block Diagram The general concept of execution is that the user gives the coordinates and the program finds the optimal path and then it moves according to the command in real life. Figure 4.1: System Block diagram of a system From the system block diagram, we can see that we have taken a grid map. We feed the current position and destination to the map. Those coordinates are fed to A* algorithm processing where we will get an array of coordinates. These coordinates are fed to STM32 which keeps on reading the speed from the LM393 speed sensor. The STM32 behaves as a master and Arduino behave as a slave where Arduino only checks the orientation from the MPU6050 sensor. All these data are processed and finally, the required distance is moved until the target is reached.
  • 20. 12 4.2 Activity Diagramof calculationin Matlab Activity diagrams show the flow of sequential activity taking place in that system. Let us see the activity diagram of software in Matlab as shown in the following figure. Figure 4.2: Activity diagram of calculation in Matlab
  • 21. 13 In the above flowchart, we can see that the initial step is to run the Matlab GUI. We turn on Bluetooth from Matlab and connect it to the Bluetooth module of the robot. If the connection is established, we go next otherwise we keep looping to see if the connection is established. We input the initial and final coordinates in GUI. The initial start node(n) is selected and put on the open list. The cost function of the algorithm is calculated via the formula f(n) = g(n) + h(n). We remove the node from the open list and put it on a closed list. We save the index of the sector n which has the smallest value of f(n). We compare whether the node is the target or not. If it is not target, we detect all the successor sectors of node n which do not exist on the closedlist and calculate the cost function f(n) for each sector. If it is the target, we terminate the algorithm and use the pointers of indexes to get the optimal path. Finally, we send the optimal path to the robot via Bluetooth. And it ends the process in our Matlab software.
  • 22. 14 4.3 Activity Diagram in a physical robot Let us see the activity diagram of calculation done in the four-wheeler robot as shown in the following figure. Figure 4.3: Activity Diagram in a physical robot
  • 23. 15 Initially, the input array of coordinates that comes from Matlab is fed to the STM32 master controller. The initial and next point is taken from the array. We compare whether the current position is targeted or not. If it is not the target, we subtract the two consecutive coordinates. The resultant coordinate will be in the form of (0,1), (1,0), etc. which are represented by the direction. In our system, we have (0,1) as the forward direction, (-1,0) as the left direction, (1,0) as the right direction, and (0,-1) as the backward direction. After we get the direction, we check whether it is left or right. If it is left or right, we change the orientation toa +90or -90angle. If the directionis not leftor right, we check if the direction is forward. If it is in the forward direction, we move 25cm away for 1 grid. We update the current position as the next position to keep on looping until we reach our target. 4.4 Selection of A* algorithm A* algorithm is one of the best-known path planning algorithms, which can be applied to metric or topological configuration space. This algorithm uses a combination of heuristic searching and searching based on the shortest path. A* algorithm is defined as the best- first algorithm because each cell in the configuration space is evaluated by the value: f(v)=g(v)+h(v). Where h(v) is the heuristic distance (Manhattan, Euclidean, or Chebyshev) of the cell to the goal state and g(v) is the length of the path from the initial state to the goal state through the selected sequence of cells. This sequence ends in the evaluated cell. Each adjacent cell of the reached cell is evaluated by the value f(v). The cell with the lowest value of f(v) is chosen as the next one in the sequence. . Advantage of this algorithm is that the distances used as a criterion can be adopted, modified or another distance can be added. This gives a wide range of modifications to this basic principle.
  • 24. 16 4.5 Path visualization of the robot Every time a robot moves to a new grid it sends an update signal back to the user in MATLAB. The successfully traveled grids will be plotted and visualized for path tracking. Additionally, an Ultrasonic sensor would be integrated into the robot that detects any additional obstacles. The presence of the obstacle would result in the robot’s motion ceasing for a certain amount of time. The robot keeps rechecking for any obstacles until the obstruction has been cleared. Finally, the robot moves towards its goal position. 4.6 Master-slave relation between STM32 and Arduino When we performed multiple trials with our robot, we found that the system was too heavy for STM32 to handle alone because of which it couldn’t supply enough power to MPU6050. Due to the rise of this problem, we added an Arduino which was completely responsible for supplying MPU6050 correct data. With this approach, we transformed STM32 as master and Arduino into a slave where the Arduino interrupted STM32 only when there is a change in orientation change. The schematic diagram is shown below. Figure 4.6: Master-Slave relation between STM32 and Arduino Source: https://www.electronicshub.org/how-to-use-spi-in-stm32f103c8t6/
  • 25. 17 4.7 Interfacing between Microcontroller and components STM32 is our microcontroller so that it controls all the parameters related to the data communication, orientation changes, and speed control between any components of the system. The figure below shows all the interfacing of the robot system. Figure 4.7: Interfacing From the above diagram, we are illustrating the interfacing between different components present in our system. We are using STM32 as our master microcontroller and Arduino as our slave microcontroller. STM32 controls all the actions from the LM393 speed sensor and gives sufficient power to the L298N motor driver to control the motors. STM32 is connected to the HC05 Bluetooth module from which we receive data from our software. The Arduino on other hand controls all the data for MPU6050 only. And we use I2C communication to communicate between STM32 master and Arduino slave. We used the master-slave relationship because STM32 is controlling a lot of components so that it cannot provide sufficient power to MPU6050 so we used Arduino to solely control and provide power to the MPU6050 sensor. Hence, this is the interfacing between all our components of hardware, i.e. STM32 microcontroller, Arduino, MPU6050, LM393, L298N, motors, and HC05.
  • 26. 18 CHAPTER 5. OUTPUT AND ANALYSIS This is what our GUI looks like in Matlab: Figure 5.1: Matlab GUI The above figure shows the GUI we have made in our Matlab application. The Grid system in the center represents the layout we have used as our static reference map. There are two buttons on the right named Connect and Disconnect which either connect to the robot via Bluetooth or disconnect it. The Area buttons on the top generate a certain area map.
  • 27. 19 Figure 5.2: GUI with obstacles The above figure represents the second step of our output and analysis. After we connect to the robot, we place the objects on the grid map. The red-colored dot shown in the diagram represents the obstacles. The blue-colored dot represents the initial point and the green point dot represents the target position. We provide it from the side coordinate section. The X_start, Y_start, X_goal, and Y_goal will provide the points for our system.
  • 28. 20 Figure 5.3: GUI with optimal path The above figure shows the route generated from A* algorithm. After we click on the proceed button on the right side, the algorithm finds the optimal path. This optimal path is represented by the purple color line shown above. All the coordinates for this path are stored and sent to the robot. Hence, these are the outputs and analyses we have obtained from our project.
  • 29. 21 CHAPTER 6. CONCLUSION AND FUTURE ENHANCEMENT Our project helps the robot to find the shortest path between two points provided by the user. We have controlled various parameters to maximize accuracy and reduce test error. Our project is focused on both hardware and software-based system, such that the results are as shown in the output figure above as well as in real-life robots. We have completed our project and fulfilled our objective of doing the project. The accuracy of the robot in the desired path is very high. Despite the hardware errors, calibration errors, and variation in power supply, we were able to complete our project. Our project mainly focuses on finding paths in a static environment. The environment we are using is very compact. But we can make the environment more and more dynamic. Currently, the user provides the coordinates but we can upgrade it such that it can map the whole surrounding. Based on the self-mapped value, it can localize itselfas the initial value and find the object considering it its final value. One of the main enhancements of our project today is the best and shortest path by avoiding every real-time object by self-mapping the environment. As warehouses are increasing day by day to store products safely, our purpose is to help different types of users to get their products storedand retrieved in the proper place without any requirement of human power.
  • 30. 22 CHAPTER 7. REFERENCES 1. Robot from indoor navigation: https://create.arduino.cc/projecthub/team-oblu/robot-for-supercool-indoor-navigati on-95047f?fbclid=IwAR1x5sp5MPbzEcACusTZE2UNy4VgMjeF3cWjS-koWXH JQWKWQi6pm6P7mEU 2. Prof . Shiv Kumar Goel, Mr. Sufiyan Ansari, Ms.Tejashree Kuwalekar https://www.irjet.net/archives/V4/i6/IRJET-V4I6434.pdf 3. Time-Efficient A* Algorithm for Robot Path Planning (Akshay Kumar Guruji, Himansh Agarwal, D. K. Parsediya) https://www.sciencedirect.com/science/article/pii/S2212017316300111 4. A Survey of Path Planning Algorithms for Mobile Robots (Karthik Karur, Nitin Sharma, Chinmay Dharmatti and Joshua E. Siegel) https://www.mdpi.com/2624 - 8921/3/3/27/pdf Path Planning with Modified a Star 5. Richardo acatillo et.al “Implementation and assembly of a robotic module for mecabot-3 reconfigurable system” International Journal of Applied Engineering Research 2016 vol-11 no.21 pp 10681- 10684 6. Jong-Hun Park and Uk-Youl Huh “Path Planning for autonomous mobile robot based on safe space” Journal Electrical Engineering Technology.2016; vol .11 pp1921-718 7. Bornstein, J. and Y. Koren, Real-time obstacle avoidance for fast mobile robots. Systems, Man and Cybernetics, IEEE Transactions on,1989. 19(5): p.p 1179-1187.