#️⃣

کنترل بهینه و یادگیری تقویتی مقدماتی

Jul 15, 2024

کنترل بهینه و یادگیری تقویتی (OCRL) - درس ۱

مدرس و تیم دوره

  • مدرس: زاخ
  • دستیار اصلی: کوین تریسی (در زوم در دسترس و جلسه‌های رفع اشکال در روزهای جمعه ساعت ۱۱ صبح در زوم برگزار خواهد شد)
  • دستیاران آموزشی: جی جی، اف، آرون، سم (همگی محلی و حاضر برای ساعات اداری)

مرور دوره

  • تمرکز: کنترل بهینه و یادگیری تقویتی
  • کاربردها: هوافضا (ماموریت‌های فضایی، مسیر مریخ، فرودهای SpaceX)، رانندگی خودکار، ربات‌های چهار‌پا، رباتیک
  • تکنیک‌ها: تنظیم مستقیم، کنترل پیش‌بینی مدل محدب (MPC)، MPC غیرخطی
  • ابزارهایی که مورد بحث قرار خواهند گرفت: مدل‌های دینامیکی، کنترل‌کننده‌های خطی و غیرخطی، یادگیری تقویتی (RL)، بهینه‌سازی
  • اهداف دوره:
    • فراهم کردن زمینه‌های اساسی درک تکنیک‌های کنترل و RL مرتبط
    • پیاده‌سازی الگوریتم‌ها در کاربردهای عملی
    • رساندن دانشجویان به سطحی که بتوانند مفاهیم را در پروژه‌های تحقیقاتی خود به کار ببرند

حقایق جالب و کاربردهای جالب

  • منشاء هوافضا: تکنیک‌هایی مانند تنظیم مستقیم که در ماموریت‌های فضایی توسط JPL و دیگران استفاده می‌شود.
  • فرودهای SpaceX: کنترل پیش‌بینی مدل محدب (MPC) توسعه یافته توسط لارس بلکمور و دیگران.
  • رانندگی خودکار: استفاده از MPC غیرخطی، مدل‌های دوچرخه، اجتناب از موانع
  • ربات‌های چهارپا و ربات‌های پادپا: MPC محدب، فرضیه‌های مدل سیب‌زمینی (یک بدن سخت ساده‌سازی شده)
  • بوستون داینامیکس: MPC پیشرفته غیرخطی با استفاده از مدل‌های دینامیکی کل‌بدنی، بسیار محاسباتی و مهندسی پیچیده

چالش‌های موجود در این حوزه

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

ساختار و برنامه‌های دوره

  • برنامه کلاس: سه شنبه‌ها و پنج شنبه‌ها ساعت ۵ بعدازظهر (اتاق ارائه شده)، به صورت زنده در زوم و ضبط شده
  • جلسات رفع اشکال: جمعه‌ها ساعت ۱۱ صبح در زوم
  • تکالیف: حدود چهار تمرین کدنویسی در جولیا (تکلیف صفر برای کالیبراسیون زمینه‌ای)
  • پروژه نهایی: پروژه‌های گروهی (اندازه پیشنهادی: ۳-۵ نفر) در موضوعات مرتبط و مورد علاقه شخصی که ممکن است به یک مقاله کنفرانس منجر شود.
  • منابع: پیزا (برای تمامی ارتباطات)، گیت‌هاب (برای تکالیف)، گرید‌اسکوپ (برای ارسال تکالیف)، یوتیوب (برای ویدیوهای ضبط شده)

زبان برنامه‌نویسی: جولیا

  • دلیل: بهتر برای جبر خطی در مقایسه با پایتون، سینتکس مشابه MATLAB، زبان سطح بالا

وب‌سایت دوره

  • آدرس URL: [optimal control.r.cmu.edu](https://optimal control.r.cmu.edu)
  • محتویات: سرفصل دروس، لینک‌های دسترسی به کلاس‌ها، پیزا، کنواس، گرید‌اسکوپ، گیت‌هاب، یوتیوب

مفاهیم اولیه

مرور دینامیک‌ها

  • سیستم دینامیکی عمومی:
    • معادله: ( \dot{x} = f(x, u) )
    • اجزا: بردار حالت ( x )، کنترل ( u )، و دینامیک ( f )
  • حالت سیستم مکانیکی: اغلب به پیکربندی (( q )) و سرعت (( v )) تقسیم می‌شود
    • مثال تنظیم حالت: ( x = [q, v] )، ( q = \theta )، ( v = \dot{\theta} )
  • مثال آونگ:
    • معادله: ( ml^2 \ddot{\theta} + mgl \sin \theta = u )
    • جداسازی به ( x = [\theta, \dot{\theta}] )، ( f(x, u) ) برای تطبیق با فرم عمومی

سیستم‌های کنترل-آفین

  • معادله: ( \dot{x} = f(x) + B(x)u )
  • جمله رانش: ( f(x) )
  • ژاکوبین ورودی: ( B(x) )
  • مثال با آونگ: تفکیک اجزا برای شناسایی ( f(x) ) و ( B(x) )

دینامیک‌های دستکاری‌گر

  • معادله: ( M(q) \dot{v} + C(q,v) v = Bu + f )
    • اجزا: ماتریس جرم ( M )، بایاس دینامیکی ( C )، ژاکوبین ورودی ( B )، نیروهای خارجی ( f )
  • آونگ در فرم دستکاری‌گر:
    • ماتریس جرم: ( M = ml^2 )
    • بایاس دینامیکی: ( C = mgl \sin \theta )
    • ژاکوبین ورودی: ( B = \frac{1}{ml^2} )
  • کلیدی: همه سیستم‌های مکانیکی به دلیل ساختارشان در فرم دستکاری‌گر قرار می‌گیرند

سیستم‌های خطی

  • فرم پایه: ( \dot{x} = Ax + Bu )
  • زمان ثابت در مقابل زمان متغیر: بسته به اینکه ( A ) و ( B ) در طول زمان تغییری کنند یا نه
  • خطی‌سازی سیستم‌های غیرخطی: تقریب‌های خطی در اطراف نقاط یا مسیرها برای کنترل

نقاط تعادل و پایداری

  • نقطه تعادل: ( f(x, u) = 0 )
    • مثال با آونگ: تعادل در ( \theta = 0, \pi )
  • تحلیل پایداری: ارزیابی پایداری با در نظر گرفتن نوسان‌های کوچک
    • الهام ۱ بعدی: پایداری توسط شیب ( f(x) ) در نقطه تعادل تعیین می‌شود
    • ابعاد بالاتر: استفاده از ژاکوبین و تحلیل مقادیر ویژه برای ارزیابی پایداری
      • پایدار: تمامی مقادیر ویژه دارای بخش حقیقی منفی‌اند
      • ناپایدار: حداقل یکی از مقادیر ویژه دارای بخش حقیقی مثبت است
      • پایداری مرزی: مقادیر ویژه صرفاً موهومی

افکار نهایی

  • گام بعدی: تکنیک‌ها را در تکالیف و پروژه‌های نهایی یاد گرفته و پیاده‌سازی کنید
  • انتظار: با محتوای دوره درگیر شوید، از جولیا برای تکالیف استفاده کنید، روی پروژه‌های معنادار کار کنید، و جلسات رفع اشکال را برای درک عمیق‌تر بررسی کنید.