AUV-IITB comprises 55+ highly enthusiastic and hard-working technocrats on underwater robotics ranging from freshmen
to driven senior undergraduates and experienced post-graduates spanning various branches of engineering at the Indian
Institute of Technology Bombay. We work on Matsya, a series of Autonomous Underwater Vehicles (AUVs)to deliver a research platform
in underwater robotics and promote autonomous systems. Significant architectural changes have been made to the subsystems by designing
them to handle tasks
in real-time. Some of the key features include improved heat dissipation, debug board, competition friendly mission planner.
The Mechanical Subdivision works tirelessly to bring in every possible physical
advancement in the vehicle. The main interests of the subdivision include planning,
building and testing different parts, as well as designing, fabricating and
waterproofing the entire vehicle.
Designing, Testing and Manufacturing
Different parts, ranging in complexity from simple hooks to complicated actuators,
undergo a rigorous process of Critical Design Reviews and are optimized to best suit our
These designs are then tested via simulation software like ANSYS, to check the maximum
temperature in hulls, static structural strength and drag estimations. After
successfully passing all the design checkpoints, the part is manufactured using suitable
techniques like laser cutting acrylic and 5 axis CNC for complicated parts like flanges,
Research and Development
The mechanical subdivision also explores new and untouched domains to find better
technologies to implement in the vehicle. The subdivision is currently pursuing research
in topics involving hydrodynamic analysis, thermal management in closed hulls and
multifunctional arms, amongst others.
In thermal management, we have created a
solution to increase contact with hull walls
and thus transfer more heat via conduction to the surrounding water at a
lower temperature. We have also isolated major heat-generating components into a
separate hull to prevent damage to other parts of the vehicle.
This year, we decided to make a universal arm
that can be used for any task with the
minimum number of improvements. This arm is aimed at being completely autonomous,
3 DoF and gripping feedback.
We also plan to have a replaceable end effector
that can be designed explicitly for the
Lastly, we are exploring topology optimization, which can help solve structures with
minimum material and sufficient strength.
The Electrical Subdivision is the link between the mechanical and software subdivisions,
responsible for designing, manufacturing and managing the power requirements and controlling
the thrusters and actuator systems with the help of customized PCBs.
Designing and Manufacturing
A schematic of the board is prepared from the pre-designed circuit diagram, after which
the designing of the PCB layout is done. The design review of these boards is carried
out multiple times to ensure the correctness and to avoid any minor mistakes before
proceeding to manufacture.
These custom boards are then soldered to fit the components. The microcontrollers in the
PCBs are accoutred with codes developed to command them, implementation of which allows
the microcontroller to incorporate I/O functions, servo control, data acquisition and
transmission. Once we have all the electrical hardware components, they are verified for
their functioning by testing them without being placed in Matsya. After ensuring their
regular operation, different parts are connected inside the respective hulls with the
help of connectors and penetrators, where the Microcontrollers are loaded with their
Task and Testing
During the run, the dropping of markers and torpedo shooting is accomplished by us. With
the help of communication protocols, we interface the codes of drivers and sensors with
the vehicle and its milieu. The fully equipped Matsya is deployed in the swimming pool,
where a check of significant activities like waterproofing, electrical stack working,
data-logging, etc., is done. There have been instances of water leakage inside hulls
which led to replacing the total electrical stack with new components resulting in
numerous night-outs solving the issues, which engulfed us in a lot of fun activities,
mid-night snacks, treats and created lifelong memories.
The Software Subdivision is responsible for making Matsya Autonomous! The software stack
is written majorly in C,
C++ and Python. The main packages in the software stack include drivers, localisation,
controller, navigator, simulator,
state machine, mission planner, vision and acoustics, all of which have been written
from scratch with the help of
libraries such as Robot Operating System (ROS) for inter-process communication
and OpenCV for image processing.
All these packages combined provide autonomous capabilities to the vehicle, making it
capable of taking its own decisions. The overall architecture of the stack is highly
object-oriented and majorly independent of the vehicles. The code
conforms to the LLVM standard and PEP 8 style guide, supported by inbuilt tests and
extensive documentation. The tasks and environment are simulated in Gazebo to
test any code we write. Post testing in the simulator, another important task for the
subdivision is real-life testing, where the code is physically tested on the vehicle
in-water. Thus, the main aim of the software subdivision is to write software that is
generic and error-free, in order to get the vehicles working at their full potential.
Controller and Navigator
This module is responsible for autonomous control of the vehicle's motion. The
Controller is responsible for the vehicle achieving
given positions and velocities in all 6 Degrees Of Freedom using feedback from
localization. The controller uses a PID
Controller (Proportional-Integral-Derivative) and an allocator which divides the forces
among our thrusters. We are currently working
on more advanced Optimal Control Laws and Improved Modelling of Vehicle’s Dynamics.
The Navigator helps our vehicle traverse the pool via complex paths. It features an
Artificial Potential Fields Based Obstacle
Avoidance and Trajectory Following Algorithms. It is responsible for commanding the
required positions and velocities from the controller.
This module allows our vehicle to navigate complex underwater environments.
Localization And Perception
Our vehicle relies heavily on knowledge of its current location to be able to control
itself , find underwater tasks and make autonomous
decisions. The Localization module achieves this by combining data from our sensors to
get a good estimate of localization. We are currently
working on sensor fusion algorithms that can combine sensor data with our
knowledge of the vehicle's dynamics for better estimation.
Vehicle Autonomy requires that the vehicle is able to see and hear its environment and
use that information to identify and locate key objects
and tasks. We use both ML based Yolo V3 and classical Computer Vision techniques
to identify objects in the environment.
A Time Difference Of Arrival (TDOA) based algorithm is applied on hydrophone data to
locate underwater pingers.
This module handles all communication with our sensors, namely the IMU, DVL, Pressure
Sensors, Camera and Hydrophones. The main task of
our custom serial and socket drivers is to read sensor data and pass it on to the
localization and perception module. We have also developed
an in-house calibration software for the IMU, so the drivers also occasionally
write the calibration matrices to the sensors.
After the force outputs to the 8 thrusters are calculated in the controller, they need
to be sent to the thrusters. For this, they are
first converted to Pulse-Width Modulation (PWM) Values, using a mapping calculated from
the thruster manufacturer’s data. These PWM Values
are then written onto the CAN Bus, which carries the signals to the individual
thrusters. The CAN Bus also carries the actuation signal for
the arm, sent directly by the mission planner.
State and Mission Planner
State and Mission Planner collectively act as the brain of our vehicle. After receiving
the current location of matsya from the localization
package, State sends the data to the mission planner which decides the next task to do.
This data is then sent back to State, which in conjunction
with the Navigator, goes through the 4 sub-states (Scan, Transition, Execution
and Post-Execution), returning back to a previous state in
case of a failure at any particular sub-state. Task completion and success checks are
performed in the post-execution state.
The Business Subdivision is the public face of the team, involved in aspects of
marketing, media, PR, web development, event management and design.
With an aim to publicize AUV amongst prospective customers, investors, partners and
stakeholders, we establish and maintain the team’s corporate relations.
Our responsibilities include:
Working with the press for various news releases
Ideating content to promote the team through its
social media handles
Arranging interviews with company spokespeople
Maintaining and advancing the team’s website
Internal and external communication
and ultimately formally presenting the team on various public platforms in the most
favourable and effective manner.