عملکرد کوادکوپتر

مدیران انجمن: parse, javad123javad

ارسال پست
نمایه کاربر
rohamavation

نام: roham hesami radرهام حسامی راد

محل اقامت: 100 مایلی شمال لندن جاده آیلستون، لستر، لسترشر. LE2

عضویت : سه‌شنبه ۱۳۹۹/۸/۲۰ - ۰۸:۳۴


پست: 3222

سپاس: 5492

جنسیت:

تماس:

عملکرد کوادکوپتر

پست توسط rohamavation »

کوادکوپتر Quadcopter یا Quadrotor را اینجا من شرح میدم
هلی کوپتر وسیله نقلیه پرنده ای است که با استفاده از روتورهایی که به سرعت در حال چرخش هستند هوا را به سمت پایین سوق می دهد و در نتیجه نیروی رانشی ایجاد می کند که هلی کوپتر را در بالا نگه می دارد. هلی کوپترهای معمولی دارای دو روتور هستند. این دو را می توان به صورت دو روتور همسطح تنظیم کرد که هر دو نیروی رانش رو به بالا را دارند ، اما در جهت مخالف می چرخند (به منظور متعادل سازی گشتاورهای اعمال شده بر روی بدنه هلیکوپتر). همچنین می توان این دو روتور را با یك روتور اصلی كه رانش جانبی و یك روتور كناری كوچكتر به صورت جانبی جهت دهی می كند و گشتاور تولید شده توسط روتور اصلی را خنثی می كند ، تنظیم كرد. با این حال ، این تنظیمات برای کنترل جهت حرکت به ماشین آلات پیچیده ای نیاز دارند. از swashplate برای تغییر زاویه حمله به روتورهای اصلی استفاده می شود. به منظور تولید گشتاور ، زاویه حمله با قرارگیری هر روتور در هر زمان تنظیم می شود ،به گونه ای که در یک طرف صفحه روتور بیش از طرف دیگر رانش تولید می شود. طراحی پیچیده روتور و مکانیزم swash برخی از مشکلات ، افزایش هزینه های ساخت و پیچیدگی طراحی است.تصویر
هلی کوپتر کوادروتور (کواد کوپتر) هلی کوپتری است که دارای چهار روتور با فاصله مساوی است و معمولاً در گوشه های یک بدنه مربع مرتب شده است. با چهار روتور مستقل ، نیاز به مکانیزم swashplate کاهش می یابد. مکانیسم swashplate برای استفاده از درجه آزادی بیشتری به هلی کوپتر مورد نیاز بود ، اما با افزودن دو روتور دیگر می توان کنترل یکسانی را بدست آورد.برای مدل سازی صحیح پویایی سیستم ، ما نیاز به درک خصوصیات فیزیکی حاکم بر آن داریم. ما با توصیف موتورهای مورد استفاده برای کوادکوپتر خود شروع خواهیم کرد ، و سپس با استفاده از ملاحظات انرژی نیروها و رانش هایی را که این موتورها در کل کوادکوپتر تولید می کنند ، استخراج می کنیم. تمام موتورهای کوادکوپتر یکسان هستند ، بنابراین می توانیم یک موتور را بدون از دست دادن کلیت تجزیه و تحلیل کنیم. توجه داشته باشید که پروانه های مجاور در روبروی یکدیگر قرار دارند. اگر یک پروانه در حال چرخش "در جهت عقربه های ساعت" باشد ، دو پیشرفته مجاور "در خلاف جهت عقربه های ساعت" می چرخند ، بنابراین اگر همه پروانه ها با همان سرعت در حال چرخش باشند ، گشتاورها متعادل هستند.$ \tau = K_t (I - I_0)$
جایی که $\tau $ گشتاور موتور است ، I جریان ورودی است ، $ I_0$ جریان است که هیچ باری روی موتور وجود ندارد و $K_t $ ثابت تناسب گشتاور است. ولتاژ روی موتور مجموع EMF برگشتی و مقداری افت مقاومت است$ V = I R_m + K_v \omega$در اینجا V افت ولتاژ روی موتور ، Rm مقاومت موتور ، ω سرعت زاویه ای موتور است و Kv یک ثابت تناسب است (نشانگر EMF برگشتی تولید شده در هر دور در دقیقه). ما می توانیم از این توصیف موتور خود برای محاسبه توان مصرفی آن استفاده کنیم. قدرت است$P = IV = \frac{(\tau + K_t I_0) (K_t I_0 R_m + \tau R_m + K_t K_v \omega)}{ {K_t}^2} $
و توان $ P \approx \frac{(\tau + K_t I_0) K_v \omega}{ {K_t}}$و ساده شده ان $ P \approx \frac{K_v}{K_t} \tau \omega.$از نیروی او برای بالا نگه داشتن کوادکوپتر استفاده می شود. با صرفه جویی در مصرف انرژی ، می دانیم که انرژی موتور در یک بازه زمانی معین ، برابر با نیروی تولید شده بر پروانه برابر با فاصله هوای جابجا شده است $P\cdot {\text{d}\;}t = F \cdot {\text{d}\;}x $. به طور معادل ، قدرت برابر است با رانش برابر با سرعت هوا $P = F\frac{{\text{d}\;}x}{{\text{d}\;}t} $لذا $P = Tv_h $ما تصور می کنیم سرعت وسیله نقلیه کم است ، بنابراین vh سرعت هوا هنگام معلق شدن است. ما همچنین فرض می کنیم که سرعت جریان آزاد ،$v_\infty $، صفر است (هوای محیط اطراف نسبت به کوادکوپتر ثابت است). تئوری حرکت به ما معادله سرعت شناور به عنوان تابعی از رانش را می دهد ،
$v_h = \sqrt\frac{T}{2\rho A} $
جایی که ρ تراکم هوای اطراف است و A ناحیه ای است که توسط روتور خارج می شود. با استفاده از معادله ساده ما برای قدرت ، می توانیم بنویسیم$P = \frac{K_v}{K_t} \tau \omega = \frac{K_vK_\tau}{K_t} T \omega = \frac{T^\frac{3}{2}}{\sqrt{2\rho A}}. $توجه داشته باشید که در حالت کلی $\tau = \vec r \times \vec F $؛ در این حالت ، گشتاور متناسب با رانش T با برخی از نسبت های ثابت $ K_\tau$ است که با تنظیمات و پارامترهای تیغه تعیین می شود. با حل بزرگی رانش T ، به دست می آوریم که رانش متناسب با مربع سرعت زاویه ای موتور است:
$T = \left(\frac{K_vK_\tau\sqrt{2 \rho A}}{K_t} \omega\right)^2 = k\omega^2 $
که در آن k برخی از ثابت های مناسب است. با جمع آوری تمام موتورها ، متوجه می شویم که کل رانش روی کوادکوپتر (در قاب بدنه) توسط
$ T_B = \sum_{i=1}^4 T_i = k{\begin{bmatrix} 0 \\ 0 \\ \sum {\omega_i}^2 \end{bmatrix}}.$
علاوه بر نیروی رانش ، اصطکاک را به عنوان نیرویی متناسب با سرعت خطی در هر جهت مدل خواهیم کرد. این یک دید بسیار ساده از اصطکاک سیال است ، اما برای مدل سازی و شبیه سازی ما کافی است. نیروهای کششی جهانی ما با یک اصطلاح نیروی اضافی مدل می شوند
$ F_D = {\begin{bmatrix}
-k_d\dot x \\
-k_d\dot y \\
-k_d\dot z \\
\end{bmatrix}}$اگر دقت اضافی مورد نظر باشد ، $k_d $ ثابت را می توان به سه ثابت اصطکاک جداگانه ، برای هر جهت حرکت ، جدا کرد. اگر بخواهیم این کار را انجام دهیم ، می خواهیم اصطکاک را در قاب بدن به جای قاب اینرسی مدل کنیم.گشتاورهااکنون که نیروها را در کوادکوپتر محاسبه کردیم ، مایلیم گشتاورها را نیز محاسبه کنیم. هر روتور درمورد محور بدنه بدن مقداری گشتاور دارد. این گشتاور گشتاور مورد نیاز برای چرخاندن پروانه و تأمین نیروی رانش است. شتاب زاویه ای آنی را ایجاد می کند و بر نیروهای کشش اصطکاک غلبه می کند. معادله درگ از پویایی سیال ، نیروی اصطکاک را به ما می دهد:$F_D = \frac{1}{2}\rho C_D A v^2. $جایی که ρ تراکم سیال اطراف است ، A منطقه مرجع است (سطح مقطع پروانه ، نه منطقه ای که توسط پروانه خارج شده است) ، و $ C_D$ یک ثابت بدون بعد است. این ، اگرچه در بعضی موارد فقط در برخی موارد دقیق است ، اما برای اهداف ما کافی است. این نشان می دهد که گشتاور ناشی از کشیدن توسط داده می شود
$\tau_D = \frac{1}{2}R \rho C_D A v^2 = \frac{1}{2}R \rho C_D A (\omega R)^2 = b\omega^2 $
جایی که ω سرعت زاویه ای ملخ است ، R شعاع پروانه است و b یک ثابت ثابت با اندازه مناسب است. توجه داشته باشید که فرض کرده ایم که تمام نیروها در نوک پروانه اعمال می شود که مطمئناً نادرست است. با این حال ، تنها نتیجه ای که برای اهداف ما مهم است این است که گشتاور کشیدن با مربع سرعت زاویه ای متناسب است. سپس می توانیم گشتاور کامل را در مورد محور z برای موتور ith بنویسیم:
جایی که ω سرعت زاویه ای ملخ است ، R شعاع پروانه است و b یک ثابت ثابت با اندازه مناسب است. توجه داشته باشید که فرض کرده ایم که تمام نیروها در نوک پروانه اعمال می شود که مطمئناً نادرست است. با این حال ، تنها نتیجه ای که برای اهداف ما مهم است این است که گشتاور کشیدن با مربع سرعت زاویه ای متناسب است. سپس می توانیم گشتاور کامل را در مورد محور z برای موتور ith بنویسیم:
$\tau_z = b\omega^2 + I_M \dot\omega $
جایی که $ I_M$ لحظه اینرسی در مورد محور z موتور است ، ω˙ شتاب زاویه ای پروانه است و b ضریب درگ ما است. توجه داشته باشید که در پرواز حالت پایدار (یعنی برخاستن یا فرود آمدن) ، ω˙≈0 ، زیرا بیشتر اوقات پروانه ها یک رانش ثابت (یا تقریباً ثابت) را حفظ می کنند و تسریع نمی شوند. بنابراین ، ما این اصطلاح را نادیده می گیریم و کل عبارت را به ساده می کنیم
$ \tau_z = (-1)^{i+1} b{\omega_i}^2.$
اگر پروانه در حال چرخش در جهت عقربه های ساعت باشد و در صورت چرخاندن در خلاف جهت عقربه ساعت ، اصطلاح $(-1)^{i+1} $ برای پروانه ith مثبت است. گشتاور کلی در مورد محور z با جمع کل گشتاورهای هر پروانه آورده می شود:
$ \tau_\psi = b\left( {\omega_1}^2 - {\omega_2}^2 + {\omega_3}^2 - {\omega_4}^2\right)$
گشتاورهای رول و پیچ از مکانیک استاندارد گرفته شده اند. ما می توانیم به دلخواه موتورهای i = 1 و i = 3 را در محور رول انتخاب کنیم ، بنابراین$\tau_\phi = \sum r\times T = L(k{\omega_1}^2 - k{\omega_3}^2) = Lk({\omega_1}^2 - {\omega_3}^2) $و $ \tau_\theta = Lk({\omega_2}^2 - {\omega_4}^2)$جایی که L فاصله مرکز کوادکوپتر تا هر یک از ملخ ها است. همه با هم ، متوجه می شویم که گشتاورهای قاب بدنه هستند$ \tau_B = {\begin{bmatrix}
Lk({\omega_1}^2 - {\omega_3}^2) \\
Lk({\omega_2}^2 - {\omega_4}^2) \\
b\left( {\omega_1}^2 - {\omega_2}^2 + {\omega_3}^2 - {\omega_4}^2\right)
\end{bmatrix}}$مدلی که ما تاکنون بدست آورده ایم بسیار ساده است. ما بسیاری از جلوه های پیشرفته را که به پویایی بسیار غیرخطی کوادکوپتر کمک می کند ، نادیده می گیریم. ما نیروهای کشش چرخشی را نادیده می گیریم (سرعت چرخش ما نسبتاً کم است) ، فلپ تیغه (تغییر شکل تیغه های پروانه به دلیل سرعت زیاد و مواد انعطاف پذیر) ، سرعت سیال اطراف (باد) و غیره را نادیده می گیریم. برای نوشتن پویایی کوادکوپتر ما

معادلات حرکتدر قاب اینرسی شتاب کوادکوپتر به دلیل رانش ، گرانش و اصطکاک خطی است. ما می توانیم بردار رانش را در قاب اینرسی با استفاده از ماتریس چرخش R خود بدست آوریم تا بردار رانش را از قاب بدنه به قاب اینرسی ترسیم کنیم. بنابراین ، حرکت خطی می تواند به صورت خلاصه باشد
$m\ddot{x} = {\begin{bmatrix} 0 \\ 0 \\ -mg\end{bmatrix}} + RT_B + F_D $
که در آن $\vec x $ موقعیت کوادکوپتر است ، g شتاب ناشی از نیروی جاذبه است ،$F_D $ نیروی کشش است و $T_B $ بردار رانش در قاب جسم است. در حالی که داشتن معادلات حرکت خطی در قاب اینرسی مناسب است ، معادلات حرکتی چرخشی برای ما در قاب جسم مفید است ، به طوری که می توانیم چرخش ها را در مورد مرکز کوادکوپتر به جای مرکز اینرسی خود بیان کنیم. ما معادلات چرخشی حرکت را از معادلات اویلر برای پویایی جسم صلب بدست می آوریم. معادلات اویلر که به صورت بردار بیان شده اند ، به صورت زیر نوشته می شوند$ I\dot\omega + \omega\times (I\omega) = \tau$
جایی که ω بردار سرعت زاویه ای است ، من ماتریس اینرسی است و$\tau $ بردار گشتاورهای خارجی است. می توانیم این را دوباره بنویسیم
$ \dot\omega = {\begin{bmatrix} \dot \omega_x \\ \dot \omega_y \\ \dot \omega_z\end{bmatrix}} = I^{-1}\left(\tau - \omega\times (I\omega)\right).$
ما می توانیم کوادکوپتر خود را به عنوان دو میله یکنواخت نازک که از مبدا عبور می کنند و در انتهای آنها جرم نقطه ای (موتور) قرار دارد ، مدل کنیم. با این حساب ، واضح است که تقارن ها منجر به ایجاد ماتریس اینرسی مورب فرم می شوند
$I = {\begin{bmatrix} I_{xx} & 0 & 0 \\ 0 & I_{yy} & 0 \\ 0 & 0 & I_{zz}\end{bmatrix}}. $
بنابراین ، ما نتیجه نهایی خود را برای معادلات چرخشی قاب جسم بدست می آوریم
$\dot\omega = {\begin{bmatrix}
\tau_\phi {I_{xx}}^{-1} \\
\tau_\theta {I_{yy}}^{-1} \\
\tau_\psi {I_{zz}}^{-1}
\end{bmatrix}} - {\begin{bmatrix}
\frac{I_{yy} - I_{zz}}{I_{xx}} \omega_y\omega_z \\
\frac{I_{zz} - I_{xx}}{I_{yy}} \omega_x\omega_z \\
\frac{I_{xx} - I_{yy}}{I_{zz}} \omega_x\omega_y
\end{bmatrix}} $خوب حالا کنترل کنترل
هدف از تولید مدل ریاضی کوادکوپتر کمک به توسعه کنترلرهای کوادکوپتر فیزیکی است. ورودی های سیستم ما از سرعت زاویه ای هر روتور تشکیل شده است ، زیرا تنها چیزی که می توانیم کنترل کنیم ولتاژهای مختلف موتورها است. توجه داشته باشید که در مدل ساده شده ما ، فقط از مربع سرعت های زاویه ای ،$ {\omega_i}^2$ و هرگز از خود سرعت زاویه ای ، ωi استفاده می کنیم. برای سادگی نمره ای ، اجازه دهید ورودی های $ \gamma_i = {\omega_i}^2$ را معرفی کنیم. از آنجا که می توانیم ωi تنظیم کنیم ، می توانیم به وضوح $ \gamma_i$ را نیز تنظیم کنیم. با این کار می توانیم سیستم خود را به عنوان معادله دیفرانسیل مرتبه اول در فضای حالت بنویسیم. بگذارید x1 موقعیتی در فضای کوادکوپتر باشد ، x2 سرعت خطی کوادکوپتر باشد ، x3 زاویه های رول ، گام و زاویه و x4 بردار سرعت زاویه ای باشد. (توجه داشته باشید که همه اینها 3 بردار هستند.) با داشتن این حالت ، ما می توانیم معادلات فضای حالت را برای تکامل حالت خود بنویسیم.
$ \begin{aligned}
\dot{x_1} &= x_2 \\
\dot{x_2} &= {\begin{bmatrix} 0 \\ 0 \\ -g\end{bmatrix}} + \frac{1}{m} RT_B + \frac{1}{m} F_D \\
\dot{x_3} &= {\begin{bmatrix}
1 &0 & -s_\theta \\
0 & c_\phi & c_\theta s_\phi \\
0 & -s_\phi & c_\theta c_\phi
\end{bmatrix}}^{-1} x_4 \\
\dot{x_4} &= {\begin{bmatrix}
\tau_\phi {I_{xx}}^{-1} \\
\tau_\theta {I_{yy}}^{-1} \\
\tau_\psi {I_{zz}}^{-1}
\end{bmatrix}} - {\begin{bmatrix}
\frac{I_{yy} - I_{zz}}{I_{xx}} \omega_y\omega_z \\
\frac{I_{zz} - I_{xx}}{I_{yy}} \omega_x\omega_z \\
\frac{I_{xx} - I_{yy}}{I_{zz}} \omega_x\omega_y
\end{bmatrix}}\end{aligned}$
توجه داشته باشید که ورودی های ما به طور مستقیم در این معادلات استفاده نمی شوند. با این حال ، همانطور که خواهیم دید ، ما می توانیم مقادیر برای $ \tau$ و T را انتخاب کنیم ، و سپس برای مقادیر $\gamma_i $حل کنیم.این به ما یک مجموعه سه معادله ای با چهار ناشناخته می دهد. با اعمال محدودیتی که ورودی های ما باید کوادکوپتر را بالا نگه دارند ، می توانیم این مورد را محدود کنیم:
$ T = mg.$
توجه داشته باشید که این معادله این واقعیت را نادیده می گیرد که رانش مستقیماً به سمت بالا قرار نخواهد گرفت. این امر کاربرد کنترل کننده ما را محدود می کند ، اما برای انحرافات کوچک از ثبات نباید مشکلات عمده ای ایجاد کند. اگر راهی برای تعیین دقیق زاویه جریان داشته باشیم ، می توانیم آن را جبران کنیم. اگر ژیروسکوپ ما از دقت کافی برخوردار باشد ، می توان مقادیر بدست آمده از ژیروسکوپ را برای به دست آوردن زوایای θ و $\phi $ادغام کرد. در این حالت ، ما می توانیم رانش لازم برای نگه داشتن کوادکوپتر را در سطح بالا محاسبه کنیم و مقدار میلی متر رانش را روی محور z اینرسی انجام دهیم. ما متوجه شدیم که
$T_\text{proj} = mg\cos\theta\cos\phi $
بنابراین ، با یک اندازه گیری دقیق زاویه ، می توانیم در عوض این الزام را که برابر رانش است برابر کنیم
$ T = \frac{mg}{\cos\theta\cos\phi}$
در این حالت مولفه رانش در امتداد محور z مثبت برابر با میلی گرم است. ما می دانیم که رانش متناسب با مقدار وزنی ورودی است:$T = \frac{mg}{\cos\theta\cos\phi} = k\sum \gamma_i \implies \sum\gamma_i = \frac{mg}{k\cos\theta\cos\phi} $با این محدودیت اضافی ، مجموعه ای از چهار معادله خطی با چهار مجهول $\gamma_i $ داریم. سپس می توانیم برای هر$\gamma_i $ حل کنیم و مقادیر ورودی زیر را بدست آوریم:
$ \begin{aligned}
\gamma_1 &= \frac{mg}{4k\cos\theta\cos\phi}-\frac{2 b {e_\phi} {I_{xx}}+{e_\psi} {I_{zz}} k L}{4 b k L} \\
\gamma_2 &= \frac{mg}{4k\cos\theta\cos\phi}+\frac{ {e_\psi} {I_{zz}}}{4 b}-\frac{ {e_\theta} {I_{yy}}}{2 k L} \\
\gamma_3 &= \frac{mg}{4k\cos\theta\cos\phi}-\frac{-2 b {e_\phi} {I_{xx}}+{e_\psi} {I_{zz}} k L}{4 b k L} \\
\gamma_4 &= \frac{mg}{4k\cos\theta\cos\phi}+\frac{ {e_\psi} {I_{zz}}}{4 b}+\frac{ {e_\theta} {I_{yy}}}{2 k L}\end{aligned}$
این یک مشخصات کامل برای کنترل کننده PD ماست. با استفاده از محیط شبیه سازی خود می توانیم این کنترل کننده را شبیه سازی کنیم. کنترل کننده سرعت و زاویه های زاویه ای را به صفر می رساند.
تصویروتصویر
.I hope I help you understand the question. Roham Hesami smile072 smile261 smile260 رهام حسامی ترم پنجم مهندسی هوافضا
تصویر

ارسال پست