PX4<>ArduCopter QGC<>MP comparisons, features? (New user)


Having experience with ArduCopter and Mission Planner (MP), I decided to try PX4 and QGroundControl (QGC) on a quad. Not having experience with both, I don’t know if features I find in ArduCopter/MP are not present in PX4/QGC or that I cannot find them.

For comparison, this a a mission for ArduCopter/MP (spiral of 10 circles 12 points each), which I read on QGC and saved as a .plan file, adding a poly geofence and doing minor editing:

For capturing previous image, reading on QGC the mission .plan file, I couldn’t zoom in it enough (fly or plan views (waypoints too close)). On plan view, saving missions waypoints as KML, and reading the .kml file on Google Earth, this was obtained:

Strangely, north is pointing right, and the mission appears elevated around 590 m over ground. So I manually edited heights in the .kml file to get this image:

Am I doing something wrong? (Q1 below)

This is the video of the mission on ArduCopter/MP (4K):

I wanted to get an equivalent video of the same mission on PX4/QGC.

As seen, it includes the capture of the .tlog telemetry file on MP, with two nice things:
-the hud can be detached;
-purple trace for the quad trajectory.

This is the video of PX4/QGC/MP (also 4K; QGC running on laptop):

not only with QGC trajectory capture on plan view (zoom in was not enough on fly view), but also on MP (to my surprise, MP read the .tlog file generated by QGC).

So on QGC (compare with MP video part):
-Zoom in was not enough in plan view and specially in fly view (which includes the hud). When adding offline maps I had used the maximum zoom for Google satellite maps (20).
-No quad trajectory line as in MP.
-The quad red figure appears under the waypoints.
-Almost no speech.
How can I get more zoom in in QGC? (Q2 below)
How can I get trajectory, figure over waypoints and more speech on QGC? (Q3 below)

Incidentally, I tried to include the same for APM Planner 2, but it crashes immediately reading the QGC generated .tlog file. I tried it on Windows, OSX and Ubuntu. On Ubuntu crash leaved this trace on dmesg:
[ 210.147745] show_signal_msg: 30 callbacks suppressed
[ 210.147748] TLogReplayLink[4396]: segfault at 0 ip 00000000009a24a6 sp 00007f6ae4c68bd0 error 4 in apmplanner2[400000+bfb000]
Should APM Planner 2 crash reading a QGC generated .tlog file? (Q4 below))

Comparing the real video parts of both videos it is clear that on the PX4 video the quad stops at every waypoint, which makes video too long. I don’t know how to avoid this. Observing this double capture:

