Autonomous Amphibious Robot
A Skill Based Mini Project Submitted in partial fulfillment of the Requirement for the
Degree of
Bachelor of Technology
by
Apoorv Jain(0901AI201012)
Deendayal Jatav(0901AI201019)
Dev Vishnoi (0901AI201020)
Hemant Gautam(0901AI201025)
Mohit Kumar Wankhade(0901AI201035)
Sandeep Kustwar(0901AI201048)
Under the Supervision of
Dr.Anshika Srivastava
Dr. Kritika Bansal
Advance Robotics Lab(240)
DEPARTMENT OF INFORMATION TECHNOLOGY
MADHAV INSTITUTE OF TECHNOLOGY & SCIENCE
(NAAC Accredited with A++ Grade)
GWALIOR, INDIA
MAY2023
CERTIFICATE
This is to certify that the work contained in this project entitled “Autonomous Amphibious
Robot”, has been carried out by students mentioned below from the Department of
Information Technology. This project was done on partial fulfillment of B. Tech. laboratory
“AI in Robotics (240603)”. It has been found to be satisfactory and hereby approved for
submission.
Name of Students Roll No.
1) Apoorv Jain 0901AI201012
2) Deendayal Jatav 0901AI201019
3) Dev Vishnoi 0901AI201020
4) Hemant Gautam 0901AI201025
5) Mohit Kumar Wankhade 0901AI201035
6) Sandeep Kustwar 0901AI201048
(Dr.Anshika Srivastava) (Dr.Akhilesh Tiwari)
AssistantProfessor Professor &Head
Department of Information Technology, Department of Information Technology
MITS Gwalior MITS Gwalior
(Dr.Kritika Bansal)
Assistant Professor
Department of InformationTechnology,
MITS Gwalior
DECLARATION
We hereby declare that the skill-based mini project for the course of Advance Robotics
(000000) is being submitted in the partial fulfillment of the requirement for the award of
Bachelor of Technology in the Department of Information Technology (Artificial Intelligence
and Robotics).
All the information in this document has been obtained and presented in accordance with
academic rule and ethical conduct.
Apoorv Jain(0901AI201012)
Deendayal Jatav(0901AI201019)
Dev Vishnoi (0901AI201020)
Hemant Gautam(0901AI201025)
Mohit kumar Wankhade(0901AI201035)
Sandeep Kustwar(0901AI201048)
ACKNOWLEDGEMENT
First of all, I acknowledge the blessings of Almighty and thank the divine power for
gracing me with the peace of mind and endurance to carry out this work diligently and
honestly.
I would like to express my deepest appreciation and heartfelt gratitude to Dr. Anshika
Srivastava and Dr. Kritika Bansal for their continuous support, guidance, motivation and
insightful comments. They substantially enriched this research work with their sound
knowledge. They were always available for day-to-day discussion, gave me the freedom to
workwithoutfeelingpressureandwasveryflexibletowardsproblemsolvingapproach.Their
commitment towards high quality research work made this work rewarding. I feel privileged
to work under their esteemed supervision.
I sincerely acknowledge my Head of the Department Prof. Akhilesh Tiwari, who made
the environment of the department supportive for project work.
My earnest gratitude goes out to my parents and my sister who sacrificed a lot for me,
always motivated me and stood as a pillar of strength for me with unending faith andempathy
during all these years.
Finally, I would like to thank all my friends, relatives and colleagues without whom it
would have been difficult to enjoy this research work.
Thank you and may God bless you all!
Apoorv Jain(0901AI201012)
Deendayal Jatav(0901AI201019)
Dev Vishnoi (0901AI201020)
Hemant Gautam(0901AI201025)
Mohit kumar Wankhade(0901AI201035)
Sandeep Kustwar(0901AI201048)
ABSTRACT
The autonomous amphibious robot project aims to design, develop, and implement a versatile
robotic system capable of operating seamlessly both on land and in aquatic environments. This
project addresses the need for a multifunctional robot that can navigate diverse terrains,
including water bodies and challenging landscapes, for various applications, such as
environmental monitoring, search and rescue operations, and exploration tasks.
The robot will be equipped with advanced sensors and navigation systems to ensure precise
localization and mapping abilities in both terrestrial and aquatic settings. Utilizing a
combination of wheels for land mobility and propellers or paddles for water traversal, the
robot will seamlessly transition between these environments, overcoming obstacles and
adapting to varying conditions.
The system's autonomy will be a focal point, integrating artificial intelligence and machine
learning algorithms to enable adaptive decision-making, obstacle avoidance, and path
planning. The robot's capabilities will be enhanced through the incorporation of computer
vision, sonar systems, and other sensory inputs for comprehensive environmental perception.
Furthermore, the project will focus on energy efficiency and durability, employing innovative
power management systems and robust construction materials to ensure sustained operation in
challenging conditions.
The ultimate goal of this project is to create a reliable, adaptable, and cost-effective
amphibious robot capable of autonomously exploring and navigating dynamic and diverse
terrains. The success of this endeavor will contribute significantly to various fields, including
environmental research, disaster response, and surveillance, opening avenues for further
advancements in robotics and autonomous systems.
TABLE OF CONTENT
Certificate................................................................................................................................................2
Declaration..............................................................................................................................................3
Acknowledgement................................................................................................................................. 4
Abstract.................................................................................................................................................. 5
Chapter 1: Project Overview
Introduction 7
ProductFeatures............................................................................................................................................7
Feasibility 7
Chapter 2: Micro Level Analysis
Tools Used 8
Hardware Tools 8
Software Tools 12
Chapter 3: Macro Level Analysis
System Approach....................................................................................................................................... 14
Conventional Systems............................................................................................................................... 16
Proposed System…………………………………………………………………………………………17
Navigation Algorithms............................................................................................................................. 18
Chapter 4: Mini Level Analysis (Final Analysis and Design)
Design…………………………………………………………………………………………………... 20
Hardware Analysis............................................................................................................ 20
Software Analysis............................................................................................................. 21
Code……………………………………………………………………………………...21
Results................................................................................................................................23
Chapter 5: Conclusion.........................................................................................................................25
References.............................................................................................................................................25
Chapter 1:Project Overview
Introduction:
A robot device is an instrumented mechanism. Robotics is generally a combination of computational
intelligence and physical machines (motors). Computational intelligence involves the programmed
instructions. Now a day’s robots are used in science and industry to reduce the human efforts. This
project is designed to build obstacle detection, avoidance and with additional provision to travelling
on water surface with complete automation. An ultrasonic sensor is used to detect the obstacle ahead
of it and sends a command to the microcontroller. Autonomous robot is nothing but driverless robot.
Self-driving robot is a vehicle having a capable of fulfilling the human transportation or surveillance
capabilities of traditional vehicle. The robot easily senses its environment and its surroundings with
the help of GPS receiver and compass. Based on sensor input the robot updates its coordinates and
allowing the vehicle to track its position even when path is changed.
Project Features:
Adaptive locomotion, AI-driven autonomy, versatile sensor systems, and seamless traversal of both
land and water define this groundbreaking robot.
Feasibility:
The feasibility of an autonomous amphibious robot project depends on various factors,
including technological capabilities, resources, environmental conditions, and practical
applications. Advances in robotics, AI, and materials make the concept technically feasible.
However, challenges such as power management, navigation in diverse terrains, and ensuring
waterproofing pose significant considerations. Moreover, the project's feasibility relies on
funding, expertise, and a clear roadmap for development and testing. Demonstrating its
effectiveness in real-world scenarios, cost-effectiveness, and adaptability will be crucial in
determining its overall feasibility. Strategic planning, continuous testing, and adaptation to
emerging technologies will play a vital role in achieving a feasible and successful autonomous
amphibious robot project.
Chapter 2: Micro Level Analysis
2.1 Tools Used:
2.1.1 Hardware Tools:
• ARDUINO Mega 2560 Microcontroller
Fig. 2.1 Microcontroller
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 chip. It
features 54 digital input/output pins, 16 analog inputs, a 16 MHz crystal oscillator, and a
USB connection for programming and communication. With its extensive I/O capabilities,
the Mega 2560 is ideal for complex projects that require multiple sensors, displays, and
actuators. It supports a wide range of libraries and shields, making it versatile for various
applications, from robotics to automation. The Mega 2560 is a popular choice among
makers and hobbyists due to its ample resources and compatibility with the Arduino
ecosystem.
• L298 motor controller
Fig. 2.2 L298 motor controller Motor
The L298 motor controller is a popular integrated circuit used to control DC motors and
stepper motors. It provides dual H-bridge functionality, allowing bidirectional control of
two motors. The L298 can handle currents of up to 2A per channel and is compatible with a
wide voltage range. It features built-in protection diodes to prevent damage from back EMF
and overcurrent conditions. The controller can be controlled with input signals from a
microcontroller or other control systems, making it suitable for various robotics and
automation applications. Its reliability, ease of use, and versatility make it a common choice
for motor control in electronic projects.
• JUMPER WIRES
Fig. 2.3 Jumper wires
• BREADBOARD
Fig. 2.4 Breadboard
• HMC5883 compass
Fig. 2.5 HMC5883 compass
The HMC5883 is a compact, high-performance digital compass sensor designed for accurate
magnetic field measurement and orientation tracking. It utilizes magnetoresistive technology
to detect changes in magnetic fields, making it ideal for applications such as compass
navigation, heading determination, and tilt-compensated compassing. With three-axis sensing
capabilities, it provides precise 360-degree heading information and supports both I2C and SPI
communication protocols for easy integration with microcontrollers and other devices. Its
small size and low power consumption make it suitable for various electronic systems,
including drones, smartphones, and wearable devices, enabling accurate and reliable direction
sensing for a wide range of applications
● GPS Receiver
Fig. 2.6 GPS Receiver
A GPS (Global Positioning System) receiver is a device that receives signals from a
network of satellites orbiting Earth to determine its precise geographic location. It relies on
trilateration, using signals from at least four satellites to calculate latitude, longitude,
altitude, and time. The receiver processes the signals, measuring the time it takes for them
to reach the device, and uses this data to triangulate its position. GPS receivers are
commonly integrated into smartphones, navigation systems, and other devices, enabling
accurate location tracking, mapping, and route guidance for various applications, from car
navigation to outdoor activities.
2.1.1 Software Tools:
• Arduino IDE
Fig. 2.7 Arduino IDE
Arduino IDE (Integrated Development Environment) is a software platform used for
programming and developing projects with Arduino boards. It provides a user-friendly interface
for writing, compiling, and uploading code to Arduino microcontrollers. With a vast library of
pre-built functions, it simplifies the process of creating interactive electronic projects.
• VS Code
Fig. 2.8 VS code [IDE]
VS Code (Visual Studio Code) is a free source code editor developed by Microsoft. It offers a
lightweight yet powerful environment for writing and editing code across multiple
programming languages. With its extensive customization options, rich extension ecosystem,
and built-in Git integration, it is widely used by developers for various software development
tasks.
Chapter 3: Macro Level Analysis
System approach:
The objective of this project is to make a robot to explore land and water surface
without human interference. The system takes source position from GPS. The
destination to which the robot must be reached is given by the user in the code.
The coordinates can be obtained from the internet. The robot takes the user
specified coordinates as destination point and starts to compare it with current
position. While moving, it constantly compares the destination coordinates with
current coordinates. If the value of the compared coordinates is less than the
previously compared value it moves forward otherwise it moves backwards.
Rotating ultrasonic sensor will be sensing any obstacles in the path. If at all an
obstacle is detected the robot will move in order to avoid the obstacle and the
new coordinates of the current position are updated with the help of GPS
receiver. Then it resumes reaching the destination. The iron clamps are attached
to both the wheels of the robot. The robot can easily float on water surface and
accordingly navigate from source coordinates to destination coordinates given in
the programme. While navigating the robot chooses the best optimized path. As
it can move on land and water surface in same way. The robot to move forward
or backward. The wheels on the side are attached with blades which help the
robot to turn left or right Block diagram of the robot is shown in figure.
Fig1. Block Diagram of Proposed System.
The robot to move forward or backward. The wheels on the side are attached
with blades which helps the robot to turn left or right. L298 dual H bridge
converter controls the geared DC motors and ESC is used to control motors. A
20*4 LCD display is used to know the progress.
It displays the present coordinates of the robot, heading angle, distance to be
travelled in order to reach the destination. It also shows certain indications of the
progress like, it displays “OBS” when an obstacle is detected. It displays
“MOVE” when there is no obstacle in the path. It displays “STOP” when
destination is reached. It displays “NO SAT” when GPS receiver cannot receive
data. The module gets the coordinates from the GPS receiver and compares it
with user given destination coordinates and moves in the shortest path. Also in
the meantime it updates the current coordinates to the monitoring system.
distance calculation
=sqrt((((flon1)-(x2lon))*((flon1)-(x2lon)))+(((x2lat-flat1)*(x2lat-flat1)))) 1
Using eq.1 the robot calculates the distance at each instance and updates it to the
monitoring system. Flon1, x2lon represent source or current longitude of the
robot and destination longitude respectively. Flat1, x2lat are latitude coordinates
of source or current position of robot and destination respectively.It calculates
the path angle in which it has to travel in order to travel in minimum path. It also
calculates the angle with which it is travelling in order to correct the angle. The
ultrasonic sensor detects the obstacles and gives the feedback to the
microcontroller in order to avoid collision. Then the robot turns to avoid
obstacle. The path angle is again calculated to reach the destination. This system
gets the current position from GPS and destination coordinate from user. It finds
the shortest path between current position and destination.
2.Conventional system:
General conventional method used for automatic navigation of vehicles includes
operating through internet. A GPS module is used to get coordinates and
directions in order to reach the destination. A web server provides information
for navigating through the roads. The GPS module gets the coordinates through
nearby satellite and connected through a web server using internet and will be
availed with the path or route to be followed in order to reach the destination
point. In case of change of path, the map will be rerouted with alternative
shortest path using internet. The conventional model diagram is shown below
fig2.
Fig2. Conventional Block Diagram.
Proposed System:
The Proposed model of robot Navigation algorithm is shown in fig.3
Navigation Algorithm:-
Initially give a power supply to arduino board the LCD digital board and the
servomotor is starts to rotating. The source co-ordinates and destination
coordinates are displayed from GPS receiver. The triple axis magnetometer
gives the robot direction. The ultrasonic sensor detects the obstacles and gives
the feedback to the microcontroller in order to avoid collision. Then the robot
turns to avoid obstacle. The path angle is again calculated to reach the
destination. This system gets the current position from GPS and destination
coordinate from user. It finds the shortest path between current position and
destination. Distance and angle calculation of the robot is shown in fig 4.
Fig. 4: Distance and Angle
Calculation.
Where
X=long (goal)-longitude
(vehicle) Y=latitude
(goal)-latitude (vehicle)
θ = tan-1(Y/X) 2
This system gets the current position from GPS and destination coordinate
from user. It finds the shortest path between current position and destination.
Then travels through the shortest path. If it senses any obstacles in the path it
selects the new path based on the next shortest path. This process is continued
until the destination is reached. If the destination is reached vehicle gets
stopped. At the same time system sends its current position coordinates to
monitoring part. Here the iron clamps are attached to both the wheels of the
motor. So the robot easily flows on water surface without any collision. In
order to move in calculated angle, clamps change speed so that the robot turns
in water.
Fig. 4: Schematic Circuit Diagram.
Chapter 4: (Mini Level Analysis) Final Analysis and
Design
3.1 Hardware Analysis:
The system block diagram, is shown in Figure 1, and consists of the following
parts, i.e. The components are arduino mega 2560 microcontroller, GPS receiver,
HMC5883 compass,L298 motor controller, Geared DC Motors. The arduino
microcontroller gives the pulses to the motor controllers in order to move it in
précised angle. The sensors used give the clock pulses in order to sense the
change in environment and to move accordingly. The microcontroller is the heart
and brain of the robot. Using all these parameters the robot reaches the
destination. The Arduino Mega 2560 is a microcontroller board based on the
ATmega 2560 was chosen as the brain of the mobile robot. It has 54 digital
input/output pins (of which 15 can be used as pulse with modulation (PWM)
outputs), 16 analog inputs, 4 hardware serial ports (UARTs), 16 MHz crystal
oscillator, a USB connection, a power jack and a reset button. It contains
everything needed to support the microcontroller. L298N Motor Controller is
used for controlling both the geared DC Motors. It works based on H-Bridge
mechanism. Ultrasonic Sensor is used for the obstacle detection
purpose.HMC5883L Compass is a low field magnetic compass. Chip it is used
for direction purpose.GY-NEO6MV2 receiver is gives the source coordinates and
destination coordinates to the robot. Then the robot chooses its optimization
path. The Schematic circuit diagram of the robot is shown below fig4.
3.2 Software Analysis:
Software testing has been done in various stages and using various software’s.
Every programme can be tested for syntax and runtime errors. By calculating the
latitude and longitude values from GPS receiver it gets the distance.
3.3 Code
Float flat1=flat;
Float flon1=flon;
Float dist_calc=0;
Float angle_calc=0;
Float dist_calc2=0;
Float diflat=0;
Float diflon=0;
x2lat= 18.465373 ;
x2lon= 83.659639 ;
dist_calc=sqrt((((flon1)-(x2lon))*((flon1)-(x2lon)))+(((x2lat-flat1)*(x2lat-flat1)))
);
dist_calc*=110567 ; //Converting to meters
angle_calc=atan2((x2lon-flon1),(x2lat-flat1));
And we can measure the angle by using triple axis magnetometer. The
magnetometer gives the direction. The
heading and actual angle values are displayed in LCD display board.
The programme using while measuring the coordinates angle are
if (angle_calc >0)
{
angle_calc= angle_calc;
feedgps();
getDistance();
}
Floatangle Degrees = angle_calc;
feedgps();
int x, y, z;
feedgps();
getDistance();
And by using compass we can calculate the distance between source coordinates
and destination coordinates.
0x03 is the transmission address
// Initiate communications with compass
Wire. BeginTransmission (address);
Wire. Write (byte (0x03));
// Send request to X MSB register
Wire.endTransmission ();
Wire.requestFrom(address, 6);
if(6<=Wire.available())
{
x = Wire.read()<<8; //X msb
x |= Wire.read(); //X lsb
z = Wire.read()<<8; //Z msb
z |= Wire.read(); //Z lsb
y = Wire.read()<<8; //Y msb
y |= Wire.read(); //Y lsb
feedgps();
getDistance();
}
float heading = atan2(y,x);
float declinationAngle = 0.0457;
heading += declinationAngle;
feedgps();
getDistance();
if (heading < 0)
{
Heading += 2*PI;
feedgps();
getDistance();
}
if (heading > 2*PI)
{
Heading -= 2*PI;
feedgps();
getDistance ();
}
4. EXPERIMENTAL TEST RESULT:
Fig.6 shows the structure of the amphibious robot. The vehicle model used in this work is in
dimension of 30 cm length, 20 cm in width and 15cm height.
Fig. 6: Autonomous amphibious robot.
The robot easily senses its environment and its surroundings with the help of
GPS receiver and compass. Based on sensor input the robot updates its
coordinates and allowing the vehicle to track its position even when path is
changed. The location coordinates are shown in below figure.
Fig. Output in Serial Monitor
Discussion: The navigation algorithm first employs to get the source
coordinates and destination coordinates from GPS receiver. the robot can be
used as a movable SurveillanceSystem. It can be controlled remotely. It
does not require Man Power. It can be used for critical application like
flood, bomb disposal, Fire, Terrorist attack, Earth quake, Spying. The main
disadvantages of that the robot moves forward and backward without
human control and it is used for short distance purpose only. This robot can
be used for pick and place the require object by giving directions to the
robot. By doing extra things, it can be used in army application.
Conclusion: In conclusion, we have presented an obstacle navigation method
for autonomous amphibious robot.The overall expectation of this project is to
navigate the robot through land and water automatically with least human
interference. The open source arduino programming made the operation simple.
Giving destination in the code itself makes the process easy without any
complexities.
References:
1. Abdullah Al Ahasan, Md., SK Alamgir Hossain, Ahsan Ullah Siddiquee, Md.
Mahbubur Rahman, 2012. "Obstacles invariant navigation of An Autonomous Robot
based on GPS." IEEE (2012): 9.
2. Cang, Ye., Member, Johann Borenstein, 2001. “A Method for Mobile Robot Navigation
on Rough Terrain”.
3. Dhanasingaraja, R., S. Kalaimagal, G. Muralidharan, 2014. “Autonomous Vehicle
Navigation and Mapping System” in Division of Mechatronics, 2014 International
Conference on Innovations in Engineering and Technology, 3(3).
4. Irtsam Ghazi, Muhammad Rashid Maqbool, Ihtisham ul Haq, Sanaan Saud, 2016. "GPS
Based Autonomous Vehicle Navigation and Control System"IEEE (2016): 7.
5. Jared Moore, M., K. Philip McKinley, 2013. “Evolution of an Amphibious Robot
withPassive Joints”in Department of Computer Science and Engineering, June 2013.
6. Ta-Chung Wang, Tz-Jian Lin, 2013. “Unmanned Vehicle Obstacle Detection And
Avoidance Using Danger Zone Approach”, in Department of Aeronautics and
Astronautics, Volume 3.
7. Vaghela Ankit, Patel Jigar, Vaghela Savan, 2016. “Obstacle Avoidance Robotic Vehicle
Using Ultrasonic Sensor, Android And Bluetooth For Obstacle Detection”, 3(2).
8. Vijayalaxmi, K. Srilatha, K. Pranathi, Sruthi Chinatala, 2014. "Visually Guided
Amphibious Robot",GJAET.