نقشه راه برای مهندسینِ مکانیکِ علاقه مند به رباتیک
این نوشتار بر اساس تجربه شخصی یکی از دانشجویان خوب مهندسی مکانیک دانشگاه تهران، علاقه مند به رباتیک نوشته شده است.
بعد از این چندسالی که دانشکده مکانیک بودم و کلی مسیر درست و غلط رفتم تازه فهمیدم چی به چیه (البته بازم تا حدودی). بهتره بگم این مسیری هست که اگر خودم میتونستم برگردم انجام میدادم تا فیلد دلخواهم یعنی رباتیک را دنبال کنم و فشار کمتری را دو سال و نیم آخر تحمل کنم. اگر اینجوری پیش بریم خیلی بهتره و همه چی به نزدیکای فارغ التحصیلی و پروژه پایانی موکول نمیشه.
تقویت زبان انگلیسی عمومی و تخصصی
توصیه من اینه چه زبانتون سطح C1-C2 (بر اساس CEFR = Common European Framework of Reference) هست یعنی کاملا حرفهای چه نیست همه چیو انگلیسی بخونین و زبان یاد بگیرید تا به سطح C2 برسین (البته نویسنده زبان خوبی دارن و برای اغلب دانشگاههای بزرگ دنیا سطح زبان انگلیسی C1 یعنی نمره ۷ آیلتس به بالا و ۹۵ تافل به بالا قابل قبول است). پس کلاس زبان رو از همون ترم اول شروع کنین تا سال چهارم مسلط باشید.
به عنوان یه مهندس مکانیک خوب، علاوه بر زبان عمومی باید به زبان تخصصی و نحوه مطالعه مقالات حوزه خودتون هم تسلط داشته باشید. این رو توی هیچ کلاس زبانی کسب نمیکنید و باید خودتون بخونید و از فرهنگ لغات تخصصی رشته و فیلد خودتون استفاده کنید.
توصیه مکادمی؛ خواندن مقاله علمی در ۳ سوت را مطالعه کنید.
یادگیری مفاهیم اولیه برنامه نویسی و متلب
اول از همه پیشنهاد میکنم مفاهیم اولیه برنامه نویسی را خوب یاد بگیرید. به نظرم متلب (MATLAB) انتخاب خوبی برای شروع کار است تا پایتون چون از همون ترم دو و سه پروژههای درسی که به متلب نیاز پیدا کنین شروع میشه.
یاد گرفتن مفاهیم و مباحث پایه متلب کار آسونیه ولی مسئله اینه بتونین بیشتر از یه ماشین حساب ازش کار بکشین. برای کسی که میخاد سمت رباتیک بره پردازش سیگنال و سیمولینک هم به طور مثال لازمه اما جلوتر راجبه اش صحبت میکنم.
پس یادگیری نرم افزار متلب (MATLAB) رو از ترم دوم شروع کنید.
به نظرم این دوره خیلی خوبه و بخشی از یه specialization هست که جلوتر به کارتون میاد و تکمیلش کنین واقعا محشر میشه.
Introduction to Programming with MATLAB | Coursera
توصیه مکادمی؛ زبان برنامه نویسی مناسب مهندس مکانیک را مطالعه کنید.
یادگیری زبان برنامه نویسی پایتون
تابستون سال اولتون، شروع کنین برین سراغ پایتون و سه ماه بازه زمانی خوبیه برای یادگیری اش. اگر واقعا به رباتیک علاقه مند هستید به یادگیری حرفهای سالیدورکز و کتیا و کلا نرمافزارهای مدل سازی سه بعدی (CAD) فکر هم نکنین. واقعا مهم نیستن؛ هر وقت لازمتون شد یه سرچ کنین، چندتا ویدیو ببینین، و یک روزه همه چی رو میفهمید و انجام میدید.
اما دلیل اینکه میگم چرا مهم نیست چیه؟ طراحی سه بعدی (طراحی به کمک کامپیوتر) یکی از آخرین چیزایی هست که بهش نیاز دارید چون طراحی مفهومیتون هست که بسیار با ارزشه و بدون دانش مهندسی مکانیک نمیتونین بهش برسین. پس فعلا در حد مبتدی و انجام پروژههای درسی طراحی سه بعدی بلد باشین کاملا کافیه.
یادگیری پایتون رو از کجا شروع کنم؟
با یادگرفتن حدودی متلب شما به یه نگرش (mindset) خوبی برای برنامه نویسی رسیدین (خطاب به کسایی که المپیادی نبودن و کلا پیش زمینه ای نداشتن). برای یادگیری پایتون هم همین توصیه رو میکنم مثلا یکی از کورسای خیلی خوب برای دانشگاه میشیگان هستش:
Programming for Everybody (Getting Started with Python) | Coursera
اینم باز بخشی از specialization هست. بعدش سعی کنین حتما دومین کورس این دوره رو هم ببینین که میشه:
Python Data Structures | Coursera
(اگر زبان تون در حد زبان کنکور هست هنوز ممکنه این دوره براتون سخته باشه، دوره جادی از گو تو کلس رو هم میتونین ببینین ولی کلاس زبان رو همون ترم اول شروع کنین تا سال چهارم مسلط باشید)
سه تا دوره دیگه هم داره که نیازی بهش ندارین فعلا و ترم ۶ به بعد اگر دیدید علاقه مندید میتونین برین سراغ deep learning که کلی کورس ازش هست و تقریبا همه شون خوبن. در طول سال تحصیلی مخصوصا تا ترم شش تمرکزتون رو بزارین روی معدلتون. واقعا نمیدونید معدل خوب چقدر میتونه کمک تون کنه.
(متاسفانه نویسنده کاملا درست میگن، هر جا و با هر استادی که بخواید کار کنید اول میپرسن کدم دانشگاه هستی و بعدش هم معدل رو سوال میکنن. اما شما سعی کنید دنبال یادگیری باشید بلاخره این دوران تموم میشه و دانش ملاک اصلی گزینش ها خواهد شد)
ورود به حوزه رباتیک
ترم سوم و چهارم نرم افزارهای طراحی به کمک کامپیوتر (تحلیل) لازمتون نمیشه و همین پایتون و متلبی که بلدین کافی که هیچ، عالیام هست. درساتون زیاد و سنگین هست پس وقتی برای چیز دیگه نمیمونه. به نظرم تابستون سال دوم چون کارآموزی دانشگاه هم ندارین وقت بزارین دورههای خوب رباتیک ببینین مثلا این عالیه به من خیلی دید خوبی داد:
Modern Robotics: Mechanics, Planning, and Control | Coursera
این دوره خیلی جامع و کاربردی هست و کل تابستون شایدم بیشتر ازتون وقت ببره پس فکر نکنید خیلی ساده است و یه ماهه جمع میشه. از این ترم میتونید درخواست کهاد بدید و به نظرم هم کهاد هم دوره دوجهی رو بررسی کنید، خیلی اطلاعی راجبه دو وجهی ندارم ولی درکل بنظرم خیلی ایده خوبیه که کنار مکانیک حدود ۲۰ واحد هم درسای اصلی کامپیوتر بگذرونید و مهم تر از اون وارد محیط بچههای برق و کامپیوتر بشید.
از ترم ۵ دیگه پروژههای تحلیلتون (طراحی به کمک کامپوتر CAE) شروع میشه اینکه چی لازم میشه کاملا به استاد بستگی داره، ممکنه لازم باشه آباکوس یا انسیس یاد بگیرید که اساتید اول ترم اعلام پروژه و نرم افزارهای مدنظرشون رو اعلام میکنند. شما حدود ۴ ماه وقت دارید نرم افزار مورد لازم رو یاد بگیرین. پس حواستونو جمع کنید از این توفیقهای اجباری نهایت استفاده رو بکنید. (البته ممکن هم هست پروژههاتون با متلب انجام بشه)
ترم ۶ کنترل دارید و جزو مهم ترین درساتون هستش پس خیلیییی براش وقت بزارید و بدونین اگر میخواید وارد رباتیک بشین، باید واقعا کنترل رو یاد بگیرید و این درس رو باید در حد ۶ واحد در نظر بگیریدش. کتاب ریفرنس بخونید، سرچ کنید، پروژهها رو کامل انجام بدید و همین ترم شروع کنید برید سیمولینک یاد بگیرید. اگر به معدلتون و درستون صدمه نمیزنه در ترم ۶، ادامه دوره متلبی که اول صحبتمون گفتم رو یاد بگیرید و مطئمن باشید به دردتون میخوره.
Mastering Programming with MATLAB | Coursera
Introduction to Data, Signal, and Image Analysis with MATLAB | Coursera
کارآموزی متناسب با رباتیک
تابستون سال سوم کارآموزیتون شروع میشه و سعی کنید جای خوبی برین مثلا اگر براتون امکانش هست برید دیجینکست یا دانشکده برق و کامپیوتر یا آزمایشگاه تار یا هرجایی که مستقیما رباتیک کار میکنن. این تابستون خیلی خیلی خیلی مهمه، شروع کنید سرچ کنید کدوم حوزه براتون جذاب تره. میخواید طراحی مکانیزم و تحلیل انجام بدید یا به کنترل علاقه مندید یا AI میخواین کار کنین و …
یه سری کورس خوب براتون میزارم که خالی از لطف نیست بهشون نگاه کنین و برحسب علاقه تون برین سمتشون:
Course | Autonomous Mobile Robots | edX
Neural Networks and Deep Learning | Coursera
Embedding Sensors and Motors | Coursera
An Introduction to Programming the Internet of Things (IOT) | Coursera
از این تابستون شروع کنید یه برنامهریزی خوبی برای خودتون انجام بدید و فیلد تخصصی خودتون رو مشخص کنید. ببینید بهتره که درسای اختیاری چی باید بردارید و نزارین همه رو ترم ۸، هر درس خوبی ارائه شد بردارید و بدونین که از پسش برمیاین و یه ترم اینور اونور خیلی فرقی نداره، درسایی که توصیه میکنم اگر ارائه شد حتما بردارید و یاد بگیرید:
مکاترونیک – بهینه سازی مکانیکی – اجزای محدود – بیومکانیک – کنترل ۱ دانشکده برق
درس اجزای محدود دکتر مهنما و کلاس TA ایشون (آموزش نرم افزار آباکوس) توی سایت ما قرار داره.
جدا از اینا یه توصیهای راجب به آزمایشگاههای دانشگاه دارم. امید زیادی بهشون نداشته باشید و درصورتی که پروژه جالبی داشتند برین سراغشون و اگر دیدید بعد یه ماه کاری جلو نرفته زود بیاین بیرون و پی سلف استادیتون رو بگیرین خیلی مفید تره وگرنه وقتتون تلف میشه.
امیدوارم موفق باشید و از دوره کارشناسیتون لذت ببرید.
نویسنده:
مبینا متولیان دانشجوی مهندسی مکانیک دانشگاه تهران علاقه مند به رباتیک