Underwater Hull Inspection Drone
BuiltROS 2 · C++ · Python · PCL · OpenCV · Kalman filter · Gazebo · Docker
- My motivation
- I had always been wondering: would it be possible for a robot to automate itself, without a human having to control it?
- What it solves
- Underwater, things are more challenging. Not only we have to apply computer vision in such a dark environment, we have to control the robot on water environment where there is buoyancy effect taken place. On top of that, my drone is never told the hull's size or shape. It has to discover the surface first, then plan its own survey over it.
- What I learnt
- Lots of cool tech stacks. PCL, OpenCV, tracking filters such as the Kalman filter, plus ROS 2, C++, Gazebo and Docker.
- Takeaway
- Such a good experience. It made me realise that humans have abilities we have taken for granted, such as the ability to synchronise our sensory and actuator capabilities. When I coded this project I always asked myself hard questions that are very basic for a human, such as: "um… how do I make the robot realise that at this coordinate, there is a bump?" (the answer is sonar and PCL). This project enriched me in lots of ways, but mainly in mindset.
I did not want to just say that it works, so here is what was actually measured, scored against the true answer the drone was never allowed to see.