الحركة العكسية

في مجال الرسوم المتحركة الحاسوبية والروبوتات ، تُعرف الحركة العكسية (IK) بأنها العملية الرياضية لحساب معلمات المفاصل المتغيرة اللازمة لوضع نهاية سلسلة حركية ، مثل ذراع روبوت أو يد أو قدم جهاز تحريك ، في موضع واتجاه محددين (بالنسبة لبداية السلسلة). وتُعد عمليات الحركة العكسية أكثر تعقيدًا من الناحية الحسابية من الحركة الأمامية ، حيث تُحسب معلمات المفاصل باستخدام الدوال المثلثية لتحديد موضع واتجاه نهاية السلسلة. [ 1 ] [ 2 ] [ 3 ]
الروبوتات
في مجال الروبوتات، تستخدم الحركة العكسية معادلات الحركة لتحديد معلمات المفاصل التي توفر التكوين المطلوب (الموقع والدوران) لكل أداة من أدوات الروبوت الطرفية . [ 4 ] وهذا مهم لأن مهام الروبوت تُنفذ باستخدام الأدوات الطرفية، بينما يُطبق جهد التحكم على المفاصل. يُعرف تحديد حركة الروبوت بحيث تتحرك أدواته الطرفية من تكوين أولي إلى تكوين مطلوب بتخطيط الحركة . تُحوّل الحركة العكسية خطة الحركة إلى مسارات لمحركات المفاصل في الروبوت. [ 2 ] تُحدد صيغ مماثلة مواقع الهيكل العظمي لشخصية متحركة ستتحرك بطريقة معينة في فيلم، أو مركبة مثل سيارة أو قارب يحمل الكاميرا التي تُصور مشهدًا من فيلم. بمجرد معرفة حركات المركبة، يمكن استخدامها لتحديد وجهة النظر المتغيرة باستمرار للصور المولدة بالحاسوب للأجسام في المشهد، مثل المباني، بحيث تتغير هذه الأجسام في المنظور دون أن تبدو متحركة أثناء مرور الكاميرا المحمولة على المركبة بجانبها.
تُحاكى حركة السلسلة الحركية ، سواءً كانت روبوتًا أو شخصية متحركة، بواسطة معادلات الحركة الخاصة بها. تُحدد هذه المعادلات شكل السلسلة بدلالة معايير مفاصلها. تستخدم الحركة الأمامية معايير المفاصل لحساب شكل السلسلة، بينما تعكس الحركة العكسية هذا الحساب لتحديد معايير المفاصل التي تُحقق الشكل المطلوب. [ 5 ] [ 6 ] [ 7 ]
التحليل الحركي

يُعدّ التحليل الحركي إحدى الخطوات الأولى في تصميم معظم الروبوتات الصناعية. فهو يُمكّن المصمم من الحصول على معلومات حول موضع كل مكون داخل النظام الميكانيكي، وهي معلومات ضرورية لإجراء التحليل الديناميكي اللاحق وتحديد مسارات التحكم.
تُعدّ الحركة العكسية مثالاً على التحليل الحركي لنظام مقيد من الأجسام الصلبة، أو سلسلة حركية . ويمكن استخدام المعادلات الحركية للروبوت لتحديد معادلات الحلقة لنظام مفصلي معقد. تمثل معادلات الحلقة هذه قيودًا غير خطية على معلمات تكوين النظام. وتُعرف المعلمات المستقلة في هذه المعادلات بدرجات حرية النظام.
على الرغم من وجود حلول تحليلية لمسألة الحركة العكسية لمجموعة واسعة من السلاسل الحركية، إلا أن أدوات النمذجة الحاسوبية والرسوم المتحركة غالبًا ما تستخدم طريقة نيوتن لحل معادلات الحركة غير الخطية. [ 2 ] عند محاولة إيجاد حل تحليلي، يكون من المفيد غالبًا استغلال هندسة النظام وتفكيكه باستخدام مسائل فرعية ذات حلول معروفة . [ 8 ] [ 9 ]
تشمل التطبيقات الأخرى لخوارزميات الحركة العكسية التلاعب التفاعلي والتحكم في الرسوم المتحركة وتجنب الاصطدام .
الحركة العكسية والرسوم المتحركة ثلاثية الأبعاد
تُعدّ الحركة العكسية مهمة لبرمجة الألعاب والرسوم المتحركة ثلاثية الأبعاد ، حيث تُستخدم لربط شخصيات اللعبة ماديًا بالعالم، مثل هبوط الأقدام بثبات على سطح الأرض. [ 10 ]
يُصمَّم الشكل المتحرك بهيكل عظمي من أجزاء صلبة متصلة بمفاصل، يُسمى سلسلة حركية . تُحدد معادلات الحركة للشكل العلاقة بين زوايا المفاصل ووضعه أو هيئته. تستخدم مسألة الحركة الأمامية معادلات الحركة لتحديد الوضعية بمعرفة زوايا المفاصل. أما مسألة الحركة العكسية فتحسب زوايا المفاصل للوضعية المطلوبة للشكل.
غالباً ما يكون من الأسهل على المصممين والفنانين ومصممي الرسوم المتحركة الذين يستخدمون برامج الحاسوب تحديد التكوين المكاني لمجموعة أو شكل ما عن طريق تحريك الأجزاء، أو الأذرع والأرجل، بدلاً من التلاعب المباشر بزوايا المفاصل. لذلك، تُستخدم الحركة العكسية في أنظمة التصميم بمساعدة الحاسوب لتحريك المجموعات، ويستخدمها الفنانون ومصممو الرسوم المتحركة الذين يستخدمون برامج الحاسوب لتحديد مواقع الأشكال والشخصيات.
يُصمَّم التجميع على هيئة روابط صلبة متصلة بمفاصل تُعرَّف كعلاقات أو قيود هندسية. تتطلب حركة أي عنصر حساب زوايا المفاصل للعناصر الأخرى للحفاظ على قيود المفاصل . على سبيل المثال، تسمح الحركة العكسية للفنان بتحريك يد نموذج ثلاثي الأبعاد لجسم بشري إلى الموضع والاتجاه المطلوبين، ثم يقوم برنامج حاسوبي باختيار الزوايا المناسبة لمفاصل الرسغ والمرفق والكتف. يتطلب التنفيذ الناجح للرسوم المتحركة الحاسوبية عادةً أن يتحرك الشكل ضمن حدود معقولة للحركة البشرية .
يمكن تعريف طريقة مقارنة كل من الحركة الأمامية والعكسية لتحريك الشخصيات بناءً على المزايا الكامنة في كل منهما. على سبيل المثال، غالبًا ما تكون الحركة الأمامية أكثر فائدة في تحريك الشخصيات التي تتطلب أقواس حركة واسعة. مع ذلك، قد يكون استخدام الحركة العكسية أسهل في تحريك الشخصيات بدقة أكبر وتحديد موضع أداة النهاية المستهدفة بالنسبة للنماذج الأخرى. توفر برامج إنشاء المحتوى الرقمي الحديثة (DCC) طرقًا لتطبيق كل من الحركة الأمامية والعكسية على النماذج.
حلول تحليلية للحركة العكسية
حلول عامة
في بعض الحالات، وليس جميعها، توجد حلول تحليلية لمسائل الحركة العكسية. أحد الأمثلة على ذلك هو روبوت بست درجات حرية (على سبيل المثال، ستة مفاصل دورانية) يتحرك في فضاء ثلاثي الأبعاد (بثلاث درجات حرية للموضع، وثلاث درجات حرية للدوران). إذا كانت درجات حرية الروبوت مساوية أو أكبر من درجات حرية أداة النهاية، كما هو الحال مع روبوت بسبع درجات حرية وسبعة مفاصل دورانية، فإنه يوجد عدد لا نهائي من الحلول لمسألة الحركة العكسية، ولا يوجد حل تحليلي. بتوسيع هذا المثال، يمكن تثبيت مفصل واحد وحل المسائل الأخرى تحليليًا، ولكن قد تُقدم الطرق العددية حلاً أفضل، حيث يمكنها تحسين الحل بناءً على تفضيلات إضافية (تكاليف في مسألة التحسين).
الحل التحليلي لمسألة الحركة العكسية هو تعبير مغلق يأخذ وضعية المؤثر النهائي كمدخلات ويعطي مواضع المفاصل كمخرجات.يمكن أن تكون حلول الحركة العكسية التحليلية أسرع بكثير من الحلول العددية وتوفر أكثر من حل واحد، ولكن عددًا محدودًا فقط من الحلول، لوضعية معينة للمؤثر النهائي.
تستطيع العديد من البرامج المختلفة (مثل برامج IKFast و Inverse Kinematics Library مفتوحة المصدر ) حل هذه المسائل بسرعة وكفاءة باستخدام خوارزميات متنوعة، مثل برنامج FABRIK . إلا أن إحدى مشكلات هذه البرامج تكمن في أنها قد لا تُقدم بالضرورة حلولاً سلسة محلياً بين تكوينين متجاورين، مما قد يُسبب عدم استقرار في حال تطلب الأمر حلولاً تكرارية للحركة العكسية، كما هو الحال عند حل الحركة العكسية داخل حلقة تحكم عالية السرعة .
قاعدة متوازية متعامدة ومعصم كروي
تتميز العديد من الروبوتات الصناعية ذات ست درجات حرية بثلاثة مفاصل دورانية ذات محاور متقاطعة ("معصم كروي"). تُعرف هذه الروبوتات باسم الروبوتات ذات "القاعدة المتعامدة المتوازية والمعصم الكروي"، ويمكن تعريفها بسبعة معايير حركية تمثل المسافات في هندستها القياسية المفترضة. [ 11 ] قد تمتلك هذه الروبوتات ما يصل إلى ثمانية حلول مستقلة لأي موضع ودوران محددين لرأس أداة الروبوت . تتوفر حلول مفتوحة المصدر للغة C++ [ 12 ] ولغة Rust [ 13 ] . كما تم دمج OPW في إطار عمل ROS. [ 14 ]
الحلول العددية لمسائل الحركة العكسية
توجد طرق عديدة لنمذجة وحل مسائل الحركة العكسية. وتعتمد أكثر هذه الطرق مرونةً عادةً على التحسين التكراري للبحث عن حل تقريبي، نظرًا لصعوبة عكس معادلة الحركة الأمامية واحتمالية وجود فضاء حلول فارغ . وتتمثل الفكرة الأساسية وراء العديد من هذه الطرق في نمذجة معادلة الحركة الأمامية باستخدام متسلسلة تايلور ، والتي قد يكون عكسها وحلها أسهل من النظام الأصلي.
تقنية معكوس جاكوبيان
تُعد تقنية معكوس جاكوبيان طريقة بسيطة وفعالة لتطبيق علم الحركة العكسي. لنفترض أنالمتغيرات التي تحكم معادلة الحركة الأمامية، أي دالة الموضع. قد تكون هذه المتغيرات زوايا المفاصل، أو أطوالها، أو أي قيم حقيقية أخرى. على سبيل المثال، إذا كان نظام الحركة العكسية موجودًا في فضاء ثلاثي الأبعاد، فيمكن اعتبار دالة الموضع بمثابة دالة تحويل.. يتركحدد الموضع الابتدائي للنظام، و
ليكن الموضع المستهدف للنظام. تقوم تقنية معكوس جاكوبيان بحساب تقدير لـالذي يقلل من الخطأ الناتج عن .
للصغاربالنسبة للمتجهات، فإن متسلسلة توسيع دالة الموضع تعطي
- ،
أينهي مصفوفة جاكوبيان (3 × م) لدالة الموضع عند.
يمكن تقريب العنصر (i, k) من مصفوفة جاكوبي عدديًا
- ،
أينيعطي المكون رقم i من دالة الموضع،هو ببساطةمع إضافة دلتا صغيرة إلى مكونها رقم k، ووهي قيمة موجبة صغيرة نسبياً.
بأخذ المعكوس الزائف لمور-بنروز لمصفوفة جاكوبي (القابلة للحساب باستخدام تحليل القيم المفردة ) وإعادة ترتيب الحدود ينتج عنه
- ،
أين.
سيؤدي تطبيق طريقة جاكوبيان العكسية مرة واحدة إلى تقدير تقريبي للغاية للقيمة المطلوبة-متجه. يجب استخدام بحث خطي لتوسيع هذاإلى قيمة مقبولة. التقدير لـيمكن تحسينها من خلال الخوارزمية التالية (المعروفة باسم طريقة نيوتن-رافسون ):
ذات مرة بعضإذا تسبب المتجه في انخفاض الخطأ إلى ما يقارب الصفر، فيجب إنهاء الخوارزمية. وقد أشارت التقارير إلى أن الطرق الحالية القائمة على مصفوفة هيسيان للنظام تتقارب إلى القيمة المطلوبة.القيم باستخدام عدد أقل من التكرارات، ولكن في بعض الحالات، موارد حسابية أكثر.
الأساليب الاستدلالية
يمكن أيضًا تقريب مسألة الحركة العكسية باستخدام الطرق الاستدلالية. تُجري هذه الطرق عمليات تكرارية بسيطة للوصول تدريجيًا إلى حل تقريبي. تتميز الخوارزميات الاستدلالية بانخفاض تكلفتها الحسابية (إذ تُعيد الوضع النهائي بسرعة كبيرة)، وعادةً ما تدعم قيود المفاصل. من أشهر الخوارزميات الاستدلالية: خوارزمية التدرج الإحداثي الدوري (CCD) [ 15 ] وخوارزمية الحركة العكسية الأمامية والخلفية (FABRIK) [ 16 ] .
انظر أيضاً
مراجع
- ↑ دونالد ل. بايبر، حركيات المناولات تحت تحكم الحاسوب . أطروحة دكتوراه، جامعة ستانفورد، قسم الهندسة الميكانيكية، 24 أكتوبر 1968.
- 1 2 3 لينش، كيفن م.؛ بارك، فرانك س. (25-05-2017). الروبوتات الحديثة . مطبعة جامعة كامبريدج. ISBN 978-1-107-15630-2.
- ↑ سيسيليانو، برونو؛ خطيب، أسامة (27-06-2016). دليل سبرينغر للروبوتات . دار نشر سبرينغر الدولية. ISBN 978-3-319-32550-7.
- ↑ بول، ريتشارد (1981). أذرع الروبوت: الرياضيات والبرمجة والتحكم : التحكم الحاسوبي في أذرع الروبوت . مطبعة معهد ماساتشوستس للتكنولوجيا، كامبريدج، ماساتشوستس. ISBN 978-0-262-16082-7.
- ↑ JM McCarthy، 1990، مقدمة في علم الحركة النظري، مطبعة معهد ماساتشوستس للتكنولوجيا، كامبريدج، ماساتشوستس.
- ↑ JJ Uicker, GR Pennock, and JE Shigley, 2003, Theory of Machines and Mechanisms, Oxford University Press, New York.
- ↑ JM McCarthy و GS Soh، 2010، التصميم الهندسي للوصلات، Springer، نيويورك.
- ↑ بادن، برادلي إيفان (1985-01-01). حركيات وتحكم أذرع الروبوت (أطروحة). رمز Bibcode : 1985PhDT........94P .
- ↑Murray, Richard M.; Li, Zexiang; Sastry, S. Shankar; Sastry, S. Shankara (1994-03-22). A Mathematical Introduction to Robotic Manipulation. CRC Press. ISBN 978-0-8493-7981-9.
- ↑A. Aristidou, J. Lasenby, Y. Chrysanthou, A. Shamir. Inverse Kinematics Techniques in Computer Graphics: A Survey. Computer Graphics Forum, 37(6): 35-58, 2018. See PDF.
- ↑Mathias Brandstötter, Arthur Angerer, Michael Hofbaur (2014). An Analytical Solution of the Inverse Kinematics Problem of Industrial Serial Manipulators with an Ortho-parallel Basis and a Spherical Wrist. Proceedings of the Austrian Robotics Workshop 2014. 22-23 May, 2014, Linz, Austria.
- ↑opw_kinematics
- ↑Rust is for Robotics (curated collection),
- ↑moveit_opw_kinematics_plugin (ROS Wiki)
- ↑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.
External links
- Forward And Backward Reaching Inverse Kinematics (FABRIK)
- Robotics and 3D Animation in FreeBasic(in Spanish)
- 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
- 3D computer graphics
- Computational physics
- Robot kinematics
- Virtual reality
- Inverse problems
