Documentation - TheDilenic/ProjectHydrus GitHub Wiki

Our group went through a series of ideas to choose for our Engineering Innovation & Design (MA2079 - EID) project. A piezo electric generator device for guitars, a cycling energy generator and a pipe cleaning robot were among the last few ideas our group wanted to select. But in the end, we decided to choose to make a barnacle cleaning robot for our project (which later became the Biofouling Removal Robot).

Concept Designs

Below are the initial designs of our robot prototype.

1000000886

Our group selected option 3 due to its ease of creation and versatility.

1000000888

This shows the mode and demonstration of how our teleoperation and autonomous system will be controlled.

1000000890

This is the basic electrical schematic that our robot will be based on. (where the blue drawing represents an alternative layout.)



1000000892

And here is our plan to demonstrate the robot on the final day of EID.

The current features for our robot's uniqueness are:

  • Longevity
  • Waste collection bin
  • Universal for all ship types
  • Multi-purpose functions

Other ideas:

  • Main station at seaports to hold our robots
    • Robots can be sent to ships automatically
    • Reduces setup time



Industry Requirements

1 - Weight cannot be too heavy

2 - Size cannot be too big, best if 2 people can handle it

3 - Need to be able to handle currents up to 5 knots.

4 - best if it could clean 150-200 square meters per hour

5 - Need to be able to collect the fouling as strict regulations throughout the world do not allow fouling to be deposited in the regional sea water

6 - Need to be able to take pictures before and after with the robot for reporting purposes and inspection jobs

7 - needs to automatic and easy to be used by ship crew, almost idiot proof and autonomous

8 - Be able to clean hard fouling as well as algae soft fouling

9 - easily interchangeable replacement parts for maintenance

These are some considerations to take note in our design.



Mechanical Frame and Mobility Development

=== Initial Main Goals ===

  • Decide on hull-attachment methods & movement
  • Frame design to withstand pressure and water corrosion (min 5yr lifespan)
  • Waste collection bin placement
  • Allow for easy repairs & maintenance
  • Design for easy module function change
  • 3D model/drawing of concept

Early concepts for adhesion methods to ships.

Screenshot 2025-07-17 180215 Screenshot 2025-07-17 180237

Reference Links:

We now have decided on the movement methods. We will be using tracks (example; like tank tracks) for this project.

Up next, we are gonna to design hand sketched frame/body, that allows the tracks to used on the body/frame.

6235611190701179248

We also need to take account the strength of the magnetic to withstand the robot's weight and at the same time, ensure the magnet does not affect other components too.

6235611190701179317

Cleaning Module + Mobility Frame design collabration. To help visualise the end product.

We then changed to use magnetic wheels instead.

6275901596005155893

Finding a reliable supplier for our magnetic wheels is taking time. As we need it to fit our budget and deadlines.

Uploading 6296574802609161601.jpg…

Uploading 6296574802609161602.jpg…

We have decided on Supreme Magnets to be our suppliers. And after a short zoom session with them, we developed a few questions.

  1. The shaft diameter ratio to the diameter of the magnetic wheels? Or base on our own customisation?

  2. What does the function of the Disc do?

  3. Could they provide the functionalities with images of the magnetic wheels on the working prototype? Example: past clients magnetic wheel designs and how they put it to use ?

We received demo-wheels for our testing and to help us gauge the dimensions we need. Current wheels cannot be induced using electric current. But those kind of wheels are more expensive and take longer to manufacture.

IMG_8026.MOV

The wheels don't affect the motor badly but the issue now is that the hole for the motor shaft is too big to translate the movement onto the wheels.

video6301078401780292358.mp4

6312067338056353011

Planning the layout and minimum size of the robot needed. Additional dimensions:

  • Diameter of wheel exterior : 50mm
  • Hole diameter : 9mm
  • Motor shaft diameter: 4 mm

Updated the dimensions we need for our wheels.



Cleaning Modules and Manipulators Development

=== Initial Main Goals ===

  • Decide on water jet/scraper methods
  • Detachable cleaning equipment
  • Waste collection bin design
  • Minimise cleaning damage on ship
  • 3D model/drawing of concept

=== Other Features to Add ===

  • Add velcro brush to the back of scrapper
  • Insert vaccuum component into the container
  • Design modular attachment as shown above

We were deciding whether to go with a water jet cleaner or a simple scrapper. We chose the scrapper due to simplicity and the ease of demonstration on the final day. (We needed alot of water)





( place scrapper drawing and CAD designs here)



6325428435853363887

Concept of our modularity design to change functions of the robot. Function changing is still manual based.

6328082824426537978

Idea inspiration

SampleTool_Demo_0.mp4

Sample demonstration on SOLIDWorks of how it'll work

6124946968863162653

Additional placeholder function boxes modeled to showcase ease of switching tools.

video6138576235371959381.mp4

3D Printing and testing whether dimensions are correct and are able to fit into one another.



Electrical and Software Development

=== Initial Main Goals ===

  • Barnacle detection software
  • Control interface
  • power systems
  • electrical circuit drawing

If there is extra time:

  • automation
  • data collection

Some helpful links that aided the software side:

6264553295976711442

Here are the planned electronic components & their sizes

image

IMPORTANT DATA for the motor controller being used. [MXP-MD2 for myRIO]

First steps to get wireless control.

image

Next to create a small app interface for our robot control.

video6314513768151781906.mp4

Finialising our electrical schematics.

6325428435853363885 (1) 6325428435853363886 (1)

Concept for connection from our flutter app to the arduino system.

Tried to follow a { flutter app -> WebSocket -> Arduino } interface but it takes too long so we cut out the unnecessary parts. Flutter app no longer in development as its just a GUI feature and can be delayed.

Here is the playment for the above uncontinued development:

Now fully commited to just { Websocket -> Arduino }. We need to create a simple device to link them and adjust to our needs accordingly.

video6129535689991133369.mp4

Here is the link to assist with creation: https://randomnerdtutorials.com/esp8266-nodemcu-websocket-server-sensor/

We then created a pinout for the motors being used for our robot.

6131837569579731765

The WebSocket interface was development further with:

  • Joystick Controls
  • Logo
  • Camera feed background (with a minecraft video as a placeholder)
  • Small Function Buttons

The pinout became quite the hassle so we organised it. Motors were also labeled to reduce wrong wiring and help with easier debugging.

6133910526955210043

We were trying to find the correct pins for REV and FWD modes on our motor controller. It took a while as we had no proper documentation.

6136162326768894495

// Motor Pins for MD2 #1 (Front Left and Right) const int FL_PWM = D1; // Motor 0 PWM const int FL_DIR = D2; const int FL_DIRREV = D0; const int FR_PWM = D3; // Motor 1 PWM const int FR_DIR = D4; const int FR_DIRREV = D5;

// Motor Pins for MD2 #2 (Back Left and Right) const int BL_PWM = D6; const int BL_DIR = D7; const int BL_DIRREV = D8; const int BR_PWM = 10; //Follow GPIO PinOut : S3 const int BR_DIR = 9; //Follow GPIO PinOut :S2 const int BR_DIRREV = 8; //Follow GPIO PinOut :S1

Above is the current pinout for our robot.

Robot and control website app is now connected to any wifi (that we set) and remotely controllable.

⚠️ **GitHub.com Fallback** ⚠️