Flight-Control Engineering for Heavy-Lift UAVs: Scaling from 50 kg to 150 kg

مهندسی کنترل پرواز برای پهپادهای باربر سنگین: مقیاس‌بندی از ۵۰ کیلوگرم تا ۱۵۰ کیلوگرم

انتقال از یک نماینده 50 کیلوگرمی به یک UAV عملیاتی 150 کیلوگرمی یک تمرین مقیاس‌گذاری خطی نیست. افزایش جرم، اینرسی هواپیما را تغییر می‌دهد، حاشیه‌های کنترل آن را تنگ‌تر می‌کند، ارتعاشات ساختاری را تقویت می‌کند و عواقب شکست را افزایش می‌دهد. همچنین هدف مهندسی را تغییر می‌دهد: یک کنترل‌کننده که فقط به خوبی پرواز می‌کند دیگر کافی نیست؛ سیستم باید در شرایط شکست‌های معتبر قابل کنترل باقی بماند و شواهد لازم برای بررسی‌های ایمنی و صلاحیت پرواز را تولید کند.

این مقاله این انتقال را از طریق پنج مشکل طراحی به هم پیوسته بررسی می‌کند: تغییر جرم بار، افزونگی پیشرانه، ارتعاشات با فرکانس پایین، ایمنی سیستم و تأیید مبتنی بر انطباق. مثال‌ها و کدها توصیفی هستند؛ طراحی‌های تولیدی نیاز به مدل‌سازی، آزمایش و تأیید ایمنی خاص هواپیما دارند.

یک هواپیمای 150 کیلوگرمی از زمین بلند می‌شود

در اوایل سال 2025، یک اکتوکوپتر بر روی یک بستر آزمایشی بتنی در یک پروژه زیرساختی در هنگ کنگ نشسته بود. پروانه‌های آن 1.8 متر قطر داشت و بدنه آن بیش از 3 متر طول داشت. در بار کامل، وزن هواپیما 150 کیلوگرم بود: 65 کیلوگرم جرم خالی و 85 کیلوگرم بار شامل فولاد تقویتی و سخت‌افزار برای یک سایت ساخت و ساز بلندمرتبه.

مهندس کنترل پرواز هواپیما را آماده کرد. همه هشت موتور به طور همزمان شروع به کار کردند و سرعت روتور به طور پیوسته افزایش یافت: 15%... 25%... 35%... 45%. در 48% گاز، چرخ‌های فرود از بستر بلند شدند. باد روتور گرد و غبار زیر را پراکنده کرد در حالی که هواپیما با هیچ‌گونه تلاشی ظاهری از یک پهپاد مصرفی بالا می‌رفت. حرکت آن شبیه به یک هلیکوپتر کوچک بود: عمدی، قدرتمند و تحت سلطه اینرسی.

در حالت معلق 5 متری، ایستگاه زمینی دستورات موتور را بین 46% و 52% نشان داد.پخش باریک نشان می‌دهد که مرکز ثقل به موقعیت مورد نظر نزدیک است. لرزش IMU در محدوده ±3 m/s² باقی ماند که نشان می‌دهد سیستم ایزولاسیون طبق طراحی عمل می‌کند. باتری 89.2 V و 120 A اندازه‌گیری شد، یا تقریباً 10.7 kW—8% بالاتر از برآورد شبیه‌سازی. افزایش مقاومت باتری در دماهای پایین یکی از توضیحات ممکن بود.

با تمام پارامترهای نظارت شده در محدوده‌های عملیاتی خود، مهندس هواپیما را به سمت یک محل ساخت و ساز در فاصله 800 متری هدایت کرد.

رسیدن به آن نقطه 18 ماه طول کشید. انتقال از یک نمونه‌ساز 50 کیلوگرمی به یک هواپیمای مهندسی 150 کیلوگرمی نیاز به اجزای بزرگتر و همچنین معماری کنترل و ایمنی متفاوت داشت.

Heavy-lift UAV flight-control system architecture
معماری سیستم کنترل پرواز UAV با ظرفیت بار سنگین

قسمت اول: کاربردهای UAVهای با ظرفیت بار سنگین و تغییرات اساسی در طراحی

چرا UAVهای با ظرفیت بار سنگین مورد نیاز هستند

هواپیماهای بدون سرنشین مصرفی معمولاً وزن برخاستی زیر 25 کیلوگرم دارند و بارهایی به وزن 1–5 کیلوگرم را حمل می‌کنند. زمانی که نیازهای بار بیش از 10 کیلوگرم باشد و وزن برخاست بیش از 50 کیلوگرم شود، هواپیما وارد دسته "بار سنگین" می‌شود. کاربردهای معمول شامل:

  • لجستیک سایت‌های ساختمانی: حمل فولاد تقویتی، لوله‌ها و تجهیزات کوچک در سایت‌های ساختمانی بلندمرتبه. جرثقیل‌های برج و آسانسورهای ساختمانی راه‌حل‌های سنتی هستند، اما حمل و نقل مستقیم با UAV می‌تواند در سناریوهایی مانند عبور از رودخانه‌ها یا جاده‌ها و جابجایی مواد بین چندین سایت کارآمدتر باشد. پروژه‌های فوق‌العاده بلند در هنگ کنگ و شنژن شروع به آزمایش UAVهای کلاس 150 کیلوگرمی برای حمل مواد بین طبقات کرده‌اند.
  • پخش کشاورزی: کاشت و کوددهی به مناطق وسیع کشاورزی. یک پرواز ممکن است 20–50 کیلوگرم توزیع کند که نیاز به ظرفیت بار بالا و کنترل دقیق پخش دارد.
  • آتش‌نشانی: تحویل عوامل خاموش‌کننده به آتش‌سوزی‌های بلندمرتبه یا جنگلی. UAVها می‌توانند شلنگ‌های آتش‌نشانی یا پروژه‌های خاموش‌کننده آتش را به ارتفاعاتی که انسان‌ها نمی‌توانند برسند حمل کرده و به دقت تحویل دهند.
  • نقشه‌برداری و اندازه‌گیری در مقیاس بزرگ: به عنوان پلتفرم‌هایی برای سیستم‌های LiDAR با دقت بالا عمل می‌کنند. سیستم‌های LiDAR صنعتی معمولاً 10–20 کیلوگرم وزن دارند؛ به همراه باتری‌ها و تجهیزات جانبی، وزن کل برخاست ممکن است به 80–120 کیلوگرم برسد.

