کنترل بازوی آرنجی

Coronaa

کاربر فعال
این جا هر دو را بازو ترجمه کن

هر دو می شود «دینامیک بازو»

two coupled
ترجمه ی دقیق (با همان تحت اللفظی) می شود «دو مزدوج» که عبارت کلی اش می شود «دو معادله دیفرانسیل غیر خطی مزدوج»
اما من اغلب ترجمه آزاد را ترجیح می دهم
ترجمه آزادش می شود «دو معادله دیفرانسیل غیر خطی مرکب»
ترجمه بازاری اش هم به صورت «دو معادله دیفرانسیل غیر خطی کوپل شده» می شود
این سلیقه شخصی شما است که بین سه ترجمه دقیق ، آزاد و بازاری کدام را انتخاب می کند

بسیار عالی. فکر کنم همون ترجمه آزاد بهتر و قابل فهم تر باشه.
از اینکه میگیم مزدوج یا مرکب، یعنی پارامترهای این دو معادله به هم وابسته هستند. درسته؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
از اینکه میگیم مزدوج یا مرکب، یعنی پارامترهای این دو معادله به هم وابسته هستند. درسته؟
یعنی نمی توان دستگاه معادلات را به صورت دو معادله تک متغییره (بدون تغییر متغییر یا تغییر فضا) تبدیل کرد
در معادله اول که معادله q1 هست متغیر q2 نیز وجود دارد. همین طور در معادله دوم که ...
اگر دستگاه معادلات غیر مزدوج (ترجمه دقیق) یا مجزا (ترجمه آزاد) بود می توانستی با عملیات ریاضی آن را به دو معادله بنویسی که در اولی فقط q1 dq1 ddq1 و در دومی فقط q2 dq2 ddq2 وجود داشته باشد
معادلات بازوی آرنجی مرکب (مزدوج) است اما معادلات بازوی بشکه ای مجزا است

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

Coronaa

کاربر فعال
بسیار عالی!

ممنونم که با حوصله وقت میذارید و جواب میدین.
 

Coronaa

کاربر فعال
سلام آقای دکتر. وقت شما بخیر.

آقا من اگه بخوام یه کنترلری که طراحی کردم، از نظر پایداری اثباتش کنم چطوریه؟
چه مراحلی رو باید انجام بدم؟
مثلاً همین PID که میگید ممکنه ناپایدار باشه رو چطوری میتونم اثبات کنم با روابط ریاضی؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
آقا من اگه بخوام یه کنترلری که طراحی کردم، از نظر پایداری اثباتش کنم چطوریه؟
چه مراحلی رو باید انجام بدم؟
مثلاً همین PID که میگید ممکنه ناپایدار باشه رو چطوری میتونم اثبات کنم با روابط ریاضی؟

در گوگل جست جو کنید

پایداری لیاپانوف
Lyapunov stability
 

Coronaa

کاربر فعال
در گوگل جست جو کنید

پایداری لیاپانوف
Lyapunov stability

خب این نوع پایداریها رو یه چیزایی میدونم. یعنی باید یه تابع لیاپانف حدس بزنم؟
مگه برای همه ی کنترلرها یکسانه که من فقط کلمه ی پایداری لیاپانف رو جستجو کنم؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
خب این نوع پایداریها رو یه چیزایی میدونم. یعنی باید یه تابع لیاپانف حدس بزنم؟
مگه برای همه ی کنترلرها یکسانه که من فقط کلمه ی پایداری لیاپانف رو جستجو کنم؟

روش و توضیحات یکسان است

فقط حدس متفاوت است

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

حدس کار را راحت تر می کند (پیچیدیگی ریاضی کمتر)

در سیستم های مکانیکی (از جمله بازوی آرنجی) همیشه می توان از انرژی به عنوان تابع لیاپانوف استفاده کرد و از مرحله حدس زدن پرش کرد
عیب استفاده از روش انرژی این است که ریاضیاتش پیچیده تر است
حسن اول این است که حدس نمی زنید
حسن مهم ترش این است که اگر دیدید پایداری اثبات نشد ، می توانید نتیجه بگیرید که ناپایدار است

