The Networked Aquatic Microbial Observing Systems (NAMOS)
NAMOS is a project aimed at leveraging technologies in Wireless Networking and Robotics to help Biologists sample Marine environments faster, more easily and come up with a more accurate understanding of the phenomena they are trying to study in the given marine habitat. NAMOS is a collaborative research project involving robotics, sensor networks and marine biology. Our Marine Biology colleagues are led by Prof.David Caron who directs the Caron Lab. Prof.Caron, Prof.Astrid Schnettzer and their students, Beth Stauffer, Erica Seubert to name just a few are our experts on the biology whose study we are attempting to facilitate through the use of marine robots.
The work is motivated by the scientific objective of obtaining high resolution information on spatio-temporal distribution of plankton assemblages in aquatic environments. Our goal is to develop robust, decentralized algorithms and supporting hardware that enable the network consisting of buoys and boat to perform adaptive hydrographic sampling using the information provided by the network.

Fig 1: Roboduck-II during a Station-Keeping test at Echo Park Lake in Los Angeles
My work on NAMOS involves several interesting areas:
- Developing Navigation and Guidance controllers for the ASV
- Developing Station-Keeping capabilities on the ASV
- Doing obstacle detection and avoidance on the ASV using Stereo vision
- Doing localization, obstacle detection and avoidance on the ASV using the Sonar
If you are interested in learning more about marine vehicles, please look at some of these research bookmarks.
Rapid Analysis of Pseudo-nitzschia & Domoic Acid, Locating Events in near-Real Time - (MERHAB-RAPDALERT)
MERHAB is a program aimed at Monitoring and Event Response for Harmful Algal Blooms in the coastal waters of Southern California. MERHAB's web-page is still under development. Some information is currently available at The Burt Jones Lab page. We use SLOCUM gliders manufactured by WRC, to facilitate rapid Harmful Algal Bloom detection and event response.
My goal is to develop algorithms (and middle-ware) that allow multiple AUVs and ASVs to synergistically perform goals such as monitoring of Harmful Algal Blooms efficiently, robustly, intelligently despite unreliable communication links and operating conditions. I work with Ryan Williams who also works on multi-robot coordination and Hordur Heidarsson. Since Fall 2008, Hordur and I have been developing a Freewave network to enable us to retask gliders. This network will also bring down the operational costs for gliders. We work very closely with our team from the Marine Biology Dept.

Fig 2: Prof.Burt Jones, with one of our gliders during my first glider deployment
Master's Thesis Work
My Masters thesis is titled "Navigation and Guidance of an Autonomous Surface Vehicle". The thesis describes work done in designing an autopilot and guidance system for our Autonomous Surface Vehicle as well as a discussion on Stereo-based obstacle avoidance for such a vehicle.
On a related note, please refer to these research bookmarks for some links that are very useful in Marine Vehicle guidance and Navigation. These links point to work by Prof.Thor Fossen and his group at NUST (NTNU).

Fig 3: Roboduck-II near Harbor Patrol, Redondo Beach Marina, USA during a Waypoint Guidance test
People Tracker
This a project that I worked on for my Advanced DSP (EE-586L) class along with my project partners Marc Kelly Robins and Abhay V. Nadkarni. The aim here was to locate and track people as they move within the frames being captured by a static camera. The algorithm relies on motion detection through adaptive background subtraction as well as adaptive edge-thresholding. It also uses the color statistics of clothes worn by people to uniquely identify them as well as adapting each person's color statistics in order to accomodate for variations in illumination as they move from one part of the frame to another. You can read the report here.
Fig 4: The "People Tracker" tracks me
Localization of Roboduck-II using Stereo Vision

Fig 5: Roboduck-II at Echo Park during Vision Tests

Fig 6: Buoy with checkerboard target
During the summer of 2006, I worked on designing a computer vision system that will enable our new Robotic boat - Roboduck-II to localize itself using Computer Vision. The idea is to capitalize on our deployment of buoys for sensing to provide the boat with artificial landmarks to which it can estimate ranges through a recognition and stereo range-finding algorithm such that it will be able to localize itself locally wrt the buoys, and globally through integration of heading measurements from a compass or IMU.
Graphical User Interface for Boat and Buoy data Visualization and Control

