Skip to content

Global Path planner for Bluerobotics's BlueBoat. Uses MAVLink communication protocol and is intended for use with QGroundControl.

Notifications You must be signed in to change notification settings

ImStian/blueboat_globalpathplanner

Repository files navigation

BlueBoat Global Path Planner

This repository contains a global path planner for BlueRobotics' BlueBoat, designed to be used with QGroundControl via the MAVLink communication protocol.

Features

  • Path Planning Algorithms: Implements A* and RRT* algorithms for efficient global path planning.
  • MAVLink Communication: Facilitates communication with BlueBoat using the MAVLink protocol.

Installation

  1. Clone the Repository:

    git clone https://github.com/ImStian/blueboat_globalpathplanner.git
    cd blueboat_globalpathplanner
  2. Install Dependencies:

    • Ensure Python is installed. Install the required packages using:
    pip install -r requirements.txt
    • In case of any issues related to missing libraries: Follow installation guide for SeaCharts and install any remaining dependencies manually.

Usage

  1. Prepare the Environment:

    • Download Depth data from GeoNorge using the file geodatabase fileformat.
    • Place your .gdb file in the root directory of the project.
  2. Communication:

    • Make sure that BlueBoat is configured with an additional client endpoint. A guide can be found here.
    • Alternatively, use the SITL simulator from ArduPilot, configured with an additional endpoint. This can be done using the --out=<IP-address>:<Port> commandline-argument when starting SITL. SITL must run in the background at all times!
       python3 sim_vehicle.py -v Rover --out=127.0.0.1:14541
    • The connection-object for this project is hardcoded in main.py, and is defined by the the_connection variable. Make sure that the IP-address and port matches the one configured in BlueOS or SITL. If not, modify the code.
  3. Run the Path Planner:

    python main.py
  4. Customizing Settings:

    • Use additional arguments when running the script:
      Option Type Description Default
      -size int Size of map extraction 2500
      -algo str Path planning algorithm. Valid entries: astar, rrtstar astar
      -note str Add a note for mission logs
      -disable_log Disable logging of mission

Files and Directories

  • data/: Contains data files required for the path planning.
  • mission_logs/: Stores logs of missions for review and analysis.
  • src/: Core source code for path planning.
  • custom_plotter.py: Custom plotting utility for visualizing paths.
  • main.py: Main script to run the path planner.
  • map_settings.yaml: Configuration file for map settings.
  • seacharts_plotter.py: Plotter for SeaCharts.
  • standalone_pathplanner.py: Standalone version of the path planner.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or support, please open an issue on the repository.

Note:

readme.md was partially generated by ChatGPT-4o

About

Global Path planner for Bluerobotics's BlueBoat. Uses MAVLink communication protocol and is intended for use with QGroundControl.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages