رباتیک | Robatic
رباتیک / Robotics شاخهای میان رشتهای از مهندسی، شامل مهندسی مکانیک، مهندسی برق، علوم رایانه و چند رشته دیگر است و شامل طراحی، ساخت، راهاندازی و استفاده از رباتها میشود؛
رباتیک (Robotic) را میتوان به عنوان نقطه اوج پیشرفت تکنولوژی توصیف کرد، رباتیک علمی بینرشتهای است که از پیشرفتهای علوم مختلف مانند مهندسی مکانیک، مهندسی مواد، ساخت سنسور، مهندسی برق و مهندسی کامپیوتر استفاده میکند. پیادهسازی رباتیک به صورت عملی، نیازمند تسلط در حوزههای مختلف ذکر شده است. در این مطلب قصد داریم تا به معرفی رشته رباتیک بپردازیم و حوزههای مختلف علم رباتیک را بررسی کنیم و سپس ملزومات عملی طراحی ربات هوشمند در حوزه الکترونیک و مکانیک و انواع پلتفرمهای مختلف برای رباتها را بررسی کنیم؛ اما پیش از این لازم است مقالات مربوط به رشته کامپیوتر / هوش مصنوعی رو هم خونده باشید؛
همیشه آدما در طول تاریخ تمدن، در جستجــوی راهی برای زندگــی بهتــر و راحــتتر بوده و هستــن و همین خصوصیــت کمال گرایــی و آرمانــی فکــر کــردن انسانها، باعث به وجــود اومدن پـدیـده های اکتسابـی مثل علم، هنر، فرهنگ و تمدن شــده؛ پــررنــگ شدن نقش حرفــه و مهــارت و ارتباط تنگاتنــگ اون با اقتصــاد و سطح رفاه اجتماعی، باعث به وجود اومدن انقــلاب صنعتی شده و یافتن راههای جدید و خلاقانه برای حل کردن مشکلات اون هم بهگونهای که نیازهای مردم در اولویـت قرار بگیـره موضوعـیِ که “تفکـر دیزاین” به ما گـوشزد مـیکنه؛
ما در مدرسـه دیـزاین مهـارتها و رشتههای دیزایــن محــور رو بررسی میکنیم و سعــی داریم فرهنگ دیزاین در زبان فارسی رو گسترش بدیم؛
رباتیک چیست؟
شاخهای از تکنولوژی که با طراحی، ساخت، عملکرد، کاربرد رباتها و نیز سیستمهای کامپیوتری برای کنترل، فیدبک سنسوری و تجزیه و تحلیل دادههای مربوط به آنها سر و کار دارد، رباتیک نام دارد. در حالت کلی میتوان گفت این تکنولوژی مربوط به ماشینهای اتوماتیکی است که میتوانند در محیطهای کاری خطرناک و یا عملیات مربوط به ساخت، جایگزین انسان شوند و یا ظاهر، رفتار، درک، شناخت و یا حرکتی از انسانها را تقلید کنند. در حالیکه رشتههای دیگر درگیر ریاضیات و تکنیکهای ساخت اجزا هستند، رباتیک متناظر با ساخت محصول نهایی است. کاربردهای عملی رباتها منجر به پیشرفت در سایر علوم میشوند؛ زیرا محققان علم رباتیک علوم دیگر را نیز مورد کنکاش قرار میدهند.
ربات
ربات، به یک ماشین، معمولا قابل برنامهریزی توسط کامپیوترها گفته میشود که قادر به انجام یک سری عملیات پیچیده به صورت خودکار است. یک ربات میتواند یا توسط یک وسیله کنترل خارجی هدایت شود و یا کنترل مربوط به آن را میتوان به صورت داخلی در خود ربات جاسازی کرد. رباتها میتوانند در اشکال مختلف تولید شوند و عمدتا برای انجام کاری به منظور راحتتر کردن کارهای بشر ساخته میشوند و به جنبه های زیباشناسی در ساخت آنها توجه زیادی نمیشود. یک ربات میتواند خودگردان (Autonomous) یا نیمه خودگردان (Semi-Autonomous) باشد. گستره وسیعی از رباتها در سالهای اخیر تولید شدهاند که شامل رباتهای انساننما، رباتهای صنعتی، رباتهای پزشکی، رباتهای همیار بیمار و حتی رباتهای میکروسکوپی و نانو هستند.
در واقع ربات در زبان انگلیسی برای توصیف هر ساختاری که عمل خاصی را به صورت اتوماتیک انجام میدهند، به کار میرود. برای مثال یک بازکننده در اتوماتیک، عمل باز کردن در را میتواند به صورت اتوماتیک انجام دهد. در این کاربرد از یک سنسور برای تشخیص سیگنالهای دریافتی از کنترل از راه دور (Remote Control)، یک محرک (Actuator) برای باز کردن در و یک سیستم کنترل برای دادن دستورات لازم به موتور جهت باز و بسته کردن در استفاده میشود. در عمل این نوع ماشینها، بیشتر با عنوان وسایل مکاترونیک (Mechatronic) شناخته میشوند و زیرمجموعهای از رباتهای خودگردان هستند. اجزای ماشینهای مکاترونیکی معمولا به صورت زیر هستند.
- سنسور: سنسورها قادر به تشخیص شرایط محیط پیرامون هستند.
- محرک: به وسیله محرکها میتوان تغییری در وضعیت ماشین در محیط فراهم آورد.
- سیستم کنترل: سیستم کنترل برای کنترل محرکها بر اساس شرایط محیط به کار میرود که توسط سنسور فراهم شده است.
اکثر اوقات، رباتها را شاخهای از ماشینهای مکاترونیکی محسوب میکنند که دارای خودمختاری (Autonomy) باشند. ماشینی که خودگردان باشد، امور مربوط به خود را به تنهایی و بدون راهنمایی لحظه به لحظه انسان انجام میدهد. البته گاهی همه ماشینهای مکاترونیکی نیز جزو رباتها محسوب میشوند. در تصویر زیر نمایی از انواع مختلف رباتها را مشاهده میکنید.
علوم مرتبط با رباتیک
همانطور که قبلا اشاره کردیم، رباتیک بازه وسیعی از علوم و مهندسی را در بر میگیرد. بنابراین به منظور طراحی یک ربات باید دانشی پایهای در این علوم داشته باشید. میزان این دانش به سطح پیچیدگی ربات مورد نظر بستگی دارد. در این قسمت به بررسی حوزههایی میپردازیم که برای طراحی یک ربات باید با آنها آشنا باشید. توجه کنید که نیازی نیست تا به تمام این مباحث مسلط باشید و داشتن دانش پایه در اکثر آنها بسیار مفید است و به جلوگیری از اشتباهات رایج کمک میکند.
کاربرد مکانیک در طراحی ربات هوشمند
در حالت کلی علم مکانیک به بررسی سوالات زیر میپردازد:
- چه مقدار نیرو بین اجزای مختلف سازه منتقل میشود؟
- مرکز ثقل نیرو کجاست؟
- میزان اصطکاک
- موقعیت، سرعت، شتاب
- قانون نیوتون
- اینرسی
- مشخصههای مواد
علم مکانیک به تعادل یک ربات کمک می کند. اگرچه می توان ربات را بدون داشتن دانش مکانیک نیز طراحی کرد، اما با کمک این علم میتوان از مشکلاتی نظیر افتادن در هنگام گردش یا برداشتن اشیا جلوگیری کرد. علم مکانیک همچنین به بررسی محورها میپردازد. در یک ربات کوچک میتوان چرخها را مستقیما به شفت موتور متصل کرد. اما در ربات بزرگ نمیتوان اینکار را انجام داد؛ زیرا منجر به وارد شدن فشار زیاد به اجزای داخلی موتور خواهد شد. راه بهتر برای انجام دادن این کار، اتصال چرخها به یک محور و استفاده از چرخ دنده برای اتصال موتور به محور است. در واقع دانستن اصول مکانیکی به شما اجازه ساخت چنین سازه ای را میدهد.
کاربرد الکترونیک در طراحی ربات هوشمند
علم الکترونیک به بررسی ادوات الکترونیک، مدارات آنالوگ، منطق دیجیتال و میکروکنترلرها (Microcontroller) میپردازد. ساخت یک ربات بدون داشتن دانش نسبی از علم الکترونیک تقریبا غیرممکن است، مگر زمانی که بخواهید یک ربات کاملا مکانیکی و یا با استفاده از کنترل پنوماتیکی بسازید. در مجله فرادرس تمام مطالب مربوط به الکترونیک و مکانیک پایه به خوبی پوشش داده شده است.
مفاهیم برنامهنویسی در طراحی ربات هوشمند
مباحثی که در برنامهنویسی به آنها پرداخته میشوند عبارت است از:
- کنترل ساختار (دنباله، گزینش، تکرار)
- نوع داده (ثابت، متغیر، عدد صحیح، عد حقیقی، رشته)
- الگوریتمها
- کنترل سختافزار (تنظیمات و خواندن رجیسترها و وقفهها)
- منطق
معمولا افرادی که درس آشنایی با برنامهنویسی را مطالعه کردهاند، با سه مورد اول آشنا هستند. اما مورد چهارم در دروس پیشرفتهتر بررسی میشود و برای برنامهنویسی یک میکروکنترلر بسیار ضروری است و اگرچه در ظاهر ممکن است پیچیده به نظر برسد، اما در عمل این کار نیز ساده است. اکثر امور کنترل سختافزار در نهایت به تنظیم بیتهای یک بایت با استفاده از منطق بولی و نوشتن این مقادیر در رجیسترها (Register) یا مکانهای حافظه ختم میشود. زبانهای سطح بالا مانند Bascom امکان آدرسدهی سخت افزاری را با استفاده از متغیرهای مخصوص فراهم کرده است و میتوان با آنها مانند متغیرهای دیگر رفتار کرد.
میکروکنترلرها و بردهای پردازنده، جزو محدود حوزههایی هستند که استفاده از زبان اسمبلی (Assembly) هنوز رایج است. در این کاربردها حافظه (هم RAM و هم ROM) بسیار محدود است، اگرچه هر نسل جدید از میکروکنترلرها دارای فضای حافظه بیشتری نسبت به نسل قبلی و با قیمت تقریبا مشابه است، اما بسیاری از میکروکنترلرها در حدود 2K تا 30K حافظه دارند و بردهای پردازنده نیز تا مقداری بیشتر از ۲۵۶K حافظه در اختیار دارند. اگرچه این ارقام نیز مقدار قابل توجهی به نظر میرسند، اما در قیاس با حافظه یک کامپیوتر خانگی ارقام ناچیزی هستند. با این همه، حتی اگر با زبان اسمبلی آشنایی نداشته باشید، بسیاری از میکروکنترلرها و بردهای پردازنده دارای کامپایلرهای سطح بالا در انواع مختلف (Fortran ،Pascal ،C) هستند. برنامهنویسی در یک ربات همچنین شامل موارد زیر است:
- حلقه رخ دادها: اکثر میکروکنترلرها دارای منبعی برای Threading نیستند. در واقع باید به وظایف ربات هر بار در کسری از ثانیه نگاه کرد و انتخاب کرد که چه کار کوچکی را باید انجام داد یا به عبارت دیگر در این لحظه برنامه چه کاری را میتواند انجام دهد تا ربات اندکی به هدف نزدیکتر شود.
- تفسیر داده سنسورها: سنسورها منابعی هستند که میتوانند دارای نویز و اطلاعات غلط بسیاری برای سیستم باشند. انتخاب اینکه نوع و میزان خطا تا چه میزان قابل قبول است، نیز قسمتی از کارهای برنامهنویسی است. یک رئوستای کثیف، یک کلید شکسته و یا یک چشمکزن سوخته در یک فتودیود جزو خطاهای واضح هستند. اما در مواردی مانند رانش گرمایی یا منحنی پاسخ غیرخطی و یا اینکه ربات سایه خود را تعقیب میکند، باید چه کاری را انجام داد؟
- تصمیمگیری: تصمیمگیری یا هوش مصنوعی (AI) در ربات را میتوان هنر اتخاذ تصمیمات درست بر مبنای قیود کنونی سیستم تعریف کرد.
- موتور و حرکت: انجام حرکات مختلف در یک ربات معمولا مستلزم حرکت چندین موتور در یک لحظه است و معمولا از سنسورها فیدبک لازم دریافت میشود.
علم مکانیک جامدات در طراحی ربات هوشمند
علم مکانیک جامدات معمولا به بررسی این موضوع میپردازد که چگونه نیرو درون یک ماده جامد توزیع میشود. دانستن این توزیع از این لحاظ مفید است که مشخص میکند یک ماده چگونه به نیروی وارد شده از بار پاسخ میدهد. در نتیجه از تعیین یک ماده بسیار نازک یا بسیار ضخیم برای یک کاربرد خاص جلوگیری میکند. دانستن این علم در ساخت رباتهای کوچک یا متوسط ضروری نیست، اما کمک میکند از دلیل و شرایط رخ دادن شکست یا تغییر شکل مواد مطلع شویم و در انتخاب جنس مواد ساخت آگاهانهتر عمل کنیم.
اگر ربات مورد نظر یک ربات تعقیب خط کوچک باشد، تقریبا تمام مواد، میتوانند برای ساخت به کار روند. اما اگر لازم باشد که ربات وزنی در حدود چند کیلو را تحمل کند، در ساخت باید مواد قویتری را به جای مقوا به کار برد. اگر ربات دارای سایزی به اندازه یک انسان باشد، باید مواد کامپوزیت و فلزی را مورد استفاده قرار داد.
کاربرد هوش مصنوعی در طراحی ربات هوشمند
کاربرد هوش مصنوعی در رباتیک و طراحی ربات هوشمند را میتوان به صورت زیر بیان کرد:
- امکان ایجاد یک میانبر برای ارتباط بین الکترونیک و برنامهنویسی
- روش کنترل هنگام رویارویی با موانع
- کنترل موقعیتهای جدید با استفاده از یادگیری ماشین
منابع زیادی برای یادگیری علم هوش مصنوعی وجود دارد؛ علم هوش مصنوعی غالبا برای مرتبسازی (Ordering and Sorting) و سازماندهی (Organizing) اطلاعات در یک ماشین و ساخت الگوریتمهایی برای استخراج نتایج مورد کاربرد در دنیای واقعی از این پایگاههای داده به کار میرود. موتورهای جست و جو مانند گوگل و یاهو مثالهایی از کاربرد هوش مصنوعی در دنیای واقعی هستند. در تصویر زیر نمایی از یک ربات جراحی را مشاهده میکنید که در ساخت آنها از الگوریتمهای هوش مصنوعی نیز استفاده میشود.
علاوه بر مراجعی که به هوش مصنوعی به صورت خالص میپردازند، مراجعی راجع به طرز کارکرد مغز نیز میتوانند زوایای جالبی از هوش مصنوعی در رباتیک ارائه دهند. مفاهیمی مانند تمرکز (Concentration) و توجه (Attention) میتوانند کاربردهای جالبی در مواردی مانند جمعآوری دادهها از سنسورها داشته باشند.
کاربرد ریاضیات در طراحی ربات هوشمند
اگرچه ریاضیات معمولا به عنوان علمی کاملا تئوری شناخته میشود، اما میتواند در اکثر حوزههای پیشرفته رباتیک یکی از مهمترین مهارتهای مورد نیاز باشد. مثلا محاسبات حوزه مکانیک میتواند از بسیاری از مفاهیم ریاضی استفاده کند. برای یک سازه ساده و ابتدایی ممکن است به ریاضیاتی در حد دبیرستان نیاز باشد، اما هرچه سازه ساخته شده پیچیدهتر باشد به ریاضیات پیچیدهتری نیاز خواهد بود. ذکر این نکته هم ضروری است که از آنجا که رباتیک یک حوزه علم بسیار کاربردی است، بسیاری از کارها را میتوان با استفاده از تقریب نیز انجام داد.
ملزومات عمومی طراحی ربات هوشمند
طراحی ربات هوشمند نیازمند ایجاد توازنی بین اندازه (معمولا وزن)، توان موتور و توان باتری است. این سه مولفه اساسی با یکدیگر در ارتباط هستند. هر چه وزن ربات بیشتر باشد، موتور قویتری مورد نیاز است و به همین دلیل به باتری با توان بیشتری نیاز است. یافتن توازن مناسب بین این سه فاکتور نیازمند تجربه و تحقیق بسیار است. گاهی عناصر سنگین ربات را به صورت واحد خروجی بر واحد وزن توصیف میکنند (موتور: گشتاور بر کیلوگرم، باتری: میلی آمپر ساعت بر کیلوگرم) و مقداری را برای آن انتخاب میکنند که بیشترین مقدار را ممکن بسازد.
استفاده از مواد سبکتر، مثلا استفاده از آلومینیوم به جای استیل، به طور واضح وزن ربات را پایین میآورد. ساخت قالب با فلزات سبک و استفاده از صفحات پلاستیک به عنوان سطح به جای استفاده از صفحات فلزی باعث سبکتر شدن ربات میشود. برای رباتهای کوچک استفاده از پلاستیک آکریلیک گزینه مناسبی است و کار با ان نیز از سادگی بسیاری برخوردار است.
روشهای دیگری برای ساخت ربات به جای برش و سوراخکاری صفحات آلومینیومی وجود دارد. استفاده از اسباببازیهایی مانند مجموعه لگو و یا ساختنی در مواقعی که امکان برش و سوراخ کاری صفحات آلومینیومی و پلاستیکی توسط خود فرد وجود ندارد، ایده بسیار موثری است. همچنین استفاده از کیتهای آماده رباتیک برای شروع کار راه بسیار خوبی است. این کیتها معمولا تمام قطعات مورد نیاز را در اختیار افراد تازه کار قرار میدهند. در تصویر زیر نمای از یک کیت رباتیک برای اشروع کار در رباتیک را مشاهده میکنید.
زمانی که شروع به طراحی ربات هوشمند میکنید، اولین کار این است که مشخص کنید ربات باید دارای چه اندازهای باشد. البته راجع به اندازه دقیق یک ربات نمیتوان اطمینان حاصل کرد، اما میتوان اندازه نسبی آن را تخمین زد. اندازه دقیق ربات را بعد از تعیین نوع موتور و باتری میتوان به دست آورد؛ زیرا این دو مولفه تاثیر بهسزایی در اندازه و شکل ربات دارند.
سپس باید تقریبی کلی از وزن ربات را به دست آورد و بر اساس آن موتور و چرخها را انتخاب کرد. در نظر داشته باشید که در ساخت رباتها معمولا به گشتاور بالا و سرعت پایین نیاز است. یک موتور DC دارای سرعت بالا و گشتاور پایین است، اما با افزودن چرخ دنده کاهشی به آن میتوان این مشکل را حل کرد. موتورهای DC با چرخ دندههای کاهشی به صورت آماده نیز موجود هستند. سرعت موتور و نیز سایز چرخها تعیینکننده سرعت ربات در حرکت کردن هستند. به عنوان مثال، موتور RB-35 با چرخ دنده کاهشی ۱ به ۵۰ را در نظر بگیرید. این موتور دارای سرعت 120 دور بر دقیقه است یعنی در هر ثانیه دو دور را کامل میکند. اگر برای ربات چرخی با شعاع 10 سانتی متر را انتخاب کنیم، محیط چرخ برابر با ۶۲٫۸ سانتی متر خواهد بود. یعنی در هر بار گردش چرخ، ربات مسافت 62٫۸ سانتی متر را طی میکند. با نصب این چرخ بر روی موتور، چون در هر ثانیه ۲ بار گردش میکند، ربات مسافت 125٫۶ سانتی متر را طی میکند. بنابراین سرعت ربات برابر با ۱٫۲۵۶ متر بر ثانیه خواهد بود.
اما در عمل این مقدار کمتر خواهد بود؛ زیرا سرعت موتور در حالت بدون بار برابر با 120 دور بر دقیقه است. البته توجه کنید که حتی سرعت 1 متر بر ثانیه هم برای رباتهای خانگی سرعت زیادی است و احتمالا مجبور شوید از تکنیک PWM یا روشهای دیگر برای کاهش آن استفاده کنید.
در مورد انتخاب باتری در طراحی ربات هوشمند باید اطمینان حاصل شود که برای عملکرد موتور و تمام ادوات الکترونیکی ربات تا زمان مشخصی توان وجود دارد و مقداری نیز به صورت ذخیره برای راهاندازی مجدد ربات در آینده باقی میماند. حال باید وزن باتری و موتور انتخابی با وظایف ربات مقایسه شود و در صورت لزوم مراحل بالا را مجددا محاسبه کرد.
پلتفرمهای مختلف طراحی ربات هوشمند
برای طراحی ربات هوشمند پلتفرمهای مختلفی وجود دارد که در این قسمت به بررسی آنها میپردازیم.
پلتفرم چرخی (Wheeled Platform)
این نوع پلتفرم میتواند هر تعداد چرخ داشته باشد. اما انواع سه، چهار و شش چرخ متداولتر هستند. توجه کنید که انواع دیگر مانند تک چرخ و یا دو چرخ نیز وجود دارند، اما به لحاظ دشواری در پیادهسازی رایج نیستند. در حالت کلی دو نوع چرخ در یک ربات وجود دارد: نوع تواندار (Powered) و نوع فاقد توان (Unpowered). نوع اول توسط موتورها انرژی جنبشی دریافت میکنند و ربات را به سمت جلو و عقب حرکت میدهند. اما نوع دوم برای حفظ تعادل ربات از طریق ایجاد سطح تماس با زمین به کار میروند. تصویر زیر نمایی از یک طراحی ربات هوشمند با پلتفرم چرخی را نشان میدهد.
گرایشهای رشته Digital Design
ردیف / رشتههای مادر | کامپیوتر | طراحـی گرافیک | فرا جهان (متاورس) | طراحـی بازی | مهندسی صـدا |
---|---|---|---|---|---|
گرایش 1 | مهندسی آی تی | IT | CGI | طراحی وب 2 | ||
گرایش 2 | برنامهنویسی | تایپـوگـرافـی | وب 3 | ||
گرایش 3 | هوش مصنوعی | طراحی لوگـو | |||
گرایش 4 |
نکته: جهت مشاهده بهتر جدول تلفن همراه خود را به حالت افقی بچرخانید؛
چرا دیزایـن؟
دیزاین مهارتی نه صرفا برای کار که مهارتی برای زندگیست، «دیــزاین» میتونه به مثابه تفکری برای خلــق و بهبــود، در زندگــی روزمره ما جاری بشه و گره بسیاری از مشکلات رو باز کنـــه؛اهمیت حضور دیزاینـر
امروزه دیزاین کاربردهایی بیش از قبل داره، حوزه های مختلفی که با دیزاین و دیزاینر سرُکار دارن هروز گسترش پیدا میکنن و شرکت ها هروزه بیشتر به این موضوع پی میبرن که حضور یک دیزاینر برای طراحی محصولشون چقدر اهمیت داره؛مسیـردیزاینـر
چنانچه به دیزاینر شدن علاقه دارید و نمیخواید با آزمونُ خطا مسیر رو طی کنید، در سلسه مقالات مسیردیزاینـر دانش لازم برای این مسیر رو در اختیارتون قرار دادم؛ اگر فعالیت حرفه ای خودت به سمت دیزاینر شدن رو میخوای ادامه بدی و و به مقوله دیزاین جدی تر از بقیه مردم نگاه میکنی لازمه نگاهی بهشون بندازی؛
آدرس مطلب
داشبورد
سطح و نقش شما بعد از ثبت نام در سایت قابل مشاهده خواهد بود.
متأسفیم، اما شما به این بخش از محتوا دسترسی ندارید