Hi, new forum poster here looking for advice.
I am in the process of building a larger drone quad (X-frame) with two main problems, vibrations and yaw instability. I’ve gotten it to the point where it is flyable but only by reducing gains (P = 0.1, I = 0.1, D = 0) and reducing maximum yawrate to 40deg/s, limiting the potential of the drone.
Drone setup: Cube Orange+ (PX4 14.4), 30", 100kv, 12S, 1.26m motor to motor diagonal, 7kg takeoff without payload. Using ~3kg dummy payload weight seems to improve flight performance, probably due to brining hover throttle closer to 50%. (37% without any payload weight)
Internals consist of two CF plates sandwiched with standoffs and aluminum motor mounts.
Drone:
Example flight log: https://review.px4.io/plot_app?log=0e580164-fee5-403e-bcfa-b9b96a4ab550
Problem 1: High vibrations
Running these low kv motors with large props means the prop passing frequency is low.
Theoretically (Chris Rosser formula), it should be around 25-35Hz depending on battery voltage and weight.
f_props = RPM_hover / 60 = V_batt * Kv * Thrusthover / 60 = 12*4.0 * 100 * 0.37 / 60 = 30 Hz
This seems to resonate with the frame causing a large spike at 25Hz.
I’ve tried to make the frame as stiff as possible with CF plate, aluminium arm mounts, CF tube arms etc. I’ve also tried various mounting solutions (Hardmount, 3M foam tape and the 3d printed bushing mount.
The 3M foam tape performed the best.
I needed to set D_gain = 0 since any non zero value (tried 0.0004 as lowest) causing more vibrations, hence ignore the IMU_DGYRO_CUTOFF = 20 Hz, it has no effect.
I’ve currently set the IMU_GYRO_CUTOFF = 30 Hz and setting it lower (e.g 20Hz) makes it fly worse.
I do not have rpm feedback from escs so only option I can think about is dynamic FFT notch filter from IMU data. I tried that but didn’t seem to make a difference.
I don’t think static notch filter would work since this is most likely related to prop speed?
My questions:
- Any hardware changes I can make to try and reduce these low frequency vibrations?
- Any software changed I can try?
- Is there a way to see post-filtered IMU data to see if dynamic FFT is working?
Problem 2: Yaw instability
After some initial tuning making the drone “flyable” I experienced yaw causing instability. Almost like one motor producing less/more torque than another one.
I have measured motor rpm speed at [20, 40, 60, 80] % throttle and they are within a couple rpm (measurement error).
I could not figure out why or how to solve it so I reduced the maximum yawrate to 40deg/s which seems to mitigate the problem. However this is just a band aid for the real problem.
I even tried adding circumferential tilt of 3 and 6 degrees but that didn’t solve the issue, it just gave the drone more yaw authority. (easier to yaw since thrust now contributes to yaw and not only torque)
One idea is to swap motor 3 and 4 (X-frame) since those seem to be imbalanced from viewing the video footage but I do not have 2 extra motors lying around. The motors and props are T-motor which have had good quality previously. (Tried swapping prop placement and didn’t matter)
Below is footage with 80 deg/s maximum yaw rate, pay attention to how the drone wobbles.
Looking at the yaw rate in PID tuning it seems like the yawrate is tracked OK, even in the presence of the wobble in pitch/roll.
Here is some footage of flying at 40deg/s, 80deg/s and freeflying. (Also includes flight more logs)
My questions:
- What could be the underlying reason for this yaw problem?
- Any hardware / firmware changes I could do to try and figure out the problem?
EDIT:
Did not know if PX4 Autopilot or other subcategory was correct, trying here.
Best Regards
Isak