Skip to content

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

 
 
 

Contributors

Languages