الكينماتيكا العكسية

الكينماتيكا العكسية 

في الرسوم الحركية المباشرة للكمبيوتر، وروبوتات فاراميتر الهندسية، فإن الحركة العكسية هي العملية الرياضية الحركية إلى الأمام مقابل المعكوس لحساب المعلمات المشتركة المتغيرة اللازمة لوضع نهاية سلسلة حركية، مثل مناور الروبوت أو الهيكل العظمي لشخصية الرسوم المتحركة، في موقف معين والتوجه بالنسبة لبداية السلسلة. بالنظر إلى المعلمات المشتركة، يمكن عادةً حساب موضع واتجاه نهاية السلسلة، على سبيل المثال يمكن عادة حساب يد الشخصية أو الروبوت مباشرةً باستخدام تطبيقات متعددة للصيغ المثلثية، وهي عملية تُعرف باسم الحركية الأمامية. ومع ذلك، فإن العملية العكسية، بشكل عام، أكثر صعوبة بكثير.Donald L. Pieper, The kinematics of manipulators under computer control. PhD thesis, Stanford University, Department of Mechanical Engineering, October 24, 1968. 

تُستخدم الحركية العكسية أيضًا لاستعادة حركات كائن في العالم من بعض البيانات الأخرى، مثل فيلم لتلك الحركات، أو فيلم عن العالم كما تراه الكاميرا التي تقوم هي نفسها بهذه الحركات. يحدث هذا، على سبيل المثال، عندما يتم تكرار حركات الممثل البشري المصورة بواسطة شخصية متحركة.

 علم الروبوتات 
في الروبوتات، تستفيد الحركية العكسية من المعادلات الحركية لتحديد المعلمات المشتركة التي توفر التكوين المطلوب (الموضع والدوران) لكل من المؤثرات النهائية للروبوت.  يُعرف تحديد حركة الروبوت بحيث تنتقل مؤثراته النهائية من التكوين الأولي إلى التكوين المطلوب باسم تخطيط الحركة. الكينماتيكا تحول خطة الحركة إلى مسارات المشغل المشترك للروبوت.

تحدد الصيغ المماثلة مواضع الهيكل العظمي للشخصية المتحركة التي تتحرك بطريقة معينة في فيلم، أو لمركبة مثل السيارة أو القارب الذي يحتوي على الكاميرا التي تقوم بتصوير مشهد من فيلم. بمجرد معرفة حركات السيارة، يمكن استخدامها لتحديد وجهة النظر المتغيرة باستمرار للصور التي يتم إنشاؤها بواسطة الكمبيوتر للأشياء في المناظر الطبيعية مثل المباني، بحيث تتغير هذه الكائنات في المنظور بينما لا يبدو أنها تتحرك مثل السيارة الحاملة للكاميرا تمر بهم.

حركة السلسلة الحركية، سواء أكانت روبوتًا أم شخصية متحركة، يتم تصميمها بواسطة المعادلات الحركية للسلسلة. تحدد هذه المعادلات تكوين السلسلة من حيث معلماتها المشتركة. تستخدم الكينماتيكا إلى الأمام المعلمات المشتركة لحساب تكوين السلسلة، وتعكس الحركية العكسية هذا الحساب لتحديد معلمات المفصل التي تحقق التكوين المطلوب.J. M. McCarthy, 1990, Introduction to Theoretical Kinematics, MIT Press, Cambridge, MA.J. J. Uicker, G. R. Pennock, and J. E. Shigley, 2003, Theory of Machines and Mechanisms, Oxford University Press, New York.J. M. McCarthy and G. S. Soh, 2010, Geometric Design of Linkages, Springer, New York. 

 التحليل الحركي 
يعد التحليل الحركي أحد الخطوات الأولى في تصميم معظم الروبوتات الصناعية. يسمح التحليل الحركي للمصمم بالحصول على معلومات حول موضع كل مكون داخل النظام الميكانيكي. هذه المعلومات ضرورية للتحليل الديناميكي اللاحق مع مسارات التحكم.

