This user guide covers the whole application, split into the individual widgets.
- THERE IS A GUIDE FOR EVERY WIDGET BELOW
- You can add a new link (serial/radio modem) by clicking Network → Add Link
- The groundstation listens on UDP port 14550 for incoming MAVLink Micro Air Vehicle Communication Protocol messages.
- It can log data via the line chart view and plot directly or export to e.g. Matlab.
- It can log the raw data packets (in the link settings menu) and replay whole flights/missions later.
|Visit this group|
Want to file a bug report? Please head to the GitHub issue tracker. All filed bugs will be resolved!.
Once you start up QGroundControl, you will get a 2D aerial map and an information box on the right. Please note that in this mode most widgets are hidden, so you won't see the full functionality until a system is connected. Click on “Simulate” to simulate two vehicles to see QGroundControl in action. Once the simulation is running, you won't see more widgets immediately, but you have now the option to enable them through the menu. Start to explore the application by selecting different views (e.g. Google Earth, Line charts, etc.) and by adding widgets to your current view, e.g. the Flight Display or Payload Status. This setup will be stored for the next time you start up QGroundControl, so take your time to customize it.
Please not that due to Google's strict plugin policy there is at this point no Google Earth support for Linux. Google Earth is fully supported on Mac OS X and Windows.
- Choose either the distance to the MAV or the distance to the ground as camera height
- Select the distance with the distance slider
- Enable / disable following
- Enable / disable the display of the flight trajectory / trail
- You can clear the current trajectory, a new trajectory starting at the current position will be created
- Click on Lat/Lon and enter the coordinates
- Click on edit to activate edit mode
- Double click in the map to create a waypoint
- Click on “Set Home” to change the home location, click on once in the map to set the new location
- Drag the waypoints (red, numbers) and home location (black “H”) as you like
- You can save waypoints in the waypoint mission plan widget to text files and re-import them
- Your home location is stored by QGroundControl, so you can start with the last location
- Enable / disable daylight simulation mode, where the earth is displayed at day or night
- Enable / disable natural sky mode, where the earth is displayed with haze and blue horizon
The flight display allows to show relevant system information in form of gauges (will be extended to sliders, etc.). You can customize the widget by right-clicking on it. You can define the number of columns for the instruments as well as what should be displayed. The syntax is pretty simple:
min,curve name,max e.g. 0,M1:ATTITUDE.pitch,float,+3,pitch
The curve name consists of the MAV ID (in this case MAV #1, so M1), the message name (attitude) and the field name (pitch). The syntax allows to e.g. have two gauges indicating the airspeed of two or more different aircraft.
If you want to have a symmetric gauge with 0 position at top (north), add an s to the specs and choose a symmetric range (e.g. -3 to 3 radians):
min,curve name,max e.g. -3,M1:ATTITUDE.pitch,float,+3,pitch,s
The dialog will offer a list of the available curves once you click on “New curve” in the mouse context menu.
The horizontal situation indicator shows the “world” from above in the body coordinate frame. The view thus turns with the vehicle and shows its current sourrounding. This is in contrast to the global 2D map, which shows the usual north-up orientation.
The view in detail:
- ATT: Attitude control enabled, either ON or OFF
- PXY: Horizontal position control enabled, either ON or OFF
- PZ: Vertical position / altitude control enabled, either ON or OFF
- YAW: Yaw angle control enabled (on helicopters), either ON or OFF
- POS: Position lock from all sensors together, either 2D , 3D or NO
- VIS: Position lock from vision only, either 2D , 3D or NO
- GPS: Position lock from GPS only, either 2D , 3D or NO
- IRU: Position lock from InfraRed or Ultrasound, either 2D , 3D or NO
- Bottom left text: Ground speed in meters per second
- Bottom right: Current position in meters
- Far bottom left combobox: Allows to zoom in/out
- Circle: Compass indicating north, etc.
- Diamonds: Waypoints of this vehicle (colored in the vehicle color, in this case red), current selected waypoint in blue
- Long line: Indicates current position controller setpoint / current vector
The serial link configuration windows allow you to configure the serial port according to your needs. You can add a new serial link by clicking Network → Add Link in the main menu.
- Emit heartbeat – Sends a heartbeat message to the MAVs. Per default QGC is completely silent
- Log all MAVLink packets – Logs the packets to disk, once checked you can select the filename. (Can be replayed later with the MAVLink Logplayer widget)
- Only accept MAVs with same protocol version – Does reject the connection attempts of MAVs not having the same MAVLink version, as stated on this page: MAVLink Micro Air Vehicle Communication Protocol.
The onboard parameters widget allows to read and set onboard parameters. Typically these are controller gains, calibration values, system ids, serial port baud rate, etc. If you follow the standard implementation, only the MAV has to know its parameters and sends the list to the GCS on system startup (and on user-request). This is very convenient, as adding a parameter does not require any change to the GCS.
Parameters can be either just set in the current RAM or permantly stored to EEPROM. The widget only sends those parameter that were changed, so after the list is transmitted once, it is very bandwidth-effective.
The transmission checkboxes below the parameter interface allow to enable / disable data transmission on user request. This saves precious wireless modem bandwidth but still allows you to e.g. have a look at raw sensor values if needed.
The line chart allows to plot any incoming telemetry data in realtime. It allows to select/deselect single curves and autoscales. It also allows to zoom in. The main functions are:
- LIN button: Linear axis scales
- LOG Button: Logarithmic axis scales
- AVG Window: Number of samples to be averaged for mean and variance calculation
- Start logging: Opens up a file select dialog to log to MATLAB EXCEL OPENOFFICE and other tools that can read CSV files with <tab> as separator.
- Ground time: Overwrites the MAVLink timestamps with the current groundtime. Useful if your MAV sends wrong timestamps
- Show units: Shows the units in the curve list widget of each value.
The joystick configuration window allow you to configure and test your joystick. The ground control station will automatically detect all present joysticks on startup.
The purpose of the communication debug console is to allow low-level access to the data on the communication link. This is not only helpful for work on the communication itself, but allows also some handy 'hacks' in the daily development.
- Link: Select which link output to show
- Auto Hold: The window will stop updating if more than a few kb/s of data are streamed. Constant updates can be enforced by unchecking the box
- Hide MAVLink: Tries to ignore valid MAVLink packets - Not perfect yet
- HEX: Select hexadecimal or ASCII output
- Hold: Freeze current output
- Send: Send content in textbox
- Clear: Clear text/log window
- Connect/Disconnect: Connect or disconnect the current link
The debug console allows to filter out MAVLink messages, thus only leaving any non-protocol text. This way you can e.g. send plaintext from the ARM MCU for debugging/testing purposes while still getting the rest of the data in MAVLINK format.
The debug console also allows to send either ASCII or HEX values, which is also quite helpful during testing. HEX values in these formats are supported:
0x55 0xAA 0x55 0xaa 55 AA 55 aa 55AA 55aa
The debug console allows to quickly switch between the output of different links and currently (Feb 2010) supports UDP and serial links.
The <key>Hold</key> and <key>Clear</key> buttons allow to either hold the current console content to prevent scrolling or to clear all received data so far.