|
|
|
Arm robot website |
|
به نام خدا پروژه:
پياده سازي كنترلهاي پيشرفته روي بازوي مکانیکی طراح : محسن داودي دانشجوي مهندسي الكترونيك استاد راهنما : مهندس علي آذر پيوند وب سايت پروژه: Http:// armrobot.netfirms.com ايميل: mohsen_davoudi@yahoo.com.au
معرفي: اين متن خلاصه اي از طرح پياده سازي كنترلهاي پيشرفته روي بازوي روبات انسان نما مي باشد كه كنترل هايي نظير فازي و كنترل عاطفي بر مبناي شبكه هاي عصبي در آن پياده سازي شده است. روبات هاي انسان نما در آينده نقش مهمي در زندگي انسان بازي خواهند كرد از جمله پرستاري از سالخوردگان، انجام كارها در شرايط خطرناك (شيميايي ، هسته اي ،زير دريايي و…) ، ماموريت هاي فضايي و بعنوان هميار انسانها در زندگي خواهند بود. هدف پروژه اين است كه كنترلهاي پيشرفته اي روي يك بازو از روبات انسان نما صورت گيرد تا حركات و رفتار آن شبيه انسان شود. كنترل دست ها و پاهاي روبات انسان نما شبيه كنترل همين بازو مي باشد.كه در نهايت روباتي شبيه انسان خواهيم ساخت تا بتواند ياد بگيرد،بشنود و صحبت كند ، حركاتش همانند انسان باشد و داراي احساس و عواطف انساني باشد. براي ساده سازي بحث پروژه را به 4 قسمت زير تقسيم بندي مي كنيم: 1- بحث مكانيكي : شامل قطعات مكانيكي، چرخ دنده ها و موتورها. 2- بحث الكترونيكي : شامل تقويت كننده ها ، مدارات تغذيه، سنسورها و شفت انكودرها. 3-بحث ديجيتالي : شامل FPGA هاي به كار رفته براي كنترل حركت و Pc interface 4- بحث كامپيوتري : شامل برنامه هاي كنترلي روبات مي باشد. در صفحات بعد به بحث هاي ذكر شده خواهيم پرداخت. بلوك دياگرام كلي طرح در زير نمايش داده شده است:
2-بحث مکانیکی
قسمت مكانيكي كه روي صفحه اصلي مي باشد،شامل قسمت هاي زير است: 1- مكعبي به ابعاد 8×10×15 كه محتوي يك موتور DC وگير بوكس با گين 64 جهت چرخاندن كل بازوها بصورت افقي و 360 درجه ميباشد. 2- مكعب كوچكتر به ابعاد 7×10×10 كه محتوي يك موتور DC وگير بوكس با گين 512 جهت حركت دادن بازوي 24 سانتي از افق به اندازه 90 درجه تا عمود شدن ميباشد. 3- بازوي 24 سانتي كه دو تكه بوده و در برگيرنده يك موتور DC و گير بوكس جهت حركت دادن بازوي 18 سانتي است. 4- بازوي 18 سانتي كه در برگيرنده يك Stepper motor جهت به حركت در آوردن بازوي كوچك 5 سانتي مي باشد. 5- بازوي 5 سانتي كه توسط Stepper motor بصورت كاملا دقيق قابليت حركت دارد. جنس بازو ها از آلومينيوم بوده و در مفاصل آنها از بولبرينگ استفاده شده است.موتورهاي DC و Stepper motor 12ولتي هستند. 2-بحث الكترونيكي
در اين روبات 3 موتور DC و يـكStepper motor به كار رفتـه كه ولتاژ آنها 12 ولت وجريان كــمتر از 2 آمپر نياز دارنـد. لذا از IC هـاي تـقــــويت كـننـــده با ديـــــود Free wheelingبراي تقـويـت موج PWM استفاده شـده اسـت. بلوك دياگرام يك بورد كنترلر موتور در زير نمايش داده شده است:
قسمت تغذيه مدار ولتاژهاي لازم براي FPGA ، مدارات منطقي و تقويت كننده ها را فراهم مي سازد. يك باطري 12 ولتي ميتواند تغذيه مدار را انجام دهد. اطلاعات مورد نياز FPGA در مورد سرعت و موقعيت بازوها از Shaft encoder متصل به هر گيربوكس به دست مي آيد.قسمت الكترونيكي وظيفه تبديل اطلاعات سنسورهاي ديگر به فرمت ديجيتالي را نيز به عهده دارد. 3- بحث ديجيتالي قسمت ديجيتالي روبات شامل يك FPGA مركزي و يك يا چند FPGA متصل روي هر بورد كنترلر موتور مي باشد . در اين پروژه كه فقط يك بازو كنترل ميشود،فقط يك بورد كنترلر موتور مورد نياز است كه شامل 4 موتور است كه در صفحات قبل شرح داده شد.لذا FPGA مركزي فقط با يك FPGA در ارتباط است. لازم به ذكر است كه FPGA مركزي مي تواند بصورت Real time و همزمان ، 8 بورد كنترلر موتور را كنترل كند. يعني 24 موتور DC و 8 موتورStepper كه براي حركت يك روبات Humanoid كافي مي باشد.
وظيفه FPGA متصل روي هر بورد كنترلر موتور به شرح زيرميباشد: 1-ارتباط با FPGA مركزي و گرفتن دستورات براي به حركت در آوردن هر يك از 4 موتور . 2- ارسال موقعيت و سرعت هر يك از 4 موتور به FPGA مركزي. 3- به كار گيري Fuzzy logic به منظور ايجاد حالت سروو براي موتورهاي DC كه كمترين نوسان ممكن را در اثر تغيير بار و سرعت داشته باشند. 4- توليد پالس هاي PWM براي موتورهاي DC و Clock براي Stepper motor وظيفه FPGA مركزي به شرح زيرميباشد: 1- ارتباط با كامپيوتر و گرفتن دستورات لازم براي اينكه در هر لحظه كدام موتور، تا چه موقعيتي ،با چه سرعتي و كدام تابع حركت كند. 2- ارسال فيدبك لازم به PC جهت اطلاع توقف احتمالي موتورها. 3- محاسبه سرعت لحظه اي كه موتور بايد با آن سرعت بچرخد،با توجه به تابع انتخاب شده ، موقعيت بازو و سرعت انتخاب شده. 4- به كار گيري الگوريتم فازي جهت متعادل كردن سرعت ها در حركت هاي كوتاه. 5- كاليبراسيون اتوماتيك مفاصل براي جبرانسازي لقي مكانيكي يا ضربه هاي ناگهاني به روبات. 6- ارسال موقعيت بازوها به PC در هنگام Shut down شدن روبات. 7-ذخيره نمودن 8 تابع حركتي جهت ايجاد حركات ملايم و طبيعي. 4- بحث كامپيوتري ارتباط كامپيوتر با وظيفه FPGA از طريق Parallel port مي باشد و برنامه كنترل كننده روبات Parallel port را تحت كنترل خود در مي آورد. از ديد برنامه كنترل كننده روبات ، هر مفصل داراي موقعيت از 0 تا 127 و سرعت حركت از 0 تا 7 و 8 تابع حركت مي باشد. لذا با تغيير منطقي هر كدام از پارامتر هاي ذكر شده مي توان در نهايت حركتي طبيعي و با احساس براي روبات خلق كرد. كاربر مي تواند هر مفصل را خودش بصورت manual كنترل نمايد همچنين او مي تواند حركات خاصي را به روبات آموزش دهد . برنامه كنترل عاطفي بر مبناي تئوري شبكه هاي عصبي با توجه به آموزش هاي داده شده به روبات (توسط سنسورهاي لمسي) و همچنين شرايط محيطي دخيل در عاطفه ،حركت درخواست شده از روبات را با احساس خاص و عاطفي بصورت حركتي ملايم،جدي ، رومانتيك ، عصبي ،خشمگين و… اجرا نمايد. شرايط محيطي دخيل در عاطفه ميتواند ساعت و تاريخ،ميزان دما، شدت نور،ميزان شارژ باطري، سر و صدا و… باشد. بلوك دياگرام برنامه كنترلي در زير نمايش داده شده:
|
|
|