Projects

    M.I.D.S..

    Image of the "M.I.D.S." project
    Icon of the "Python" tagPython
    Personal project
    In progress
    Application simulating the detection and neutralization of underwater mines using autonomous drones.

    Project description

    Introduction

    This project is a 2D simulation of underwater drones tasked with detecting and neutralizing underwater mines in a predefined mission zone. The system models the mission area as a polygonal region (not limited to rectangles), and takes into account the depth, navigation constraints, sonar detection, and energy consumption.

    The simulation was developed in Python using PyQt5 for the user interface. The entire simulation runs in real-time and includes obstacle avoidance, a basic sonar model, and mission completion logic based on mine neutralization and drone recovery.

    This project was developed in a team of 3 students as part of our engineering curriculum. It was a major project over several weeks, integrating software architecture, simulation design, algorithmic pathfinding, and UI development.


    Features

    • 2D real-time drone simulation
    • Non-rectangular polygonal mission zone
    • Sonar-like detection system for underwater objects
    • Playable mission with "Play" button to start simulation
    • Realistic drone movement with heading and speed
    • Obstacle handling and mission logic (return to base, neutralize all mines)
    • GUI with PyQt5, including graphical zone and drone representation

    Technologies Used

    • Python 3
    • PyQt5 – GUI toolkit for rendering and user interaction

    Project Management

    This project included a collaborative project management phase, where we worked with a fictional client represented by another team of 3 students. We scheduled several discussion meetings to clarify the functional and technical requirements of the system.

    Key collaborative deliverables included:

    • A detailed requirements specification document written in partnership with the client group
    • Weekly meetings to refine priorities and validate progress
    • User Stories and Epics inspired by Agile methodology
    • A balance between client expectations and implementation feasibility

    The back-and-forth with the client group simulated a real-world engineering workflow and helped improve our ability to define and scope deliverables.


    Educational Context

    This project was completed as part of our engineering degree coursework. It served as a capstone project for our software engineering module, combining algorithmic thinking, interface design, and real-time systems.

    We were evaluated on technical quality, teamwork, project documentation, and the ability to simulate a complete system from requirements to delivery.


    Screenshots

    Screenshots are coming soon.


    What I Learned

    • Building modular architecture for real-time simulations
    • Managing user input and graphical updates in PyQt5
    • Simulating basic sensors (e.g. sonar) and event-driven logic
    • Implementing a pathfinding algorithm (D*) and obstacle handling
    • Collaborating efficiently with both team members and a "client"