علم الحركة المعكوس هو مثال على التحليل الحركي لنظام مقيد للأجسام الصلبة، أو للسلسلة الحركية. ومعادلات الحركية للإنسان يمكن استخدامها لتحديد معادلات الحلقة لنظام مفصلي معقد. معادلات الحلقة هذه هي قيود غير خطية على معلمات تكوين النظام. تُعرف المعلمات المستقلة في هذه المعادلات بدرجات حرية النظام.

بينما توجد حلول تحليلية لمشكلة الحركية العكسية لمجموعة واسعة من السلاسل الحركية، تستخدم أدوات النمذجة الحاسوبية والرسوم المتحركة غالبًا طريقة نيوتن لحل المعادلات الحركية غير الخطية.

تطبيقات أخرى للحركية العكسية من الخوارزميات تتضمن التلاعب التفاعلى والتحكم في الرسوم المتحركة وتجنب الاصطدام.

 الحركة المعكوسة والرسوم المتحركة ثلاثية الأبعاد 

تعتبر الحركة العكسية مهمة لبرمجة الألعاب والرسوم المتحركة ثلاثية الأبعاد، حيث يتم استخدامها لربط شخصيات اللعبة ماديا بالعالم، مثل هبوط أقدام بقوة فوق التضاريس (انظرA. Aristidou, J. Lasenby, Y. Chrysanthou, A. Shamir. Inverse Kinematics Techniques in Computer Graphics: A Survey. Computer Graphics Forum, 37(6): 35-58, 2018.   لإجراء مسح شامل حول أساليب الحركة المعكوسة المستخدمة في رسومات الحاسوب).

تم تصميم الشكل المتحرك بهيكل عظمي من مقاطع صلبة متصلة بالمفاصل، تسمى السلسلة الحركية. تحدد المعادلات الحركية للشكل العلاقة بين الزوايا المشتركة للشكل ووضعه أو تكوينه. تستخدم مشكلة الرسوم المتحركة الحركية إلى الأمام معادلات حركية لتحديد الوضع بالنظر إلى زوايا المفصل. تحسب مشكلة علم الحركة العكسى زوايا المفصل للوضع المطلوب للشكل.

غالبًا ما يكون من الأسهل على المصممين والفنانين والرسامين المعتمدين على الكمبيوتر تحديد التكوين المكاني للتجميع أو الشكل عن طريق تحريك الأجزاء، أو الذراعين والساقين، بدلاً من التلاعب بزوايا المفاصل بشكل مباشر. لذلك، يتم استخدام الحركية العكسية في أنظمة التصميم بمساعدة الكمبيوتر لتحريك التجميعات ومن قبل الفنانين والرسامين المعتمدين على الكمبيوتر لتحديد موضع الشخصيات.

تم تصميم التجميع على أنه روابط صلبة متصلة بواسطة مفاصل يتم تعريفها على أنها رفقاء، أو قيود هندسية. تتطلب حركة أحد العناصر حساب زوايا المفصل للعناصر الأخرى للحفاظ على القيود المشتركة. على سبيل المثال، تسمح الحركة العكسية للفنان بتحريك يد نموذج بشري ثلاثي الأبعاد إلى الموضع والاتجاه المطلوبين ولديه خوارزمية تحدد الزوايا المناسبة لمفاصل الرسغ والكوع والكتف. يتطلب التنفيذ الناجح للرسوم المتحركة الحاسوبية عادةً أن يتحرك الشكل ضمن حدود مجسمة معقولة.

يمكن تحديد طريقة لمقارنة كل من الحركية الأمامية والمعكوسة للرسوم المتحركة للشخصية من خلال المزايا الملازمة لكل منها. على سبيل المثال، غالبًا ما يكون حظر الرسوم المتحركة حيث يتم استخدام أقواس الحركة الكبيرة أكثر فائدة في علم الحركة إلى الأمام. ومع ذلك، قد يكون من الأسهل استخدام الرسوم المتحركة الدقيقة وتحديد موضع المؤثر النهائي المستهدف بالنسبة للنماذج الأخرى باستخدام الكينماتيكا المقلوبة. تقدم حزم الإنشاء الرقمي الحديثة (DCC) طرقًا لتطبيق الحركية الأمامية والعكسية على النماذج.

 الحلول التحليلية للكينماتيكا العكسية 
