خنثی کردن بمب با بازوی رباتیک (سینماتیک معکوس)

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

بازوی رباتیکی تیم KN2C
بازوی رباتیکی تیم KN2C


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


بازو‌های رباتیکی انواع مختلفی دارند و از دو بخش اصلی مفصل (Joint) و بازو (Arm) تشکیل می‌شوند. در ربات ها عموما هر یک از مفصل‌ها (Joints) بوسیله‌ی یک موتور به صورت جداگانه کنترل می‌شود و این موضوع شروع مشکلات کنترل حرکت بازوی ربات است! در رباتیک می توان با استفاده از معادلات سینماتیک (Kinematic Equations)، انتهای بازوی ربات یا End Effector (شکل زیر) را به صورت دلخواه و بهینه تکان داد و دکمه‌ی نجات دهنده را فشرد.

End Effector of KN2C Robotic Arm
End Effector of KN2C Robotic Arm


سینماتیک یکی از شاخه های مکانیک است. سینماتیک به بررسی حرکت اجسام می پردازد بدون آن‌که به جرم و نیروهای وارده بر جسم بپردازد. سینماتیک بازو به دو گروه کلی تقسیم می‌شود: سینماتیک مستقیم (Forward Kinematics) و سینماتیک معکوس(Inverse Kinematics) که هر دوی آن‌ها برای خنثی سازی بمب نیاز است.

سینماتیک مستقیم

در صورتی که با استفاده از زاویه های هر مفصلِ بین دو بازو و طول هر بازو به مختصات انتهایی بازوی ربات (End Effector) برسیم، از سینماتیک مستقیم استفاده کرده ایم. در این حالت می توان تصور کرد که مختصات کروی ما به مختصات دکارتی تبدیل شده است.



سینماتیک معکوس

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

حرکات عمودی و افقی بازوی رباتیکی با استفاده از سینماتیک معکوس
حرکات عمودی و افقی بازوی رباتیکی با استفاده از سینماتیک معکوس


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


  • اگر این نوشته را دوست داشتید و علاقه‌مند هستید بیشتر درباره این موضوعات بخوانید انتشارات KN2C را دنبال کنید و به این صفحه هم سری بزنید.