از درجه مصرف‌کننده تا حمل و نقل سنگین: این فقط یک مسئله مقیاس‌پذیری نیست

وسوسه‌انگیز است که یک کنترل‌کننده پرواز بالغ مصرف‌کننده را به عنوان طراحی در نظر بگیریم که می‌توان به سادگی بزرگ‌تر کرد.در عمل، این رویکرد به دلیل تغییرات دینامیک حاکم، قدرت کنترل موجود و ریسک قابل قبول با مقیاس، شکست می‌خورد.

بالای 50 کیلوگرم، طراحی کنترل پرواز به طور کیفی تغییر می‌کند. تفاوت‌های اصلی به شرح زیر است:

اثرات اینرسی تقویت شده. افزایش وزن برخاست از 5 کیلوگرم به 150 کیلوگرم، جرم را 30 برابر می‌کند، اما اینرسی چرخشی به مراتب بیشتر از 30 افزایش می‌یابد زیرا ساختار نیز بزرگ‌تر می‌شود. اینرسی چرخشی بیشتر به طور قابل توجهی پاسخ کنترل وضعیت را کاهش می‌دهد. با همان گشتاور کنترل، شتاب زاویه‌ای در یک هواپیمای 150 کیلوگرمی ممکن است تنها یک دهم شتاب زاویه‌ای در یک هواپیمای 5 کیلوگرمی باشد. پارامترهای PID نمی‌توانند به سادگی به طور متناسب مقیاس‌بندی شوند؛ آنها باید حول یک مدل دینامیکی جدید طراحی شوند.

حاشیه‌های قدرت کنترل باریک‌تر. یک پهپاد مصرفی ممکن است در نزدیکی وسط دامنه عملگر قابل استفاده خود معلق بماند. UAVهای سنگین‌بار اغلب با نسبت‌های نیروی به وزن تقریباً 1 عمل می‌کنند.5 تا 1.8 و ممکن است در 60% تا 70% از خروجی موجود معلق بماند. قدرت صعودی کمتری برای اصلاح نگرش یا رد اختلال باقی می‌ماند. افت ولتاژ باتری، کاهش حرارتی یا تغییر عملکرد پروانه می‌تواند آن حاشیه را بیشتر کاهش دهد.

عواقب شدیدتر شکست. سقوط یک پهپاد مصرفی ممکن است تجهیزات به ارزش چند هزار تا ده‌ها هزار یوان را نابود کند. اگر یک UAV 150 کیلوگرمی بر روی مردم یا ساختمان‌ها سقوط کند، نتیجه ممکن است کشنده باشد. بنابراین استاندارد ایمنی به طور بنیادی متفاوت است: هدف تنها "اجتناب از سقوط در صورت امکان" نیست، بلکه اطمینان از این است که حتی یک شکست جزئی نمی‌تواند باعث سقوط هواپیما و آسیب به کسی شود.

زنجیره تأمین و هزینه. اجزای اصلی در کنترل‌کننده‌های پرواز مصرفی—MCUها، IMUها و بارومترها—ممکن است تنها چند تا چند ده یوان هزینه داشته باشند.کنترل‌کننده‌های پرواز سنگین‌بار به حسگرهای صنعتی یا حتی نظامی با دقت بالاتر، انحراف حرارتی کمتر و پایداری بلندمدت بهتر نیاز دارند. هزینه‌ی قطعات به طور قابل توجهی متفاوت است.

نتیجه یک مشکل مهندسی مشخص است، نه یک پیاده‌سازی بزرگتر از یک طراحی مصرف‌کننده.

قسمت دوم: مدیریت بار—برآورد وزن در زمان واقعی و تنظیم تطبیقی

چگونه تغییرات بار بر کنترل پرواز تأثیر می‌گذارد

یک ویژگی تعریف‌کننده UAVهای سنگین‌بار این است که بار نمایانگر سهم بزرگی از وزن برخاست است و ممکن است در طول عملیات تغییر کند.

یک UAV پخش‌کننده کشاورزی را در نظر بگیرید که وزن برخاست آن 80 کیلوگرم است، شامل 40 کیلوگرم محصول شیمیایی. این UAV با بار کامل پرواز می‌کند و مأموریت را با محصول تمام شده به پایان می‌رساند، که وزن هواپیما را از 80 کیلوگرم به 40 کیلوگرم کاهش می‌دهد—کاهش 50 درصدی. در طول این فرآیند، نسبت نیروی رانش به وزن، ممان چرخشی و کشش آیرودینامیکی همه تغییر می‌کنند.با پارامترهای ثابت PID، رفتار کنترل ممکن است به طور چشمگیری بین شرایط پر و خالی متفاوت باشد: پاسخ کند تحت بار کامل و پاسخ بسیار سریع یا حتی نوسان هنگام خالی بودن.

برآورد وزن در زمان واقعی

تنظیم تطبیقی نیاز به دانش وزن فعلی هواپیما دارد. چندین روش برآورد در دسترس است.

روش 1: مدل جریان به نیروی محرکه. در یک محدوده سرعت ثابت، جریان موتور و نیروی محرکه دارای رابطه تقریبا خطی هستند. نیروی محرکه کل می‌تواند از جریان کل اندازه‌گیری شده و منحنی ویژگی موتور استنباط شود، که به برآورد وزن فعلی کمک می‌کند:

