I have installed the LeddarOne rangefinder on my Intel RTF Drone to implement optical flow. When checking the status of my active optical flow, I receive error messages that my camera's FPS is lower than the minimum required for optical flow (70).
From , I have identified that the temperature of my camera is causing the lower FPS. I am hoping that decreasing the resolution of the bottom-facing camera will increase the FPS above 70. How do I go about decreasing the resolution of the bottom-facing camera?
The get_aero_version.py script returns the following:
BIOS_VERSION = Aero-01.00.13
OS_VERSION = Ubuntu 16.04.4 LTS"
AIRMAP_VERSION = unknown
FPGA_VERSION = 0xc2
AeroFC firmware version = 1.8.0
Please let me know if you require any additional information or any further explanation of the problem.
I have found the source code for Intel Aero Optical Flow here: https://github.com/intel-aero/aero-optical-flow/tree/master/src aero-optical-flow/src at master · intel-aero/aero-optical-flow · GitHub
In the main.cpp file I've found a parameter on line 51:# define DEFAULT_RESOLUTION 1
I want to change this value to 2 - Does anyone know how to do this? I can't seem to locate this file on my drone.
Thank you for your interest in the Intel Aero Ready to Fly Drone.
We have received your query and the Web portal ticket you have opened with the same subject.
We are currently investigating your query and will get back to you as soon as possible.
Thank you for your patience.
In regards to your query you will need to make the changes at the source and include it in the recipe when building the Aero image from source:
You may find the following guides useful:
Please let me know if you require any further information.
Kindly note that I am planning on using Ubuntu 16.04.4 LTS.
Do I still need to alter the source code before rebuilding? I'm somewhat of a Linux novice and so more specific steps would be greatly appreciated.
This is how I understand the procedure at the moment, feel free to correct me:
- I follow this page: https://github.com/intel-aero/meta-intel-aero/wiki/96-(References)-Rebuild-Yocto 96 (References) Rebuild Yocto · intel-aero/meta-intel-aero Wiki · GitHub until after I have run this command in the "Build" section.
repo init -u https://github.com/intel-aero/intel-aero-manifest.git -m v1.6.xml -b master
- Now I should be able to find the source code on my system in /home/USER/intel-aero. I will alter this to decrease the bottom-facing camera resolution as outlined in my initial messages.
- I will complete the rest of the Rebuild Yocto page.
- I will refer to this page to flash the new custom image onto the drone: https://github.com/intel-aero/meta-intel-aero/wiki/02-Initial-Setup 02 Initial Setup · intel-aero/meta-intel-aero Wiki · GitHub
- I will install Ubuntu as outlined here: https://github.com/intel-aero/meta-intel-aero/wiki/90-(References)-OS-user-Installation 90 (References) OS user Installation · intel-aero/meta-intel-aero Wiki · GitHub
Please let me know if you identify any issues with my understanding and/or proposed procedure.
Everything seems ok, I do want to make you aware that once you install Ubuntu, everything you did before on Yocto will be deleted.
You would need to re-compile the kernel/images to lower the required FPS in the kernel.
Please keep in mind that this is not an easy task to complete. We have a patch for the Yocto image to make changes to the Kernel if needed but this has not been tested with Ubuntu.
Let me know if you require any further information.
We did some research and it is possible the changes were not completed.
We are also doing a test on our end with a patch.
We will get back to you as soon as possible.
Thank you very much in advance for your patience .
I apologize for the delay, I am helping Casandra on this thread. Could you try the optical flow with the attached PX4 firmware?
Do a frame reset, calibrate all the components and set the following parameters.
AEROFC_TELE_BPS to 0
EKF2_AID_MASK to 2
EKF2_HGT_MODE = 2 (range sensor)
Make sure the optical flow quality is above 100.
Thanks for the reply. After following the procedure you outlined, I am receiving a local position estimate that tracks well. I still get the FPS below minimum error. I haven't been able to test fly the drone yet - should be able to get back to you before the end of the week about that. What did you change? Can you send me the source code in case we need to make any changes?
When I flashed the drone with standard PX4 1.8.0 the z estimate is very good, however, the LOCAL_POSITION_NED.x and LOCAL_POSITION_NED.y are a constant 0.
I then flashed the drone with the image you provided and did some test flights. It appears as though the LOCAL_POSITION_NED.z fluctuates a lot (up to +- 15cm even when stationary). Originally I thought that the LeddarOne wasn't being used, but the z estimate still responds to covering and uncovering the rangefinder. The z estimate overshoots the true value by about 10-15cm, and is often a fixed 10-15cm away from the true value when held at a stable height (as measured by DISTANCE_SENSOR.current_distance).
Could this be a bug in the custom image you have provided? Also I assume you have enabled the LeddarOne driver by default as it does not display in QGroundControl.
You can find the source code at the following link:
What is the quality value of the optical flow in the mavlink inspector?