-
Notifications
You must be signed in to change notification settings - Fork 13.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firmware 1.8.0 Pixracer altitude hold #9740
Comments
Please follow the issue template. Without any further information, logs, etc., we are not able to help you. Also, Ardupilot is a different flight stack, so I don't see any reason to bring it to the comparison. |
Potentially because of IMU cutoff options being changed. Need logs to verify. Please post logs with v1.7.3 and v1.8. |
@mhkabir could you elaborate on this or is it somehow documented? I have a similar impression, that the Altitude is kind of more "jumpy" than before. |
You can try reverting it to 42 and see if this helps. Logs from v1.7.3 and v1.8 would be useful, as I said above. |
I think this could be the reason. 42Hz should be better. |
I hope you can see which flight was with which software. The logfiles are from the Pixracer. |
2018-06-26.zip |
@mhkabir Is this what I see here (should the settings be made to avoid the peaks from the Frame?): @RomanBapst Check the here where it went into Geofence Violation -> Loiter Mode: |
Sure the wind does have an influence, but it had less influence in the 1.7.3. |
@Ralfde From the log it looks like your barometer is influenced a lot by wind. To see the difference you could try using gps altitude (set EKF2_HGT_MODE to GPS altitude and reboot vehicle). |
@Ralfde have you tested the effect of changing MPU6000_DEFAULT_ONCHIP_FILTER_FREQ from from 98Hz to 42Hz as suggested by @mhkabir? The possibility of motor and propeller induced vibration aliasing into the IMU due to the 1kHz sampling rate PX4 uses cannot be ruled out and it is not known if lowering the IMU chips internal DLPF helps with those types of errors because we have very limited knowledge of the internal signal processing chain used by the chip makers. The only advice I can offer for reducing aliasing effects is to make the mounting of the pixracer as soft as practical. On my pixracer setup I use a 10mmx10mm soft latex foam square mount on each corner and loop wiring to minimise direct transfer of vibration. There are also couple of areas where where your sensor data quality differs from the baseline that PX4 is tuned for:
|
EKF2_BARO_NOISE from the default of 2.0 to 3.0m I updated to the final 1.8.0 stable release. This seem to make the things worse. I would say, for this kind of copter it's maybe not worth to do more engery inside this, as long as you have good results in the bigger copters. Otherwise you would need to use software lowpass filters for the vario and accels instead of using the internal ones. Can the weight be set more to GPS and less to barometer, or is it only possible to switch from barometer to GPS completely for the altitude hold? |
Hi everyone, Using version 1.7.3 the following flight log was obtained: Using version 1.8 the following flight log was obtained: Using version 1.8 with MPU9250_DEFAULT_ONCHIP_FILTER_FREQ 42 (It didnt seem to improve the altitude hold) the following flight log was obtained: |
@jfcisneros Hi, and thanks for reporting! You seem to have your vibration levels very much under control so it will be interesting so see what exactly caused the difference. I've tested the difference in IMU cutoff frequency before but I also came to the conclusion that it did not have a noticeable impact on the altitude and altitude rate. I'll keep you posted on my findings. |
So, in the previous post for the log using version 1.8 the only changes we made were: For the following log, we reverted all the deletions shown in the following link to the v1.8: The altitude hold performance improved significantly. The Z position estimated seems to be closer to the ground truth(Assuming that distance sensor is closer to ground truth). The only thing that is not clear still to us is that we have 2 more similar vehicles (same hardware, pixracer mounted in the same place with the same foam) that are able to perform altitude hold with the v 1.8 without the changes mentioned in this post: |
To rule out (or otherwise) the estimator changes as a contributor I will try back to back replays on the same log data using the 1.7.3 code base and compare results using the estimator versions from 1.7.3 vs 1.8 |
@jfcisneros When I try replaying your log Can you please provide a link to the commit that you built your code from. |
https://logs.px4.io/plot_app?log=ff3a149b-efc4-4f3d-b867-038da28db6e9 is v1.8.0 |
I am sorry, it seems that in #9740 (comment), I misplaced the log urls in the comment. It should have been: v1.7.3 v1.8.0 |
I've recently flown PX4 1.8 on a vehicle with good baro shielding (vehicle was fully covered and using Pixhawk 2.1) and the altitude hold performance using baro was really good. Almost no drops observable during or after fast movements in any direction. |
With the Firmware 1.8.0 the altitude hold function does not work good any more. The copter is jumping.
With Ardupilot 3.5.5 I had no problems and also 1.7.3 seem to work much better.
The text was updated successfully, but these errors were encountered: