From b7d7d1209b331a571b205d5a0006e543c1891357 Mon Sep 17 00:00:00 2001 From: Julien Lecoeur Date: Tue, 9 Jan 2018 12:21:22 +0100 Subject: [PATCH] px_generate_mixers.py: scale mixer so that sum(z_thrust_scale)==n_rotors --- src/lib/mixer/geometries/tools/px_generate_mixers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/mixer/geometries/tools/px_generate_mixers.py b/src/lib/mixer/geometries/tools/px_generate_mixers.py index 49fb44846b..b5fefe7f82 100644 --- a/src/lib/mixer/geometries/tools/px_generate_mixers.py +++ b/src/lib/mixer/geometries/tools/px_generate_mixers.py @@ -195,6 +195,7 @@ def normalize_mix_px4(B): ''' B_norm = np.linalg.norm(B, axis=0) B_max = np.abs(B).max(axis=0) + B_sum = np.sum(B, axis=0) # Same scale on roll and pitch B_norm[0] = max(B_norm[0], B_norm[1]) / np.sqrt(B.shape[0] / 2.0) @@ -208,7 +209,7 @@ def normalize_mix_px4(B): B_norm[4] = B_norm[3] # Scale z thrust separately - B_norm[5] = B_max[5] + B_norm[5] = - B_sum[5] / np.count_nonzero(B[:,5]) # Normalize B_norm[np.abs(B_norm) < 1e-3] = 1