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.
Have you or your team had a chance to look into this? I'm completing a project with a very short deadline and this is really holding us up.
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:
repo init -u https://github.com/intel-aero/intel-aero-manifest.git -m v1.6.xml -b master
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.
I apologize for the late reply.
It seems from the print screen you attached, that the FPS value is not accepted.
Let me look into this and get back to you as soon as possible.
Thank you very much in advance for your patience,
Have you had any luck?
It's also worth mentioning that when I run:
$ systemctl start aero-optical-flow
the FPS errors start appearing after about 2 seconds. The FPS then slowly degrades from 68-69, before plateauing around 56-58.
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?