اگر دوست دارید یک دِرون داشته باشید
چگونه روبات پرنده اختصاصی خود را بسازیم؟
در گذشته‎ای نه‌چندان‌دور، برای به پرواز درآوردن و سالم به زمین نشاندن روبات‎های پرنده چهارملخه یا همان Drone‎های معروف، به چندین ساعت تمرین و آموزش نیاز بود. یاد گرفتن هدایت آن‌ها زمان زیادی می‎گرفت و از همه مهم‎تر قبل از تجربه فتح آسمان، باید یکی از آن‌ها را برای خود می‌ساختید. اما امروز، می‎توان به‌راحتی نمونه‎های متنوع و ازپیش‌تولیدشده این روبات‎های پرنده را در قفسه فروشگاه‎ها پیدا کرد. برای مثال، روبات‎های پرنده‎ای مثل Parrot Bebop و DJI Phantom، سهم عمده‎ای از این بازار را به خود اختصاص داده‎اند. به مرور زمان، دِرون‎هایی به بازار معرفی می‎شوند که از قابلیت‎های پیشرفته پرواز برخوردار هستند و کار به پرواز درآوردن و هدایت این روبات‎های پرنده را بسیار راحت‎تر می‎کنند.

بزرگ‌ترین تحول در طراحی روبات‎های پرنده، زمانی اتفاق افتاد که به وسیله پردازنده‎های کوچک به هوش مصنوعی مجهز شدند و با نصب این تراشه‎ها، ثبات در پرواز و قابلیت‎های پیشرفته دیگر در ناوبری هوایی از جمله ترمز خودکار، برخاستن و فرود، به توانایی‎های آن‌ها اضافه شد. این امکانات خلبان را قادر می‎سازد تا به جای نگرانی درباره وضعیت مکانیکی و برنامه‎ریزی، از به پرواز درآوردن دستگاه پرنده خود نهایت لذت را ببرد. هرچه میزان محبوبیت و فراگير شدن دِرون‎های تجاری بیشتر می‎شود، امکان دسترسی به سخت‌افزار و نرم‌افزارهای مرتبط با آن نیز آسان‎تر می‎شود.  آخرین دِرون‎های منبع‌باز با به کارگیری قابلیت‎های پیشرفته‎ای مثل جلوگیری از برخورد با مانع و ناوبری به وسیله GPS، رقبای گران‎قيمت‎تر خود را به چالش کشیده‎اند.

مطلب پیشنهادی

پرنده هکر
دنیای موبایل شماره 187

این رقابت با مدل‎های تجاری موضوع غافل‌گيركننده‎ای نیست و با یک نگاه گذرا به بازار روبات‎های پرنده دست‌ساز کاملاً واضح و مشخص است؛ روبات‌هایی که توسط بسیاری از تولیدکنندگان مطرح این صنعت برای رونق دادن به دنیای تجهيزات منبع‌باز و حمایت از کسانی که مایل هستند خودشان دستگاه مدنظر خود را بسازند، ارائه می‎شود. شرکت‎هایی مثل 3D Robotics سیستم‎های ناوبری خودکاری را به فروش می‎رسانند که می‎توان آن‌ها را به صورت نرم‌افزاری از طریق اپلیکیشن‎هایی مثل Mission Planner برنامه‌ریزی کرد.
مشارکت شرکت‎هایی مثل 3D Robotics در این حوزه زمانی ملموس‎تر خواهد بود که نگاه نزدیک‌تری به یکی از دِرون‎های آن‌ها بیندازید. با کنکاشی دقیق‎تر به مدل 3DR SOLO، متوجه خواهید شد که بر پایه لینوکس برنامه‌ریزی شده است. این شرکت همچنین یک برنامه آموزشی عظیم و یک کیت توسعه نرم‌افزاری (SDK) کامل را برای SOLO راه‌اندازی کرده است. در ادامه، قصد داریم نحوه ساخت یک روبات پرنده ساده از یکی از پروژه‎های اخیر منبع‌باز این صنعت را بررسی کنیم که از آخرین نسخه Raspberry Pi Zero و Erle Robotics PXFMini بهره می‎برد. 