اگر از تابع حدسی (غیر انرژی) رفتید و نتوانستید پایداری را ثابت کنید نمی توانید نتیجه بگیرید ناپایدار است و باید چیز دیگری حدس بزنید!
 

Coronaa

کاربر فعال
نکته ی جالبی بود. نمیدونستم!

من تابع انرژی یک کنترل کننده PD رو از کتاب پیدا کردمکه بصورت زیر :



برای PID چه جمله های دیگه ای باید اضافه بشه؟ یا به چه صورت دیگه ای هست؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
نکته ی جالبی بود. نمیدونستم!

من تابع انرژی یک کنترل کننده PD رو از کتاب پیدا کردمکه بصورت زیر :



برای PID چه جمله های دیگه ای باید اضافه بشه؟ یا به چه صورت دیگه ای هست؟

تابع انرژی را برای سیستم (با کنترلر) می نویسند و نه کنترل تنها

این چیزی که نوشتید ملعوم نیست مربوط به کدام سیستم است
 

Coronaa

کاربر فعال
تابع انرژی را برای سیستم (با کنترلر) می نویسند و نه کنترل تنها

این چیزی که نوشتید ملعوم نیست مربوط به کدام سیستم است

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

Coronaa

کاربر فعال
سلام آقای دکتر
امیدوارم که حالتون خوب باشه.
ببخشید یه سوال دیگه برام پیش اومده:
وقتی ما یک بازوی رباتیکی رو کنترل می کنیم، چه نوع انرژی رو کاهش میدیم و چه پارامتری بهینه میشه؟
 

Coronaa

کاربر فعال
و همچنین چه پارامتری رو باید پلات کنیم تا ببینیم انرژی کاهش یافت یا افزایش؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
وقتی ما یک بازوی رباتیکی رو کنترل می کنیم، چه نوع انرژی رو کاهش میدیم و چه پارامتری بهینه میشه؟

هدف کاهش انرژی نیست

ربات برای حرکت نیاز به انرژی دارد

انرژی ورودی ، همان انرژی الکتریکی است. که در عمل (سازندگان واقعی) این انرژی را کاهش می دهند
انرژی خروجی ، جمع انرژی پتانسیل و جنبشی مکانیکی بازو است

اگر هدف کنترل نیرو یا کنترل سرعت باشد ، انرژی خروجی مشخص است و نباید کم و زیاد کنید و تمرکز باید در انرژی ورودی باشد
اگر هدف کنترل موقغیت روی مسیر است، در ربات های بدون درجه آزادی اضافی مشابه کنترل سرعت است
اگر هدف کنترل موقغیت نقطه به نقطه است، برای رفتن از یک نقطه به نقطه دیگر بی نهایت روش وجود دارد. در عمل بهتر است روشی انتخاب شود که انرژی ورودی کمینه شود. اما امان از دست مقاله نویسان! چون سواد لازم را ندارند به جای انرژی ورودی، انرژی خروجی را کمینه می کنند

بک هدف تخیلی هم وجود دارد. کنترل نقطه به نقطه با زمان بی نهایت! که در عمل هیچ کاربردی ندارد. اما مقاله نویسان به این هدف علاقه بسیاری دارند چون ریاضیاتش از همه ساده تر است. در این حالت بهتر است مانند آنان انرژی جنبشی و پتانسیل را جمع کنید. اگر رباتتان دو درجه آزادی دارد می توانید فرض کنید ربات در صفحه افق حرکت می کند و انرژی پتانسیل را صفر بگذارید که کارتان باز هم ساده تر شود و مقاله راحت تر بدهید

این که چه پارامتری بهینه باشد شود به صورت مسئله بر می گردد

و همچنین چه پارامتری رو باید پلات کنیم تا ببینیم انرژی کاهش یافت یا افزایش؟

