22
ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ ﺑﻴﻮﻟﻮﮊﻳﮑﻲ ﺳﻴﺴﺘﻤﻬﺎﻱ ﻣﺪﻟﺴﺎﺯﻱ ﺩﺭﺱ ﭘﺮﻭﮊﻩ ﻣﻮﺿﻮﻉ: ﺑﺮﺭﺳﻲ ﺷﺒﻴﻪ ﺳﺎﺯﻱ ﻣﺪﻝ۷ ﺩﺭﺟﻪ ﺁﺯﺍﺩﻱ ﺍﻧﺠﺎﻡ ﮔﺮﻓﺘﻪ ﮐﺮﻳﻤﻴﺎﻥ ﺁﻗﺎﻱ ﺍﺭﺷﺪ ﮐﺎﺭﺷﻨﺎﺳﻲ ﭘﺮﻭﮊﻩ ﺩﺭ ﺍﺑﺰﺍﺭ ﺟﻌﺒﻪ ﺗﻮﺳﻂSimMechanics ﺩﺭﺱ ﺍﺳﺘﺎﺩ: ﺗﻮﺣﻴﺪﺧﻮﺍﻩ ﺩﮐﺘﺮ ﺁﻗﺎﻱ ﺩﺍﻧﺸﺠﻮ: ﭘﮋﻭﻩ ﺍﺣﻤﺪﻱ ﻋﻠﻲ ﻣﺤﻤﺪ ﺴﺘﺎﻥ۸۳

SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

تعاليبسمه

پروژه درس مدلسازي سيستمهاي بيولوژيکي

:موضوع انجام آزادي درجه ۷ مدل سازي شبيه بررسي

در پروژه کارشناسي ارشد آقاي کريميانگرفته SimMechanicsتوسط جعبه ابزار

آقاي دکتر توحيدخواه: استاد درس محمد علي احمدي پژوه :دانشجو

۸۳ستان مز

Page 2: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١

۷ نسخه MATLAB از اين جعبه ابزار است که همراه نرم افزار ۲/۲نرم افزار موجود نسخه : تذکر .ارائه شده است

:مقدمه

و Simulinkبا استفاده از اين جعبه ابزار امکان نمايش گرافيکي يک مدل مکانيکي در فضاي Matlabتواند ه از اين محيط نمايشي، ميبه اين صورت که طراح با استفاد. فراهم شده است

براي . مشاهده کنداي در متغيرهاي مفصلي و بخشهاي مکانيکي موجود در مدل را تغييرات لحظهتعريف سيستم نيازي به بدست آوردن معادالت رياضي و ديفرانسيل نيست، بلکه نرم افزار پس از

خود استخراج کرده و مدل توصيف هندسه ماشين و مشخصات عناصر مکانيکي، اين معادالت رااين جعبه ابزار با استفاده از پردازنده سريع، کارت گرافيکي مناسب . کند رياضي ماشين را ايجاد مي

.دهد و حافظه باال پاسخهايي با کيفيت متفاوتي ارائه ميکنيم و در همين بين با روش کار در ادامه ابتدا نحوه تشکيل دادن يک سيستم ساده را بررسي مي

سپس به توضيح برخي نکات و امکانات موجود پرداخته، در . شويم ساده با اين جعبه ابزار آشنا مي دهيم انتها مدل هفت درجه آزادي حرکت انسان را مورد بررسي قرار مي

چگونه يک مدل ساده از يک پاندول بسازيم؟‐ ۱

در محيط mechlibه از دستور ، با استفادپس از نصب. براي شروع، ابتدا بايد جعبه ابزار نصب شودMatlab يا با استفاده از منوي موجود در ،Simulink کتابخانه ،SimMechanics را فرا خواني

.شود ، کتابخانه فوق مشاهده مي۱در شکل . کنيد

Page 3: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٢

SimMechanics 2.2Copyright (c) 1998-2004 The MathWorks, Inc.

UtilitiesSensors & Actuators

Joints Force Elements

DemosConstraints & Drivers

Bodies

SimMechanicsکتابخانه : ۱شکل

.، يک مدل جديد باز کنيدFileاز قسمت

:زمين) الفموقعيت بايستي داراي يک زمين باشد که توسط اين زمين امکان توصيف هر سيستم مکانيکي

