بزرگترین تحول در طراحی روباتهای پرنده، زمانی اتفاق افتاد که به وسیله پردازندههای کوچک به هوش مصنوعی مجهز شدند و با نصب این تراشهها، ثبات در پرواز و قابلیتهای پیشرفته دیگر در ناوبری هوایی از جمله ترمز خودکار، برخاستن و فرود، به تواناییهای آنها اضافه شد. این امکانات خلبان را قادر میسازد تا به جای نگرانی درباره وضعیت مکانیکی و برنامهریزی، از به پرواز درآوردن دستگاه پرنده خود نهایت لذت را ببرد. هرچه میزان محبوبیت و فراگير شدن دِرونهای تجاری بیشتر میشود، امکان دسترسی به سختافزار و نرمافزارهای مرتبط با آن نیز آسانتر میشود. آخرین دِرونهای منبعباز با به کارگیری قابلیتهای پیشرفتهای مثل جلوگیری از برخورد با مانع و ناوبری به وسیله GPS، رقبای گرانقيمتتر خود را به چالش کشیدهاند.
این رقابت با مدلهای تجاری موضوع غافلگيركنندهای نیست و با یک نگاه گذرا به بازار روباتهای پرنده دستساز کاملاً واضح و مشخص است؛ روباتهایی که توسط بسیاری از تولیدکنندگان مطرح این صنعت برای رونق دادن به دنیای تجهيزات منبعباز و حمایت از کسانی که مایل هستند خودشان دستگاه مدنظر خود را بسازند، ارائه میشود. شرکتهایی مثل 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 را بارگذاری کرده و فرستنده را با روبات پرنده پیکربندی کنید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