Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Anafi + QGroundControl

Hi again,

It turns out there is a bug in the latest versions of QGR that prevents video from showing on Mac OSX Catalina by the looks of it. If you experience the same you can either download an older version, or look for a custom build. I found the fix here:


It now works fine, but please note: I get the same error messages on the radio, and I can't use the QGR interface to take-off and land, I have to use the controller buttons.
 
Last edited:
  • Like
Reactions: epysod12
So, I can confirm that QGroundControl works perfectly fine with the Parrot ANAFI. You can plan the mission on Mac, PC or iOS, and upload and start the mission to the drone from either device (I’ve not tested Android since I don have an Android device).

One thing to be aware of:
To start the mission, you need to connect directly to the drone on the Wi-Fi, not via the controller. You upload the file, arm the drone and start the mission. This means that you will lose connection when the drone flies off - it‘s not a big deal for the mission, as it will progress without. But to make sure you fly safely, you need to disconnect the device and start the controller so it connects to the drone instead. The drone only accepts one controller at a time. This way you can take control if something unforeseen happens.

I don’t recommend using the freeflight app when reconnecting with the controller - it seemed to interrupt the mission, as many photos were missing when I did (I’ve seen the same happening with Pix4Dcapture as well).

One thing I miss is the ability to set the gimbal pointing upwards. If anyone knows how to do that tips would be appreciated! The camera setting tab is not present in QGC when I connect the ANAFI so I can’t define it in the app like it says in the user manual, and if I try to set it manually I get warnings.
Edit: just realised that you can check a “Force save” box in the gimbal settings and save negative values.. I assume that would make the gimbal point upwards, as 0 is straight ahead and 90 is straight down.

Also, there is no support for elevation maps further than 60°N, but further south it seems to work perfectly.

To preview the missions in 3D is a bit fiddly though, but highly recommended as it sometimes sets some strange values between missions:
1) Save the mission as .kml
2) On iOS, connect to your device to a computer and find QGC in the “Files” tab on Mac or through iTunes on PC. Copy the “Missions” folder to a known place on the computer. If you use QGC on the computer, navigate to the default folder and find the “Missions” folder there.
3) Open Google Earth on your web browser or the app. Choose “Projects” and upload your .kml file.

If you want to copy a mission file from your computer to an iOS device, just drag and drop the mission folder into the QGC app in the “Files” tab in Finder on Mac or iTunes on PC. It will overwrite the old folder. Also, always double check that all heights are set correctly before take-off, as it sometimes resets if you reopen the file, and use a waypoint back to takeoff before using the “return to takeoff” function, unless you want the drone to descend on its way back.
 

Attachments

  • 2A526ACF-DD60-442A-BC19-3A5E3FFDD5E1.jpeg
    2A526ACF-DD60-442A-BC19-3A5E3FFDD5E1.jpeg
    4 MB · Views: 18
  • 824417F9-DF00-47A0-8892-63F37F77B730.jpeg
    824417F9-DF00-47A0-8892-63F37F77B730.jpeg
    392.9 KB · Views: 20
Last edited:
  • Like
Reactions: epysod12
Hi :D

No problem, it's been a while I wanted to going back here, in this discussion thread!
  • Part I: let's reply to the 5 questions
  • Part II: my test flight and the results
  • Part III: photography in planned mission

Part I: let's reply to the 5 questions

- At the first configuration it asks me which protocol to use, PX4 or Mavlink. Mavlink right?
It seems that we can use PX4 Pro firmware (that's the choice I have done), but I can experiment Mavlink Generic... asap!
(the first message in QGC said: "If you are unsure of the correct values leave them as is.")
As you can see bellow, it worked fine for my test flight.

- Once connected, do I have to perform some kind of calibration or parameter adjustment in the software or do I leave everything as it is?
Except the step to choice the firmware, I made some minor changes in Application Settings (Video Settings, Default Mission Altitude, etc.), and also in Vehicle Setup > Radio for joystick (= the controller) configuration.
But I was surprised by the quick start of this tool ;)

- How should the controller be connected to the pc? with a usb A to usb A male cable?
It's the same cable as for the charge of the radio: USB-C (Skycontroller) to USB-A (PC).

- If I use the wifi connection to contact the drone, I cannot use the connection to load maps. Is there any solution?
I have the same problem... For my test flight (not connected to the web), the map was in cache and QGroundControl loaded from this.
For me, it was not a "real" problem, the mission was successfully done with the map cache. But you must prepared your mission before the outdoor flying.

- Have you tried uploading a mission? Works well?
Yes, it's works! Let's rock, back to 2021: (see bellow)

Part II: my test flight and the results

Short video here ->> 2021.09.03_Chapelle_Hochstett.mp4 <<- :cool:

And now, the results:

1st passage with flight plan prepared with PIX4Dcapture:

2nd passage with flight plan prepared with QGroundControl:

Part III: photography in planned mission

Photography... but Photogrammetry in fact!
As you can see on the video, I made a survey "double grid" mission, for 2D/3D render (orthophoto and model). The altitude was fixed at 30m (by me) to prepare another flight for my job. But here, 15m would have been enough...
_ Overlap in PIX4Dcapture: 80% (no other option)
_ Overlap in QGroundControl: 80% (Front Lap) and 75% (Side Lap)

First of all, I found QGroundControl much more practical and technical than PIX4Dcapture. But if you want a quick mission planning ("à l'arrache", comme on dit), PIX4Dcapture may be a good solution to start. Note there is a smartphone version of QGroundControl, here: download_and_install -> android

Secondly, I'm a little annoyed because neither of these two software allows you to take WIDE (JPG or RAW) photos, here is why it can be embarrassing:
For photogrammetry processing, the photos must be as "pure" as possible. No correction, no cropping, ... NO RECTILINEAR. The WIDE format is the best choice for avoid problems in calibration process. RAW or JPG, no matter.
Now, look at this interview:
Parrot : questions et réponses avec Cécilia Hage et Martin Liné | p3
At the question: Pourquoi n’y a-t-il plus de stabilisation quand on est en mode photo ? Martin Liné explains why WIDE photo is only stabilized on 2-axis_mechanical, and the RECT stabilized on 5-axis (2-axis_mechanical + 3-axis_electronic). It's good to know that.

Finaly, how can we take photos in WIDE mode, during a planned mission?

_ First option (not a real solution):
Gaël Billon offers a solution to bypass the limitation of PIX4Dcapture:
Shooting in RAW (DNG) with the Parrot Anafi and Pix4D Capture
Also in french:
Prendre des photos en DNG (RAW) avec le Parrot Anafi et Pix4D Capture

_ Second option (must be worked to be a good solution):
Alex "adsnash" comes with his converter, hosted in GitHub:
Flightplan Converter
He writes an entry also here:
Sphinx Bugs and Flightplan Issues

This second option is very interesting: the tools generate a .txt file in QGC WPL 120 format which respects the WP defined by QGC and imposes a "breaktime" on each WP. More options are available, including the ability to take photos in JPEG RECT or WIDE, and also RAW.

"But ESPARUS ONLINE also allows you to choose the type of photo!"
Yes, i heard you. But we can't planned a double (or simple) grid for cartography mission, for example...

So, I have a question for @abant:
Is there a way to convert/adapt the QGC WPL 120 format to load it in FreeFlight 6 (in-app) FlightPlan?
Thank you for your attention.

It was a bit long, but I really enjoyed writing this post! :giggle:
Thanks to those who were patient enough to read it until the end.

Hello
I tried between Skycontroller 3 Charging Port and PC USB Port (QgroundControl) onWindows.
But QgroundControl did not detect each other.

How can I connect them each othere?
Please let me know how to do it.
 
Hi ✋
That's strange...
I mainly work with Linux, I haven't tried on Windows...
Have you tried again since the last time?
 