اگر ربات را ساختی ، انرژی الکتریکی را مستقیما اندازه بگیر
اگر ربات را با موتور های الکتریکی شبیه سازی کردی ، انرژی الکتریکی را اندازه بگیر
اگر ربات را با موتور تخیلی (گشتاور) شبیه سازی کردی ، جمع انرژی جنبشی و انرژی پتانسیل را ترسیم کن. البته اگر دو درجه آزادی است بهتر است فرض کنی که در صفحه افق قرار دارد و فقط انرژی جنبشی را بکشی
 

Coronaa

کاربر فعال
با سلام مجدد خدمت شما آقای دکتر
یه سوال داشتم.
برای استفاده از الگوریتم های بهینه سازی باید توابع هدفی داشته باشیم. مثلا من میخوام برای اینکه یه سری پارامترهای کنترل کننده رو برای بازوی ربات با الگوریتم PSO بدست بیارم باید تابع هدفی داشته باشم. اگر بخوام تابع هدف من فراجهش باشه باید از چه رابطه ای استفاده کنم؟
یعنی تابع هدف رو فراجهش در نظر بگیرم و اون رو با الگوریتم بهینه ساری مینیمم کنم. آیا چنین چیزی امکان داره؟
 

مازارو

عضو جدید
با سلام
یک راهنمایی کوچک.
در رباتهای صنعتی یا شش درجه آزار شما سرعت و شتاب هر یک از بازوها رو در سیستم محاسبه وارد میکنید سپس هرگاه شما از نقطه A به نقطه Bحرکت کنید سیستم محاسبات با توجه به ساختار ربات و بازوهاDH و نوع افزایش سرعت (سینویید یا غیره) شروع به میانیابی مینماید یعنی شروع به محاسبه نقاطی مینماید که با توجه به سرعت و شتاب وزمان نمونه برداری به عنوان SP در مسیر میباشند.حال بحث اصلی کنترل یا ایجاد گشتاوری در هر لحظه در موتور ها می باشد تا مسیر محاسبه شده را دنبال کند و در هر لحظه محاسبه شده در موقعیت محاسبه شده باشد.یعنی محاسبات اصلی در مراحل اولیه انجام می شوند و ربطی به محاسبات کنترلی ندارند.
با سپاس
 

ROBOTICS

کاربر فعال مهندسی رباتیک
برای استفاده از الگوریتم های بهینه سازی باید توابع هدفی داشته باشیم. مثلا من میخوام برای اینکه یه سری پارامترهای کنترل کننده رو برای بازوی ربات با الگوریتم PSO بدست بیارم باید تابع هدفی داشته باشم. اگر بخوام تابع هدف من فراجهش باشه باید از چه رابطه ای استفاده کنم؟
یعنی تابع هدف رو فراجهش در نظر بگیرم و اون رو با الگوریتم بهینه ساری مینیمم کنم. آیا چنین چیزی امکان داره؟

یک حالت بسیار ساده را در نظر بگیریم


می خواهید نقطه انتهایی بازو از مبدا به مقصد برود.

هدف شما کمینه کردن فراجهش است. قید شما چیست؟

اگر قید نداشته باشید بی شمار جواب دارد. ساده ترین جوابش این است که اصلا حرکت نکند و همان جا به ایستد! و کاملا هم بهینه است!

بنابراین شما اول قیدتان را بگویید تا سوالتان معنا داشته باشد
 

Coronaa

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

ROBOTICS

کاربر فعال مهندسی رباتیک
چه قیودی می توان در نظر گرفت؟تا حالا قیدی در نظر نگرفته بودم. یعنی نمیدونستم چطوریه! میخوام قید من زاویه مفاصل باشه. یعنی بخوام زاویه ی مفاصل رو کنترل کنم.

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

البته می توانی به شرطی که قید مناسب پیدا کنی

یادت باشد که قید جواب دارد و بدن خطا است
 

Coronaa

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

البته می توانی به شرطی که قید مناسب پیدا کنی