class WeightEstimator:
    def __init__(self, motor_count, motor_constant, hover_throttle):
        self.motor_count = motor_count
        self.motor_constant = motor_constant  # N/A per motor
         self.hover_throttle = hover_throttle  # گاز نرمال شده در حالت معلق
         self.estimated_weight = 0.0
         self.alpha = 0.05  # ضریب فیلتر پایین‌گذر

    def update(self, total_current, throttle_normalized, accel_z):
        """به‌روزرسانی تخمین وزن در هر فریم."""
        # تخمین نیروی محرکه از هر موتور
        per_motor_thrust = (
            total_current /  self.motor_count *  self.motor_constant
        )

        # نیروی محرکه کل، با در نظر گرفتن گاز و جبران جاذبه
        total_thrust = (
            per_motor_thrust *  self.motor_count * throttle_normalized
        )

        # حذف مؤلفه نیروی اینرسی برای به‌دست آوردن جرم
        mass = total_thrust / (9.81 + accel_z)

        # فیلتر پایین‌گذر
        self.estimated_weight = (
             self.alpha * mass
            + (1 -  self.alpha) *  self.estimated_weight
        )
        return self.estimated_weight

دقت به منحنی ویژگی موتور بستگی دارد. ESCهای صنعتی معمولاً یک ثابت گشتاور، Kt، را با دقت ±5% ارائه می‌دهند که معادل دقت تخمین وزن تقریباً ±3% تا ±5% است.

روش ۲: اندازه‌گیری مستقیم با حسگر بار. یک حسگر نیرو یا گيج کرنش در نقطه اتصال بار نصب می‌شود. دقت بالا است—تقریباً ±۱٪—اما این روش هزینه سخت‌افزار را افزایش می‌دهد و نقاط خرابی اضافی را معرفی می‌کند.

روش ۳: برآورد تجمعی از اندازه‌گیری‌های توزیع. با توجه به وزن اولیه شناخته شده، تغییرات از مقادیر اندازه‌گیری شده پخش یا آزادسازی جمع‌آوری می‌شود. این روش نیاز به اندازه‌گیری دقیق جریان بار دارد و برای کاربردهایی با مکانیزم آزادسازی اندازه‌گیری شده مناسب است.

تنظیم PID تطبیقی

پس از برآورد جرم در زمان واقعی، می‌توان تقویت‌کننده‌های کنترل‌کننده را بر اساس شرایط عملیاتی برنامه‌ریزی کرد. رابطه کلیدی تنها جرم نیست بلکه اینرسی است که به هر دو جرم و توزیع آن بستگی دارد. بار نصب شده دور از مرکز ثقل می‌تواند اینرسی چرخشی را بسیار بیشتر از یک بار برابر نصب شده نزدیک به آن تغییر دهد.مثال ساده شده زیر فرض می‌کند که توزیع جرم به طور هندسی مشابه باقی می‌ماند.

کلاس AdaptivePID:
    def __init__(self, base_pid, mass_ref, inertia_ref):
        self.base_pid = base_pid  # پارامترهای PID در جرم مرجع
        self.mass_ref = mass_ref
        self.inertia_ref = inertia_ref

    def compute_adaptive_pid(self, current_mass):
        """پارامترهای PID را بر اساس جرم فعلی تنظیم کنید."""
        # فرض توزیع جرم متناسب: اینرسی با جرم مقیاس می‌گیرد
        mass_ratio = current_mass / self.mass_ref 

        # ضریب P با اینرسی مقیاس می‌گیرد: اینرسی بالاتر نیاز به گشتاور بیشتری دارد
        adaptive_p = self.base_pid.P * mass_ratio

        # ضریب I نیز با اینرسی مقیاس می‌گیرد
        adaptive_i = self.base_pid.I * mass_ratio

        # ضریب D به طور محافظه‌کارانه‌تری تنظیم می‌شود
        adaptive_d = self.base_pid.D * math.sqrt (mass_ratio)

        return PIDParams(adaptive_p, adaptive_i, adaptive_d) 

دقت و ثبات mass_ratio حیاتی است. در این برنامه‌ریزی ساده‌شده، یک خطای 10% در تخمین جرم خطایی مشابه در ضریب‌های تناسبی و انتگرالی ایجاد می‌کند. آزادسازی سریع بار—به عنوان مثال، 20 کیلوگرم در 10 ثانیه—می‌تواند منجر به افزایش موقتی یا کم‌دریافتگی شود. کنترل‌کننده‌های تولید معمولاً ضریب‌های برنامه‌ریزی شده را محدود کرده و به آرامی بین آن‌ها انتقال می‌دهند، اغلب بر روی 0.5–1 ثانیه، به جای اعمال تغییرات پارامتر ناپیوسته.

Fixed PID versus adaptive PID as payload mass changes
PID ثابت در مقابل PID تطبیقی با تغییرات جرم بار

قسمت سوم: افزونگی پیشرانه و استراتژی‌های شکست

ریسک‌های پیشرانه در UAVهای سنگین

شکست موتور در یک کوادکوپتر مصرفی معمولاً به عنوان یک رویداد همه یا هیچ عمل می‌کند: یک باتری خالی یا نقص مدار کل هواپیما را متوقف می‌کند. UAVهای سنگین از موتورها بیشتری استفاده می‌کنند—معمولاً هشت یا دوازده—با قدرت بالاتر و برای مدت زمان طولانی‌تر، بنابراین احتمال شکست یک موتور یا ESC نمی‌تواند نادیده گرفته شود.

از نظر تئوری، پس از اینکه یک اوکتوکوپتر یک موتور خود را از دست می‌دهد، می‌تواند به طور ایمن فرود بیاید اگر هفت موتور باقی‌مانده هنوز نیروی بیشتری نسبت به وزن هواپیما تولید کنند و گشتاور کنترل وضعیت کافی را فراهم کنند. در عمل، قابلیت کنترل بستگی به این دارد که کدام موتور دچار نقص شده است.خرابی همزمان دو موتور متقابل دارای بیشترین تأثیر است زیرا بزرگترین بازوهای گشتاور از دست می‌روند، در حالی که خرابی دو موتور مجاور ممکن است عدم تعادل گشتاور غیرقابل بازیابی ایجاد کند.