If you help me, I will pay for your effort. Please contact me.
As long as we can do here, and benefit the community, so let's do it ! ;)
In absolute terms, you don't necessarily need the SC3 for the autopilot... Possibly to regain control at the end of the mission to correctly place the drone on the helipad (if you have one).
 
So, I can confirm that QGroundControl works perfectly fine with the Parrot ANAFI. You can plan the mission on Mac, PC or iOS, and upload and start the mission to the drone from either device (I’ve not tested Android since I don have an Android device).

One thing to be aware of:
To start the mission, you need to connect directly to the drone on the Wi-Fi, not via the controller. You upload the file, arm the drone and start the mission. This means that you will lose connection when the drone flies off - it‘s not a big deal for the mission, as it will progress without. But to make sure you fly safely, you need to disconnect the device and start the controller so it connects to the drone instead. The drone only accepts one controller at a time. This way you can take control if something unforeseen happens.

I don’t recommend using the freeflight app when reconnecting with the controller - it seemed to interrupt the mission, as many photos were missing when I did (I’ve seen the same happening with Pix4Dcapture as well).

One thing I miss is the ability to set the gimbal pointing upwards. If anyone knows how to do that tips would be appreciated! The camera setting tab is not present in QGC when I connect the ANAFI so I can’t define it in the app like it says in the user manual, and if I try to set it manually I get warnings.
Edit: just realised that you can check a “Force save” box in the gimbal settings and save negative values.. I assume that would make the gimbal point upwards, as 0 is straight ahead and 90 is straight down.

Also, there is no support for elevation maps further than 60°N, but further south it seems to work perfectly.

To preview the missions in 3D is a bit fiddly though, but highly recommended as it sometimes sets some strange values between missions:
1) Save the mission as .kml
2) On iOS, connect to your device to a computer and find QGC in the “Files” tab on Mac or through iTunes on PC. Copy the “Missions” folder to a known place on the computer. If you use QGC on the computer, navigate to the default folder and find the “Missions” folder there.
3) Open Google Earth on your web browser or the app. Choose “Projects” and upload your .kml file.

If you want to copy a mission file from your computer to an iOS device, just drag and drop the mission folder into the QGC app in the “Files” tab in Finder on Mac or iTunes on PC. It will overwrite the old folder. Also, always double check that all heights are set correctly before take-off, as it sometimes resets if you reopen the file, and use a waypoint back to takeoff before using the “return to takeoff” function, unless you want the drone to descend on its way back.
Thank you for this very detailed tutorial. (y)
I recently also resumed my research on the subject, and I manage to create/manipulate MAVLink files. I'm stuck on something (a priori very simple): take photos in wide format (5344*4016) from QGroundControl, but nothing to do, it doesn't want...
For example, this command don't (really) work with QGC:
Code:
[...]
4    0    3    2000    1.000000    1.000000    13.000000    0.000000    0.000000    0.000000    0.000000    1
[...]
From this doc: Messages V1 - 7.3
2000 is to take photo and 13.0 is to specify wide format.
In fact, QGC takes a photo, but in RECTILINEAR JPEG format. Too bad... I still searching...

+ Another thing:
Concerning the flight of the drone and the disconnection of QGC during the mission, I didn't notice anything suspicious: the automatic flight continues its course. I even connected FF6 while the drone was flying alone: you can follow the movement of the drone and even have the image of the sensor on the screen.

+ And finally:
You can manage the gimbal pointing in QGC with this command (see picture):
QGC_Gimbal_Pitch.png
In MAVLink code, it's 205: Messages V1 - 7.3
After the Survey Mission, don't forget to re-command the gimbal at 0 deg or +90 deg to avoid damaging the sensor 🤪

Still other tests are planned in the next days/weeks, stay tuned 🤘
 
  • Like
