برنامه نویسی تکامل یافته ماشین های CNC

چکیده
هدف مقاله ،ارائه یک راه کار جدید برای برنامه نویسی ماشینهای CNC است. راه کار مبتنی بر الگوریتم ژنتیک ،تولید و بهینه سازی تکامل یافته برنامه های NC را برمبنای مدلهای CAD تضمین می کند. این ساختار تحت تاثیر تکامل شبیه سازی شده جنبش ماشین بیش از پیش پیچیده تر شده و راه حل های هوشمند بتدریج به عنوان نتیجه تعامل میان جنبش های ماشین و محیط پیرامون ارائه می گردد. همچنین مثالهایی از برنامه نویسی ماشین تراش CNC و ماشین فرزکاری CNC برای پیچیدگی های متفاوت فضاهای خالی و محصولات ارائه شده است.
راه کار پیشنهادی درصد بالایی از جامعیت، کارایی و قابلیت اطمینان را نشان می دهد که ممکن است بتواند به سادگی با دیگر ماشینهایCNC سازگار گردد.
۱٫مقدمه
در حال حاضر در بیشتر سیستم های تولیدی از ماشینهایCNC استفاده می شود، برنامه نویسی خودکار ماشینهایCNC در دو دهه اخیر گسترش یافته است[۱,۴,۶,۷] .بنابراین امروزه راه حلهای برنامه نویسی شامل تولید خودکار برنامه هایNC فراهم گردیده است. میزان قابلیت اعتماد، کارایی و جامعیت راه حل ها با هم متفاوت است و تا کنون یک راه حل کلی برای برنامه نویسی ماشین های NC پیدا نشده است.
در این مقاله از الگوریتم ژنتیک (GA)[2] ، برای برنامه نویسی ماشینهای تراشکاری و فرز کاریCNC استفاده شده است. همچنین راه کار پیشنهادی می تواند با دیگر ماشینهایCNC سازگار باشد. برای مثال ماشین اندازه گیری تعادل[۵] ، ماشین جوشکاری، ماشینهای برش لیزر و پلاسما، روباتها و بازوهای مکانیکی. این راه کار از تکامل طبیعی گونه های زنده تقلید می کند، در جایی که منابع طبیعی در تلاش هستند که بیش از پیش موفق و سازگار با محیط زندگی خود گردند. راه کار پیشنهادی برنامه های NC با گرافهای وزن دار به نمایش در آمده است. در تکامل شبیه سازی شده موفقیت گونه های زنده بیش از پیش بر اساس داده های ارائه شده آشکار می گردد. تحقیقات نشان می دهد که راه کار پیشنهادی ، جامع ، کارا و قابل اطمینان است.
در آغاز، پس از آن ایده راه کار پیشنهادی ارائه شده است. همچنین مثال هایی از برنامه های ماشین تراشکاری و فرز کاریCNC ، که آمیزه ای از دقت را در فضای خالی و محصول نشان می دهد، ذکر شده است. در بخش ۵قسمتهای اصلی تحقیق به طور اجرا شده خلاصه گردیده و همچنین برای تحقیقات آتی رهمنونهایی پیشنهاد شده است.

۲٫برنامه نویسی ماشین تراشکاریCNC و ماشین فرزکاری با استفاده از GA
هدف از فرآیند فرزکاری و تراشکاری این است ابزار حرکت را نسبت به قطعه کارمطمئن سازد. نتیجه ای که از ابزار حرکت بدست می آید شکل گیری شکل دلخواه از محصول است.ابزار حرکت شامل حرکات کاری می باشد. تولید ماده در پس از چندین برش صورت می گیرد که نتیجه مطلوب فقط برای محصولات بسیار ساده حاصل می شود. هر حرکت ابزار قدری از ماده را بر داشته و بنابراین عملیات برش انجام می شود.

۲٫۱ الگوریتم اصلی
ایده اصلی راه کار پیشنهادی با بیان مثالهای ساده اثبات می شود. شکل ۱و۲ فضای خالی ، محصول و تراشه مربوطه در فرآیند فرزکاری و تراشکاری نشان می دهد.
در فرزکاری ابزار می تواند حرکت کند و در جهت مثبت و منفی محور x ، y و z برش دهد. به علت تعیین مقدار ماشین نقطه بازگشت ابزار در وسط ابزار برش واقع است.
ماده جدا شده به چندین برش که شامل تراشه ها می باشد تقسیم می شود. برای مثال cut-1 ،در قسمت پایین دیاگرام شکل ۱ شامل۹ تراشه ، cut-2 و cut-3 هر کدام شامل ۴ تراشه و cut-4 شامل ۲ تراشه می باشد.