یادت باشد که قید جواب دارد و بدن خطا است
یعنی فراجهش رو نباید تابع هدف در نظر بگیرم؟
ببینید آقای دکتر! من برای تنظیم پارامترهای عملگر مرتبه کسری کنترلر از الگوریتم PSO استفاده کردم. تابع هدفی که در نظر گرفتم IAE (انتگرال خطای مطلق) هست. و قیدی هم در نظر نگرفتم.
استادم گفت اگه میخواستی توی کنترل زاویه مفاصل، فراجهش رو کاهش بدی چرا فراجهش رو تابع هدف در نظر نگرفتی که مینیمم بشه؟؟؟
من جوابی نداشتم بدم!
میشه راهنمایی کنید؟
تابع هدف من چی باید باشه و قیودم چه چیزهایی باید باشن؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
یعنی فراجهش رو نباید تابع هدف در نظر بگیرم؟

می توانید بگذارید به شرطی که قید مناسب بگذارید

مثلا می توانید قید بگذارید که خطا از حدی بیشتر نشود! یعنی از قید نابرابری استفاده کنید

قید های دیگر هم ممکن است جواب بدهد که الان به ذهنم نمی رسد. بروید از استادتان بپرسید چه قید خوب است!


من برای تنظیم پارامترهای عملگر مرتبه کسری کنترلر از الگوریتم PSO استفاده کردم. تابع هدفی که در نظر گرفتم IAE (انتگرال خطای مطلق) هست. و قیدی هم در نظر نگرفتم.

در اینجا اشکال نظر تئوری اشکالی ندارد که قید ندارید. چون هدف شما کاهش خطا به هر قیمتی بوده است


در کار های عملی می توانید قید بگذارید که سرعت و گشتاور کمتر از حدی باشد(قید نابرابری).


استادم گفت اگه میخواستی توی کنترل زاویه مفاصل، فراجهش رو کاهش بدی چرا فراجهش رو تابع هدف در نظر نگرفتی که مینیمم بشه؟؟؟
من جوابی نداشتم بدم!
میشه راهنمایی کنید؟
تابع هدف من چی باید باشه و قیودم چه چیزهایی باید باشن؟

یا حرف استادت را گوش کن و قید مناسب پیدا کن مانند این که خطا از حدی کمتر باشد

یا مانند بعضی ها عمل کن و تابع هدف را میانگین وزن دار خطا و فراجهش قرار بده

یا مانند رباتیکی ها عمل کن و قیدت را فراجهش بگذار (در موارد تجاری قید فراجهش برابر صفر نظر می گیرند) و تابع هدفت میانگین وزن دار خطا و انرژی باشد
 

Coronaa

کاربر فعال
یا حرف استادت را گوش کن و قید مناسب پیدا کن مانند این که خطا از حدی کمتر باشد

یا مانند بعضی ها عمل کن و تابع هدف را میانگین وزن دار خطا و فراجهش قرار بده

یا مانند رباتیکی ها عمل کن و قیدت را فراجهش بگذار (در موارد تجاری قید فراجهش برابر صفر نظر می گیرند) و تابع هدفت میانگین وزن دار خطا و انرژی باشد
خب من میخوام مانند رباتیکی ها عمل کنم. یعنی فراجهش رو بعنوان قید در نظر بگیرم.
مشکلم اینه که نمیدونم توی برنامه چطوری قید رو معرفی کنم! برای فراجهش باید یک رابطه ریاضی نوشته باشه و بگم مثلن مساوی صفر باشه؟
چطوری باید به برنامه ام بفهمونم؟
 

ROBOTICS

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

باید رابطه ریاضی باشد. مثلا مساوی صفر یا مثلا کوچکتر از یک صدم

این که شما از اپراتور مساوی یا از اپراتور کوچکتر یا از اپراتور کوچکتر مساوی استفاده می کنید قضیه فرق می کند و روش متفاوت خواهد بود.

مورد بالا که گفتم تئوری بود. برنامه هرچند تخیلی باشد باز هم یک ذره کوچک از تئوری فاصله می گیرید. یک روش عملی (نه تئوری می گویم):

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

Coronaa

کاربر فعال
خب برای من هنوز جا نیوفتاد که تابع فراجهش رو چطوری بنویسم به عنوان قید!
من رابطه ی ریاضیشو میخوام.
 

