The ROV Autonomous project is developed by the St Stephen's College (Underwater ROV) Team for the international ROV Mate competition in underwater robotics. Our goal is to create an autonomous underwater vehicle (ROV) combining the advanced image processing of computer vision, real-time feedback for easy and precise manoeuvring, and precise autonomous navigation capabilities. We are creating a less processor-intensive task to open up live and real-time autonomous piloting for any operator with a simple computer.
- Red Square Detection:
- Our software uses image processing techniques to identify 15x15 red squares underwater. This feature is crucial for detecting specific locations of interest, such as submerged markers, which is part of the ROV tasks of the International Mate Competition.
-
Real-Time Feedback:
- Real-time feedback is for precise control when underwater, water currents, props and others are a large and genuine threat to our underwater ROV. We can transmit real-time updates to the piloting team regarding the current ROV situation using real-time autonomous feedback. Our system provides pilots real-time information about the ROV's position, orientation, and surrounding conditions. Whether adjusting thrusters or avoiding obstacles would be the best course of action, operators can make decisions within seconds to deal with problems that have arisen.
-
Underwater Navigation:
- Navigating underwater environments presents unique challenges. Our autonomous navigation system leverages depth sensors, compass data, and obstacle avoidance algorithms to guide the ROV through rough water areas safely.
-
Clone the Repository:
- Open your terminal or command prompt.
- Navigate to the directory where you want to store your local copy of the repository.
- Run the following command to clone the repository:
git clone https://github.com/keyframesfound/rov-autonomous.git
-
Install Dependencies:
- Ensure that you have Python installed on your system.
- Navigate to the cloned repository folder:
cd rov-autonomous
-
Python Script Installation:
- Install Homebrew (if you haven't already) by opening a Terminal window and running the following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Update your Homebrew installation:
brew update
- Install the required dependencies using Homebrew. Run the following commands in the Terminal:
- On macOS:
brew install cairo brew install pkg-config brew install gobject-introspection
- On macOS:
- After installing the dependencies, you can install PyGObject using pip:
pip install pycairo PyGObject
- Additionally, install the following GStreamer dependencies:
brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
- Set the GST_PLUGIN_PATH environment variable:
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0
- Install Homebrew (if you haven't already) by opening a Terminal window and running the following command:
-
Run the Main Script:
- Execute the main script to start the ROV Autonomous system:
python main.py
- Execute the main script to start the ROV Autonomous system:
The ROV Autonomous software works seamlessly with the following tools and libraries:
- OpenCV: Used for image processing and red square detection.
- Pythonis the primary programming language for the software.
- ROS (Robot Operating System): If you're building a more complex ROV system, consider integrating with ROS for communication between different components.
- GStreamer: For streaming real-time video from the camera to the operator's interface.
The ROV Autonomous software has several practical applications:
- Underwater Inspections: Use the ROV to inspect underwater structures, pipelines, and marine ecosystems. The red square detection feature can help identify specific objects of interest.
- Search and Rescue: Deploy the ROV in emergency situations to search for missing persons or retrieve objects from underwater locations.
- Scientific Research: Researchers can study marine life, underwater habitats, and geological formations using the autonomous ROV.
- Environmental Monitoring: Monitor pollution levels, track changes in underwater environments, and collect data for conservation efforts.
By combining hardware, software, and real-time feedback, the ROV Autonomous project empowers users to explore and interact with the underwater world more effectively.
Here are some inspiring projects and developments related to AUVs and ROVs:
-
Armada by Ocean Infinity:
- Ocean Infinity, a subsea survey company, launched a subsidiary called Armada. Armada specializes in producing automated surface vessels carrying subsea ROVs. These vessels can be used for underwater inspection.
-
Fugro and Sea-Kit International:
- Geological survey company Fugro is collaborating with Sea-Kit International to develop drone ships. These ships aim to minimize or eliminate the dependency on support vessels and umbilicals, making them more autonomous. Improved flexibility during offshore inspections and enhanced worker safety are key benefits of such autonomous vessels.
: Offshore Technology: Will 2020 be the year of ROV and vessel automation? : Wikipedia: Autonomous underwater vehicle
Contributions are welcome! Please open an issue or submit a pull request.