Reactions: sibujacob
My anafi experience with QGroundControl:
- use case: build ground 2D orthophoto and 3D models with WebODM
- Computer: I build fly plan with QGroudControl and export it ".plan" format (JSON) with a Survey pattern 85% overlapping
- Computer: I run a selfmade python3 script that converts QGroundControl flightplan to anafi flightplan savedPlan.json
- Phone connected to Computer: I copy FlyPlan directory from computer to phone
- Phone: with FreeFlight6, I activate Flight Plan option, and load new Flight Plan, check-it, save-it (to build correct screenshot), and fly !
My script based on try/error is quite primitive and with a command-line interface. Some savedPlan.json have to modified by hand to work properly.
Does a python programmer interested to improve it?
Have you posted the code for this script somewhere? It would be helpful to convert a qgc plan file to an FF6 saved plan.json
 
Have you posted the code for this script somewhere? It would be helpful to convert a qgc plan file to an FF6 saved plan.json
Hi ✋

I will talk about Pix4Dcapture and FreeFlight 6, although the topic of the thread is more QGroundControl...
Recently, I found this project: pix4d-flightplan-to-anafi
It allows to convert a Pix4D flightplan into a FF6 flightplan. You need to get the details.pix4dcapture-mission file generated by Pix4Dcapture, and convert it with this tool. Then, you obtain a savedPlan.json file to put in FF6! Nice, isn't it? 🥳

It only creates the .json file, not the picture (called screenshot.png) linked to the flightplan. So, I wrote a small script that generates an image with the flight path and some technical information about the flight.
"sit back, relax and enjoy" :cool:

It gives this kind of result:
screenshot.png
Ideal to put in FF6 with the flightplan!

The project is hosted in GitLab:
P4D_MissionAnalyser
I also wrote a short article (more explicit than the readme):
Analyser son plan de vol avec P4D_MissionAnalyser

The next step could be to write a script to convert a QGC flightplan into a FF6 flightplan. Python3 would be the good choice, as Moskitaba suggests. If someone has already started working on the subject, he's welcome to present his progress!

epysod12
 
Last edited:
  • Like
Reactions: Vaakefjell
this thread is fascinating to me - what is the use case / what do people use ground control coupled with the anafi for?
 
this thread is fascinating to me - what is the use case / what do people use ground control coupled with the anafi for?
Mapping / photogrammetry. You need to calculate the desired flight height and overlap based on the camera specifications and desired Ground Sampling Distance (GSD) for the area / object you are interested in.

Then you can use special software (like WebODM) to create georeferenced maps and 3D models.
 
Hi all!

