If you find OpenStreetMap a bit difficult to plan off-road routes, try OpenRouteService
OpenRouteService (ORS) is an open source route planner service that leverages OpenStreetMap data to provide a variety of routing and spatial analysis services. It actually uses a forked and modified version of the GraphHopper routing engine (another option that can be used, and which is present inside OpenStreetMap as a routing alternative).
I was trying to plan a 4x4 trail between two places, but was finding that OpenStreetMap was routing me via a gravel road I did not want to follow. OSM also only has one export format which is GeoJSON. Switching to GrassHopper within OSM did actually help choose the correct route, but then I found OpenRouteService.
ORS has quite a few more options for adding and moving waypoints which allows you to more precisely plan your route. It also have 5 different export options including Standard GPX which I wanted. It allows a maximum speed to be set too, but sadly the minimum is 80km/h where I'd prefer to have set it to 50km/h for the route I was taking (still I can just mentally adjust the time).
Interestingly too, you can deploy it yourself using Docker, with a Docker Compose file.
Once you can your route, you can import that into any other navigation app, and use that in your vehicle.
See
OpenRouteService route planner - directions, isochrones and places
Openrouteservice is a open source route planner with plenty of features for car, heavy vehicles, hiking, cycling and wheelchair

#
technology #
opensource #
navigation #
openstreetmap