في بعض الحالات، وليس جميعها توجد حلول تحليلية للمشكلات الحركية العكسية. أحد الأمثلة على ذلك هو روبوت 6-DoF (على سبيل المثال، 6 مفاصل تدور) يتحرك في مساحة ثلاثية الأبعاد (بثلاث درجات من الحرية و 3 درجات دوران للحرية). إذا كانت درجات حرية الروبوت تتجاوز درجات حرية المستجيب النهائي، على سبيل المثال مع روبوت 7 DoF مع 7 مفاصل ثورية، فهناك عدد لا نهائي من الحلول لمشكلة IK، ولا يوجد حل تحليلي. لمزيد من التوسع في هذا المثال، من الممكن إصلاح مفصل واحد وحل مفاصل أخرى بشكل تحليلي، ولكن ربما يتم تقديم حل أفضل من خلال الطرق العددية (القسم التالي)، والتي يمكنها بدلاً من ذلك تحسين الحل بالنظر إلى التفضيلات الإضافية (التكاليف في مشكلة التحسين).

الحل التحليلي لمشكلة الحركية العكسية هو تعبير مغلق الشكل يأخذ شكل المستجيب النهائي كمدخل ويعطي مواضع مشتركة كإخراج sq=(). يمكن أن تكون المحاليل الحركية العكسية التحليلية أسرع بكثير من المذيبات العددية وتوفر أكثر من حل واحد، ولكن فقط عددًا محدودًا من الحلول، لوضع مؤثر نهائي معين.

يمكن لبرنامج IKFast مفتوح المصدر إيجاد حلول تحليلية كاملة لمعظم معالجات الروبوت الشائعة وإنشاء كود C ++ لهم. تغطي المحولات التي تم إنشاؤها معظم الحالات المتدهورة ويمكن أن تنتهي في ميكروثانية على أجهزة الكمبيوتر الحديثة. إحدى المشكلات المتعلقة بهذه المحاليل، هي أنه من المعروف أنها لا تقدم بالضرورة حلولًا سلسة محليًا بين تكوينين متجاورين، مما قد يتسبب في عدم الاستقرار إذا كانت الحلول التكرارية للحركات الحركية العكسية مطلوبة، مثل إذا تم حل IK داخل حلقة تحكم عالية السرعة.

 الحلول العددية لمشاكل IK 
هناك العديد من الطرق للنمذجة وحل مسائل الحركية العكسية. تعتمد أكثر هذه الطرق مرونة عادةً على التحسين التكراري للبحث عن حل تقريبي، نظرًا لصعوبة قلب معادلة الحركية الأمامية وإمكانية وجود مساحة حل فارغة. الفكرة الأساسية وراء العديد من هذه الطرق هي نمذجة معادلة الحركة الحركية إلى الأمام باستخدام توسع سلسلة تايلور، والذي يمكن أن يكون أبسط لقلبه وحلّه من النظام الأصلي.

 تقنية المعكوس اليعقوبي 

التقنية العكسية اليعقوبية هي طريقة بسيطة لكنها فعالة في تطبيق الكينماتيكا العكسية. يجب أن تكون هناك متغيرات (m) تحكم معادلة الحركة إلى الأمام، أي وظيفة الموضع. قد تكون هذه المتغيرات زوايا مشتركة أو أطوال أو قيم حقيقية تعسفية أخرى. إذا كان نظام IK يعيش في مساحة ثلاثية الأبعاد، فيمكن عرض وظيفة الموضع على أنها تعيين p(x):Rm→R3.لنفترض أن P0=P(x0) تعطى الموضع الأولي للنظام P1=P(X0+∆x) يكون الهدف من النظام. يحسب الأسلوب العكسي اليعقوبي تقديرا متكررا ل x∆ يقلل من الخطأ المعطى بواسطة||P(x0+∆xestimate)-P1|| بالنسبة لمتجهات المحور الصغيرة x∆ فإن التوسع المتسلسل لوظيفة الموضع تعطى

