CORV GCS — Open-source 3D Ground Control Station for ArduPilot

Hi everyone,

I’d like to share CORV GCS, a free and open-source Ground Control Station.

The main focus is 3D terrain visualization, it renders real SRTM elevation data with satellite imagery, so you can see the actual terrain around your vehicle in 3D, not just a flat map.

GitHub: https://github.com/Xarin94/Corv-GCS
Downloads: https://github.com/Xarin94/Corv-GCS/releases (Windows installer, Linux AppImage/deb)

Main features:

  • 3D terrain with satellite overlay and dynamic lighting

  • Aviation-style HUD and Navigation Display

  • Mission planning (40+ MAV_CMD commands, survey grid)

  • MAVLink 2.0 over Serial / UDP / TCP

  • Built-in SITL launcher

  • RTK injection, FPV camera, ADS-B traffic, joystick support

  • Flight logging and playback

For 3D terrain, place SRTM1 .hgt files in the topo/ folder (downloadable from OpenTopography or USGS EarthExplorer). For now i included the northern Italy/Austria pkg, the default spawn for SITL is Innsbruck.

For no Internet connection the 2d imagery applied in the 3d scene is disabled and you can use the simple wireframe view

Feedback and bug reports welcome!

Some images:

Added:

Terrain automatic download

offline fetch for SRTM1 and/or terrain imagery for offline mode (no data is included in the build now)

some bugs fix

Added in the 3d view the trajectory projection

Switching between 2d and 3d by click on the minor map

What is this ? Corv-GCS/BINARY_TELEMETRY.md at main · Xarin94/Corv-GCS · GitHub
And why CRV log ? Why not simply log binary mavlink data, like anybody else ?

Hi,

The binary telemetry Is for a side project, i inlueded the documentation to void confusion on what the parser Is doing.

The .tlog will be generated (the .crv will be deleted) as Mission planner does, It Is in the todo list

Done,

Bumped the version and added tlog as on mission planner, for now there is automatic log on connection but the GCS has no replay function.

To see the logs you need other software

Released v 1.3.0

added log replay, with play/pause, scrubber, current / total time, and an × to unload.

Valid for both .bin and .tlog files

Nice Work I like the GUI but there are some feedback:

I tried to connect to the vehicle and realflight simulator via TCP, but I couldn’t. In the mission planner, there is a TCP com option where I insert the IP of the simulator (vbox linux) and the port. It will be nice to have a dedicated TCP option.

Done, i have implemented in the drop-down menu the separate TCP and UDP options, i have done a release on git.

Thanks for the feedback, waiting to see if it works in your case

Version 1.3.9 release, better HUD, added the possibility of forced arm and disarm.

Some code cleanup of dead functions.

I really like how the GCS seems to be (not only) well-suited for flight operations (readability, etc.). It’s been missing Mavlink telemetry forwarding via UDP and GPS correction data from an NTRIP server ?

Rolf

Thank you for the feedback,

in the coming days i will investigate and implement the features!

I implemented the features requested as in mission planner. If you have any issues, tell me, I cannot test them properly.

Hope everything works!

NTRIP is working! Great! I won’t be able to test Mavlink forwarding via UDP for a few days yet. I will tell you how it goes.

Rolf

Mavlink Forwarding also works over UDP

Rolf

new release 1.3.14:

New horizon lock view for high speed drones.

Added shortcuts for the view switch, for faster and easier changes during operations.

specific 3d models for aircraft types in the third person view.

added a indicator in the HUD for the absolute position vector, the main indicator is relative to airflow.

1.3.16

Added total energy indicator on the HUD

Added automatic motor indicator for load monitoring ( for now it is based on the requested PWM); the red, green and orange zones can be configured in sys config menu.

v1.5.0 released

Added Inav and Betaflight telemetry

Added the possibility of saving missions, save and modify them offline and then you can upload

Single-param request/modify for high-latency and low-bandwidth links

Major graphical memory saving implemented, with best available 2d imagery for a better 3d scene