تخصیص کنترل اضافی

زمانی که یک یا چند موتور خراب می‌شوند، نیروی باقی‌مانده باید دوباره تخصیص یابد تا کنترل وضعیت حفظ شود و احتمال فرود ایمن حداکثر شود.

تخصیص برابر—تخصیص همان نیروی به هر موتور فعال—به طور کلی پس از یک خرابی بهینه نیست. یک تخصیص‌کننده عملی دستورات عملگر را با توجه به محدودیت‌های موتور و سلسله‌مراتب اولویت حل می‌کند، معمولاً حفظ اختیار رول و پیچ قبل از پیشرانه یا ردیابی نیروی کل. مثال ساده‌شده معکوس شبه‌معکوس در زیر ساختار پایه را نشان می‌دهد؛ یک پیاده‌سازی تولیدی از محدودیت‌های صریح، وزن‌دهی، مدیریت اشباع و منطق ضد چرخش استفاده می‌کند.

کلاس RedundantControlAllocator:
    def __init__(self, motor_positions, motor_count):
        # وکتور موقعیت هر موتور نسبت به مرکز ثقل
        self.motor_positions = motor_positions
        self.motor_count = motor_count
        self.mixer_matrix = self._build_mixer_matrix()

    def _build_mixer_matrix(self):
        """ساخت ماتریس میکسر کنترل: نیروی رانش + گشتاور - > خروجی‌های موتور."""
        A =  np.zeros((4,  self.motor_count))
        for i in range( self.motor_count):
            pos = self.motor_positions[i]
            direction = 1 if i % 2 == 0 else -1  # چرخش متناوب
            A[0, i] = 1.0             # نیروی رانش
            A[1, i] = pos[1]          # بازوی گشتاور رول
            A[2, i] = -pos[0]         # بازوی گشتاور پیچ
            A[3, i] = direction * 0.1 # بازوی گشتاور یاو (گشتاور واکنشی)
        return A

    def allocate(self, thrust_cmd, torque_cmd, failed_motors):
        """تخصیص مجدد نیروی رانش زمانی که موتورها خراب شده‌اند."""
        cmd = np.array([
            thrust_cmd, torque_cmd[0], torque_cmd[1], torque_cmd[2]
        ])

        active_motors = [
            i for i in range(self.motor_count)
            if i not in failed_motors
        ]
        A_active = self.mixer_matrix[:, active_motors]

        # راه حل حداقل مربعات محدود:
        # 0 <= خروجی هر موتور <= حداکثر نیروی رانش
        motor_outputs = np.zeros(self.motor_count)

        if len(active_motors) >= 4:
            # درجات آزادی اضافی؛ اولویت با استفاده کمتر از انرژی
            solution = np.linalg.pinv(A_active) @ cmd
            motor_outputs_active = np.clip(solution, 0, 1.0)
        else:
            # کم‌عملکرد؛ اولویت با وضعیت، هرچند نیروی رانش ممکن است کم باشد
            solution = np.linalg.pinv(A_active) @ cmd
            motor_outputs_active = np.clip(solution, 0, 1.0)

        for i, motor_idx in enumerate(active_motors):
            motor_outputs[motor_idx] = motor_outputs_active[i]

        return motor_outputs

چندین جزئیات مهندسی حیاتی هستند:

سرعت حل در زمان واقعی. تخصیص در یک حلقه کنترل 250 هرتز اجرا می‌شود، بنابراین حل‌کننده باید یک بودجه زمان اجرایی سخت را رعایت کند. برای یک اوکتوکوپتر، میکسر هشت خروجی عملگر را به چهار محور فرماندهی شده نگاشت می‌کند. اینکه آیا یک راه‌حل آنلاین درون حلقه جا می‌گیرد به MCU، نمایش عددی، حل‌کننده و محدودیت‌ها بستگی دارد. برای سیستم‌های بزرگتر، معکوس‌های شبه یا تجزیه‌های حل‌کننده برای ترکیب‌های قابل اعتماد شکست می‌توانند از قبل محاسبه و ذخیره شوند، که محاسبات در پرواز را به عملیات ماتریسی و مدیریت محدودیت‌ها کاهش می‌دهد.

سرعت تشخیص شکست. تخصیص به تشخیص سریع وابسته است.تشخیص معمولاً بر اساس باقی‌مانده بین نیروی فرماندهی و نیروی واقعی است: اگر سرعت اندازه‌گیری شده یک موتور از سرعت مورد انتظار آن بیشتر از یک آستانه متفاوت باشد، موتور به عنوان معیوب اعلام می‌شود. تشخیص باید در عرض 50–100 میلی‌ثانیه انجام شود. در غیر این صورت، کنترلر به اختصاص قدرت کنترل به موتور معیوب برای ده‌ها میلی‌ثانیه ادامه می‌دهد که ممکن است منجر به از دست دادن کنترل وضعیت شود.

استراتژی‌های پرواز پس از یک نقص

  • یک موتور معیوب (هفت موتور باقی‌مانده در یک اوکتوکوپتر): نیروی پروازی را دوباره تخصیص دهید، حداکثر سرعت هوایی را محدود کنید تا تقاضای کنترل وضعیت کاهش یابد و به آرامی به نزدیک‌ترین محل فرود جایگزین نزول کنید.
  • دو موتور معیوب (شش موتور باقی‌مانده): اگر موتورها به صورت قطری معیوب شده باشند، کنترل ممکن است همچنان ممکن باشد، اما حاشیه‌ها بسیار باریک هستند. بلافاصله فرایند فرود اضطراری را آغاز کنید.
  • سه یا بیشتر موتور معیوب: بازیابی معمولاً غیرممکن است.اگر ارتفاع اجازه می‌دهد، یک فرود شبیه به اتوروتیشن را آغاز کنید یا سیستم چتر نجات را فعال کنید.