. مبداء مختصات مرجع جهاني گوشه پايين سمت چپ صفحه است. آيد نقاط مختلف مدل فراهم مي :جهت مثبت نيز به صورت زير است

• +xدر جهت راست صفحه نمايش • +yدر جهت عکس جاذبه زمين • +z ه نمايشعمود و خارج شدن از صفح در جهت

:براي ايجاد اين مرجع گامهای زير را به ترتيب اجرا کنيد Bodiesباز کردن بلوک کتابخانه • به پنجره مدل Groundانتقال بلوک • CS و تنظيم زمين مرجع نسبت به مختصات مرجع جهاني Groundباز کردن بلوک •

.Ground Point/Locationتوسط مقدار دهي به ).۲شکل ( کنيم تنظيم مي] ۳ ۴ ۵[ مبداء را روي اال،با دنبال کردن گامهاي ب

نحوه تشکيل زمين سيستم: ۲شکل

:بدنه) ب

براي اضافه کردن اين بلوک به کتابخانه . استBodyکوچکترين مدل شامل يک زمين و يک بلوک Bodeisشود ، تکامل سيستم تا اين مرحله ديده مي۳در شکل . مراجعه کنيد.

Page 4: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٣

Env

MachineEnvironment Ground

CS1 CS2

Body

کامل سيستم پاندولت: ۳شکل

به اين صورت زير تعريف ) که با کليک کردن روي آن قابل تنظيم است(خصوصيات اين بلوک :شود مي

• Mass : با عناصر ماتريس متقارن ( يا تنسور اينرسي ) همواره حقيقي و مثبت(تعيين جرم .گيرد توسط اين قسمت انجام مي) حقيقي

• Center Of Gravity : و جهت آن نسبت زميني که به رکز ثقل بدن مموقعيت تعييناين مقادير به صورت مقادير اوليه سيستم . شود آن متصل است، در اين قسمت انجام مي

. شوند فرض مي• Coordination System : دستگاههاي مختصات محلي هستند که به بدن متصل

به CSکان اتصال سه بصورت خودکار، ام. شوند شوند و با حرکت بدن، آنها نيز جابجا مي مي. بدن لحاظ شده است که شامل عملگر، حسگر و مفصل اتصال داده شده به بدن هستند

براي هر مفصل، .شود متصل ميCGبه CS، ليکن حداقل يک اين تعداد قابل تغيير است . متناسب با آن اضافه شودCSحسگر، عملگر يا بدن ديگر، بايستي يک

اين تنسور در هنگام حرکت . گردد تعيين مي CG CSدر تنسور اينرسي، توجه شود که .شود بدن ثابت فرض مي

از يکنواخت اي پاندول استوانه. پردازيم حال به تعيين مشخصات بدن پاندول مورد بررسي خود مي قرار گرفته x–در شرايط اوليه، موازي محور ، که سانتيمتر۲ و قطر متر۱استيل با طول جنس مرکز جرم . که همان زمين است قرار دارد) ۳ ۴ ۵(ر تابت اين پاندول، در موقعيت س. باشد ، مياست

گرم بر ۹۳/۷چگالي استيل . استCGCSاستوانه بر مرکز هندسي آن قرار دارد که همان xyتاب خوردن ميله را در صفحه Izzاينرسي يک ماتريس قطري است که . سانتيمتر مکعب است

.شود نرسي با توجه به مرکز جرم معين ميتنسور اي. کند کنترل مي gmLρπr m cm m , rL 249011 2 ==→==

راي وارد کردن مشخصات فوق در بلوک بدن، روي آن کليک کرده، مقادير را بصورت نشان داده ب

.کنيم در محلهاي از پيش تعيين شده، وارد مي۴شده در شکل

Page 5: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٤

وارد کردن مقادير مورد نظر براي بدن: ۴شکل

موازي محورهاي مختصات جهاني است، CGو CS1 جهت هر دو شود جا که فرض مياز آن ، مقادير صفر در ماتريس Orientationلذا در قسمت . چرخش اوليه دستگاههاي فوق صفر است

. )۵شکل (شود جهت داده مي

مقادير بردارهاي جهت: ۵شکل

:اضافه شدن مفصل) ج

