By the looks of it, your character is causing its own problems with navigation. The lack of green underneath suggests that it is blocking the NavMesh.
In the Blueprint, select the Capsule then in the details panel, search for Navigation.
One of the options is "Can affect navigation". Uncheck this and you should see the area under your AI go green ...
I'll show you how I'd tackle this in C#, since it's the language I'm most familiar with and I'm less likely to make silly syntax errors. 😉 Java syntax is very similar, so you should be able to translate the strategy to your code smoothly enough.
I'd start by defining some data types to manipulate ship positions and headings. Nothing too exciting here.
My implementation uses several heuristics, Monte-Carlo sampling and Supervised learning. My agent is stronger than recreational humans, but weaker than professional players.
I describe it in this paper: https://ecai2020.eu/papers/235_paper.pdf
I agree with other answers that the A* algorithm (or variants) is used often, but some old RTS games (eg: Warcraft) use a simpler and faster approach.
It works this way :
project an imaginary line-of-sight from the unit position to its destination.
Most of the time, there is no obstacle between, and it can stop there since it already found the closest path.