-On the left appears “Unknown” for a ROI (Region Of Interest waypoint). However, it works perfectly as seen on the video.
-I can’t find documented “Hold” and “0 secs” on the right. Unchecking “Hold” on the .plan file on type 16 waypoints
“params”: [
changes to
“params”: [
I’ll test this change shortly on all type 16 waypoints, but will appreciate any help to locate the documentation about it (Q5 below).

About tuning the PX4 parameters on the quad, I started changing roll and pitch PID’s: default behaviour was nervous and unstable. After it, what can still be observed on the video is that when stopping the quad (releasing radio stick) reachs a high angle. On normal flying this can be observed for both roll and pitch. Which parameter should I change for avoiding this? (Q6 below)

About flight modes, I’m using on PX4 a two positions and a three positions switch (six modes), the same as on ArduCopter: altitude, stabilized, mission, position, land and return:

On ArduCopter there is the possibility of assigning an aditional two positions switch to an action on a different channel; I use it for “brake” mode, which stops completely the quad, so I can prepare the mobile phone for recording holding it with one hand, and releasing the “brake” mode with the other hand. PX4 has an equivalent mode (hold). How can I assign it to a different switch on another radio channel? (Q7 below)

So I’d appreciate help on the following:
Q1: abnormal .kml file generated by QGC?
Q2: more zoom in on QGC?
Q3: trajectory, figure over waypoints, and more speech on QGC?
Q4: can APM Planner 2 read a QGC generated .tlog file?
Q5: detailed documentation on PX4 waypoints?
Q6: excessive roll/pitch angle when PX4 quad stops (releasing radio stick)?
Q7: hold mode on a different switch on PX4 than the one used for changing modes?

Thanks for reading this; it was long.

I not exactly sure about the specific things you’re referring to, as I don’t have that much experiance with QGC yet. But I’ve also recently switched and I’m starting to get really dissapointed with px4 and QGC.
But 1 thing is very clear to me, without a LOT of modifications, your not going to get a quad flying nearly as well on PX4 as you can on ArduCopter…
Q might look nicer, but it has 20% of the features MP has.

On question Q4: For reading Logfiles, (ulog) I’m using a modified version of PYUlog, and MAVGCL. I was not able to use APM2.0.
Why do you use QGC logfiles? They have less information than the internal one, with gaps too.

Imo there is one reason to use PX4 over Ardu, and only one: License…

1 Like

I just wanted to try PX4/QGC on a spare quad, as a new experience.

Thanks for the pyulog existence information. I’ll try it.

I am interested in the QGC .tlog files for tracing the trajectory and capturing it for a video. For example, see this:
http://youtube.com/watch?v=BDcSzZ5VSKA (4K)

Same mission on ArduCopter and ArduRover, and two instances of MP on the laptop (simultaneous voices), start rover with the laptop, and then the copter with the radio. When recording this, the 3DR radios were not optionally positioned (interest on the .tlogs came later), so some data is lost.

As I understand, QGC can track several vehicles, so it will be interesting to repeat this with QGC.

Refering to GPS RTK, MP has provisions for connecting to a remote RTK station (url, user/password, port), which should be up to 10 Km away (in my case 14 Km (good results)).

In QGC it seems that one must provide a RTK GPS as base station and connect it to the laptop:
Am I missing something?

My guess would be that the height of the “Planned Home Position” for the plan is not set correctly. If you loaded from an MP mission that could happen. Check the height in the first item “Mission Start” in the plan view. If it is wrong then relative altitudes for all waypoints will be wrong in the generated KML. This only has an affect on the KML, if you fly it for real it will be fine since then the home position altitude will come from the vehicle.

Yes, this is something that is currently not available.

When you fly the mission you should get a red line which shows you where the vehicle flew. Is that what you are looking for?

Not sure what you mean here. What sort of speech is missing?

The format for a .tlog file is a standard and be read by anything which understands it.

The Issue you are seeing with respect to DO_SET_ROI is caused by a difference between ArduPilot and PX4 firmwares. PX4 supports the newer set of ROI commands whereas ArduPilot does not. When you create a mission in MP it is created with the old ROI commands. PX4 firmware can still fly these missions but when designing a mission from QGC on PX4 stack it uses the new ones. Because of all of that there is an architectural problem in QGC which shows you the “Show all values” version of DO_SET_ROI. I’ll figure out some way to fix that.

Update: I just fixed this in latest daily builds. New dailies should be available in a couple hours.

That is correct.

That is not currently supported.

Let me know what you would like to see and I’ll see if I can add it.

Thanks for the answers.

Yes, I am reading an MP mission (.waypoints), and save it as a .plan file (I am ready to edit it manually).

This is the mission plan view:

I don’t see what you mean. If I change Planned Home Position Altitude from 592 to 0, the black waypoints rectangles below change to red and then back to black, and the 592 value appears again.

What am I missing for getting a correct .kml file?

BTW, what do the black rectangles below mean? The waypoints are alternatively at 4.5 and 5.5 meters high, and there are four different height rectangles.

When adding maps, maximum zoom level is 20. Can this be increased?

shows nearby points, but also

Here is the mission with the red line, on the Fly view, after fully replaying flight data (QGC generated .tlog file). All is nice for the capture, but the zoom level is not enough, and is not adjustable (or I don’t see how to change it). Moreover, the waypoints are above everything. For the video capture I chose the Plan view.

While flying it is nice to hear some data, such as battery voltage. For the video it is nice to have the speech sound in adition to the far quad sound. Carrying a bluetooth speaker the speech appears clearly on the recorded video.

APM Planner 2 crashes immediately after reading this QGC generated .tlog file, in Windows, OSX and Ubuntu.

I don’t mind about DO_SET_ROI (201) indication: PX4 obeys it perfectly. What I want to know is why starting with a MP mission the quad stops at every type 16 waypoint (I have changed as a guess 0 to null with manual editing, and will try shortly). Where can I find the detailed parameters description?

I have a spare RTK GPS which I can connect to the laptop and test this, placing another one on the quad. I’ll do it when having everything mentioned above working, and the quad fully stable (now using a conventional GPS).

QGC does not currently have the ability to speak voltage all the time. There is the ability to speak battery percent which is configurable through General Settings.

That would be an APM Planner 2 bug.

That would be a PX4 firmware question. QGC is not in control of that.

So i’ts about the multiple vehicles at the same time, in 1 log? All this info would be in the different logfiles, in the vehicles. Without missing bits due to the link.

I don’t want to hijach this ttread, but…


Upload an image with some info about the location, and use that instead of the map from bing/google/etc. (tying to figure out esri and/or mapbox now) But MP has a easier way of uploading your own overlay.

There is a way of uploading a KML or KMZ file (from google earth) to get a corridor or survey, but i am unable to do that to get a geo-fence. (maybe just a bug in windows, havent tried on another os).

MP has a ridiculous amount of way to create a WP Pattern, Qgc has a couple. What’s missing will be different for every user.

The “quick” tab in MP.
It’s awesome, and something i really mis when using Qgc, Just to be able to set those things i want to see, right there where i want it, in the size i want… :slight_smile:
(sometimes it’s RPM, sometimes bat-v 1 & 2, sometimes a bunch of outputs, sometimes a bunch of inputs, sometimes sensor data.)
The same goes for the “tuning” thing in MP its a bit to basic, i would like more controle over the scale. But its better than the Qgc “analyze” Widget… Even less options, and i think i still need to jump trough some PX4 hoops to get the relevant data in there, Ardu provides the (to me) relevant data by default. ( I know that’s not a MP vs Qgc thing)

The MP HUD has more info. To get battery info in Qgc i need to press a button, so i can have Battery or gps or rc-link or error-info.
In MP i have it all at a glance. I don’t need to click anything.

It veels very unclear what warnings or errors make a yellow bar, and when the bar will get bigger or when a new warning/error wil only pop up after clicking the tiny X. This means i can not rely on getting that info from there. I could set the info feild below the HUD to health, but then i’m missing the little info about my flight that i need when everything is working well.

MP actions tab. To be able to give the 'command start mission at “WP 42” ’ . (sometimes you have to stop halve-way trough, but you need to start it again a little earlier). was not able to do this in Qgc yet, maybe just not found it yet.

Hmm, I’ll take a look at that. Maybe be some missing ui there.

That is on purpose. QGC has a different focus than MP. QGC focuses on new to mid-level users. It tries not to scare people away with every possible option available. In some cases that means a power user used to every bell and whistle may not be happy.

The Values page of the instrument panel on the right is configurable. Click the little gear icon to pick what you want.

If the mission is stopped. Just click on the waypoint you want to start from and a slider will pop up to start the mission from there.

To create a GeoFence from KML:

  • First you need to add a GeoFence using the regular ui
  • Click on the center icon in the polygon
  • In the menu that pops up there is a Load KML/SHP option

This is available anywhere there is a polygon in QGC. The Plan - Pattern ui just have a quicker path to it.

Did you try all the different map providers in Qgc? Bing & google? For me there is a big difference in age of the pictures. (makes google much better to use for me), can be in resolution too, depends on your location i think.

@DonLakeFlyer Thank you! I was hoping some would just be my inexperience with Qgc. I took a while to get the most out of MP as well.

That’s what i tried.
Using this method to make a survey pattern works, the geofence does not.
When i click on the “Load KML/SHP option” it does nothing.
If i do the same thing while creating a survey pattern, it gives me a window to browse for a file.
It looks like a bug to me.

Can you file a GitHub Issue on that please. Should be easy to fix.

Last findings.

When choosing frame (Airframe Setup) I had chosen “Generic Quadrotor x”, and hadn’t noticed that with the small arrow could make a deeper asignment. So I chose “DJI Frame Wheel F450”. It was more stable but still nervous, so I refined it lowering MC_PITCH_P and MC_ROLL_P. Indeed it flies very well, and in Position flight mode it is completely still.

QGC zoom in.
As appears on above captures of “Replay Flight Data” on Fly view and Plan view, QGC zoom in is not enough. Moreover, zoom is fixed in Fly view. But a .tlog file can both be generated by QGC and MP, and interpreted by QGC and MP, so by now I find preferable to generate it and capture it with MP.
Google Satellite Maps appear cached in MP in
C:\ProgramData\Mission Planner\gmapcache\TileDBv3\en\GoogleSatelliteMap
There are subdirectories numbered 1 to 22 (zoom level), and in each other subdirectories with images with great zoom in where I have been using MP. I cannot find the equivalent in QGC.

Avoid stops at type 16 waypoints.
It is true that “That would be a PX4 firmware question. QGC is not in control of that.” but I cannot find anything in QGC to change this behaviour. So I posted this:
PX4 missions: avoid stopping at every waypoint
It had been already asked last march 6 by some one else:
Flight throuh waypoint without stopping in multirotor mode
and didn’t get any response.
Is this by design?