یک کنترلر پرواز صنعتی به‌خوبی طراحی‌شده شامل تشخیص خرابی موتور و تخصیص کنترل اضافی در نرم‌افزار است. رابط‌های حسگر اضافی—دو IMU، دو بارومتر و دو گیرنده GPS—نه تنها افزونگی ناوبری را فراهم می‌کنند بلکه از آگاهی از وضعیت پیشرانه نیز پشتیبانی می‌کنند. تصمیمات صحیح در مورد خرابی به دقت حس کردن وضعیت عملیاتی هر موتور بستگی دارد.

قسمت IV: تأثیر ارتعاش ساختاری بر کنترل پرواز

ارتعاش با فرکانس پایین در بدنه‌های بزرگ هواپیما

بدنه‌های پهپاد مصرفی سفت و دارای فرکانس‌های طبیعی بالایی هستند، معمولاً بالای 100 هرتز. بیشتر انرژی ارتعاش موتور در بازه 100 تا 500 هرتز قرار دارد، بنابراین ایزولاسیون کنترلر پرواز عمدتاً به ارتعاش با فرکانس بالا در این بازه می‌پردازد.

بدنه‌های سنگین‌بار بسیار بزرگتر هستند، با بازوهایی به طول 1–2 متر و نسبتاً کمتر سفت هستند. فرکانس‌های طبیعی آن‌ها معمولاً در محدوده 10–40 هرتز قرار دارد. این لرزش دو ویژگی مهم دارد.

اول، فرکانس آن پایین است و به باند فرکانس 10–50 هرتز حلقه کنترل پرواز نزدیک می‌شود. اگر لرزش با باند کنترل همپوشانی داشته باشد، به طور مستقیم بر پایداری حلقه تأثیر می‌گذارد. کنترل‌کننده PID ممکن است لرزش را به عنوان یک خطای واقعی در وضعیت تفسیر کند و سعی کند آن را دنبال کند.

دوم، دامنه بالا است. موتورها در یک UAV با کلاس 150 کیلوگرم معمولاً هر کدام 3–5 کیلووات قدرت تولید می‌کنند و انرژی لرزشی بسیار بیشتری نسبت به موتورها با قدرت 30–50 وات در پهپادهای مصرفی تولید می‌کنند. حتی پس از ایزولاسیون، شتاب در نقطه نصب کنترل‌کننده پرواز ممکن است هنوز به ±5–15 متر بر ثانیه مربع برسد.

طراحی سیستم ایزولاسیون لرزش

هواپیماهای بدون سرنشین سنگین نیاز به راه حل‌هایی دارند که به طور خاص برای لرزش با فرکانس پایین طراحی شده‌اند:

  • ایزولاتورهای سیمی: فرکانس‌های طبیعی می‌توانند به اندازه 5–15 هرتز پایین باشند، که آنها را برای ایزولاسیون با فرکانس پایین مناسب می‌سازد. آنها بزرگ و نصب آنها دشوار است، اما انتخاب اصلی برای نصب‌های کنترل پرواز در UAVهای کلاس 150 کیلوگرم هستند.
  • پایه‌های ایزولاسیون سیلیکونی: با فرکانس‌های طبیعی 20–40 هرتز، اینها برای لرزش بالای 50 هرتز مفید هستند. آنها ارزان و نصب آنها آسان است اما ایزولاسیون محدودی در فرکانس پایین ارائه می‌دهند. در کاربردهای سنگین، معمولاً به عنوان مرحله ثانویه پس از ایزولاسیون سیمی اضافه می‌شوند.
  • کنترل فعال لرزش: شتاب‌سنج‌ها لرزش را در زمان واقعی اندازه‌گیری می‌کنند، در حالی که عملگرها نیروهای مخالف را در فاز معکوس تولید می‌کنند.این بهترین عملکرد را ارائه می‌دهد اما همچنین بالاترین هزینه و پیچیدگی را دارد و در حال حاضر فقط در تعداد کمی از UAVهای بسیار بزرگ استفاده می‌شود.

یک راه‌حل مهندسی رایج، ایزولاسیون دو مرحله‌ای است: ایزولاتورهای سیمی به حالت‌های ساختاری با فرکانس پایین می‌پردازند، در حالی که عناصر سیلیکونی محتوای فرکانس بالاتر را کاهش می‌دهند. طراحی نهایی باید بر اساس طیف‌های بدنه هواپیما که اندازه‌گیری شده‌اند، باشد، زیرا ایزولاتورهای به‌طور ضعیف انتخاب شده می‌توانند لرزش را در نزدیکی فرکانس‌های تشدید خود تقویت کنند. کنترل‌کننده پرواز می‌تواند بر روی یک صفحه میانی بین دو مرحله نصب شود.

# اسکریپت برای اعتبارسنجی عملکرد ایزولاسیون لرزش
def analyze_vibration_isolation(flight_log_path):
    """تحلیل طیف‌های لرزشی قبل و بعد از ایزولاسیون.
    data = load_ulog(flight_log_path)

    # داده‌های IMU کنترل‌کننده پرواز پس از ایزوله‌سازی
    imu_fc = data['sensor_imu.acceleration']

    # داده‌های IMU بدنه مرجع قبل از ایزوله‌سازی
    imu_body = data['reference_imu.acceleration']

    # تحلیل FFT
    freq = np.fft.rfftfreq(len(imu_fc[:, 0]), d=1/250)

    for axis in range(3):  # X, Y, Z
        fft_fc = np.abs(np.fft.rfft(imu_fc[:, axis]))
        fft_body = np.abs(np.fft.rfft(imu_body[:, axis]))

        transmissibility = fft_fc / (fft_body + 1e-10)

        print(f"محور {axis}: ")
        print(f"  قابلیت انتقال 10 هرتز: "
              f"{transmissibility[np.argmin(np.abs(freq-10))]:.2f}")
        print(f"  قابلیت انتقال 50 هرتز: "
              f"{transmissibility[np.argmin(np.abs(freq-50))]:.2f}")
        print(f"  قابلیت انتقال 100 هرتز: "
              f"{transmissibility[np.argmin(np.abs(freq-100))]:.2f}")

بردهای کنترل‌کننده پرواز صنعتی و متن‌باز به‌خوبی طراحی‌شده، لرزش را در سطح سخت‌افزار در نظر می‌گیرند. حفره‌های نصب آن‌ها از سیستم‌های ایزولاسیون استاندارد پشتیبانی می‌کنند؛ لحیم‌کاری و طراحی IMU برای اطمینان در محیط‌های لرزشی طراحی شده‌اند؛ و استحکام مکانیکی در سطح برد به اندازه کافی برای مقاومت در برابر تغییر شکل کافی است. مهندسان باید یک راه‌حل ایزولاسیون مناسب برای بدنه هوایی خود انتخاب کرده و آن را از طریق تحلیل طیفی تأیید کنند.

Vibration spectra before and after flight-controller isolation
طیف‌های لرزش قبل و بعد از ایزولاسیون کنترل‌کننده پرواز

قسمت پنجم: به‌روزرسانی استراتژی ایمنی—روش FMEA

مدل‌های شکست بیشتر و عواقب شدیدتر

در زیر 50 کیلوگرم، مدل‌های شکست رایج نسبتاً ساده هستند: خرابی موتور، تخلیه باتری، از دست دادن GPS و از دست دادن لینک داده. هر یک می‌تواند یک پاسخ واضح داشته باشد و دامنه تحلیل حالت‌های شکست و اثرات (FMEA) قابل مدیریت باقی می‌ماند.

در مقیاس ۱۵۰ کیلوگرم، تعداد ترکیب‌های شکست به طور قابل توجهی افزایش می‌یابد:

حالت شکست اثر شدت (S) رخداد (O) تشخیص (D) RPN
شکست موتور تک قابل کنترل، اما با عملکرد کاهش یافته 7 4 3 84
شکست موتور دوگانه احتمال از دست دادن کنترل 9 2 4 72
شکست IMU اصلی انتقال به IMU اضافی 6 3 2 36
شکست همزمان GPS اصلی و اضافی از دست دادن موقعیت‌یابی مطلق 92 5 90
تخلیه بیش از حد یک سلول باتری حفاظت از پک باتری برق را قطع می‌کند 10 3 3 90
از دست دادن تمام لینک‌های ارتباطی پرواز یا فرود خودکار 8 4 3 96
خرابی پردازنده کنترل پرواز اصلی سوئیچ به پردازنده پشتیبان 10 2 4 80
شکست تیغه پروانه لرزش شدید و احتمال خرابی ساختاری 10 2 5 100

عدد اولویت ریسک به صورت زیر محاسبه می‌شود RPN = S × O × D. در این مثال، اقلام بالای 80 اولویت دارند. آستانه یک قاعده سازمانی است، نه جایگزینی برای قضاوت: یک حالت شکست فاجعه‌بار ممکن است نیاز به کاهش داشته باشد حتی زمانی که RPN محاسبه شده آن کمتر است.

FMEA severity, occurrence, and detection risk map
نقشه ریسک شدت، وقوع و تشخیص FMEA

جریان کار FMEA

یک فرآیند کامل FMEA شامل:

  1. شناسایی حالت‌های شکست: هر حالت شکست بالقوه برای هر زیرسیستم—پیشرانه، ناوبری، ارتباطات، ساختار و قدرت را فهرست کنید.
  2. ارزیابی اثرات: تعیین کنید که هر حالت چگونه بر ایمنی پرواز، تکمیل مأموریت و ایمنی پرسنل تأثیر می‌گذارد.
  3. امتیازهای شدت، وقوع و تشخیص را اختصاص دهید.
  4. RPN را محاسبه کنید.
  5. تعریف کاهش‌ها: برای اقلام با RPN > 80, طراحی افزونگی سخت‌افزاری یا تحمل خطای نرم‌افزاری.
  6. بازنگری: طراحی کاهش یافته را دوباره ارزیابی کنید و تأیید کنید که ریسک به سطح قابل قبولی کاهش یافته است.

FMEA برای یک UAV با وزن 150 کیلوگرم به کار بیشتری نسبت به یک هواپیمای کوچک نیاز دارد. یک گزارش کامل معمولاً 50 تا 100 صفحه طول دارد و شامل صدها حالت خرابی است. این همچنین یکی از مدارکی است که برای گواهینامه صلاحیت پرواز لازم است.

پیاده‌سازی مهندسی استراتژی‌های ایمنی

FMEA مجموعه‌ای از الزامات ایمنی را تولید می‌کند که باید در نرم‌افزار کنترل پرواز پیاده‌سازی شوند. استراتژی‌های کلیدی شامل:

هشدارهای طبقه‌بندی شده. سطوح هشدار با شدت خرابی مطابقت دارند. سطح 1، زرد، اپراتور را هشدار می‌دهد در حالی که اجازه می‌دهد مأموریت ادامه یابد. سطح 2، نارنجی، پایان مأموریت و آماده‌سازی برای فرود را توصیه می‌کند. سطح 3، قرمز، بلافاصله یک رویه اضطراری را فعال می‌کند.

تخریب تدریجی.پس از یک شکست جزئی، کنترل‌کننده پرواز به‌طور خودکار به حالت‌هایی با عملکرد پایین‌تر اما ایمنی بیشتر سوئیچ می‌کند—به‌عنوان مثال، از پرواز با عملکرد کامل به پرواز با محدودیت توان با سرعت و شتاب محدود، سپس به حالت فقط معلق و در نهایت به فرود اضطراری.

نظارت ایمنی مستقل. یک ماژول مستقل، که ممکن است یک MCU جداگانه باشد، به‌طور مداوم کنترل‌کننده پرواز اصلی را نظارت می‌کند. اگر کنترل‌کننده اصلی خروجی غیرعادی تولید کند—مانند تغییر ناگهانی فرمان—یا نتواند نظارت‌گر خود را سرویس کند، ماژول ایمنی کنترل را به‌دست می‌گیرد و یک استراتژی از پیش تعریف‌شده را اجرا می‌کند. این یک الزام الزامی برای صلاحیت پروازی UAVهای با ریسک بالا است.

بخش ششم: قابلیت پرواز و انطباق

الزامات قابلیت پرواز برای کلاس ۱۵۰ کیلوگرم

برای یک UAV ۱۵۰ کیلوگرمی که در چین فعالیت می‌کند، الزامات مربوط به صدور گواهینامه و عملیات باید با مرجع مربوطه برای دسته‌بندی هواپیما، عملیات مورد نظر و مبنای صدور گواهینامه تعیین شود. یک برنامه انطباق معمولاً شامل فعالیت‌های زیر است:

  • بررسی طراحی: ارسال مستندات کامل طراحی، شامل طراحی ساختاری، سیستم پیشرانه، ایمنی کنترل پرواز—شامل FMEA—و گزارش‌های سازگاری الکترومغناطیسی.
  • تأیید آزمایش: آزمایش‌های استاتیک ساختاری برای نشان دادن بقا در بارهای حدی؛ حداقل ۵۰ ساعت آزمایش استقامت پیشرانه بدون خطا؛ آزمایش قابلیت اطمینان کنترل پرواز از طریق شبیه‌سازی و آزمایش‌های پروازی؛ و آزمایش‌های محیطی برای دما، رطوبت، لرزش و مه نمکی.
  • آزمایش پرواز: اتمام آزمایش‌های مورد نیاز تحت نظارت یک خلبان آزمایش گواهی، شامل اعتبارسنجی دامنه پرواز عادی، شکست‌های شبیه‌سازی شده مانند خاموش کردن یک موتور در حین پرواز و آزمایش شرایط حدی.
  • ادامه قابلیت پرواز: پس از گواهی، اپراتورها باید ساعت‌های پرواز، تاریخچه‌های نگهداری و گزارش‌های خرابی را برای هر هواپیما ثبت کنند و به‌طور منظم دستورات و اصلاحات مربوط به قابلیت پرواز را اجرا کنند.

چارچوب ارزیابی ریسک

چارچوب ارزیابی ریسک عملیات خاص (SORA) ریسک عملیاتی را به دو بعد تقسیم می‌کند:

  • کلاس ریسک زمینی (GRC): بر اساس چگالی جمعیت در منطقه عملیاتی و انرژی جنبشی هواپیما تعیین می‌شود. یک UAV با وزن 150 کیلوگرم انرژی جنبشی بسیار بیشتری نسبت به یک UAV با وزن 25 کیلوگرم دارد و بنابراین نیاز به تدابیر ایمنی زمینی سخت‌گیرانه‌تری دارد.
  • کلاس ریسک هوایی (ARC): بر اساس پیچیدگی فضای هوایی و چگالی ترافیک هوایی دیگر تعیین می‌شود.

از آنجا که جرم و انرژی جنبشی هواپیما به طور قابل توجهی بر ریسک زمینی تأثیر می‌گذارد، یک عملیات 150 کیلوگرمی معمولاً نیاز به containment قوی‌تر، شواهد قابل اعتماد و کاهش‌های عملیاتی بیشتری نسبت به یک مأموریت UAV کوچک دارد. GRC و ARC واقعی باید از روش‌شناسی SORA فعلی و مفهوم خاص عملیات محاسبه شود و نه تنها از جرم استنباط گردد.

نقش کنترل‌کننده پرواز در صلاحیت پروازی

زیرسیستم کنترل پرواز یکی از نقاط اصلی بررسی صلاحیت پروازی است. بازبینی‌کنندگان سه سوال اصلی می‌پرسند:

آیا یک نقطه شکست واحد می‌تواند منجر به یک نتیجه فاجعه‌بار شود؟ پاسخ باید منفی باشد. هر نقطه شکست واحد که می‌تواند فاجعه‌بار شود نیاز به افزونگی یا حفاظت دارد.

نرم‌افزار کنترل پرواز چقدر قابل اعتماد است؟ شواهد باید شامل مستندات فرآیند توسعه نرم‌افزار مطابق با DO-178C یا استاندارد مشابه، گزارش‌های پوشش تست و سوابق بازبینی کد باشد.

آیا منطق ایمنی به‌طور کافی تأیید شده است؟ شبیه‌سازی SITL/HITL و آزمایش پرواز باید تمام سناریوهای خرابی را پوشش دهد.

بنابراین، رعایت الزامات باید از مرحله طراحی در نظر گرفته شود. افزونگی سخت‌افزاری—IMUهای دوگانه، بارومترهای دوگانه و پردازنده‌های دوگانه—ثبت کامل پرواز و رویداد، و نسخه‌های سخت‌افزاری و پیکربندی‌های نرم‌افزاری قابل ردیابی نمی‌توانند بعداً اضافه شوند. آنها باید در معماری طراحی شوند.

انتخاب یک برد کنترل پرواز صنعتی که سخت‌افزار آن قبلاً به ایمنی پرواز پرداخته است—با رابط‌های حسگر چندگانه افزونگی، یک مانیتور ایمنی مستقل و یک سیستم ثبت کامل—می‌تواند به‌طور قابل توجهی تلاش و هزینه صدور گواهینامه را در سطح هواپیما کاهش دهد.

بخش هفتم: درس‌های مهندسی از 50 کیلوگرم تا 150 کیلوگرم

جدول زمانی طراحی-تکرار

ترتیب تقریبی توسعه تیم به شرح زیر بود:

  • فاز 1، ماه‌های 0–6: نمایشگر 50 کیلوگرمی. تأیید معماری کنترل پرواز و الگوریتم‌های اصلی با استفاده از یک سیستم پیشرانه مصرف‌کننده و ساختار ساده، با تأکید بر قابلیت اجرایی الگوریتم کنترل.
  • فاز 2، ماه‌های 6–12: پروتوتایپ 100 کیلوگرمی. معرفی یک سیستم پیشرانه صنعتی، طراحی ساختاری کامل و ایزولاسیون لرزش. شروع توسعه FMEA و استراتژی ایمنی، و انجام اولین تأیید HITL.
  • فاز 3، ماه‌های 12–18: هواپیمای مهندسی 150 کیلوگرمی. تکمیل طراحی مهندسی، شامل سیستم‌های اضافی، نظارت بر ایمنی و آزمایش‌های محیطی. انجام شبیه‌سازی‌های گسترده SITL/HITL و آزمایش‌های پرواز با طناب.
  • مرحله ۴، ماه‌های ۱۸–۲۴: آزمایش پرواز و آماده‌سازی برای صدور گواهینامه. تکمیل آزمایش‌های محدوده پرواز، شبیه‌سازی خرابی و آزمایش‌های محیطی. مدارک مربوط به صلاحیت پرواز را آماده کرده و درخواست صدور گواهینامه را ارسال کنید.

درس‌های کلیدی

درس ۱: در ایزولاسیون لرزش صرفه‌جویی نکنید. محیط لرزشی کنترل‌کننده پرواز به‌طور مستقیم حد بالای عملکرد کنترل را تعیین می‌کند. ایزولاسیون معمولاً کمتر از ۲٪ از هزینه کل هواپیما را تشکیل می‌دهد اما می‌تواند عملکرد کنترل را ۲۰٪–۳۰٪ بهبود بخشد.

درس ۲: از ابتدا طراحی افزونگی را در نظر بگیرید. افزونگی به سادگی اضافه کردن یک پشتیبان پس از تکمیل سیستم اصلی نیست. منطق سوئیچینگ، همگام‌سازی وضعیت و تشخیص خطا باید در طول طراحی معماری برنامه‌ریزی شود. نصب افزونگی به‌صورت بعدی می‌تواند سه تا پنج برابر بیشتر از طراحی آن از ابتدا هزینه داشته باشد.

درس ۳: ابتدا شبیه‌سازی کنید. آزمایش پرواز یک UAV با وزن ۱۵۰ کیلوگرم بسیار پرهزینه است. یک آزمایش ناموفق می‌تواند تجهیزات به ارزش صدها هزار یوان را نابود کند و ماه‌ها زمان برنامه‌ریزی را هدر دهد. قبل از انتقال به پرواز، به‌طور کامل در شبیه‌سازی تأیید کنید. بردهای کنترل پرواز صنعتی به‌خوبی طراحی‌شده قبلاً شبیه‌سازی‌های گسترده‌ای را قبل از ارسال انجام داده‌اند، که به یک تیم اجازه می‌دهد تا محیط شبیه‌سازی خود را بر اساس یک بنیاد تأییدشده بسازد و ریسک و هزینه‌های مرحله اولیه را بیشتر کاهش دهد.

درس ۴: فضای محاسباتی را حفظ کنید. نرم‌افزار کنترل پرواز برای یک UAV با وزن ۱۵۰ کیلوگرم به مراتب پیچیده‌تر از آنچه برای یک هواپیمای کوچک است، می‌باشد. تنظیم تطبیقی، تخصیص کنترل اضافی، نظارت بر ایمنی، ادغام چند حسگری و مدیریت بار باید به‌طور همزمان اجرا شوند. تقاضای محاسباتی حاصل ممکن است پنج تا ده برابر آنچه برای یک UAV کوچک است، باشد. حداقل ۵۰٪ فضای پردازش باید هنگام انتخاب کنترل‌کننده اصلی باقی بماند.یک کنترلر با عملکرد بالا همچنین فضایی برای قابلیت‌های آینده مانند پرواز خودکار با هوش مصنوعی و اجتناب از موانع مبتنی بر بینایی باقی می‌گذارد.

نتیجه‌گیری: مقیاس‌گذاری جرم به معنای مقیاس‌گذاری اطمینان است

انتقال از 50 کیلوگرم به 150 کیلوگرم تنها به معنای ضرب کردن هر جزء در سه نیست. این نیاز به یک تغییر سیستماتیک در مهندسی کنترل پرواز دارد: از عملکرد کنترل نامی به رفتار محدود در سراسر محدوده عملیاتی؛ از سیستم‌های تک رشته‌ای به افزونگی مدیریت شده؛ از تنظیم ثابت به سازگاری مبتنی بر مدل یا برنامه؛ و از آزمایش‌های پرواز موفق به شواهد ایمنی قابل ردیابی.

هواپیماهای بدون سرنشین با قابلیت حمل بار سنگین از جمله سخت‌ترین هواپیماها در اقتصاد نوظهور ارتفاع پایین هستند زیرا آنها انرژی بالا، حاشیه‌های عملگر محدود، ساختارهای انعطاف‌پذیر و رفتار پیچیده در صورت خرابی را ترکیب می‌کنند.تجربه با پهپادهای کوچک ارزشمند است، اما نیاز به دینامیک‌های سطح هواپیما، مدیریت افزونگی، تحلیل ایمنی ساختاری و تأیید منظم را از بین نمی‌برد.

برای تیم‌هایی که وارد این حوزه می‌شوند، یک پلتفرم کنترل پرواز صنعتی می‌تواند پایه‌ای مفید فراهم کند: فضای محاسباتی کافی، رابط‌های حسگر افزونگی، ثبت‌نام قوی و سخت‌افزاری که برای لرزش شدید طراحی شده است. این پایه به تنهایی هواپیما را تأیید نمی‌کند. نرم‌افزار خاص کاربرد، ادغام، تحلیل خطر، شبیه‌سازی، آزمایش‌های زمینی و شواهد آزمایش پرواز همچنان ضروری هستند. بنابراین، کوتاه‌ترین مسیر توسعه معتبر این است که از صفر شروع نکنید، بلکه یک پلتفرم بالغ را با مهندسی و تأیید دقیق سطح هواپیما ترکیب کنید.

بازگشت به وبلاگ

Leave a comment

Please note, comments need to be approved before they are published.