« بازگشت به فهرست مقالات
استفاده از پردازش تصویر در کنترل هوشمند خودرو و ربات‌های صنعتی برای شناسایی خط در جاده‌ها و کارخانه‌ها  به صورت زمان واقعی
دکتر افشین حیدریان، دکتر محسن داوودی
دانشکده فنی مهندسی، دانشگاه بین‌المللی امام خمینی استان قزوین
davoudi@eng.ikiu.ac.ir
Afshinheidarian@gmail.com
معرفی - سیستم‌های شناسایی خط هوشمند خودروها به صورتی طراحی شده‌اند که قابلیت دنبال کردن خط‌های با رنگی متفاوت با رنگ پیش‌زمینه را دارا هستند همچنین از این قابلیت می‌توان در کارخانه‌ها برای آدرس‌دهی و هدایت ربات‌ها استفاده کرد .بیشتر تکنولوژی‌هایی که تا کنون در این زمینه ساخته شده‌اند برای شناخت خط از سنسورهای حساس به نور استفاده می‌کنند اما در شناسایی خط با استفاده از پردازش تصویر از دوربین وبکم برای تشخیص خط و اندازه‌گیری زاویه‌ی مربوط به آن استفاده گردید. این تکنولوژی به دلیل برخوردار بودن از وبکم و پردازش تصویر فیدبک را از دوربین دریافت می‌کند. از دیگر ویژگی‌های به کارگیری این روش در شناسایی خط قابلیت توانایی تغییر رنگ خطی است که ربات دنبال می‌کند در صورتی که سنسورهای نوری توانایی پیاده‌سازی چنین قابلیتی را دارا نیستند از این قابلیت در کارخانه‌ها برای أدرس‌دهی به ربات‌ها و همچنین به عنوان کاهش سرعت به جای سرعت‌گیرهای امروزی در خودروهای هوشمند استفاده نمود بدین معنی که سیستم شناسایی هوشمند خط در خودرو با دیدن رنگ دیگری به جای رنگ سفید سرعت خود را تا مقدار مشخصی کاهش دهد. از طرفی از آنجا که برنامه‌های پردازش تصویر به طور کلی می‌بایست تعداد زیادی از داده‌ها را پردازش کنند این برنامه به صورت زمان واقعی نوشته شده است تا کد با اطمینان بالاتری اجرا گردد البته این عمل علاوه بر رعایت مبانی پایه‌ای زمان واقعی نیازمند یک سخت‌افزار جداگانه مخصوص اجرای کدهای زمان واقعی تحت عنوان RT target  می‌باشد تا برنامه به صورت زمان واقعی اجرا گردد. در کدنویسی این روش شناسایی خط از نرم‌افزار لب‌ویو استفاده شده است. نرم‌افزارلب‌ویو، یک زبان برنامه‌نویسی گرافیکی است که به صورت گسترده برای کاربردهای مختلفی در صنایع، تحصیلات، آموزش و تحقیقات آزمایشگاهی به عنوان یک مدل استاندارد برای جمع‌آوری و پردازش داده‌ها و همچنین برنامه‌ای جهت کنترل و شبیه‌سازی ابزارهای مجازی درآمده است.
شناسایی خط و اندازه‌گیری زاویه‌ی آن
انجام پرداش تصویر در لب‌ویو نیازمند نصب افزونه NI.Vision.Acquisition.Software است تا بتوان به وسیله آن در مرحله اول تصویر را از سنسور دریافت کرد و در مرحله بعد پردازش لازم را برای استخراج اطلاعات در آن صورت داد از جمله تنظیماتی که بر روی تصویر صورت می‌گیرد عبارتند از ابعاد تصویر، فریم تصویر، روشنی تصویر ، کیفیت تصویر و ... مهم‌ترین قسمت پردازش تصویر در لب‌ویو قسمت NI.Vision.Development است. این قسمت دارای یکسری توابع برای پردازش تصویر است. از جمله این توابع می‌توان به تشخیص رنگ، تشخیص مساحت، فیلترهای مختلف ریاضیاتی، تشخیص زاویه، تشخیص موقعیت و ... اشاره کرد. همانطور که گفته شد در مرحله اول می‌بایست تصویر دریافت گردد، از مجموعه توابع زیر که مربوط به دریافت تصویر می‌باشند با ساختار زیر می‌توان برای دریافت تصویر از وبکم استفاده کرد.
تابع IMAQ Create برای اختصاص یک فضای مموری یا حافظه برای تصویر دریافتی استفاده شده است و دو تابع IMAQ Open Camera.vi و IMAQ Configure Grab.vi نیز برای تعیین نوع تصویر یعنی اینکه عکس یا ویدیو باشد و ایجاد یک ارتباط بین وبکم و لب‌ویو استفاده شده است و تابع آخر به نام IMAQdx Grab نیز فرمت تصویر را به فرمتی که قابل پردازش باشد تبدیل می‌کند.در این مرحله می‌بایست به این تابع آدرس پورتی که به وبکم به myRIO متصل است داده شود.
پس از این مرحله وارد مرحله پردازش تصویر می‌شویم. تصویر دریافتی ما یک خط مشکی رنگ در پیش زمینه سفید است ما از وجه تمایز رنگ‌ها می‌توانیم خط را تشخیص دهیم. از تابع  IMAQ Color Threshold برای تشخیص رنگ استفاده می‌کینم در این تابع می‌توانیم با تعیین میزان رنگ قرمز، آبی و سبز، رنگ دلخواه خود را با مشخص کردن عددی بین 0 تا 255 درتصویر تشخیص دهیم. رنگ مشکی ترکیبی از سه رنگ با مقدار بالا است. نوع تصویر ما در این مرحله از حالت RGB  یا رنگی به حالت باینری یا دو رنگ در می‌آید که این به این معنی است که نقاطی که رنگ مورد نظر ما را دارا هستند را با یک رنگ که ما مشخص می‌کنیم (قرمز) نمایش داده می‌شود و بقیه نقاط با رنگ مشکی نمایش داده می‌شوند که به این معنی است که این نقاط  رنگ مورد نظر ما را نداشته اند و از پردازش حذف شده‌اند. پس از این مرحله می‌بایست با به کارگیری توابعی به تمیزتر شدن شکل تشخیص داده شده بپردازیم. تابع بعدی که مورد استفاده قرار گرفته تابع IMAQ Particle Filter  است این تابع می‌تواند نقاط و مقادیر تشخیص داده شده در مرحله قبل را بر اساس مساحت، شکل، طول و عرض و دیگر ویژگی‌های ظاهری حذف کند. پس از آنکه شکل مورد نظرمان را از تصویر استخراج کردیم نوبت مرحله استخراج داده از آن می‌رسد تابع IMAQ Particle Analysis قابلیت‌های جالبی از جمله تشخیص زاویه، مرکز شکل، مختصات شکل، مساحت شکل و ...  را داراست. این مرحله یکی از اصلی‌ترین مراحل پردازش تصویر می‌باشد و می‌بایست تنها اطلاعاتی که لازم است، از تصویر استخراج گردد چراکه در غیر این صورت باعث بالا رفتن حجم محاسبات می‌گردد. 
ادامه مطلب...