براي ايجاد حرکت بايد بخش ديگري . تصات تعريف شده استتا به حال فقط جرمها و دستگاه مخمفصل در جعبه ابزار موجود . شود اين کار با اضافه کردن مفصل ممکن مي. نيز به مدل اضافه شود

يعني امکان حرکت نسبي ( براي هر درجه آزادي نسبي . کند فقط دو بدن را به يکديگر متصل ميدر کل . تواند زمين باشد يکي از دو سوي مفصل مي. استنياز به يک مفصل )بين دو بدن مجاور

. يکي از مفاصل بايستي اين وضعيت را داشته باشدلذا وقتي يک بلوک . استCSشود و آن يک مفصل همواره به يک نقطه مشخص از بدن وصل مي

در دو سوي آن تعبيه شده CS2 و CS1شود، بصورت پيش فرض دو محل اتصال بدن انتخاب ميهمانند مثال ( اگر آخرين قطعه، آزاد باشد . تواند بيش از دوتا باشد محلهاي اتصال مي. ستا

اما . داردCS، فقط يک اتصال دارد و لذا يک )که در مثال ما تنها بدن است( ، آخرين بدن )پاندول . داردCSاگر آخرين قطعه حلقه بسازد، آن قطعه نيز دو اتصال و لذا دو

شود، براي توليد يک حرکت چرخشي، نياز به مفصلي در ديده مي۶کل همانطور که در ش . استzراستاي

Page 6: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٥

GND و CS1توجه کنيد که دو نقطه . استفاده شودRevoluteبراي اين کار بايستي از مفصل CSعمالً يک نقطه هستند .

Revolute توسط يک مفصل zچرخش پاندول حول محور : ۶شکل :شود مفصل مراحل زير دنبال ميبراي اضافه کردن اين

Joints از کتابخانه Revoluteاضافه کردن بلوک مفصل • به سمت بلوک زمين باشد و (B)بلوک را طوري در صفحه کار قرار دهيد که طرف پايه •

.)۷شکل ( آن به سمت بلوک بدن باشد(F)طرف دنبالگر ۱[، مقادير Axis of rotation [x y z]پس از کليک کردن روي بلوک مفصل، در بخش •

دير را همانطور ساير مقا. اين مقادير معرف نحوه دوران مفصل هستند. را وارد کنيد] ۰ ۰ ).۸شکل (که هست رها کنيد

B F

Revolute

Env

MachineEnvironment Ground

CS1

Body

نحوه اتصال بلوکها: ۷شکل

نحوه مقدار دهي به پارامترها: ۸شکل

Page 7: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٦

:اضافه شدن حسگر) د

اين کار با بلوک هايي که در . حسگر استفاده کردبراي نمايش دادن سيگنالها بايستي از بلوکاين . تواند براي اين منظور بکار گرفته شود ميActuators and Sensor Blocksکتابخانه

مراحل زير را . سازند را فراهم ميSimMechanicsبلوکها امکان ورود و خروج سيگنال به مدلهاي :يدبراي ديدن سيگنالها در مثال پاندول انجام ده

: حسگر پاندولتنظيماتصال و •o يک بلوکJoint Sensorاز کتابخانه به صفحه مدل اضافه کنيد . o مقدارNumber of sensor/actuator ports مفصلدر بلوک را Revolute

اين کار يک محل اتصال . تغيير دهيد۱ به ۰ از آن،پس از کليک کردن روي . کند جديد به بلوک اضافه مي

o ايجاد شده را به بلوک حسگر وصل کنيدمحل اتصال . o ،پس از کليک کردن روي بلوک حسگرAngle و Angular velocity را فعال

.ساير مقادير را به همان صورت رها کنيد. کنيدo از کتابخانهSinks در Simulinkاسکوپ را در صفحه اضافه کنيد ،.

تنظيم پارامترها •اين کار در دو . زمند تنظيم پارامترها هستيمبراي افزايش دقت محاسبات و پاسخ، نيا

:شود مرحله انجام ميo با استفاده از منويSimulation و انتخاب Configuration Parameters

را تنظيم Solver ،Solver Optionsدر بخش . شود ديالوگ مربوط باز مي را 1e-6 ،Absolute Toleranceروي را Relative tolerance. کنيم ميخواهيد زمان محاسبات را محدود کنيد، زمان اگر مي. تنظيم کنيد1e-4ي رو

