Design Goals
- Use the same terrain data across all devices in the ecosystem
- Autopilot (PX4, ArduPilot, Etc)
- Companion Computer (grid_map_geo) or other computers running ROS 2
- Ground Station (QGC, MAVProxy, Mission Planner)
- Simulator (Gazebo, SITL)
- Developer visualization tool (RVIZ, Foxglove)
- Autonomy navigation/planning frameworks (NAV2)
- Support loading terrain from an online terrain server
- Reduce network usage by maintaining a local cache of terrain data
- Only download tiles once from online terrain server to devices in field
- Cache terrain on the companion computer and/or autopilot to reduce GCS-Vehicle network congestion
- Reduce the time, complexity, and difficulty to set up terrain data for terrain navigation
- Example: given no terrain data is installed on any devices, and the system is started without GPS signal, when the GPS is enabled, then the autopilot, companion computer and GCS retrieve terrain and the simulator displays the terrain and the local origin of the simulation is to the home location.
- Enable using drones at large latitudes beyond SRTM's 60 degree limit
- Support simulation of similar scale flight as this
Current Issues
Visualization/Sim
Gazebo
- Gazebo can't consume data from online terrain servers - the Gazebo Classic tutorial involves a lengthy process to manually generate terrain meshes
- Gazebo can't visualize SRTM terrain tiles without decimation due to performance issues
- Gazebo assumes the user wants to load the entire dataset supplied, which breaks down with large VRT's (it currently segfaults)
QGC
MAVProxy
Mission Planner
Companion Computer
- If the companion computer doesn't have SIM card, it can't fetch terrain data from online, even if the GCS has terrain data
Autopilot
- Autopilot's GPS sensors may use different datums
What's working well
Terrain transmission between autopilot and GCS
- Based on MAVLink terrain protocol
Navigation/Planning (NAV2)
- NAV2 currently is heavily tied to Costmap2D in the GlobalPlanner
- NAV2 can't support 3D planning
- NAV2 assumes grid-based algorithms, no allowance for geometric
- We want to efficiently represent airspace and coastlines without a grid
Current Terrain Data Transmission Approaches
These are the standards or techniques to share terrain data between devices over networks, both IP and serial, wired and wireless:
Current Terrain Sources
Design Goals
Current Issues
Visualization/Sim
Gazebo
QGC
MAVProxy
Mission Planner
Companion Computer
Autopilot
get_undulation()as recommended here by TridgeWhat's working well
Terrain transmission between autopilot and GCS
Navigation/Planning (NAV2)
Current Terrain Data Transmission Approaches
These are the standards or techniques to share terrain data between devices over networks, both IP and serial, wired and wireless:
Current Terrain Sources