Fig 7: NAMOS-GUI for control of Roboduck-I and Roboduck-II
I started developing an User-interface that will allow a person with no engineering background to control this boat intuitively and to allow configuration of the entire network as a whole. Data available from all nodes in the network including those from a weather station that I am also developing will be represented on the interface to enable a biologist have data at hand that can potentially help them fine-tune their data-collection in real-time.
The User interface design and development has been taken over by Jnaneshwar Das.
(Softwares and Tools used to do this part of the project are Visual C++ (6.0 and .NET), Visual C#, GCC, arm-linux-gcc)
Design of a Weather Station Node
When I first became part of the NAMOS team, I was entrusted with the task of designing a weather station which is part of the EMSTAR network we have for sensor monitoring. I have designed a modular data-logging module with a 24-bit ADC card, a 16-channel re-configurable signal conditioning board around the RCM 3200 board (with Ethernet). Connection to EMSTAR will be done through a Stargate board.
(Softwares and Languages used by me till date for this project: EAGLE PCB layout software, MicroSim SPICE analysis tool and Dynamic C 9.20.)
Autonomous Localization from Fused Sensor Data
This was an interesting project which was part of the course Sensing and Planning in Robots. It consisted of design and implementation of a Kalman Filter which we used to fuse data from various sensors such as a Stereo - camera system, Odometry, GPS and SONAR. We used the SIFT (Scale Invariant Feature Transform) to provide the robot (a Pioneer 2 AT) vision information from the Stereo camera system.
Fig 8: Displacement vectors between frames computed using D.Lowe's SIFT algorithm

Fig 9: Error Ellipses on position of the robot as it navigated the corridor
The figures show displacement vectors computed by the SIFT algorithm. We attempted to do Map-less localization on the robot using Vision and odometry only.
Robot localization had drift which was very high particularly during quicker turns. GPS-aiding enabled the Kalman Filter to correct the drifts in the other system and localize the robot to within its own error-bounds.
Using odometry and vision over shorter durations and GPS to minimize drifts results in a fairly good system for outdoor navigation. We believe, (as has been proven by work done by Stephen Se, David G. Lowe and Jim Little et.al. “Mobile robot localization and mapping with uncertainty using scale-invariant visual landmarks”) that this setup can work if mapping is done on board the Robot. Click here for the report.
On a related note, please look at Jon Kelly's work on Stereo-based Visual Odometry which is available here. :)
{This project was developed by Ilya Eckstein, Onur Sert and myself. The 3-d simulator used for modeling Robots is the Player/Gazebo robot simulator developed by the Player/Stage/Gazebo team}
(Softwares and Languages used for this project: GNU g++ ( C++ on Linux), JAVA, Gazebo Robot Simulator, Player Robot Interface)
MAYA - Autonomous Underwater Vehicle

Fig 10: The MAYA AUV during its first actuator test in one of NIO's tank
The Autonomous Underwater Vehicle is a project that is funded by the Department of Information Technology, New Delhi, India. MAYA—the smart AUV is a project at the National Institute of Oceanography, which is India’s premier Oceanographic Institute, where I worked for 3 years before coming to the US to pursue my further studies.
MAYA is a collaborative project with the Institute for Systems and Robotics at the Instituto Superioro Technico (IST) in Lisbon, Portugal. While working at NIO on this project I was involved in various facets of MAYA’s development including the design of several versions of rudder/fin actuator nodes (some of which are still being used on the present vehicle). I have written most of the early software that ran on the AUV’s Linux-based PC-104 Computer which controlled the AUV on the horizontal plane, performed navigation including dead-reckoning from sensor data. I had also developed a control interface that allowed a Laptop to control, load missions and monitor the AUV’s status over a wireless radio link.
(Softwares and Languages used by me till date for this project: Visual C++ 6.0, GCC, Keil C, CCS-C, HiTech PICC, MicroSim SPICE analysis tool and Dynamic C, National Instruments Lab View 7, MATLAB)
(Hardware Platforms : PC (running Windows and Linux Operating Systems), PC-104, Rabbit Semiconductors, Microchip PICs)
Remotely Operated Sea-Skimmer and Autonomous Surface Vehicle

Fig 11: ROSS and me at the Campal swimming pool in Goa, India
ROSS was a remotely controlled platform with large sensor payload capabilities. It was developed at the National Institute of Oceanography to perform varied oceanographic surveys to aid in coastal sampling of water bodies. We have used it to collect bathymetric and Chlorophyll data.
The Remotely Operated Sea Skimmer is the first Autonomous Robot that I had the opportunity of working upon. I developed the Heading Autopilot for ROSS by utilizing data from an Inertial Measurement Unit. A TCM-2 compass can also be used for heading control although rate-feedback in choppy waters is highly preferred.
We also hooked up a GPS to ROSS and made ROSS capable of Waypoint guidance. This transformed ROSS into an ASV i.e. an Autonomous Surface Vehicle which was capable of piloting itself autonomously by following a pre-defined mission map consisting of way-points. This way-point following capability was rigorously tested in the swimming pool, lakes and then at Sea.
Please take a look at the publications page for a presentation and manuscript of a paper for the ASV, which will provide more details.
Tide Gauge data logger
I also had the opportunity to develop a Tide-gauge using the RCM-3000 processor for a data-logger. This tide-gauge was installed in Ghana in June 2004. Incidentally it is the only such instrument on the East Atlantic coast (Western African Coast) to have recorded a clear signal of the Tsunami that wreaked havoc in the Indian Ocean on December 26, 2004.
This tidegauge used a Honeywell PPTR transducer to do sea-level measurements.
Wave Gauge data logger with GSM data transfer
I also created a Wave-recording station by creating a higher-sample rate version of my tide-gauge. This was also fitted with a GSM cellular phone data-modem through which the embedded microcontroller would dial up and upload its data after having collected a pre-programmed amount. I have also tested data transfer using the Short-messaging-service protocol, which is quite economical in South Asia.
Automatic Weather Stations
Weather stations are platforms that have sensors that can measure most of the important weather parameters such as Air Temperature, Wind Speed and Direction, Humidity, Solar Radiation and Rain. I have developed a few of these. One used the PIC-16F876 to do sensor acquisition, while another used the RCM-2300 to do the same. I have also been closely involved with another team that developed one using the Cygnal 8051 micro-controller, and am now developing a Weather Station for the NAMOS project based on the RCM-3200.
PC-based Blood Sample Colorimeter
My principal aim has always been to help make the lives of others better. When doing my Bachelors in Engineering at GIT, I got to do work that is more directly related to helping humans have healthier lives than the other things I’ve worked on. A Blood Sample colorimeter is an instrument used by Pathologists to diagnose diseases or abnormalities in blood samples from patients. This is usually done by comparing the absorption and conductance of different wavelengths of light through blood serum mixed with certain reagents. We interfaced such an instrument to a PC so that choosing filters for each type of test was automated by making the computer select the appropriate filter for a given test. The software also instructs the operator as to which reagents to mix for a particular test, and the quantities that need to be mixed. The Software would store calibration constants for reagents and tests on disk and would automatically generate reports and allow query of previous records through an interactive user-interface written in C++.