پاسخ : ساخت گام به گام روبات (شروع:مسیریاب پیشرفته)
نوشته اصلی توسط امیر راشدی
چرا بحث خوابید؟
مگه نمی خواستین روبات درست کنین؟!
سلام
چرا، من اتفاقاً یه سری مطلبم واسه مقدمه و آشنایی با PID پیدا کردم خوندم خواستم خلاصه وار بنویسم که وقت نکردم هنوز.
یه سری تحقیق کردم توی چندتا مسابقه افرادی که شرکت کرده بودن و رتبه اول یا دومم آورده بودن از PID استفاده نکرده بودن.
فایلی که صفحه قبل گذاشتی رو بررسی کردم، خیلی جالب نوشته بود. اما فقط 8تا سنسور داشت، می خوام بدونم به نظرتون این با این الگوریتم لوپ های معمولی و مماس رو هم میتونه بگذره؟
یه چیز دیگه، منی که الان بوردم رو زدم و واسش LCD و دکمه ای برای تنظیمات (مطابق فیلم که روش خیلی خوبی بود) نذاشتم باس از قبل ضرایب PID رو مشخص کنم، کسی می دونه بر چه اساس باس این ضرایب رو مشخص کرد؟
دوستان هر چه زودتر پرونده مسیریاب رو ببندیم که وقت زیادی گذاشتیم، بریم سراغ مین یاب...
پاسخ : ساخللت گام به گام روبات (شروع:مسیریاب پیشرفته)
فقط 8تا سنسور داشت، می خوام بدونم به نظرتون این با این الگوریتم لوپ های معمولی و مماس رو هم میتونه بگذره؟
آره به نظر من اگه خوب تنظیم بشه می تونه لوپ معمولی رو رد کنه و در مورد لوپ مماس نمی دونم باید امتحان بشه.
یه چیز دیگه، منی که الان بوردم رو زدم و واسش LCD و دکمه ای برای تنظیمات (مطابق فیلم که روش خیلی خوبی بود) نذاشتم باس از قبل ضرایب PID رو مشخص کنم، کسی می دونه بر چه اساس باس این ضرایب رو مشخص کرد؟
روش تنظیم ضرایب به دو صورت هست
1- استفاده از تابع تبدیل سیستم با ورودی پله ( که برا ی ما تقریبا غیرممکته محاسبش! )
2- روش تجربی ( با سعی و خطا ) البته بدون lcd هم میشه ولی باید هی ضرایب رو عوض کنین و میکرو رو پروگرام کنین!
3- اگه روش دیگه ای هست من بلد نیستم!
یه سری تحقیق کردم توی چندتا مسابقه افرادی که شرکت کرده بودن و رتبه اول یا دومم آورده بودن از PID استفاده نکرده بودن.
پاسخ : ساخت گام به گام روبات (شروع:مسیریاب پیش
با سلام خدمت همگی دوستان،
خب دیگه وقتشه که پرونده مسیریاب رو ببندیم و بریم سر وقت مین یاب، اما قبلش قرار بود کمی در مورد PID و برنامه نویسی رباتمون بحث کنیم.
با تشکر از امیرآقا، لینکی که برای برنامه یه ربات مسیریاب سریع با PID دادن رو بررسی می کنیم.
اصول کنترل(مقدمه) :
درعلم روباتیک با ساختارهای مکانیکی به عنوان سیستم هایی که مایل به کنترل آنها هستیم سروکار داریم. سیستم های مکانیکی هرچند بسیار متنوع هستند، اما اصول تقریباً مشابهی برای کنترل آنها وجود دارد. برای درک و کنترل سیستم های پیچیده لازم است ارتباط میان ورودی و خروجیهای سیستم را استخراج کنیم و مدل ریاضی آن را به دست آوریم. سیستم ها اغلب طبیعت دینامیک دارند و معادلات توصیف کننده ی آنها اغلب معادلات دیفرانسیل هستند. در سیستم های تحت کنترل ورودیهای ناخواسته و مزاحم که موجب انحراف سیستم از شرایط مطلوب می گردند اغتشاش نامیده می شوند. اغتشاشات ممکن است از طریق ورودی و به همراه سیگنال مرجع، و یا از قسمت های دیگر وارد مجموعه شوند. در علم کنترل هدف اجرای تدابیر خاص به گونه ای است که علی رغم اغتشاشات موجود، عملکرد سیستم تنها از سیگنال مرجع پیروی کند. برای این منظور سیستم های کنترلی متفاوتی طراحی شده اند.
کنترل PID:
یک کنترلر تناسبی-مشتقی-انتگرالی که به شیوه ای مشترک برای کنترل روبات ها استفاده میشود. دانستن تئوری PID کمک زیادی به طراحی هرچه بهتر برای روبات شما خواهد.
سیستم های کنترل به دو دسته ی حلقه باز (بدون فیدبک) و حلقه بسته (با فیدبک) تقسیم می شوند. در سیستم حلقه باز سیگنال مرجع به ورودی سیستم اعمال می شود و بخش کنترلر بر اساس آن یک سیگنال خروجی تولید می کند. در مقابل در سیستم حلقه بسته یک عنصر اندازه گیر از حالت کنونی سیستم (خروجی) نمونه برداری می کند و نتیجه را به صورت یک سیگنال فیدبک به جمع کننده اعمال می کند.
در شکل زیر یک کنترل حلقه بسته ساده را مشاهده می کنید:
همچنین اینجا باید با چند عبارت جدید آشنا بشیم:
خطا یا error: خطا مقداری است که روبات شما یک کار را درست انجام نمی دهد. به طور مثال روبات با سرعت 10cm/s حرکت می کند و چیزی که شما از روبات می خواهید سرعت 8cm/s می باشد،در اینجا مقدار خطای سیستم 10-8=2cm/s می باشد. سیستم کنترلی در صورت نبود هیچ خطایی کاری نمی تواند انجام دهد!
کنترلرهای تناسبی (P) :
اگر سیگنال خروجی علاوه بر علامت سیگنال خطا از اندازه ی خطا نیز متأثر باشد یک کنترلر تناسبی خواهیم داشت که متناسب با سیگنال خطا عمل می کند.
کنترلر مشتقی (D) :
سیگنال خروجی این کنترلر متأثر از تغییرات خطاست (در دوره ی زمانی)، به طور مثال: خطا قبلاً C بوده و اکنون D می باشد، و زمان t گذشته است، پس مشتق می شود. (C-D)/t.
برای مشخص کردن مقدار زمان گذشته، میتوان از تایمر میکرو استفاده کرد.
کنترلر انتگرالی (I) :
در کنترلر انتگرالی سیگنال خروجی کنترلر در هر لحظه متناسب است با انتگرال خطا تا آن لحظه. به طور مثال: در زمان t1 خطا A و در زمان t2 خطا B و در زمان t3 خطا C می باشد. انتگرال آن A/t1 + B/t2 + C/t3 میباشد.
خب حالا ما اگه بخوایم اول محاسبات ریاضی رو انجام بدیم و بعد طراحی و ساخت روبو رو انجام بدیم کار خیلی سختیه جون حتی بعضی از موارد و واقعیت ها رو نمیشه مدلسازی ریاضی کرد. پس بهترین راه برای ما اینه که اول روبات رو بسازیم و بعد از امتحان کردنشون از اونا استفاده کنیم. (ثابت های کنترلرها)
ادامشو هرچه سریعتر میذارم...
البته ادامش توضیح بعضی از کدهاس که واقعاً ساده نوشته شده و چیزی هم نداره...
منابعی که ازشون استفاده کرده و می کنم:
سایت http://www.societyofrobots.com
کتاب "اصول و راهنمای رباتیک" محمد مشاقی طبری
پاسخ : پاسخ : ساخت گام به گام روبات (شروع:مسیریاب پیش
با ربات مین یاب اصلا" موافق نیستم به نظر من باید رفت سمت ربات هایی که بحث الگوریتمیک بیشتری دارن تا مکانیک مثل ربات میکرو موس یا حتی ربات های فوتبالیست هر پلتفرمی....
مرسی از مطلب خوبت
نوشته اصلی توسط بی مخ!
با سلام خدمت همگی دوستان،
خب دیگه وقتشه که پرونده مسیریاب رو ببندیم و بریم سر وقت مین یاب، اما قبلش قرار بود کمی در مورد PID و برنامه نویسی رباتمون بحث کنیم.
با تشکر از امیرآقا، لینکی که برای برنامه یه ربات مسیریاب سریع با PID دادن رو بررسی می کنیم.
اصول کنترل(مقدمه) :
درعلم روباتیک با ساختارهای مکانیکی به عنوان سیستم هایی که مایل به کنترل آنها هستیم سروکار داریم. سیستم های مکانیکی هرچند بسیار متنوع هستند، اما اصول تقریباً مشابهی برای کنترل آنها وجود دارد. برای درک و کنترل سیستم های پیچیده لازم است ارتباط میان ورودی و خروجیهای سیستم را استخراج کنیم و مدل ریاضی آن را به دست آوریم. سیستم ها اغلب طبیعت دینامیک دارند و معادلات توصیف کننده ی آنها اغلب معادلات دیفرانسیل هستند. در سیستم های تحت کنترل ورودیهای ناخواسته و مزاحم که موجب انحراف سیستم از شرایط مطلوب می گردند اغتشاش نامیده می شوند. اغتشاشات ممکن است از طریق ورودی و به همراه سیگنال مرجع، و یا از قسمت های دیگر وارد مجموعه شوند. در علم کنترل هدف اجرای تدابیر خاص به گونه ای است که علی رغم اغتشاشات موجود، عملکرد سیستم تنها از سیگنال مرجع پیروی کند. برای این منظور سیستم های کنترلی متفاوتی طراحی شده اند.
کنترل PID:
یک کنترلر تناسبی-مشتقی-انتگرالی که به شیوه ای مشترک برای کنترل روبات ها استفاده میشود. دانستن تئوری PID کمک زیادی به طراحی هرچه بهتر برای روبات شما خواهد.
سیستم های کنترل به دو دسته ی حلقه باز (بدون فیدبک) و حلقه بسته (با فیدبک) تقسیم می شوند. در سیستم حلقه باز سیگنال مرجع به ورودی سیستم اعمال می شود و بخش کنترلر بر اساس آن یک سیگنال خروجی تولید می کند. در مقابل در سیستم حلقه بسته یک عنصر اندازه گیر از حالت کنونی سیستم (خروجی) نمونه برداری می کند و نتیجه را به صورت یک سیگنال فیدبک به جمع کننده اعمال می کند.
در شکل زیر یک کنترل حلقه بسته ساده را مشاهده می کنید:
همچنین اینجا باید با چند عبارت جدید آشنا بشیم:
خطا یا error: خطا مقداری است که روبات شما یک کار را درست انجام نمی دهد. به طور مثال روبات با سرعت 10cm/s حرکت می کند و چیزی که شما از روبات می خواهید سرعت 8cm/s می باشد،در اینجا مقدار خطای سیستم 10-8=2cm/s می باشد. سیستم کنترلی در صورت نبود هیچ خطایی کاری نمی تواند انجام دهد!
کنترلرهای تناسبی (P) :
اگر سیگنال خروجی علاوه بر علامت سیگنال خطا از اندازه ی خطا نیز متأثر باشد یک کنترلر تناسبی خواهیم داشت که متناسب با سیگنال خطا عمل می کند.
کنترلر مشتقی (D) :
سیگنال خروجی این کنترلر متأثر از تغییرات خطاست (در دوره ی زمانی)، به طور مثال: خطا قبلاً C بوده و اکنون D می باشد، و زمان t گذشته است، پس مشتق می شود. (C-D)/t.
برای مشخص کردن مقدار زمان گذشته، میتوان از تایمر میکرو استفاده کرد.
کنترلر انتگرالی (I) :
در کنترلر انتگرالی سیگنال خروجی کنترلر در هر لحظه متناسب است با انتگرال خطا تا آن لحظه. به طور مثال: در زمان t1 خطا A و در زمان t2 خطا B و در زمان t3 خطا C می باشد. انتگرال آن A/t1 + B/t2 + C/t3 میباشد.
خب حالا ما اگه بخوایم اول محاسبات ریاضی رو انجام بدیم و بعد طراحی و ساخت روبو رو انجام بدیم کار خیلی سختیه جون حتی بعضی از موارد و واقعیت ها رو نمیشه مدلسازی ریاضی کرد. پس بهترین راه برای ما اینه که اول روبات رو بسازیم و بعد از امتحان کردنشون از اونا استفاده کنیم. (ثابت های کنترلرها)
ادامشو هرچه سریعتر میذارم...
البته ادامش توضیح بعضی از کدهاس که واقعاً ساده نوشته شده و چیزی هم نداره...
منابعی که ازشون استفاده کرده و می کنم:
سایت http://www.societyofrobots.com
کتاب "اصول و راهنمای رباتیک" محمد مشاقی طبری
The truth is not true!!!! the Truth is your own if U think Its TRUTH and The TRUTH is written in blood because its Ur own & Ur dream is the Truth if U see A thing if U feel A thing U build it like a building(!!!) and there is no thing.
پاسخ : ساخت گام به گام روبات (شروع:مسیریاب پیشرفته)
ولی من دلیل اینکه میگم مین یاب اینه که یه مقدمه ای برای همه بحث های تخصصی هست.
حالا کی گفته الگوریتم توی این وجود نداره! اتفاقاً به نظر من بهتره چون رابطه مین یاب با الکترونیک خیلی بیشتر تا میکرو موس!
در ضمن من الان هدفم مسابقات ایران اوپنه! مین یاب خودکار! برای همون بهتره بریم سراغ همون مین یاب که منم تحقیقاتی که می کنم رو اینجا بذارم.
برای شروع دوستانی که می خوان همراهی کنن قوانین ایران اوپن 2011 رو یه مطالعه بکنن! بعد میریم سر حل کردن آیتم های مسابقه
سلامی دوباره خدمت همگی دوستان،
خب قبل از هر چیز یه نمایی از زمین مسابقات مین یاب (ایران اوپن) میذارم تا یه ذهنیتی نسبت به موضوع پیدا کنیم:
توی این مسابقات موانع مختلفی وجود داره. موانعی مثل الوار و آجر که روبات نباید بهشون برخورد کنه، منطقه ممنوعه که روبات نباید داخلش بشه، و مین رو سطحی که در صورت برخورد روبات با اون، مسابقه تموم میشه.
کاری که روبات ما باید انجام بده اینه که: مین ها رو تشخیص بده
به موانع بخورد نکنه
در زمان داده شده بتونه حداکثر مین ها رو پیدا کنه
نقشه (مختصات) هر مین رو به خاطر داشته باشه
خب اینها جز واجبات مسابقه بود، اول بیایم این مسائل رو حل کنیم بعد میریم سراغ آیتم هایی که امتیاز مثبت دارن (همون مستحبات!)
1- اینکه بتونه مین ها رو تشخیص بده خب مسلماً باید از یک مدار فلزیاب خوب استفاده کرد که بتونه مینی اندازه قوطی کنسرو رو در فاصله 15سانتی تشخیص بده!
حالا یه سری مداراتی توی سایت های مختلف هست که میشه با اونها یه فلزیاب (نه خیلی خوب) ساخت، ولی مسلماً اینجور فلزیاب ها به درد مسابقات نمی خورن.
پس یا باس خودمون طراحی کنیم یا از مدارهای آماده استفاده کنیم! (کسی تجربه ی ساخت همچین مداراتی رو داره؟)
2- برای تشخیص موانعی که در مسیر وجود داره از سنسورهایی مثل آلتراسونیک، سونار و حتی مادون قرمز میشه استفاده کرد! البته با توجه به اینکه در بعضی مسابقات موانع طوری ساخته شدن که استفاده از مادون قرمز برای تشخیصشون سخته، بهترین سنسور مورد استفاده همون اولتراسونیک هست!
باز هم توی اینترنت بعضی مدارات اولتراسونیک پیدا میشه، ولی یا دقتشون خیلی کمه (تلرانس خیلی بالایی دارن) یا برای مسافت خیلی کمی استفاده میشن. پس اینجا هم باید بشینیم طراحی کنیم یه مدار خیلی خوب برای تشخیص فاصله و موانع!
3- پیدا کردن مختصات مین های یافته شده! میشه گفت سخت ترین قسمت کارمون همینجاست!!! توضیح: دیوارهای اطراف زمین مسابقه به دو محور xوy تقسیم بندی میشن که یک محور از 1 تا 10 و محور دیگه از A تا J علامتگذاری شدن! و مثلاً روبات ما باید به داور نشون بده (بعد اتمام مسابقه) که مین شماره 2 در مختصات B1 بوده!
برای این کار هم دو راه به نظر خودم میرسه!
یکی استفاده از سنسورهای فاصله سنج (ولی با دقت خیلی زیاد) که البته چون معمولاً تلرانس دارن کار خیلی سخت میشه!
یکی هم شمردن پالس هایی که به موتور داده میشه و مسافتی که موتور طی می کنه! حالا یا میشه از DC موتور و انکودر استفاده کرد یا راحت تر از Step موتور استفاده کنیم!
خب پس اگر دوستان موافق هستن طبق یک برنامه ریزی پیش بریم تا بتونیم یه روبات مین یاب خودکار رو بسازیم: 1- طراحی و ساخت سیستم حرکتی (مدار درایور استپ موتور (درصورت به نتیجه رسیدن استفاده از استپ))
2- طراحی و ساخت مدارات مانع یاب و فاصله سنج (التراسونیک)
3- طراحی و ساخت مدار فلزیاب (اصل موضوع هم همینجاس!)
اگر کسی از دوستان تجربه ساخت روبات مین یاب یا تجربه ای توی هر کدوم از موارد بالا داره خیلی خوشحال میشیم به ما کمک کنه!
پاسخ : ساخت گام به گام روبات (شروع:مسیریاب پیشرفته)
سلام به نظر من درسته که اولش بهتره از 10 یا 12 تا سنسور شروع کنید اما در کل به نظر من 21 سنسور بهتره اما به نظر من بهتره تعداد سنسور ها فرد باشه چون یکی در وسط و بقیه در کنار اون قرار دارد . :read: :wow: :applause: :bye
با سلام خدمت دوستان عزیز،
می خواستم با کمک شما دوستان و استفاده از تجارب همدیگه و افراد دیگه توی نت یه سیستم حرکتی و ناوبری مناسب برای مسابقات مین یاب خودکار رو بررسی و پیاده کنیم...
* خب یه روش که استفاده از سیستم دو چرخ (دو موتور) و هرزگرده که خودش به دو صورت پیاده میشه: -موتور دی سی و قاعدتاً انکودر برای فهمیدن مسیر طی شده!
- استفاده از موتور پله ای (استپ)
* سیستم سه چرخ و به صورت Omni Direction توسط سه موتور دی سی انکودر دار و چرخ های خمره ای یا خورشیدی...
* سیستم چهارچرخ که بازم به دو صورت:
- به صورت پروانه ای (مثل ربات های فوتبالیست) با موتورهای دی سی انکودر دار و چرخ های خورشیدی
- سیستم چهارچرخ موازی با دوموتور یا چهار موتور
خب من خودم تجربه استفاده از موتور پله ای رو واسه مین یاب دارم، و یا سیستم های Omni Direction کار کردم...
یکی از مشکلاتی که موقع استفاده از پله ای توی مین یاب داشتیم اینرسی ربات بود که موقع ایستادن ممکن بود باعث ایجاد مشکل بشه! که البته واسه این تصمیم گرفتیم برای ایستادن ربات (ترمز) اول سرعت رو کم کنیم و بعدش ترمز...
مشکل سرعت کاملاً مشهوده توی استفاده از موتورهای پله ای!!!
و همچنین چرخش 90درجه خیلی جالب (طوری که توی سیستم های همه جهته انجام میشه) پیاده نمیشه کرد...
ولی با این حال باز هم میشه از بهترین سیستم های مناسب واسه مین یاب خودکار همین پله ای رو نام برد...
دیگر دوستان و اساتید نظری ندارن؟
روشی واسه حل مشکلات رایج در استفاده از موتورهای پله ای یا کلاً تجربه هاشون؟
دیدگاه