شکل ۱: فضای خالی، محصول، ضایعات در تراشکاری

دیاگرام شکل ۱ انواع تولیدات را نمایش می دهند. به علت ماهیت سیستم ممکن است برش عمودی، افقی یا ترکیبی از هر دو را انتخاب کنیم.
شکل ۳ الگوریتم اصلی را برای برنامه نویسی ماشین CNC به شکل شبه کد نمایش می دهد.ابتدا لازم است داده ها در فضای خالی و محصول ثبت شوند.در راه کار پیشنهادی ثبت اطلاعات به طور خودکار موثر واقع شده است.سیستم ناحیه تولیدی را به تعداد دلخواهی مربع و جعبه تقسیم می کند. در انتهای داده های ورودی لازم است نقطه شروع و پایانی حرکت ابزار و نقطه بازگشت ابزار تعریف شود.از حالا سیستم به طور مستقل به تولید و بهینه سازی برنامه های NC از میان چندین تولید توانا است. متغیر بولینknow-NC-program تصمیم می گیرد که آیا راه حل قبلی اجرا شده برای جمعیت اولیه بهتر است اجرا شود یا بهتر است جمعیت اولیه به شکل کاملا تصادفی مقدار دهی شود. البته تولید اولیه در بیشتر برنامه ها مستقل از برخورد نیست.

begin
Data input on blank and product, selection of type of
Machining, discretization of machining field defining of
Starting, final and reference point of tool
t=0
if known-NC-Program
then input P(t)
else initialize P(t)
evaluate P(t)
while(not termination condition) do
begin
t=t+1
change P(t) by applying genetic operators
evaluate P(t)
end
Output of result
End

۲٫۲ساختار اولیه: رمز گذاری برنامه NC
در این مثال، هدف ساخت یک محصول نسبی ساده از یک blank نسبی ساده است.شکل ۳ نتایج اجرای مختلف را نشان می دهد. تنها بهترین ساختار نشان داده شده است. در شکل ۸a یک برش عمودی از برش سمت راست قطعه کار به نمایش در آمده است. در این روش short tool path و reduce tool wear محفوظ مانده اند. از دید کاربردی عمق برخی از برشها ممکن است قابل اعتراض باشد..با این وجود لازم است اهمیت دهیم که در این مرحله تحقیق می خواهیم اطمینان حاصل کنیم از جامعیت و انعطاف پذیری سیستم.در جایی که تنها قوانین ساده قابل اجرا به شرح زیر هستند:
۱)ابزار می تواند مرحله به مرحله به سمت چپ یا راست بالا یا پایین حرکت کند.
۲)ابزار تنها قسمت پایین و سمت راست را برش می دهد.
۳) وارد کردن خسارت به قطعه و ماشین مجاز نمی باشد.
۴)محصول باید با حداکثر سرعت ممکن با استفاده از سه مرحله بالا

۲٫۳ ارزیابی جمعیت

هدف از کار ترکیبی یافتن تعدادی مسیر از میان گراف وزن دار با مقدار اولیه S و نهایی E است که شامل تمام نقاط در گراف خواهد بود و بنابراین مجموع وزنها (در یالها و راسها) و تعدا برخوردها مینیمم خواهد شد. به عبارت دیگر لازم است که برخوردهای بهینه را در برنامه NC بیابیم.
برای مثال اگر کل مسیر در گراف شکل ۴ برابر با: S, cut-1, cut-2 , cut-3 ,cut-4 , cut-5 , cut-6 ,cut-7 و E باشد ، مجموع وزنها در اتصالات و نقاط به شرح زیر است :

بیشترین عملیات درخواستی در ارزیابی برنامه NC ، شامل برش و تعداد برخوردها است. به علت تغییر شکل قطعه کار در روند تولید، طول مسیر تغییر می کند. در طول حرکت، ابزار سیستم بادقت حرکت تیغه را دنبال می کند، و به طور مداوم برشها و برخوردهای ممکن را بازبینی می نماید.
شکل ۵ عدم تطابق برشها و برخورد را در طول عملیات فرزکاری و تراشکاری نشان می دهد.
شکل ۶ ضمن ارزیابی روال، تشریح می کند که الگوریتم ژنتیک نقش مهمی ر در بیان پیچیدگی ماشین های تراش CNC و ابزار ماشین فرزکاری دارد.
روال شامل ۴ تابع مهم check-consistence ،check-collision ، move و cut است و به برخوردهای ناگهانی ابزار با قطعه کار توجه می کند. تابع check-consistence به جدا شدن تکه بریده شده از قطعه کار نظارت دارد و تطبیق برش ها را بررسی می نماید. توابع cut و move برای شبیه سازی حرکات و ابزار به کار می روند.
بررسی کوروموزوم با فراخوانی توابع check-consistence و check-collision آغاز می شود و به طور مداوم تمامی مراحل برش را بررسی می نماید. همچنین موقعیت غیر مجاز تیغه را باز بینی می کند.