I am unable to connect Sphinx simulator to Qgroundcontrol.
Both Sphinx and Qgroundcontrol run on the same Ubuntu PC, without any physical drone. I am able to control simulated Sphinx drone via QDronectrl, but not with Qgroundcontrol, it just wont connect
I tryed to add UDP ports 14550, 14560, 5353, 9988, 5504 and 5505 (because they were used by Sphinx simulator).
I enabled also LinkMangerLog and LinkManagerVerboseLog in the Qgrouncontrol->Console->SetLogging. And it detects the simulated drone Anafi AI:
[D] at …/…/qgroundcontrol/qgroundcontrol/src/comm/LinkManager.cc:447 - “Found Zero-Conf: “_arsdk-091a._udp.local.” “ANAFI Ai 000000” “ANAFI-Ai.local.” 44444 QMap((”{“device_id”:“000000000000000000”}", “”))"

Please help me with that:
Which type of connection should I establish with Qgroundcontrol, TCP or UDP?
Which ports exactly should I open in Qgroundcontrol?
Am I doing anything else wrong in order to have the Sphinx simulate drone connected to QGroundControl?

Ubuntu 20.04 Focal
Sphinx version: 2.11
Qgroundcontrol: v4.2.4

Thanks a lot for your help!
 

Attachments

  • anafiAI_LinkManagerQGC.png.png
    anafiAI_LinkManagerQGC.png.png
    1.4 MB · Views: 11
  • qdronectrl2.png
    qdronectrl2.png
    780.2 KB · Views: 13
  • Sphinx_on+Qgroundcontrol_on(port14556_14557).jpeg
    Sphinx_on+Qgroundcontrol_on(port14556_14557).jpeg
    205.5 KB · Views: 13
  • sphinxTerminal.png
    sphinxTerminal.png
    1.3 MB · Views: 12
My anafi experience with QGroundControl:
- use case: build ground 2D orthophoto and 3D models with WebODM
- Computer: I build fly plan with QGroudControl and export it ".plan" format (JSON) with a Survey pattern 85% overlapping
- Computer: I run a selfmade python3 script that converts QGroundControl flightplan to anafi flightplan savedPlan.json
- Phone connected to Computer: I copy FlyPlan directory from computer to phone
- Phone: with FreeFlight6, I activate Flight Plan option, and load new Flight Plan, check-it, save-it (to build correct screenshot), and fly !
My script based on try/error is quite primitive and with a command-line interface. Some savedPlan.json have to modified by hand to work properly.
Does a python programmer interested to improve it?
Hi @Moskitaba,

Thank you for sharing yor experiment.
I can connect my Anafi 4 K to QGC but I can't upload the mission since QGC's format is not compatible. Can you share your python script or the Anafi's format or any link relate to this purpose?

Loony
 
So, I can confirm that QGroundControl works perfectly fine with the Parrot ANAFI. You can plan the mission on Mac, PC or iOS, and upload and start the mission to the drone from either device (I’ve not tested Android since I don have an Android device).

One thing to be aware of:
To start the mission, you need to connect directly to the drone on the Wi-Fi, not via the controller. You upload the file, arm the drone and start the mission. This means that you will lose connection when the drone flies off - it‘s not a big deal for the mission, as it will progress without. But to make sure you fly safely, you need to disconnect the device and start the controller so it connects to the drone instead. The drone only accepts one controller at a time. This way you can take control if something unforeseen happens.

I don’t recommend using the freeflight app when reconnecting with the controller - it seemed to interrupt the mission, as many photos were missing when I did (I’ve seen the same happening with Pix4Dcapture as well).

One thing I miss is the ability to set the gimbal pointing upwards. If anyone knows how to do that tips would be appreciated! The camera setting tab is not present in QGC when I connect the ANAFI so I can’t define it in the app like it says in the user manual, and if I try to set it manually I get warnings.
Edit: just realised that you can check a “Force save” box in the gimbal settings and save negative values.. I assume that would make the gimbal point upwards, as 0 is straight ahead and 90 is straight down.

Also, there is no support for elevation maps further than 60°N, but further south it seems to work perfectly.

To preview the missions in 3D is a bit fiddly though, but highly recommended as it sometimes sets some strange values between missions:
1) Save the mission as .kml
2) On iOS, connect to your device to a computer and find QGC in the “Files” tab on Mac or through iTunes on PC. Copy the “Missions” folder to a known place on the computer. If you use QGC on the computer, navigate to the default folder and find the “Missions” folder there.
3) Open Google Earth on your web browser or the app. Choose “Projects” and upload your .kml file.

If you want to copy a mission file from your computer to an iOS device, just drag and drop the mission folder into the QGC app in the “Files” tab in Finder on Mac or iTunes on PC. It will overwrite the old folder. Also, always double check that all heights are set correctly before take-off, as it sometimes resets if you reopen the file, and use a waypoint back to takeoff before using the “return to takeoff” function, unless you want the drone to descend on its way back.
Thank you @Vaakefjell for sharing your experiment.

If I understand you can upload the mission with QGC without any third party tool? I can see the green progress bar when I click upload but when I check if any flight plan presents using the webservice at 192.168.42.1 but there is empty list.

Loony
 

Members online

No members online now.

Forum statistics

Threads
5,310
Messages
45,105
Members
8,007
Latest member
folgorem