p(x1)~P(x0)+Jp(x0)∆x حيث Jp(x0) هي المصفوفة اليعقوبية (3×m) لدالة الموضع عند x0 لاحظ انه يمكن تقريب المدخل (i,k)-th للمصفوفة اليعقوبية التي يمكن تقريبها عدديا
ðPi ~Pi(x0,k+h)-Pi (X0)i-th حيث Pi(x) تعطى i-th المكون لدالة الموضع x0,k+h ببساطة x0 مع إضافة دلتا صغيرة للمكون k-th، وh هي قيمة إيجابية صغيرة إلى حد معقول.

أخذ مور بنروز العكسي الزائف للمصفوفة اليعقوبية (إمكانية استخدام تحليل القيمة المفرد) وإعادة ترتيب المصطلحات تؤدى إلى x∆~Jp+(x0)∆p حيث p =p(x0+∆x)-p(x0)∆.

سوف يؤدى تطبيق الطريقة اليعقوبية العكسية مرة واحدة إلى تقدير تقريبي للدالة x∆ المتجه. وينبغي استخدام بحث خطي لقياس x∆ وتحويله ليصبح قيمة مقبولة. يمكن تحسين التقدير لقيمة x∆ عبر الخوارزمية التالية (المعروفة باسم طريقة نيوتن رافسون): xk∆+1=Jp(xk)∆pk بمجرد أن يتسبب المتجه x∆ في انخفاض الخطأ بالقرب من الصفر، يجب انهاء الخوارزمية. تم الإبلاغ عن الأساليب الحالية المستندة إلى مصفوفة هيسية للنظام لتتقارب مع قيم المحور المرغوبة x∆ باستخدام عدد أقل من التكرارات، على الرغم من أنه في بعض الحالات نحتاج للمزيد من الموارد الاستكشافية.

 الأساليب الاستكشافية 

يمكن أيضًا تقريب مشكلة علم الحركة العكسي باستخدام طرق الكشف عن مجريات الأمور. تؤدي هذه الطرق عمليات تكرارية بسيطة تؤدي تدريجياً إلى تقريب الحل. تتميز الخوارزميات الإرشادية بتكلفة حسابية منخفضة (إرجاع الوضع النهائي بسرعة كبيرة)، وعادةً ما تدعم القيود المشتركة. أكثر الخوارزميات الاستدلالية شيوعا هي الخوارزميات الدوريةD. G. Luenberger. 1989. Linear and Nonlinear Programming. Addison Wesley. والخلفيات الحركية العكسية للأمام والخلف والتي تتناسب دوريا مع الإحداثيات.A. Aristidou, and J. Lasenby. 2011. FABRIK: A fast, iterative solver for the inverse kinematics problem. Graph. Models 73, 5, 243–260. 

 انظر أيضا 

 بوابة الفيزياء
 321 الهيكل الحركي
 حل الذراع
 الرسوم المتحركة الحركية إلى الأمام
 الحركة إلى الأمام
 مصفوفة ومحدِّد يعقوبي
 القيود المشتركة
 التوليف الحركي
 كينماتيشن
 خوارزمية Levenberg-Marquardt
 التقاط الحركة
 محرك الفيزياء
 معكوس
 فيزياء دوول
 حركية الروبوت
 معلمات دينافيت-هارتنبرغ

 روابط خارجية 

 Forward And Backward Reaching Inverse Kinematics (FABRIK)
 Robotics and 3D Animation in FreeBasic 
 Analytical Inverse Kinematics Solver - Given an OpenRAVE robot kinematics description, generates a C++ file that analytically solves for the complete IK.
 Inverse Kinematics algorithms
 Robot Inverse solution for a common robot geometry
 HowStuffWorks.com article How do the characters in video games move so fluidly? with an explanation of inverse kinematics
 3D animations of the calculation of the geometric inverse kinematics of an industrial robot
 3D Theory Kinematics
 Protein Inverse Kinematics
 Simple Inverse Kinematics example with source code using Jacobian
 Detailed description of Jacobian and CCD solutions for inverse kinematics
 Autodesk HumanIK
 A 3D visualization of an analytical solution of an industrial robot

 المراجع 

تصنيف:رسوميات حاسوبية ثلاثية الأبعاد
تصنيف:فيزياء محوسبة
تصنيف:كينماتيكا روبوتية
تصنيف:مشاكل عكسية
تصنيف:واقع افتراضي