تعداد برشهای موجود در لیست مستقل از شکل محصول است و تکمیل تولید قطعه کار به ازای تمام برشهای موجود در لیست ادامه می یابد. ارزیابی روال تعداد برخوردها(H) ، برنامه NC ، و تعداد مراحل ابزار را باز می گرداند.

۲٫۴ فرآیند ژنتیک
بعد از مقدار دهی اولیه و ارزیابی جمعیت نوع گونه ها باید توسط الگوریتم ژنتیک تغییر کرده باشد.از فرآیند های تکثیر( انتخاب) ، تقاطع و جایگشت در تراشکاری و از فرآیند جهش در فرزکاری استفاده نمودیم. [۳].برای انتخاب کوروموزومها ، از انتخاب رقابتی استفاده کردیم.
در فرآیند تکثیر ابتدا هر کروموزوم P(t) به طور تصادفی انتخاب می شود و بدون تغییر به نسل بعدی منتقل می شود.در فرآیند تقاطع دو کروموزومP(t) به طور تصادفی از جمعیت انتخاب شده اند. همچنین نقطه تصادفی انتخاب شده تصادفی است. قسمتهایی از کروموزومهای انتخاب شده با هم مبادله شده اند. در طول تقاطع لازم است اطمینان حاصل کنیم که زاد و ولد شامل تمام برشهای لیست موجود است. در جایگشت ابتدا اولین کروموزوم انتخاب شده و سپس ۲ ژن تصادفی انتخاب شده(برش) با هم مبادله شده اند. در فرآیند جهش ، ژن در کروموزوم به صورت تصادفی انتخاب شده و جهت حرکت ابزار تغییر کرده است.

۳٫نتایج برنامه نویسی تراشکاری با استفاده از GA
کاربرد و کارایی سیستم با مثالهایی نشان داده شده است. ابتدا یک مثال از تولید محصول ساده از فضای خالی پیچیده نمایش داده می شود. (به قسمت ۳٫۱ نگاه کنید) برای بیان جزئیات کارایی سیستم و همچنین تحلیل جزئیات ، مثالی از تولید یک محصول ساده از شکل درخواستی ارائه شده است.(شکل ۳٫۲ و شکل ۳٫۳)
در هر سه مورد، می خواهیم بر جامعیت و هوشمندی راه کار پیشنهادی تاکید ورزیم
در تمامی اجراهای سیستم از همین پارامترهای تکامل استفاده شده است: تعداد جمعیت ۵۰ ، احتمال تکثیر۰٫۲، احتمال تقاطع ۰٫۶، احتمال جایگشت ۰٫۲ می باشد.
۳٫۱ مثال ۱
در این مثال، هدف ساخت یک محصول نسبی از یک فضای خالی ساده است. شکل ۳ نتایج اجرای مختلف را نشان می دهد و تنها بهترین ساختار ارائه شده است. در شکل ۸(a) ،یک سیستم هوشمند ماشینی با برش عمودی از گوشه سمت راست قطعه کار به نمایش در آمده است. در این روش Shorter tool path و Reduce tool wear محفوظ مانده اند. از دید کاربردی ممکن است عمق برخی از برش ها قابل اعتراض باشد.
با این وجود لازم است که اهمیت دهیم که در این مرحله تحقیق ما می خواهیم اطمینان ویژه از جامعیت و انعطاف پذیری سیستم حاصل کنیم در جایی که تنها قوانین ساده قابل اجرا به شرح زیر است:
۱)ابزار می تواند مرحله به مرحله به سمت چپ یا راست، بالا و پایین حرکت کند.
۲)اابزار تنها قسمت پایین و سمت را برش می دهد
۳) آسیب رساندن به قطعه و ماشین مجاز نمی باشد.
۴)محصول باید با حداکثر سرعت ممکن با استفاده از ۳ مرحله بالا ارائه شود.
تعداد مراحل ممکن blade نیازمند مقدار محصول کامل در ۵۲ مورد است، در محلی که ابزار در تماس مستقیم می باشد. شکل ۸(b) راه حل متداول این مساله را نشان می دهد. برای تولید محصول حالا ۶۴ مرحله blade لازم است که ۲۶ مرحله ابزار در تماس مستقیم با قطعه کار است.طول برنامه NC و بارگذاری ابزار در این مورد، به ترتیب ۲۳٫۰۹% و۱۸٫۱۸% است.
شکل ۸(c) ، تولید ژنتیک را برای تولید این محصول نشان می دهدکه نقطه ابتدایی و انتهایی ابزار حرکت با دو مورد قبلی متفاوت است.تعداد مراحل برای تولید محصول برابر ۶۲ می باشد و در ۲۱ مرحله ابزار در تماس با قطعه کار است.