ROBOTICS

کاربر فعال مهندسی رباتیک
خب برای من هنوز جا نیوفتاد که تابع فراجهش رو چطوری بنویسم به عنوان قید!
من رابطه ی ریاضیشو میخوام.

آخر سر بگو که رابطه ریاضی می خواهی یا برنامه نویسی؟

در پست قبل گفتی که «چطوری باید به برنامه ام بفهمونم؟» ! حالا چیز دیگری می گویی

برای حل تحلیلی (نه برنامه نویسی) باید ابتدا رابطه خروجی را بنویسی
بعد مقدار بیشینه و مقدار زمان نهایی آن را بدست بیاوری
سپس فراجهش به صورت زیر به دست می آید

کد:
m = max (output)
s= output(infinity)
me=m-s
ov=me*u(me)/s

که s مقدار نهایی و m مقدار بیشینه و u تابع پله واحد است me خطای بیشینه نسبی (نه مطلق) است
 

Coronaa

کاربر فعال
آخر سر بگو که رابطه ریاضی می خواهی یا برنامه نویسی؟

در پست قبل گفتی که «چطوری باید به برنامه ام بفهمونم؟» ! حالا چیز دیگری می گویی

برای حل تحلیلی (نه برنامه نویسی) باید ابتدا رابطه خروجی را بنویسی
بعد مقدار بیشینه و مقدار زمان نهایی آن را بدست بیاوری
سپس فراجهش به صورت زیر به دست می آید

کد:
m = max (output)
s= output(infinity)
me=m-s
ov=me*u(me)/s

که s مقدار نهایی و m مقدار بیشینه و u تابع پله واحد است me خطای بیشینه نسبی (نه مطلق) است
منظورم در اصل همین کد نویسی بود. خب میخواستم رابطه ی ریاضی رو بصورت کد بنویسم دیگه!
توی کد برای تابع پله باید اینطوری بنویسم ؟؟؟
کد:
step(me)
 

ROBOTICS

کاربر فعال مهندسی رباتیک
منظورم در اصل همین کد نویسی بود. خب میخواستم رابطه ی ریاضی رو بصورت کد بنویسم دیگه!
توی کد برای تابع پله باید اینطوری بنویسم ؟؟؟
کد:
step(me)

خیر

اگر با متلب می نویسی از هوی ساید استفاده کن.
در تمامی ربان های برنامه نویسی می توانی از if استفاده کنی
 

Coronaa

کاربر فعال
خیر

اگر با متلب می نویسی از هوی ساید استفاده کن.
در تمامی ربان های برنامه نویسی می توانی از if استفاده کنی
آقای دکتر ممنونم از راهنماییتون.
یه چیزایی فهمیدم ولی باید بیشتر تحقیق کنم.
پس بعد از تابع هدفم، فراجهش رو بعنوان قید باید معرفی کنم. درسته؟
 

Coronaa

کاربر فعال
سلام آقای دکتر
وقت شما بخیر
ببشید یه سوال داشتم:
ار روی Phase Plane میشه فهمید کنترلری که طراحی کردیم برای یک سیستم، آیا پایدار هست یا خیر؟؟؟
 

ROBOTICS

کاربر فعال مهندسی رباتیک
ار روی Phase Plane میشه فهمید کنترلری که طراحی کردیم برای یک سیستم، آیا پایدار هست یا خیر؟؟؟

می شود.

اما ربطی به بازوی آرنجی ندارد. فضای بازوی آرنجی چهار بعدی هست. صفحه فاز یک صفحه است یعنی دو بعدی است
 

Coronaa

کاربر فعال
می شود.

اما ربطی به بازوی آرنجی ندارد. فضای بازوی آرنجی چهار بعدی هست. صفحه فاز یک صفحه است یعنی دو بعدی است
چه جالب! نمیدونستم بازوی آرنجی فضای 4 بعدی هست.
پس چرا میگن بازوی صفحه صلب دو بندی؟
وقتی میگیم صفحه ای، دو بعدی نمیشه؟
 

Similar threads

بالا