لوازم و تجهيزاتی که برای ساخت این روبات پرنده لازم است، عبارتند از:
Raspberry Pi Zero
Erle Robotics PXFMini
Erle Robotics PXF Mini Power Module
HobbyKing Spec FPV250
صد میلی‌متر کابل دو سر نری سروو
کنترلر FlySky-i6
Edimax AC EW-7811UAC
کانکتورهای RC XT-60
اولین مرحله برای ساخت این روبات پرنده آماده‌سازی Raspberry Pi Zero و PXFmini است. اتصال این دو به یکدیگر به محض اينكه کانکتور 40 پین GPIO به Raspberry Pi Zero لحیم شد، کار بسیار راحتی است. این کانکتور از دو ردیف پین تشکیل شده است که به قسمت بالای Zero متصل شده و طرف دیگر این سوکت نیز به PXFMini متصل می‎شود.

قیمت بورد اصلی Raspberry Pi Zero حدود پنج دلار است، اما برای این پروژه به کیت استارتر نیاز خواهید داشت که شامل کانکتور 40 پین GPIO، کابل‎های Mini USB و HDMI می‎شود. داشتن یک هاب USB نیز ایده خوبی است تا بتوانيد یک ماوس و کیبورد و دانگل وای‎فای را نیز به دستگاه متصل کنید.
در واقع، با خرید این مجموعه صاحب دو کانکتور 40 پین خواهید شد؛ چراکه یکی از این کانکتورها با PXFMini ارائه می‎شود، اما ارزش این را دارد که برای سایر کانکتورهای همراه با Raspberry Pi Zero کمی‎ بیشتر هزینه کنید.
به دلیل کوچک بودن اندازه بورد الکترونیکی، ممکن است کار لحیم کردن کمی‎ دشوار باشد. همچنین باید مراقب باشید كه طول پین‎ها به اندازه‎ای از سطح بورد بیرون زده باشد تا بتوان آن را به PXFMini متصل کرد. ساده‎ترين راه برای انجام این کار استفاده از تعدادی از برچسب‎های Blu-Tack است. ضمن اینکه مالیدن یک پارچه مرطوب به پین‎ها به چسبیدن بهتر لحیم کمک می‎کند.
برای آماده کردن بورد، پین‎های GPIO را داخل Raspberry Pi Zero قرار دهید و بورد را بچرخانید تا بتوانید پین‎هایی را که از آن خارج شده است، مشاهده کنید. حالا آن را روی میز قرار دهید تا یک زاویه تقریبی 45 درجه به دست آورید. سپس با استفاده از برچسب Blu-Tack (یا هر برچسب مشابه دیگری) بورد را روی میز ثابت نگه دارید.
حال پین‎ها را فشار دهید تا تنها مقدار کمی‎ از آن (حداکثر یک میلی‌متر) از بورد بیرون زده باشد و یک‌بار دیگر با استفاده از برچسب وضعیت پین‎ها را نسبت به بورد ثابت نگه دارید. برچسب باید به شکلی روی پین‎ها نصب شود که بتوان اولین پین را به بورد لحیم کرد. بعد از اینکه یک طرف پین لحیم و محکم شد، می‎توانید برچسب را جدا کرده و باقی پین‎ها را لحیم کنید. توجه کنید كه اگر در حین لحیم‌کاری برچسب Blu-Tack بسوزد، جدا کردن آن سخت می‎شود. باید تمام پین‎ها را با دقت و ظرافت لحیم کنید. اگر در کار لحیم کردن مهارت چندانی ندارید، از یک هویه مرغوب با نوک جدید و تمیز استفاده کنید تا کار لحیم کردن برایتان آسان‎تر شود. بعد از اینکه این دو بورد را به یکدیگر متصل کردید، می‎توانید کار ساخت دِرون را آغاز کنید. اگر اين کار را با استفاده از یکی از انواع کیت‎های ساده موجود در بازار انجام ‎دهید، فرایند انجام کار بسیار واضح خواهد بود.
اغلب کیت‎های کوچک شامل تجهيزات پایه به همراه یک بدنه و قاب ساده که قطعات را به هم پیچ می‎کنند، چهار کنترلر الکترونیکی سرعت (ESC) و موتورهای براشلس به همراه یک باطری هستند. تمام تجهيزات و قطعات الکترونیکی را باید به وسیله بست‎های کمربندی به بدنه اصلی متصل کرد و تنها موتورها هستند که به بدنه پیچ می‎شوند.
در این مرحله، بهتر است تا کامل شدن پیکربندی روبات پرنده کاری به ملخ‎ها نداشته باشید. چند نکته کلیدی را فراموش نکنید؛ قطعه PXFmini باید در حالی که کانکتورهای آن رو به جلوی کاردستی قرار گرفته است، نصب شود. از این پین‎ها برای اتصال به کنترلر الکترونیکی سرعت و گیرنده (در صورتی که از یک قطعه RC استفاده می‎کنید) استفاده می‎شود.
لازم است که بین Raspberry Pi Zero و بدنه یک تکه فوم قرار دهید تا لرزش موتورها را خنثی کند. مطمئن شوید كه PXFMini به‌درستی در جای خود قرار گرفته باشد. موارد دیگری که باید در این مرحله از ساخت به آن‌ها رسیدگی کنید، عبارتند از: یک کابل دو سر نری سروو و چهار کانکتور نری و مادگی RC XT60 LiPo.

در این مرحله از کار هنوز دو بورد نصب‌شده برنامه‌ریزی نشده‎اند و قبل از اینکه بتوان از آن‌ها برای کنترل روبات پرنده استفاده کرد، باید یک سیستم‌عامل روی حافظه دائمی‎ آن‌ها نصب (فلش) شود. این سیستم‌عامل مثل تمام بوردهای Raspberry Pi دیگر روی یک حافظه SD (در این مورد روی یک کارت MicroSD) نگهداری می‎شود و می‎توان به‌سرعت آن را روی Raspberry Pi Zero نصب کرد.این سیستم‌عامل برای روبات پرنده و استفاده توسط Raspberry Pi Zero و سیستم ناوبری خودکار PXFMini لازم است و از قبل توسط Erle Robotics و بر پایه هسته سیستم‌عامل دبیان آماده شده است. در صورتی که این بورد را مستقیماً از خود آن‌ها خریده باشید، این شرکت لینک آخرین نسخه از این سیستم عامل را برای شما ایمیل خواهد کرد. در غیر این صورت، این امکان وجود دارد که خودتان آن را آماده کنید، هر چند انجام این کار نیاز به صرف زمان و مهارت بیشتری دارد.

نصب سیستم‌عامل روی Raspberry Pi Zero
Raspberry Pi Zero تنها می‎تواند از سیستم فایل FAT32 استفاده کند، بنابراین قبل از ادامه کار اطمینان حاصل کنید که کارت خود را به‌درستی فرمت کرده باشید و کارت شما با سیستم فایل exFAT فرمت نشده باشد.
بعد از این که کارت MicroSD را آماده کرده و سیستم‌عامل را دانلود کردید، فرمان df –h را تایپ کنید تا دیسک‎های متصل به کامپیوتر را بررسی کنید. برای فلش کردن کارت MicroSD با آخرین فایل ایمیج سیستم‌عامل، باید کارت را از حالت اتصال به کامپیوتر خارج کنید. اگر کارت شما بیشتر از 32 گيگابايت فضا داشته باشد، خواهید دید که این دیسک از دو قسمت تشکیل شده است. مطمئن شوید كه اتصال هر دو قسمت قطع شده باشد. این فرمان را تایپ کنید:

umount /dev/disk2s1

برای نصب سیستم‌عامل روی کارت، مطمئن شوید فایلی را که دانلود کرده‎اید، از حالت فشرده خارج نشده است، سپس فرمان زير را تایپ کنید:

sudo zcat /Path/to/image/PXFmini.img.gz |
sudo dd of=/dev/disk bs=8M

از آنجا که فایل فشرده‌نشده بیشتر از هفت گیگابایت است، ممکن است فرایند فلش کردن کمی‎ زمان‎بر باشد. بعد از اتمام کار کارت را از کامپیوتر خارج کنید و داخل Raspberry Pi Zero قرار دهید. حال باید Raspberry Pi را به یک مانیتور، کیبورد و ماوس متصل کنید تا بتوانید فرایند نصب را کامل کنید.
بعد از بوت شدن Raspberry Pi، صفحه اولیه Erle Robotics را به همراه ردیفی از آیکون‎هایی که نشان می‎دهند این بورد را می‎توان در چه پروژه‎هایی استفاده کرد، مشاهده خواهید کرد. روی تصویر Erle Copter کلیک کنید تا صفحه محو شده و بورد دوباره ‎بوت شود.
Raspberry Pi Zero را به حال خود رها کنید تا مراحل راه‌اندازی را طی کند. این‌بار به جای بارگذاری یک رابط کاربری گرافیکی، بورد به یک خط فرمان بارگذاری می‎شود که نشان‌دهنده این است که کار نصب به اتمام رسیده و می‎توان بورد را جدا کرد.
در این مرحله روبات پرنده ما برای آزمایش اولین پرواز خود آماده است. برای به پرواز درآوردن آن، باید آن را از طریق سیستم‌عامل روبات یا به اختصار ROS به بعضی از دستگاه‎های کنترل‌کننده مثل کنترل رادیویی، بلوتوث یا وای‎فای متصل کنید. این موضوع را در نظر داشته باشید كه این یک پروژه سخت‌افزاری باز است و تجهيزاتی که ما از آن استفاده خواهیم کرد، با آن‌هایی که Erle Robotics استفاده کرده است، متفاوت خواهد بود.
برای سهولت در کار، یک کنترلر رادیویی سنتی را انتخاب می‎کنیم که از یک FLYSKY FS-i6 به همراه گیرنده جدید FS-iA6B تشکیل شده است. عامل مهم در اینجا این است که این گیرنده از نوع PPM است.
PPM می‎تواند چندین سروو و در این مورد خاص چندین ESC را فعال کند تا به یک پورت متصل شده و به طور جداگانه کنترل شوند. انجام این کار درست شبیه به سرووهای سنتی انجام می‎شود که گیرنده برای هر پورت یک مسیر جداگانه در نظر می‎گیرد. انجام این کار باعث می‎شود تا به تعداد سیم‎های کمتری نیاز داشته باشیم، اما از آن مهم‎تر این است که توسط سخت‌افزار مورد نیاز PXFMini می‎تواند با کنترلر ارتباط برقرار کند.
بعد از اینکه تمام قطعات را متصل کردید، همه‌چیز باید به‌خوبی کار کند. البته ممکن است در برخی شرایط برای اینکه فرستنده به‌درستی کار خود را انجام دهد، نیاز باشد کمی‎ آن را دقیق‎تر تنظیم کنید.
Raspberry Pi Zero قابلیت شبکه‌سازی از طریق پورت‎های USB را ندارد، به همین دلیل به یک دانگل وای‎فای برای ارتباط با روبات پرنده نیاز است. می‎توانید از دانگل‎هایی که مستقیماً توسط خود Erle Robotics به فروش می‎رسد، استفاده کنید. برای اینکه همه‌چیز به‌درستی کار کند، مطمئن شوید كه ماشین شما از یک دستگاه وای‎فای سازگار با فرکانس پنج گیگاهرتز برخوردار است. بعد از اتصال دانگل وای‎فای، می‎توانید اپلیکیشن AMP Planner را دانلود و نصب کنید و با کالیبره کردن آن در بخش تنظیمات، روبات پرنده را برای فرمان‌پذیری آماده کنید.

