Description
A proposal to add a module for managing terrain navigation for fixed wing aircraft.
There has been some work done to support the ETHZ terrain navigation ROS package in ArduPilot.
- https://discuss.ardupilot.org/t/offboard-terrain-navigation-for-plane-with-ros-2-ap-dds/114418
- Plane: handle guided path requests in GUIDED mode ardupilot#26328
- DDS: add guided path external control and implement for plane ardupilot#26339
It would be useful to be able to configure missions using the terrain planner directly from the GCS rather than from ROS tools such as rviz, which while suitable for research and testing are not that easy to use more generally as they are not integrated with the rest of the mission workflow, and require custom terrain data maps which must be separately maintained and care is required to ensure that the altitude reference (WGS84, geoid, etc) is consistent with the conventions used in AP. This is manual and error prone.
A second use is to generate sets of path trajectories that may be incorporated into the AP autotest suite. Being able to run path guidance in CI is one of the requirements currently blocking the merge of the PRs listed above, and to test external control an agent running at least some of the functionality included in the ETHZ terrain nav package is required, without introducing a dependency on ROS.
The module should allow for the core features used in the terrain planner rviz plugin to be run in mission planner. An (incomplete) list includes:
Set desired waypoints
- Set start location
- Set goal location
- Set rally points
- Set waypoints
Planner control
- Run the planner
Mission Actions
- Hold
- Start navigation
- Abort
- Smart return
Terrain data interaction
- Select terrain data source
- Show contours overlayed on map
Progress
Ongoing development on this branch:
Completed a Python port of the planner in ETHZ terrain navigation:
Initial integration of the planner with MAVProxy:
