Robotics Individual Project

For this project, we were tasked to design a robot for a specific task that is beneficial to humanity. This is a systems level design that goes over hardware and software, including power and navigation. The goal is to create a design that could be created into a workable prototype with further work.

I designed a robot to assess quality of water mains. You can see it in this presentation, but I’ll go over all the main systems in this post.


Flowbot is a robot that autonomously navigates inside water mains. It runs on its own battery power, uses tracked wheels to move, takes periodic measurements of water quality, and images the pipes for any visible cracks. When it runs out of battery power, it brakes itself inside the pipe, and uses a small water turbine to recharge its battery. After imaging the entire area, it returns to its starting location and signals the operator to be picked up again. This is a huge improvement over existing pipe inspection robots, which require an operator and experienced technicians to determine pipe leaks, and don’t take water quality samples. The mechanical design is similar to the Inktun vertical crawler, shown here:

Ca-Zoom PTZ70

Social Value

Water use is increasing at about two times the rate of population growth. With about 60% of drinking water lost due to leaky pipes, an automated way of finding leaks and monitoring water quality is vitally important to ensure that the world’s population has access to clean drinking water.


Overall, the robot pulls just under 40W of power while roaming through a pipe. It’s split between its processor (ARM microcontroller), motors, cameras, lights, and other sensors. It is powered by an 80Wh lithium ion battery, which runs for 2 hours before requiring recharging. It uses separate DC/DC converters for the motors, sensors, and processor to reduce the negative affects of noise (especially those caused by the motors).



The Flowbot uses: front and rear cameras (which use strobe lights for illumination), an inertial measurement unit (VectorNav VN-100), rotary encoders for its tracked wheels, and water quality sensors (speed, temperature, pH, conductivity, dissolved oxygen, and ORP/redox). All the data from these sensors are recorded to a memory card, which is retrieved after its mission is complete.


The Flowbot primarily uses distance measurements from its overall encoder movement, which has low error as long as there is no slippage between the tracks and the walls of the pipes. It’s expected that there aren’t too many potential pipe branching locations, so the higher error IMU measurements, combined with the encoder readings, help with detecting which pipe locations to go down.

System Level

The following flowchart shows the overall operation of the robot, from placement in the pipe system to final collection. The Flowbot is first placed in a water main, maps out a water pipe system, takes measurements of the pipes with cameras and takes water quality measurements. After running out of battery, it stops and recharges before continuing mapping. After all sections have been mapped, it returns and alerts the operator to retrieve itself.



Because this robot operates in pipes that carry drinking water, it is important that the lithium ion battery does not rupture and contaminate the supply. As a result, the battery will is enclosed inside a metal container that is pressure rated to at least four times the highest expected pressure inside the water main. Additionally, if any other critical system fails, the robot is designed to park itself and enter into retrieval mode, which is designed to be low-power and emits auditory beeps that are easy to detect in a water-filled pipe.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s