از آنجا که اندازه روبات پرنده ما کوچک است، منظم نگهداشتن چیدمان قطعات و سیم‌کشی بین آن‌ها کمی‎ مشکل است. بهتر است که با چند بست کمربندی و مقداری نوار چسب، قطعات را به طور مرتب به بدنه اصلی متصل کنید. با وجود اینکه ممکن است نصب و تنظیم دقیق PXFMini و Raspberry Pi Zero در کنار یکدیگر کاری دشوار و زمان‎بر باشد، انجام آن یکی از مهم‌ترین بخش‎های مراحل ساخت است که باید به آن توجه ویژه‎ای کرد. 
از همان ابتدای چیدمان قطعات روی بدنه اصلی، باید دائماً بررسی کنید که همه‌چیز تا حد امکان دقیق و منظم در جای خود قرار بگیرد. کیت بدنه اصلی که ما در این پروژه از آن استفاده کردیم، با اینکه قیمت زیادی ندارد، به‌خوبی کار خود را انجام می‎دهد. البته بعضی از بخش‎ها مثل پایه‎های بدنه اصلی هستند که برای جاسازی دقیق به کمی‎ زمان و حوصله نیاز دارند و ممکن است با کوچک‌ترین بی‌احتیاطی بشکنند.
تنها راه برای رفع این مشکل، این است که آن‌ها را با چسب در جای خود بچسبانید تا اگر یکی از پایه‎ها در زمان به پرواز درآمدن یا نشستن روبات پرنده از جای خود درآمد، مشکلی در عملکرد کلی کار به وجود نیاید. چسباندن و تعمیر دوباره پایه‎ها کار چندان سختی نیست، اما چند مشکل دیگر در بدنه اصلی وجود دارد؛ زیرا طراحی آن برای شکل و اندازه ناوبری خودکاری که ما از آن استفاده می‎کنیم، انجام نگرفته است. نه تنها این، بلکه اندازه ظاهری درنظرگرفته‌شده برای ناوبری خودکار نیز بیش از حد کوچک است؛ به این معنا که بدون پر کردن حفره‎ها، نشاندن روبات پرنده در حالت ناوبری خودکار به صورت مسطح کار بسیار مشکلی است. اگر سطح مسطح نباشد، در زمان برخواستن سیستم سعی می‎کند توازن خود را حفظ کند و اگر در این حالت سعی کنید روبات را در هوا نگه دارید، پرواز کاملاً نامنظم انجام خواهد شد.
برای فائق آمدن به این مشکل و همچنین کمک به کاهش لرزش‎های به‌وجودآمده از طرف موتورها، داخل شیار را با یک قطعه بزرگ از فوم پر کردیم. این کار باعث می‎شود با سنگین شدن این بخش توازن بیشتری بین قسمت‎ها برقرار شود و دِرون در زمان فرود خودکار راحت‎تر به زمین بنشیند.

اولین پرواز 
قبل از شروع پرواز یک‌بار دیگر روبات پرنده خود را بررسی کنید و مطمئن شوید که همه‌چیز به‌درستی در جای خود قرار گرفته باشد و تمام سیم‎ها عایق‌بندی شده و محکم به بدنه متصل شده باشند. از آنجا که این اولین تلاش شما برای به پرواز درآوردن روبات پرنده دست‌سازتان است، ملخ‎ها را خارج کنید تا اگر مشکلی پیش آمد، دِرون در جای خود باقی بماند و آسیبی به شما و لوازم داخل اتاق وارد نشود.
کار را با روشن کردن کنترلر شروع کنید و مطمئن شوید كه تمام سوئیچ‎ها در حالت روشن باشند و دستگاه کنترل‌کننده جریان نیرو در کمترین حالت خود قرار گرفته باشد. حالا باطری را به ماژول تغذیه متصل کنید. با این کار یک صدای بوق کوتاه می‌شنوید که نشان‌دهنده این است که بورد شروع به بارگذاری کرده است و برای کامل شدن ممکن است بیشتر از یک دقیقه طول بکشد.

بوق بعدی حاکی از آن است که فرایند بوت شدن سیستم به اتمام رسیده است و در این مرحله نیز باید بین پنج تا 10 ثانیه دیگر منتظر باشید تا روبات پرنده برای آزمایش آماده شود. روی فرستنده کلید سمت چپ را به موقعیت سمت راست پایین منتقل کنید و برای پنج ثانیه نگه دارید. سپس سویچ (D (SWD را که روی دستگاه SKYFLY FS-i6 در قسمت سمت راست بالا قرار دارد، به سمت پایین نگه دارید. 
حالا موتورها شروع به حرکت می‌کنند، کلید را به حالت قبل برگردانید تا موتورها خاموش شوند. در این مرحله می‎توانید از دستگاه کنترل کننده جریان نیرو استفاده کنید تا موتورها روشن و سرعت آن‌ها به‌تدریج زیاد شود. اگر تصمیم بگیرید که دِرون را برای مدت کوتاهی ترک کنید، باید فرايند آغاز به کار دوباره تکرار شود.
اگر تمام مراحل به ترتیب انجام شود و هر چهار موتور در حال چرخیدن باشند و به‌درستی با فرستنده ارتباط برقرار ‎کنند، زمان آن رسیده است تا بعد از متصل کردن ملخ‎ها، اولین پرواز خود را تجربه کنید. اگر تنها سه موتور کار می‎کند یا به‌وضوح می‎بینید که یک موتور در مقایسه با سایر موتورها با سرعت کمتری در حال چرخش است، باید AMP را بارگذاری کرده و فرستنده را با روبات پرنده پیکربندی کنید.

 

برچسب: