summary.
Edit me

Rqt development _mydrone wiki

:leaves: git_overview wiki

  • rqt_console/logger
  • rqt_bag
  • rqt_web

ROS GUI is designed as a plugin architecture which allows users to quickly implement Qt-based GUI’s plugins with ROS for state information.

rqt_console/logger provides graphical interface to capture and broadcast log messages for filtering. _bag is designed to view ros bag contents such as images and visualized outputs (via rqt_plot). _web is integrated work space for ROS GUI.

MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth.

⛅ ❗ Simulink reference

opensource GUI GCS OCS

choosing-a-ground-station:

This page gives a high-level overview of the available Ground Control Stations (GCS) and provides links so you can make the appropriate choice.

Overview

A ground station is typically a software application, running on a ground-based computer, that communicates with your UAV via wirelessTelemetry :ref:wireless telemetry <common-telemetry-landingpage>. It displays real-time data on the UAVs performance and position and can serve as a “virtual cockpit”, showing many of the same instruments that you would have if you were flying a real plane. A GCS can also be used to control a UAV in flight, uploading new mission commands and setting parameters. It is often also used to monitor the live video streams from a UAV’s cameras.

There are at least ten different ground control stations. On desktop there is (Mission Planner, APM Planner 2, MAVProxy, QGroundControl and UgCS. For Tablet/Smartphone there is Tower (DroidPlanner 3), MAVPilot, AndroPilot and SidePilot that can be used to communicate with ArduPilot (i.e. :ref:Copter <copter:home>, Plane <https://ardupilot.org/plane/index.html>_, :ref:Rover <rover:home>, :ref:AntennaTracker <antennatracker:home>).

The decision to select a particular GCS often depends on your vehicle and preferred computing platform:

  • Ready-to-fly users may prefer the portability and ease of use of Tower (Droid Planner 3), or another GCS running on a tablet or phone.
  • DIY/Kit users and developers often have to access configuration and analysis tools, and would therefore need (at least initially) Mission Planner, APM Planner 2 or another more full-featured GCS.

.. note::

   This wiki primarily refers to set-up and configuration using the
   Mission Planner, because it was created first and is the most
   full-featured GCS.

Comparison Desktop

Mission Planner


Full featured and widely used GCS.

  • Platform: Windows, Mac OS X (Using Mono)
  • Licence: Open source <https://github.com/ArduPilot/MissionPlanner/blob/master/COPYING.txt>__ (GPLv3)

image

.. image:: ../../../images/MP-FP-Screen.jpg :target: ../_images/MP-FP-Screen.jpg

  • Download__
  • :ref:Wiki <planner:home>
  • Support Forum <https://discuss.ardupilot.org/c/ground-control-software/mission-planner>__
  • Issues List <https://github.com/ArduPilot/MissionPlanner/issues>__
  • Source Code <https://github.com/ArduPilot/MissionPlanner>__

APM Planner 2.0


The best autopilot for use on MAC and Linux platforms. It has a smaller user base and a reduced feature set when compared with Mission Planner.

  • Platform: Windows, Mac OS X, Linux
  • Licence: Open source <https://github.com/ArduPilot/apm_planner/blob/master/license.txt>__ (GPLv3)

image

.. image:: ../../../images/planner2_choose_agcs.jpg :target: ../_images/planner2_choose_agcs.jpg

  • :ref:Wiki <planner2:home>
  • Support Forum <https://discuss.ardupilot.org/c/ground-control-software/apm-planner-2-0>__
  • Issues List <https://github.com/ArduPilot/apm_planner/issues>__
  • SourceCode

MAVProxy


Linux GCS often used by Plane developers. Primarily a command line interface with graphical modules for map and mission editing. Written in Python, and extensible via python modules.

  • Platform: Linux
  • Licence: Open source <https://github.com/tridge/MAVProxy/blob/master/COPYING.txt>__ (GPLv3)

image

.. image:: ../../../images/mavproxy_linux.jpg :target: ../_images/mavproxy_linux.jpg

  • :ref:Wiki <mavproxy:home>
  • Issues List <https://github.com/ArduPilot/MAVProxy/issues>__
  • SourceCode

QGroundControl


QGroundControl works with MAVLink capable autopilots including ArduPilot. It’s unique among the GCS offerings as it runs on all platforms desktop and mobile.

  • Platform: Windows, Mac OS X, Linux, Android and iOS
  • Licence: Open Source <http://www.qgroundcontrol.org/license>__ (GPLv3)

image

.. image:: ../../../images/QGroundControlTabletImage.jpg :target: ../_images/QGroundControlTabletImage.jpg

  • Website
  • Support Forum <https://groups.google.com/forum/#!forum/qgroundcontrol>__
  • Gitter <https://gitter.im/mavlink/qgroundcontrol>__

UgCS - Universal Ground Control Station

Universal and easy to use ground control station with a 3D interface. Supports APM, Pixhawk as well as drones from other manufacturers such as DJI, Mikrokopter and more. Intended for enthusiasts as well as professional users.

It is capable of communicating with and controlling multiple drones simultaneously.

UgCS supports multiple map layers as well as different map providers. Some of the features of UgCS include - DEM Import, ADS-B transponder and receiver support, Click & Go mode, Joystick mode, image geotagging and video recording. UgCS also comes with a telemetry player, allowing the replay of all flights.

UgCS comes with in-built no-fly zones around all major airports as well as the ability to create custom no-fly zones.

Supports multi-node installation, meaning that it is possible to connect multiple pilots with UgCS laptops in the field to a central ground control server.

  • Platform: Windows, Mac OS X, Ubuntu
  • Licence: Proprietary with a free licence available as well (UgCS Open)

image

.. image:: https://www.ugcs.com/files/2016-04/1459769168_elevation-profile.jpeg :target: https://www.ugcs.com/files/2016-04/1459769168_elevation-profile.jpeg

  • UgCS Website <http://www.ugcs.com>__
  • DIY Drones Group for UgCS Users <https://diydrones.com/group/ugcs>__
  • GithubRepository

Comparison Mobile

Tower


Tower (a.k.a. “DroidPlanner 3”) is an Android GCS for phones and tablets. It is intended for end users and enthusiasts, and includes features like follow-me, “dronies” (i.e. “selfies” but taken with a drone) and special missions for 3D mapping.

  • Platform: Android Phones and Tablets
  • Licence: Open source <https://github.com/DroidPlanner/Tower/blob/develop/LICENSE.md>__ (GPLv3)

image

.. image:: ../../../images/tower_droid_planner3_structure_scan.jpg :target: ../_images/tower_droid_planner3_structure_scan.jpg

  • Download Tower <https://play.google.com/store/apps/details?id=org.droidplanner.android>__ (and 3DR Services <https://play.google.com/store/apps/details?id=org.droidplanner.services.android>__) from Google Play.
  • Android compatible hardware list <https://github.com/arthurbenemann/droidplanner/wiki/Compatible-Devices>__
  • Wiki <https://github.com/DroidPlanner/Tower/wiki>__
  • Support Forum <https://discuss.ardupilot.org/c/ground-control-software/tower>__
  • Issues List <https://github.com/DroidPlanner/Tower/issues>__
  • SourceCode

.. note::

Legacy versions (DroidPlanner 2 <https://play.google.com/store/apps/details?id=org.droidplanner>__ and Droid Planner 1 <https://play.google.com/store/apps/details?id=com.droidplanner>__) can also be downloaded from Google Play.

MAV Pilot 1.4


A GCS in your pocket that supports predominantly ArduPilot autopilot on iPhone/iPad. Supports for Plane, Copter & Rover vehicle types

See website for how-to on how connect it to your autopilot

  • Platform: iPhone, iPad
  • Licence: Proprietary

image

.. image:: ../../../images/MAVPilot_1.4.png :target: ../_images/MAVPilot_1.4.png

  • Release announcement Blog & Discussion <https://diydrones.com/profiles/blogs/mav-pilot-1-4-for-iphone-released>__
  • Support Blog <http://www.communistech.com/support/>__
  • Support Forum <http://www.communistech.com/forums/>__
  • iTunes Store link <https://itunes.apple.com/ca/developer/communis-tech/id649232032>__

SidePilot


ArduPilot compatible GCS that runs on iPhone/iPad.

See website for how-to on how connect it to your autopilot

  • Platform: iPhone, iPad
  • Licence: Proprietary

image

.. image:: ../../../images/sidepilot.jpg :target: ../_images/sidepilot.jpg

  • Release announcement Blog & Discussion <https://diydrones.com/profiles/blogs/sidepilot-app-version-1-1-formerly-imavlink>__
  • Website
  • Support Forum <http://sidepilot.net/forum>__
  • iTunes Store link <https://itunes.apple.com/us/app/sidepilot/id1138193193?ls=1&mt=8>__

AndroPilot


Android GCS intended for enthusiasts.

.. note::

AndroPilot is not under active development. Its suitability for newer FW needs to be confirmed.

  • Platform: Android Phones and Tablets
  • Licence: Open Source <https://github.com/geeksville/arduleader/blob/master/LICENSE.md>__ (GPLv3)

image

.. image:: ../../../images/Andropilot_-Android_Apps_on_Google_Play.jpg :target: ../_images/Andropilot-_Android_Apps_on_Google_Play.jpg

  • Downloads (Google Play) <https://play.google.com/store/apps/details?id=com.geeksville.andropilot>__
  • Android compatible hardware list <https://github.com/geeksville/arduleader/wiki/Android%20Device%20Compatibility%20List>__
  • Wiki <https://github.com/geeksville/arduleader/wiki>__
  • Support Forum <https://discuss.ardupilot.org/c/ground-control-software/other-gcs>__
  • Issues List <https://github.com/geeksville/arduleader/issues>__
  • SourceCode

Additional GCS hardware

Android


For Android devices, you will need:

  • Android based tablet that can act as a USB host. Google Nexus tablets are recommended, and the compatible hardware lists for the different GCSs are listed in the table above.
  • :ref:SiK Telemetry Radio System <common-sik-telemetry-radio> or similar (915 Mhz for US, 433 for Europe) which includes the bidirectional ground and air telemetry units.
  • USB OTG cable (typically less than $2 on ebay <http://www.ebay.com/sch/i.html?_trksid=m570.l3201&_nkw=usb+otg+cable&_sacat=0>__ and Amazon <http://www.amazon.com/T-Flash-Adapter-Samsung-GT-i9100-GT-N7000/dp/B005FUNYSA/ref=sr_1_5?ie=UTF8&qid=1376262351&sr=8-5&keywords=android+otg+cable>__).

iOS


For iOS devices, you will need:

  • iOS Based device such as an iPad or iPhone. If running iPad, the cellular version is recommended for better GPS support.
  • Wifi or Bluetooth LE link to the Drone
  • Bridge Connection to a:ref:SiK Telemetry Radio System <common-sik-telemetry-radio> via Wifi or Bluetooth LE

See iOS App Vendors for more details.

Desktop PCs (Windows/Mac/Linux)

For Desktop devices you will need:

  • :ref:SiK Telemetry Radio System <common-sik-telemetry-radio> or :ref:similar <common-telemetry-landingpage> (915 Mhz for US, 433 for Europe) which includes the bidirectional ground and air telemetry units.

I am interested in …


youtube

Pixhawk to Simulink MavLink Communication (Real Time virtual Cockpit instruments and Gagues)

image

image

simulink

As shown in the figure above, the 1st–5th input ports are five input channels from the RC transmitter (“ch1”–“ch5”); the 6th–8th input ports are the angular velocity (“p”, “q”, “r”) from the gyroscope sensor; the 9th–10th input ports are the roll angle and pitch angles (“phi”, “theta”) estimated from the inertial sensor. As shown in Fig. 3.8, the computing process of the entire “Controller” subsystem is roughly divided into five steps.

(1). The “Input Interfaces” module receives the RC transmitter signals and the multicopter state estimation signals. [1]

(2). The “RC Signal Process” module maps the five-channel signals of the RC transmitter to the desired roll and pitch angle values.

(3). The “Attitude Controller” module computes the desired force and torque values to control the multicopter to the desired attitude.

(4). The “Motor Control Signal Computation” module maps the force and torque values to the control signals (ranging from 1000 to 2000) for the four motors.

(5). The “Output Interfaces” module fills the remaining 4-dimensional control signals and generates an 8-dimensional PWM signal (there are eight PWM output ports on Pixhawk) ranging from 1000 to 2000µs. [2]

see other details rFlyeval_introduction

Statustext


MAVROS statustext contains a lot of information about the the system but not all may be relevant or critical. The statustext node will listen to these statustext and send the critical ones to the ground control so that the operator is able to see the status of the aircraft in real time.

  • Overview

As statustext is primarily text, some are too long and it is not cost-efficient to send them as-is. Instead, we use a dictionary to encode them to a few characters. They are decoded on the receiving side using the same dictionary.

  • Code architecture

On the aircraft

The statustext node on the aircraft subscribes to the /mavros/statustext/recv/ topic and converts relevant statustext to 4 alphanumeric fields for efficient communication.

Field Description
Prefix This includes I (info), W (warning) and E (error) and it will be shown on the GUI along with different coloured text so that the operator is able to easily identify the statustext that require immediate attention.
Note: This is different from the IWE prefixes in message headers and is only relevant to Statustext.
Type Type is a single digit assigned to Throttle, Mission, Waypoint, Transition, Land, Baro, GPS, VTOL, PreArm and Compass. These are the categories to which the statustext belong.
Status Status determines the actual message that the statustext contains and is specific to each type. For example, a status of 1 in the Throttle type implies that the throttle has been armed.
Details Details will contain the additional information that is required in a float. This usually includes distances such as the distance to the next waypoint. If there are no details, this field will be left as 0.0

On the ground control station

On the ground control station, the message is decoded using the same dictionary and converted into readable strings to be displayed on the GUI. The dictionary used can be found in /scripts/gnd_statustext.py.

  • Misc

Dictionary used

0 : Throttle

	0 : "Throttle disarmed", 
	1 : "Throttle armed",

1 : Mission

	16 : "Waypoint", 
	17 : "Loiter Unlimited", 
	18 : "Loiter Turns", 
	19 : "Loiter Time", 
	20 : "Return to Launch", 
	21 : "Land", 
	22 : "Takeoff", 
	30 : "Continue Change Alt", 
	31 : "Loiter to Alt", 
	83 : "Altitude Wait", 
	84 : "VTOL Takeoff", 
	85 : "VTOL Land", 
	112 : "Delay", 
	113 : "Distance", 
	176 : "Set Mode", 
	177 : "Jump", 
	178 : "Change Speed", 
  	182 : "Repeat Relay", 
	184 : "Repeat Servo", 
	189 : "Land Start", 
	200 : "Control Video", 
	201 : "Set ROI", 
	202 : "Digicam Configure", 
	205 : "Mount Control", 
	206 : "Set Cam Trigger Distance", 
	207 : "Fence Enable", 
	208 : "Parachute", 
	210 : "Inverted Flight", 
	212 : "Autotune Enable", 
	223 : "Engine Control", 
	3000 : "VTOL Transition", 

2 : Waypoint

	No handling here

3 : Transition

	0 : "Transition done", 
	1 : "Reached transition speed ", 
	2 : "Transition speed not reached. Hovering", 

4 : Land

	0 : "Land complete", 
	1 : "Land final started", 
	2 : "Land descend started"

5 : Baro

	0 : "Barometer calibration complete", 
	1 : "Skipping baro calibration", 
	2 : "Calibrating barometer", 

6 : GPS

	0 : "GPS not found",

7 : VTOL

	0 : "Exited VTOL mode", 
	1 : "Entered VTOL mode", 
	2 : "VTOL transition only in AUTO", 
	3 : "VTOL not available", 

8 : PreArm

	0 : "Cannot arm at the moment", 

9 : Compass

	0 : "Compass bad orientation", 

ROS topic

instruction pdfs

qt5_python

qt5_c++

Tags: news drone gcs