Thresholding دودویی معکوس
نوع دوم thresholding معکوس دودویی نامیده می شود. تصویر حاصل یک تصویر سیاه و سفید دودویی است. فرمول برای thresholding معکوس دودویی به شرح زیر است:
Thresh که در آن آستانه ارزش، src (x, y) ارزش پیکسل و maxVal پیکسل حداکثر ارزش است [۱۵]. اگر ارزش پیکسل را بالاتر از آستانه مقدار آن در نظر بگیریم، ارزش پیکسل صفر تنظیم می شود. در حالی که اگر ارزش پیکسل پایین تر از آستانه مقدار شود آنگاه ارزش پیکسل به بیشترین مقدار تبدیل می شود.
Thresholding آستانه به صفر
نوع سوم آستانه، آستانه به صفر نام دارد. تصویر حاصل از همان نوع به عنوان تصویر اصلی است. فرمول آستانه به صفر است به شرح زیر است:
Thresh که در آن آستانه ارزش، src (x, y) حداکثر پیکسل ارزش است [۱۵]. اگر ارزش پیکسل بالاتر از حد آستانه باشد، ارزش اصلی خود را نگه می دارد، در حالی که اگر ارزش پیکسل پایین تر از آستانه باشد، آن را به ۰ تنظیم می کند.
Thresholding آستانه معکوس به صفر
نوع چهارم از آستانه، آستانه معکوس به صفر نامیده می شود. تصویر حاصل از همان نوع به عنوان تصویر اصلی است. فرمول آستانه معکوس به صفر است به شرح زیر است:
Thresh که در آن آستانه ارزش، src (x, y) حداکثر پیکسل ارزش است [۱۵]. اگر ارزش پیکسل بالاتر از حد آستانه باشد، آن را به ۰ تنظیم در حالی که اگر ارزش پیکسل را پایین تر از آستانه باشد، ارزش اصلی آن را نگه می دارد.
دلیل استفاده از آستانه برای تقسیم بندی، نسبت به روش های دیگر مورد بحث در فصل ۲، این است که این روش بسیار سریع، محاسباتی و کارآمدتر می باشد. عملکرد بالا برای یک سیستم در زمان واقعی لازم است. استفاده مشترک از آستانه برای ایجاد یک ماسک برای یک تصویر مناسب است که می تواند مورد استفاده برای استخراج یک شیء یا یک منطقه مورد نظر از تصویر باشد. اگر ارزش روشنایی یک پیکسل بالاتر از حد آستانه بود، آن را به رنگ سفید تنظیم می کند در غیر این صورت آن را به سیاه و سفید تنظیم می کند.
بورد آردوینو
آردوینو یک برد اپن سورس مناسب برای نمونه سازی می باشد و بر اساس سخت افزار و نرم افزار منعطف و ساده پایه ریزی و طراحی شده است. دانشجو ،هنرمند، طراح و یا علاقه مند به سرگرمی و یا ایجاد سیستم های تعاملی حتی با تجربه و دانش بسیار اندک در حوزه الکترونیک می تواند از آردوینو برای ایجاد پروژه خود استفاده نماید. آردوینو می تواند با بهره گرفتن از سنسور های مختلف محیط اطراف را احساس کند، آردوینو می تواند با کنترل لامپ ها، موتور ها و سایر ماژول ها بر دنیای اطراف خود تأثیر گزاری کند. میکروکنترلر بکار رفته بر روی برد آردوینو بر اساس زبان برنامه نویسی آردوینو (بر پایه Wiring) و محیط ویژه کدنویسی آن (بر پایه Processing) برنامه ریزی شده است و شما برای کد نویسی به هیچ نرم افزار جانبی و یا کامپایلر دیگری نیاز ندارید. پروژه های آردوینو می توانند به صورت stand-alone و یا مرتبط با سایر نرم افزار های کامپیوتر شخصی شما باشد. برای مثال شما می توانید فرمان های خود را برای کنترل موتور ها با یک کامپیوتر شخصی از طریق پورت USB ارسال نموده و یا داده های سنسورها را نیز از همین پورت دریافت نمایید. آردوینو تقریبا می تواند به هر چیزی وصل شود، کامپیوتر شخصی، گوشی موبایل، تبلت، لپ تاپ، شبکه های محلی و اینترنت از طریق سیم و وایفای، اتومبیل شخصی، دستگاهای موجود در منزل و هزاران هزار مورد دیگر اشاره کرد [۲۳].
ابزار سخت افزار
در بخش های بعدی ابزار سخت افزار توضیح داده می شود. این خدمات عبارتند از دوربین، هلیکوپتر و بورد میکروکنترلر.
هلیکوپتر
برای این پروژه یک هلیکوپتر کنترل از راه دور برد کوتاه انتخاب شده است. این هلیکوپتر دارای ۴ کانال با دو روتور انباشته و یک نوار تثبیت کننده برای ثبات اضافی در بالا است. این وسیله همچنین دارای ژیروسکوپ می باشد که به حفظ جهت گیری هلیکوپتر کمک می کند. سه متحرک عمومی در هلیکوپتر، انحراف (چرخش)، زمین (رو به جلو یا رو به عقب حرکت) و دریچه گاز می باشند. برد قابل کنترل هلیکوپتر حدود ده متر است. هلیکوپتر فقط برای پرواز داخلی در فضای بسته مناسب است زیرا با بهره گرفتن از ارتباطات مادون قرمز کار می کند. زمان هر بار پرواز آن حداکثر ۱۰ دقیقه است و زمان لازم برای شارژ نیز ۳۰ دقیقه می باشد. هلیکوپتر توسط USB یا با باتری قابلیت شارژ دارد. دو روتور در هلی کوپتر موجود است اگر دریچه گاز افزایش یابد، روتور در سرعت بالاتر چرخش و اگر دریچه گاز کاهش یابد، روتور با سرعت پایین می چرخد. این کاهش و افزایش سرعت نیاز به مقدار کمی از زمان به منظور غلبه بر انرژی جنبشی ذخیره شده می باشد در نتیجه می تواند باعث کمی تاخیر یا حرکت با تاخیر شود.
دو دلیل اصلی انتخاب این مدل خاص با توجه به ژیروسکوپ، قیمت کم آن و پرواز پایدار آن می باشد. بسیاری از هلیکوپترهای برد کوتاه دیگر ممکن است مناسب برای این پروژه باشند.
شکل ۲،۳: تصویری از هلیکوپتر مدل استفاده شده در این پروژه
کینکت
ممکن است به نظر بیاید که مایکروسافت در مسابقهی تولید کنترلرهای حرکتی، آخرین کمپانی است که از خط پایان عبور میکند. Nintendo Wii در سال ۲۰۰۶ در این مسابقه شرکت کرد و سپس Sony در سال جاری با تولید Move Controller به Nintendo پیوست. Nintendo در نوامبر سال ۲۰۰۶ همزمان با تولید هفتمین نسل کنسولهای بازی شامل XBOX 360 و Sony PS3 ، کنسول جدید Nintendo Wii را عرضه کرد. این کنسول کوچکتر از دو رقیب خود بود و کنترلر آن از طریق بلوتوث با دستگاه رابطه برقرار میکرد. Nintendo برای تشخیص مکان کنترلر از سنسور حرکتی استفاده میکرد. سونی با بهره گرفتن از یک دوربین قادر به تشخیص مکان سه بعدی کنترلر است و وجه تفاوت نینتندو و سونی در همین مسأله است[۴]. با وجود آنکه Inan Baracha ، مدیر ارشد PrimeSence در سال ۲۰۰۸ در مورد تکنولوژی امروز مایکروسافت به اپل پیشنهاد همکاری داده بود، اما با قبول نکردن اپل ، امروز شاهد عصبانیت اپل در مقابل این محصول انقلابی هستیم.
اما کینکت یک وسیلهی جانبی کاملا متفاوت است. کینکت دارای سنسور صدا و تصویر و یک سنسور تشخیص فاصله میباشد. شکل ۳٫۳ این فرایند سایه نشان می دهد. لازم به ذکر است که کینکت بر خلاف Nintendo قادر به تشخیص و ارزیابی صدا میباشد. همچینین لازم نیست کینکت را در دستان خود بگیرید چرا که این وسیلهی پیچیده که محصول صدها میلیون دلار سرمایه گذاری و تحقیق مایکروسافت در پروژهی Natal خود قادر به تشخیص حرکات شما در محیط اطراف می باشد [۴].
شکل ۳،۳: سایه در نقشه عمق کینکت، با توجه به تراز دلخواه برای سنسور به نظر می رسد.[۴].
کینکت از اشعه مادون قرمز برای ردیابی حرکات استفاده می کند[۴]. کینکت از وب کمی که برای کامپیوتر تان می خرید باهوش تر است. این دوربین گستره دیده وسیعی دارد و وقتی ان را بالای تلویزیون قرار می دهید بیشتر محیط اتاق را می بیند. با قدرت اشعه مادون قرمز و نرم افزارهایش می تواند شما و ۴۸ نقطه مختلف از بدن را شناسایی کند و حرکات را تشخیص بدهد تا با حرکت دادن بدن بتوانید بازی کنید.
کینکت فقط دوربین مادون قرمز نیست. به همراه آن یک میکروفون هم وجود دارد. بنابراین شما می توانید با کنسول اکس باکس ۳۶۰ صحبت کنید و به آن فرمان بدهید. ضمنا تنها شما را با امواج مادون قرمز نمی بیند. دوربین کینکت می تواند به صورت RGB یعنی رنگی هم فیلم برداری کند و قابلیت تشخیص چهره دارد. بنابراین کاربرهای خودش را می شناسد. کافی است در مقابل آن قرار بگیرید تا شما را شناسایی کند و پروفایل شما لود شود. سنسور عمق همراه با دوربین RGB بدان معنی است که X، Y و Z مختصات یک شی را می توان یافت. از آنجا که یک هلیکوپتر از هر سه این راس ها استفاده می کند، این ردیابی سه بعدی لازم است.
شکل ۴٫۳: حلقه بازخورد عمومی برای سیستم خلبان خودکار.
تشریح آردوینو
میکرو کنترلر آردوینو بر اساس ATmega328، که به میکروکنترلر با کارایی بالا مشهور است توسط ATMEL ایجاد شده است. این خروجی پین ها دیجیتال و ورودی پین ها آنالوگ است که می تواند مورد استفاده برای ایجاد یک محیط تعاملی باشد. این بورد می تواند به یک کامپیوتر از طریق USB متصل گردد. آردوینو همراه با LED مادون قرمز به منظور کنترل هلیکوپتر از یک کامپیوتر استفاده می شود. این به طور موثر جایگزین کنترل از راه دور هلیکوپتر می شود.
بورد ساخته شده
بورد ساخته شده، جهت دیجیتال کردن رادیو کنترل هلیکوپتر و ارتباط آن با کامپیوتر جهت دریافت دستورات از کامپیوتر را دارا می باشد. در این بورد قطعات الکترونیکی همچون میکروکنترلر AVR، جهت برنامه نویسی، آی سی AD8403 جهت تبدیل کردن مقادیر آنالوگ رادیو کنترل به دیجیتال، ال سی دی جهت نمایش مقدار هر پارامتر به کار رفته است. علت انتخاب آی سی AD8403 دارا بودن ۴ عدد پتانسیومتر دیجیتال در داخل خود بود و ارتباط این آی سی با میکروکنترلر از نوع ارتباط SPI و دارای گام از ۰ تا ۲۵۵ متغیر می باشد. این بورد دارای ۴ ورودی پتانسیومتر می باشد. بورد رادیو کنترل شامل ۴ پتانسیومتر می باشد آن را به برد وصل می نمائیم. سپس با توجه به موقعیت هلی کوپتر در حال پرواز مقدار پتانسیومتر ها که جهت و گاز می باشند را کم و زیاد می کنیم. حداکثر گاز، استپ ۰ و حداقل گاز استپ ۲۵۵ می باشد.
شکل۵،۳: عکس رادیو کنترل هلیکوپتر مدل
شکل۶،۳: عکس بورد ساخته شده برای پروژه
فصل چهارم
اجرای سیستم