۳٫۲ مثال۲
در این مثال می خواهیم هوشمندی و جامعیت سیستم را در مواردی که قرار است محصولی از یک فضای خالی نسبتا ساده تولید شود نشان دهیم. ابتدا از قطعه کار نمایش داده شده به صورت bold آغاز می کنیم (مربعهای سیاه) و نیاز به محصول نمایش داده شده با مربعهای سیاه داریم. نقاط ابتدایی و انتهایی ابزار حرکت در همین مربع ها قرار دارد.
شکل ۹ تعداد راه حلهای مهم را در طول تکامل برنامه NC نشان می دهد. البته نتیجه تصادفی برنامه نویسی ماشینهای CNC در تولید اولیه بد است. بهترین راه حل در تولید ۰ ، ۹۴ مرحله است و تعداد برخوردها H=3 می باشد. برخورد ابزار نگاهدارنده با قطعه کار به وسیله مربع خاکستری نمایش داده می شود. برای مقایسه می خواهیم بدترین برنامه NC را در تولید ۰ ارائه دهیم. این برنامه ۱۰۶ مرحله دارد و مقدارH را برابر ۱۱ می کند و به ابزار و قطعه کار خسارت وارد می کند.
بدترین برنامه NC در تولید ۳ آشکار می شود و شامل ۸ مرحله است. در تولید ۱۵ برنامه NC گسترش می یابد و ۴۸ مرحله را شامل می شود و این بهترین راه حل ارئه شده در این اجرا است.

۳٫۳ مثال ۳
به طور کلی، محصولات نمی توانند تنها با fixing تیغه یا قطعه کار ساخته شوند. اگر با انجام اولین fixing تولید ممکن نباشد، سیستم هوشمند به طور خودکار re-fix را پیشنهاد می دهد. سیستم تشخیص می دهد که قطعه کار نمی تواند با fixing جاری تولید شود، بنابراین سیستم پیشنهاد re-fix می دهد و الگوریتم شکل ۳ را تکرار می کند.شکل ۱۰(a) سیستم برنامه NC را در ۲۴ مرحله به جهت fix کردن در مدت زمان نسبتا کوتاه آماده می کند. از آنجایی که تولید محصول به پایان نرسیده است سیستم تیغه را re-fix می کند و نگاهدارنده حالا موازی با محور چرخش قرقره است.(شکل ۱۴(b) ) .سیستم برنامه NC را به طول ۱۲ مرحله آماده می کند.محصول هنوز کاملا تولید نشده، بنابراین محصول در ناحیه کاری اش ۱۸۰ درجه می چرخد و با استفاده از برنامه NC با ۱۴ مرحله تولید می شود.(شکل ۱۴(d) ).بنابراین نواحی تولید نشده را علامت گذاری می کند. سپس محصول می تواند با دیگر فرآیندهای ماشینی تولید شود و محصول یا قطعه کاری می توانند تغییر کنند.

۴٫نتایج برنامه نویسی فرز کاری با استفاده ازGA
فرزکاری یک محصول ساده را که از یک قطعه کار نسبتا پیچیده ساخته شده و همچنین یک محصول نسبتا پیچیده را که از یک قطعه کار ساده ایجاد شده را ارائه می کند.
در تمامی اجراهای سیستم از همین پارامترهای تکامل استفاده شده است: تعداد جمعیت ۵٫۰ ، ماکسیمم تعداد تولیدی ۵۰، احتمال تقاطع ۰٫۶، احتمال جایگشت ۰٫۲ و احتمال جهش ۰٫۱ می باشد

۴٫۱ مثال ۱
این مثال روند تولید یک محصول ساده از فضای خالی نسبتا پیچیده را نشان می دهد. اندازه محصول ۳ cubes و اندازه قطعه کار ۲۰ cubes است. در تولید محصول افقی انتخاب در جهت محور x انجام شده است. تفاوت میان تولید محصول به روش سنتی و تولید محصول به روش ژنتیک درس شکل ۱۱ و ۱۲ قابل مشاهده است.

اولین راهبرد بدون برخورد که در تولید اولیه آمده است ۴۵ مرحله دارد. بهترین راهبرد در ۳۳ مرحله دارد که تولید هفتم در شکل ۱۲ نشان داده شده است. ابزار تنها در تماس با برش هفتم می باشد. تولید سنتی با محصول تولیدی الگوریتم ژنتیک به نسبت ۲۴٫۲۴% تفاوت دارد.
۴٫۲ مثال ۲
در قسمت ۳٫۳ ذکر کردیم که محصولات نمی توانند تنها با یک ابزار و یا قطعه کار ساخته شوند. اگر دستگاه تنها با یکبار fix ممکن نباشد سیستم هوشمند به طور خودکار re-fix ابزار یا قطعه کار را پیشنهاد می کند. سیستم نواحی از قطعه کار را که نمی تواند در fix جاری تولید شوند، نشان می دهد

شکل ۱۳ یک فضای خالی ساده و یک محصول پیچیده را نشان می دهد.
شکل ۱۴ fixing اولیه از ابزار و قطعه را نشان می دهد.

سیستم برنامهNC را با ۳۳ مرحله برای fixing در زمانی نسبتا کوتاه فراهم می کند. چون هنوز ساخت محصول به پایان نرسیده است، سیستم ابزار را re-fix می نماید.(شکل ۱۵)
شکل ۱۵ فرآیند متداول برش تدریجی ماده را که با راه کار پیشنهادی مقایسه شده است، نمایش می دهد. ماده به تدریج لایه به لایه برش می خورد. همچنین نشان داده شده است که تولید ماشین مستقل از طول مسیر تحت پوشش ابزار است. در مورد اول ،تعداد مراحلی که نیاز است توسط ابزار محصول را در طول حرکت میان نقاط ابتدایی و انتهایی تولید کند ۲۶۳ است. از نقطه ای که سیستم برش می دهد مشکلی وجود ندارد زیرا قطعه کار شکل ساده ای دارد.

شکل ۱۶-۱۸ روند پیشرفت برنامه NC را پس اعمال re-fix انجام می دهد. برنامه NC ایجاد می شود و به تدریج مرحله به مرحله بهبود می یابد. در تولید اولیه ، مرحله۰ به طور تصادفی ایجاد گردیده است. شکل ۱۶ بر اساس بهترین تولید برنامه NC را در تولید ۰ نشان می دهد. طول مسیر در بهترین حالت برنامه ۲۵۷مرحله دارد که کمتر از نوع سنتی است. . ابزار نگاهدارنده به قطعه کار برخورد نمی کند.
ظاهرا حرکت بی نظم ابزار بر اساس برنامه NC ایجاد شده اثری در کاهش طول تولید ندارد.
با همین ابزار پوشش ،در تولید سنتی بهره وری ۲٫۲۸% افزایش یافته است.

شکل ۱۷ ابزار حرکت را در رابطه با برنامه NC بهترین در تولید دهم نشان می دهد. طول مسیر در بهترین حالت برنامه ۱۸۳ مرحله دارد یعنی بهره وری در مقایسه با تولید سنتی در حدود ۳۰٫۴۱% افزایش یافته است. ابزار نگاهدارنده به قطعه کار برخورد نمی کند.
شکل ۱۸ ابزار حرکت را در رابطه با برنامه NC بهترین در تولید ۴۵ام نشان می دهد. طول مسیر در بهترین حالت برنامه ۱۳۷مرحله دارد یعنی بهره وری در مقایسه با تولید سنتی در حدود ۴۷٫۹۰% افزایش یافته است.

۵٫ نتیجه گیری
در این مقاله راه کار برنامه نویسی خودکار ماشینهای تراش CNC و ابزارهای ماشین فرزکاری را با استفاده ار الگوریتم های ژنتیک بیان کردیم. تحقیقات نشان می دهد که سیستم پیشنهادی جستجوی تکاملی برای بهینه سازی برنامهNC کارا و جامع است و می تواند برای دیگر ماشینهایNC نیز استفاده شود. ( برای مثال ماشین اندازه گیری تعادل، ماشین جوشکاری، ماشینهای برش لیزر و پلاسما، روباتها و بازوهای مکانیکی ) .

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

یکی از معایب سیستم، تشخیص فیلد ماشین است، که به طور قابل ملاحظه ای در بهینه کردن پیچیدگی زمانی راه حل جستجو نقش دارد. بنابراین در آینده تحقیقات در جهت خاصی پیش می رود و امکان بهبود سیستم با استفاده از انواع ماشینها و ابزارهای مختلف وجود دارد. سیستم در آینده بهبود خواهد یافت و ممکن است از پارامترهای مختلف ابزار برش استفاده کند.(هندسه، عمق برش، تغذیه)