Stop timeثانيه تنظيم کنيد۶/۱پريود پاندول را . را مقدار دهي کنيد . o بلوکMachine Environmentتوجه کنيد مقدار بردار . را اضافه کنيد

.دشو ديده مي۹ سيستم کامل شده در شکل . استm/s2 [0 9.81- 0]جاذبه

Scope

B

F

Revolute

Env

MachineEnvironment

Joint Sensor

GroundCS1

Body

Page 8: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٧

سيستم کامل شده پاندول: ۹شکل

Page 9: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٨

SimMechanicsپاسخ محاسبه شده از طريق : ۱۰شکل

:گسترش امکانات گرافيکي) هـ

Matlabتا بحال نحوه تعريف سيستم و مشاهده متغيرها را از طريق نمودارهاي معمول در دن نحوه حرکات کمک تواند به تجسم بخشي امکان نمايش گرافيکي سيستم مي. مشاهده کرديم

مثالً اگر بخواهيم به نحوه تاب خوردن پاندول خودمان را ببينيم بايستي از امکان فوق بهره . کند ها CSگيرد که تمام سطح محدب در نظر مي براي هر سيستم، يک SimMechمحيط . ببريم

. افزار استاين شکل، ساده ترين حالت نمايش يک جسم در اين نرم. درون آن قرار داشته باشدلذا اين سطح محدب . استCG استفاده کرديم که يکي از آنها CSبراي سيستم پاندول، ما از دو

.در اين مثال، يک شکل ميله مانند است موجود در صفحه اصلي محيط Simulationبراي فعال کردن اين امکان، از منوي

Simulink قسمت تنظيم پارامتراهاي ،Configuration Parametersدر انتهاي . را باز کنيداي که در اين مرحله باز در صفحه. را انتخاب کنيدSimMechanicsاين صفحه تنظيم، قسمت

:شده است، دو انتخاب زير را فعال کنيد• Update machine visualization on update diagram • Animate machine during simulation

صفحه تنظيم مربوط به ۱۱در شکل . صفحات تنظيم را ببنديدسپس مراحل فوق را تأييد کرده، .کنيد فعال کردن امکان نمايش گرافيکي را مشاهده مي

Page 10: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٩

فعال کردن امکان نمايش گرافيکي: ۱۱شکل

. توانيد با اجراي شبيه سازي، شبيه سازي گرافيکي را نيز مشاهده کنيد پس از اين مرحله، ميارد اين است که پيش فرض محيط گرافيکي، ساختاري بسيار ساده اي که در اين جا وجود د نکته يک VRتواند بنا به سليقه خود اين گرافيک را بهبود بخشد و يا با استفاده از محيط کاربر مي. است

.کنيد خروجي گرافيک ساده موجود را مشاهده مي۱۲در شکل . اي طراحي کند محيط کامالً حرفه

دهد افيکي که تاب خوردن پاندول را نشان ميخروجي محيط گر: ۱۲شکل

براي سيستم از طريق کاربر محاسبه نشده کنيد که تا بحال هيچ معادله ديفرانسيلي مشاهده مي اين قابليت باالي نرم افزار و .شود اي پاندول مشاهده مي است و در عين حال حتي حرکت لحظه

. دهد سادگي کار با آن را نشان مي بهتر است با نحوه مدلسازي سيستمهاي مکانيکي کمي ک مثال ساده آشنا شديم،حال که با ي

.در فصل بعد کمي بيشتر به اين موضوع خواهيم پرداخت. تر برخورد کنيم دقيق

Page 11: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٠

درجه آزادي۷بررسي شبيه سازي بدن انسان با

ت که جرم اس۵سيستم شامل . در ابتدا بايستي مشخصات عمومي سيستم در نظر گرفته شود ثابت، رانپاي ثابت، ساق جرمها به ترتيب مدلسازي . مفصل به يکديگر متصل هستند۵توسط

مفاصل نيز بصورت مفصل مچ پاي ثابت، مفصل . متحرک و تنه هستندپاي رانپاي متحرک، ساق . مفصل ران پاي ثابت، مفصل ران پاي متحرک و مفصل زانوي پاي متحرک هستندزانوي پاي ثابت،

در اين مدل نقش دستها و سر و . زمين سيستم در اتصال مفصل مچ پاي ثابت وارد خواهد شد اين مدل نشان داده شده ۱۳در شکل . گردن همگي در تنه و بصورت جرم متمرکز وارد شده است

. است

CS1

CS2

Swinging Leg

CS1

CS2

Swinging Ancle

Control

Subsystem

CS1

CS2

Standing Leg

CS1

CS2

Standing Ancle

Array (Tetta-Omega)

Set Vars 5

Array (Tetta-Omega)

Set Vars 4

Array (Tetta-Omega)

Set Vars 3

Array (Tetta-Omega)

Set Vars 2

Array (Tetta-Omega)

Set Vars 1

BF

Revolute

AB B1

F

Joint4

AB B1

F

Joint3

AB B1

F

Joint2

AB B1

F

Joint1

Joint Sensor

Joint Initial Condition4

Joint Initial Condition3

Joint Initial Condition2

Joint Initial Condition1

Joint Initial Condition

Ground

CS2CS1

CS3

Crunk

يستم شبيه سازي شدهنمايي از س :۱۳شکل

Page 12: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١١

در انتها براي . در ادامه ابتدا به تعريف جرمها پرداخته و در گام بعدي به مفاصل خواهيم پرداخت .سيستم ورودي و خروجي اضافه مي شود و نتيجه مدل نشان داده خواهد شد

:اضافه شدن جرمها) الف پايين آن که مچ پاي ثابت طرف. اين جرم دو طرف دارد. شود ابتدا ساق پاي ثابت مدل مي ‐ ۱

متر از ۵/۰طرف ديگر آن با فاصله . خواهد بودCS1=[0 0 0]گيرد و لذا است، روي زمين قرار ميCS1لذا . شود خواهد بود که از شرايط طبيعي يک مدل عمومي استخراج ميCS2=[0 .5 0]

جرم .خواهد بود CG=[0 .25 0]مرکز جرم در وسط ساق پا فرض شده است و لذا . خواهد بود اين پارامترها در بلوک مورد نظر ديده ۱۴در شکل . شود کيلو گرم فرض مي۵بصورت مترکز و

.شود مي

اعمال مقادير پارامترها در بلوک جرم ساق پا: ۱۴شکل

طرف پايين آن که به زانوي پاي . اين جرم دو طرف دارد. شود سپس ران پاي ثابت مدل مي‐ ۲

از آنجا که مفصل زانو در فضا حرکت . ساق پا يکي خواهد شدCS2 با CS1 و لذا ثابت متصل استلذا . بر مفصل مرتبط با آن قرار دهيم ران را CS1کند، ساده تر آن است که مبناي توصيف مي

CS1=[0 0 0] خواهد بود که با فعال شدن انتخاب Adjoining در مشخصات مبداء اين خواهد بود که از شرايط CS1 متر از ۵/۰ن با فاصله رارف ديگر ط. کند مختصات معني پيدا مي

مرجع مقايسه اين . خواهد بودCS2=[0 .5 0]لذا . شود طبيعي يک مدل عمومي استخراج مي خواهد CG=[0 .25 0]فرض شده است و لذا ران مرکز جرم در وسط . استCS1مشخصه از

Page 13: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٢

کيلو گرم فرض ۱۰رم بصورت مترکز و ج . استCS1 مرجع مقايسه اين مشخصه نيز از .بود .شود اين پارامترها در بلوک مورد نظر ديده مي۱۵در شکل . شود مي

اعمال مقادير پارامترها در بلوک جرم ران پا: ۱۵شکل

طرف پايين آن که به مفصل پاي ثابت . اين جرم دو طرف دارد. شود در مرحله بعد تنه مدل مي‐ ۳

از آنجا که مفصل ران در فضا حرکت . ران پا يکي خواهد شدCS2ا بCS1متصل است و لذا لذا . تنه را بر مفصل مرتبط با آن قرار دهيمCS1کند، ساده تر آن است که مبناي توصيف مي

CS1=[0 0 0] خواهد بود که با فعال شدن انتخاب Adjoining در مشخصات مبداء اين خواهد بود که از شرايط CS1 متر از ۱ا فاصله طرف ديگر تنه ب. کند مختصات معني پيدا مي

مرجع مقايسه اين . خواهد بودCS3=[0 1 0]لذا . شود طبيعي يک مدل عمومي استخراج ميبراي اينکار از تعريف . محل اتصال تنه به پاي متحرک نيز بايد لحاظ شود. استCS1مشخصه از

اين بدين مفهوم است که از . است فرض شده CS2=[0 0 0]گيريم و لذا ديگر کمک ميCSيک CG=[0 .5 0]مرکز جرم در وسط تنه فرض شده است و لذا . ابعاد لگن صرف نظر شده است

کيلو گرم فرض ۴۰جرم بصورت مترکز و . استCS1مرجع مقايسه اين مشخصه نيز از . خواهد بود .شود اين پارامترها در بلوک مورد نظر ديده مي۱۶در شکل . شود مي

Page 14: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٣

اعمال مقادير پارامترها در بلوک جرم تنه: ۱۶کل ش

طرف باالي آن که به تنه متصل . اين جرم دو طرف دارد. شود سپس ران پاي متحرک مدل مي‐ ۴

کند، ساده از آنجا که مفصل زانو در فضا حرکت مي. تنه يکي خواهد شدCS2 با CS1است و لذا CS1=[0 0 0]لذا . صل مرتبط با آن قرار دهيم ران را بر مفCS1تر آن است که مبناي توصيف

در مشخصات مبداء اين مختصات معني پيدا Adjoiningخواهد بود که با فعال شدن انتخاب خواهد بود که از شرايط طبيعي يک مدل عمومي CS1 متر از ۵/۰طرف ديگر ران با فاصله . کند مي

مرکز . استCS1مقايسه اين مشخصه از مرجع . خواهد بودCS2=[0 .5 0]لذا . شود استخراج ميمرجع مقايسه اين مشخصه . خواهد بودCG=[0 .25 0]جرم در وسط ران فرض شده است و لذا

اين پارامترها در ۱۷در شکل . شود کيلو گرم فرض مي۱۰جرم بصورت مترکز و . استCS1نيز از .شود بلوک مورد نظر ديده مي

Page 15: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٤

ها در بلوک جرم ران پااعمال مقادير پارامتر: ۱۷شکل

مفصل ران آن که بااليطرف . اين جرم دو طرف دارد. شود در انتها ساق پاي متحرک مدل مي‐ ۵

CS1 متر از ۵/۰ طرف ديگر آن با فاصله . خواهد بودCS1=[0 0 0] و لذا تحرک است،پاي ممربوط به انتهاي مختصات لذا . شود خواهد بود که از شرايط طبيعي يک مدل عمومي استخراج مي

مرکز جرم در وسط ساق پا فرض شده است و لذا . خواهد بودCS2=[0 .5 0]آزاد ساق پا CG=[0 .25 0]اين ۱۸در شکل . شود کيلو گرم فرض مي۵جرم بصورت مترکز و . خواهد بود

.شود پارامترها در بلوک مورد نظر ديده مي

Page 16: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٥

م ساق پااعمال مقادير پارامترها در بلوک جر: ۱۸شکل

ها قرار CG ها و CS تمام بلوکهاي جرم، مقادير صفر براي تمام Orientation در قسمت ‐ ۶

. داده شده است : تعريف مفاصل) ب

کنيم و براي تعريف مفاصل از مفصل مچ پاي ثابت شروع مي. تا اين مرحله تمام جرمها تعريف شدند .کنيم به ترتيب تمام اين مفاصل را تعريف مي

شود اين مفصل از يک طرف به زمين ثابت مي. پاي ثابت يک مفصل ساده است مچلمفص ‐ ۱ است و لذا مفصل Zچرخش محدود به محور . شود و از طرف ديگر به جرم ساق پا وصل مي

. شود مشخصات اين بلوک ديده مي۱۹در شکل . شود انتخاب ميRevoluteاز نوع

Page 17: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٦

ر بلوک مفصل مچ پاي ثابتاعمال مقادير پارامترها د: ۱۹شکل

در اين مدل کمي . در نظر گرفتRevoluteتوان يک مفصل از نوع را نيز ميمفصل زانو ‐ ۲

مثالً محدوديت . گي هاي مفصل فوق نيز در نظر گرفته شده است از محدوديتها و پيچيدهن براي مدل کردن اي. شود زانو به جلو خم نشود ايجاد شده از سوي کشکک که باعث مي

يري زاويه و سپس اعمال کردن منفي زاويه به مفصل که موجب قفل گ محدوديت از اندازه نحوه خواندن و اعمال زاويه و سرعت ۲۰در شکل . شود استفاده شده است شدن آن مي

.شود نحوه توليد زاويه منفي ديده مي۲۱و در شکل اي زاويه1A

3 F

2 B1

1 B

angle

v elocity

torque

TorsionSpring-Damper

Sensor

BF

RevoluteJoint

em

Angle Ref lex

Constraint

Actuator

مدل مفصل زانو: ۲۰شکل

شود و مقدار منفي ود که فقط به ازاي زواياي منفي، بلوک فعال ميش ديده مي۲۱در شکل شود و در جمع ميTorsionاي مقدار با خروجي بلوک . کند را توليد مي) ‐۱۰۰۰(بزرگي

. شود به مفصل اعمال مي۲۰نهايت مطابق شکل

Page 18: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٧

1Reflex

Sign

-1000

Gain1

1

Constant

1Angle

مدل محدوديت: ۲۱شکل

شود اين کار باعث مي. مال شده استمقادير ثابت فنري و اصطکاک به مفصل اعدر بلوک پيچش، بنابر . گشتاور مقاوم با توجه به اين مقادير اين ضرايب، در طول مسير حرکت به مفصل اعمال شوند

اين نکته اي که بايد به آن توجه شود تفکيک دو بخش محدوديت در تغيير زاويه که به مفهوم قفل . شدن زانو توسط کشکک و بخش ديناميک مفصل است

1torque

-.05

Spring

Sign

Product

-0.05

Damper

180

Constant

|u|

Abs

2velocity

1angle

مدل پيچش زانو: ۲۲شکل

از آنجا . اين مفصل داراي حرکات پيچيده تري نسبت به دو مفصل قبل است:مفصل ران ‐ ۳

است، بايد از z و x ،yکه اين مفصل داراي حرکات چرخشي و خمش در هر سه راستاي Revoluteليکن در مدل ارائه شده از همان مفصل . استفاده شودUniversalمفصل

. شود اين مفصل ديده مي۲۳در شکل . استاستفاده شده1A

3 F

2 B1

1 B

angle

v elocitytorque

TorsionSpring-Damper

Sensor

BF

RevoluteJoint

em

Actuator

مفصل ران: ۲۳شکل

Page 19: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٨

در اين مدل فقط از ضرايب فنر و اصطکاک . شود مدل پيچش مفصل ديده مي۲۴در شکل .استفاده شده است

1torque

-.1

Spring

-0.05

Damper

2velocity

1angle

مدل فنر ويسکوز براي مفصل ران: ۲۴شکل

مدل شده است، مفصل اين زانو همانند مفصل زانوي پاي ثابت : مفصل زانوي پاي متحرک ‐ ۴

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

در . درجه دارد۹۰زانوي پاي متحرک در لحظه آغاز شبيه سازي، زاويه اوليه . شده است .شود مدل محدودساز مفصل ديده مي۲۵شکل

1Reflex

Sign

5000

Gain1

90

Constant1

1

Constant

1Angle

مدل محدودساز مفصل زانو: ۲۵شکل

:اضافه شدن شرايط اوليه و کنترل) ج

اي که هنوز باقي است، شرايط ليکن نکته. تا اين مرحله موفق به مدل کامل سيستم شديملوک مفصل شرايط اوليه مفاصل از طريق ايجاد يک درگاه جديد در ب. اوليه و کنترل مدل است

، امکان اعمال شرايط اوليه Joint Initial Conditionبا اضافه شدن يک بلوک . امکان پذير استاينکار با تنظيم . براي اينکار بايد يک درگاه جديد روي بلوک مفاصل نيز اضافه شود. شود فراهم مي

ن از همان توا اما چگونه مي. شود انجام ميNumber of sensor/Actuator Portsپارامتر تنظيم کرد؟ براي اين Simulinkابتداي شبيه سازي، مقادير اين مقادير اوليه را از خارج از محيط

سپس در بلوک شرايط اوليه . شوند نامگذاري و مقدار دهي ميMatlabکار پارامترهايي در محيط تغيير مقدار پارامترها از شود با اينکار باعث مي. کنيم نام اين پارامترها را بجاي عدد ثابت وارد مي

نحوه مقدار دهي ۲۶در شکل . ، اين مقادير در بلوکها به روز شوندMatlab يا محيط mfileدرون نامگذاري شده است که در آينده tettatدر اين بلوک، پارامتر . شود به بلوک مقدار اوليه مشاهده مي

. مقدار دهي خواهد شدMatlabدر محيط

Page 20: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

١٩

ي به بلوک شرايط اوليهمقدارده: ۲۶شکل

تمام اوليه شود که بتوان وضعيت اينکار باعث مي. کنيم براي تمام مفاصل اين بلوک را اضافه مي . سيستم مشخص شود

اين کار با توجه به در . نکته ديگري که وجود دارد، بررسي لحظه برخورد پاي متحرک با زمين است .، اين بلوک نشان داده شده است۲۷در شکل . نظر گرفتن موقعيت پاي متحرک ممکن خواهد شد

1Control

ground_limit

To Workspace3

zf

To Workspace2

yf

To Workspace1

xf

To Workspace xt

Terrain Sequence

yt

Terrain Hight1

delta

Terrain Hight Difference

Switch

manual_stop

Select

>

RelationalOperator1

>

RelationalOperator

STOP

Manual Stop

AND

LogicalOperator

em

0

Constant1

1

Constant

Body Sensor

STOP

Auto Stop

نحوه تشخيص لحظه برخورد و توقف شبيه سازي: ۲۷شکل

اين بلوک امکان استخراج . استفاده شده استBody Sensorدر اين زير سيستم، از بلوک نحوه تنظيم اين ۲۸در شکل . سازد که به آن متصل شده است را ممکن ميCSاطالعات مربوط به

لوک را براي مشاهده موقعيت نقطه انتهاي ساق پاي متحرک که همان مچ پا است را نشان ب .دهد مي

Page 21: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٢٠

Body Sensorنحوه استخراج مقدار موقعيت توسط بلوک : ۲۸شکل

انند سرعت و شتاب نيز شود که امکان استخراج پارامترهاي ديگري م با توجه به اين بلوک ديده مي امکان دريافت اطالعات از مدل شبيه سازي شده توسط نتيجه اينکه. وجود دارد

SimMechanicsاي و از سوي ديگر اعمال نيرو و گشتاور به مفاصل و اعمال زاويه، سرعت زاويهتوان از آن در مسير کنترل کننده به عنوان سيستم لذا مي. اي به آنها نيز وجود دارد و شتاب زاويه

.واقعي سود جست

0 0.5 1 1.5 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Click On Object To Display Information

X-axis

Y-a

xis

ي مدل دوپاخروج: ۲۹شكل

Page 22: SimMechanicsbme2.aut.ac.ir/~towhidkhah/MotorControl/Resources/Sim-Mechanics/Project.pdf · ٣ Env Machine Environment Ground CS1 CS2 Body ﻝﻭﺪﻧﺎﭘ ﻢﺘﺴﻴﺳ ﻞﻣﺎﮑﺗ

٢١

Machineبلوکي که هنوز اضافه نشده است و بايستي اضافه شود، بلوک Environmentکند اين بلوک شرايط اوليه پردازش را تعيين مي. است .

مدل رياضي مورد نياز کنترل . استفاده شده استMPCدر پروژه آقاي کريميان از کنترل کننده پس از آن مدل معرفي شده بعنوان سيستم واقعي که کنترل کننده بوسيله روش الگرانژ استخراج و

الزم به تذكر . شود مي خروجي مدل ديده ۲۹ در شكل .شود، استفاده شده است روي آن انجام مي . است كه اين مدل با تصحيح چند مشكل مانند تصحيح فاصله دو مفصل ران بدست آمده است

ن جعبه ابزار بسيار قابل توجه است و لذا از ذكر توجه شود كه تنوع باالي بلوكهاي موجود در اي . شود شود و به خواننده واگذار مي ساير انواع مفاصل و بلوكهاي ديگر صرف نظر مي

:مراجع1- Matlab User Help, SimMechanics ver 2.2, 2004, MathWorks C

مسيرهاي ناهموار، با استفاده از مدلسازي حركت راه رفتن دوپايي با در نظر گرفتن " كريميان، منصور ۱۳۸٢يركبير، ژه كارشناسي ارشد، دانشگاه صنعتي ام پرو، "MPICآلگوريتم كنترل