78
د اﺳﻼﻣﻲ آزاد اﻧﺸﮕﺎه ﻗﺰوﻳﻦ واﺣﺪ ﻛﺎرﺷﻨﺎﺳﻲ درﺟﻪ ﻧﺎﻣﻪ ﭘﺎﻳﺎن ﭘﺮوژه ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﻬﻨﺪﺳﻲ رﺷﺘﻪ ﭘﺮوژه ﻋﻨﻮان ﺧﻮدﻣﺨﺘﺎر اﻣﺪادﮔﺮ رﺑﺎت ﺗﻮﺳﻂ ﻣﺤﻴﻂ ﻧﻘﺸﻪ ﺗﺮﺳﻴﻢ راﻳﺎﻧﻪ و ﺑﺮق داﻧﺸﻜﺪه ﻣﻜﺎﺗﺮوﻧﻴﻚ ﺗﺤﻘﻴﻘﺎﺗﻲ آزﻣﺎﻳﺸﮕﺎه راﻫﻨﻤﺎ اﺳﺘﺎد: ﺣﻘﻴﻘﺖ ﻃﺮﻗﻲ اﺑﻮاﻟﻔﻀﻞ دﻛﺘﺮ داﻧﺸﺠﻮﻳﺎن: اﻣﻴﺮﺣﺴﻴﻦ ﻣﺎﻧﺪﮔﺎر) 7894130 ( اﻓﺰار ﺳﺨﺖ ﮔﺮاﻳﺶ ﻧﺼﺐ ﻛﺘﺎﻧﺒﺎف اﻓﺮوز) 7992031 ( اﻓﺰار ﻧﺮم ﮔﺮاﻳﺶ ﻧﺎﻣﻪ ﭘﺎﻳﺎن ﻛﺪ: ك2 - 1133 اول ﻧﻴﻤﺴﺎل84 - 1383

Autonomous rescue robot mapping

Embed Size (px)

Citation preview

Page 1: Autonomous rescue robot mapping

انشگاه آزاد اسالميد واحد قزوين

پروژه پايان نامه درجه كارشناسي

رشته مهندسي كامپيوتر

عنوان پروژه ترسيم نقشه محيط توسط ربات امدادگر خودمختار

دانشكده برق و رايانه

آزمايشگاه تحقيقاتي مكاترونيك

دكتر ابوالفضل طرقي حقيقت: استاد راهنما :دانشجويان

گرايش سخت افزار) 7894130( ماندگار اميرحسين گرايش نرم افزار) 7992031(افروز كتانباف نصب

1133-2ك: كد پايان نامه 1383-84نيمسال اول

Page 2: Autonomous rescue robot mapping

بسم اهللا الرحمن الرحيم

Page 3: Autonomous rescue robot mapping

1384. حق تاليف براي اميرحسين ماندگار و افروز كتانباف نصب محفوظ مي باشد ه هاي بعدي منتشر شده توسط يا نسخ1,2اجازه كپي، پخش و تغيير اين سند تحت قوانين پروانه اسناد آزاد گنو نسخه و"نتايج"، "طراحي و پياده سازي" ،"عرفيآشنايي و م" ثابت عنوانهاي با.ه است اعطا گرديد آزادنرم افزاربنياد . و بدون عنوان پشت جلد"ربات امدادگر خودمختار محيط توسطترسيم نقشه "به شرح عنوان روي جلد با ،"پيوست"

. موجود مي باشد"پروانه اسناد آزاد گنو" كپي متن پروانه در بخش

Page 4: Autonomous rescue robot mapping

تشكر و قدرداني

.تا به امروز كمك و نيروي كسب موفقيت در تمامي مراحل زندگيسالمتي، منان براي اعطاي خداونداز سپاس . پدر و مادر عزيزمان كه همواره پشتيبان، مشوق و همراه ما در تمامي مراحل زندگي بوده و هستندز ا و قدرداني تشكر جناب آقاي دكتر موسي خاني كه همواره پدري دلسوز و راهنما ،رياست محترم دانشگاه آزاد اسالمي قزوين از تقدير

.اند بودهدر كنار ما براي ما و . راهنماي ارزشمند ما بوده و هستند،ستاد محترم، كه همچون دوستي دلسوزتشكر از جناب آقاي دكتر حقيقت ا

.قاي دكتر شهري رياست محترم آزمايشگاه تحقيقاتي مكاترونيك و مدير تيم ربات امدادگرآتشكر از زحمات جناب .نيك و اعضاي تيم ربات امدادگر و آزمايشگاه تحقيقاتي مكاترو، عزيزانهمچنين تشكر فراوان از دوستان

Page 5: Autonomous rescue robot mapping

مطالبچكيده

خودمختار يا هاي امدادگر ت و عوارض محيطي توسط رباها ، راههاي سانحه ديده براي شناسايي مصدومين نقشه محيطترسيم توسط محيط سازي ترسيم نقشه تحقيق، بررسي و پياده،در اين پروژه .ي استربسيار مفيد و ضروجهان امروز در ،كنترل انساني

تيم ربات امدادگر اعضاي همت اكه ب 4ناجي و كنترل انساني 3ناجي خودمختار با استفاده از ربات ،هاي امدادگر ربات .شود شرح داده ميمفصل شده است، و راه اندازي ساخته ، دانشگاه آزاد اسالمي قزوين طراحي،آزمايشگاه تحقيقاتي مكاترونيك

Page 6: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

فهرست

1.............................................................................................................................فهرست

3............................................................................................................................شگفتاريپ

4...................................................................................................ي و معرفييآشنا - فصل اول

5....................................................................................................ربات امدادگر) 1-1بخش

6................................................................................................ربات خودمختار) 2-1بخش

8..................................................................................................3ربات ناجي ) 3-1بخش

10.......................................................................................هايازمنديرسم نقشه و ن) 4-1بخش

11......................................................................................... نقشهمي ترسيروشها) 5-1بخش

14............................................................................................يساز ادهي و پي طراح–فصل دوم

15.......................................................................................... و امكاناتزاتيتجه) 1-2بخش

16......................................................................................افزار نرمي طراحيتئور) 2-2بخش

18.............................................................................ريها و بهبود تصو پردازش داده) 3-2بخش

22.....................................................................يزري لشگريحسگر مافوق صوت و پو)4-2بخش

23...........................................................................................شرح كامل كد منبع) 5-2بخش

43...............................................................................................................جي نتا-فصل سوم

44......................................................................................................يريگ جهينت) 1-3بخش

44......................................................................................................شنهاداتيپ) 2-3بخش

45.......................................................................................ندهي توسعه در آتيقابل) 3-3بخش

1صفحه

Page 7: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

46............................................................................................................................. وستيپ 47..........................................................................................................................كد منبع

48.................................................................................................................يمشخصات فن

53.........................................................................................................پروانه اسناد آزاد گنو

GNU FDL.................................................................................................................61

68.................................................................................................................. فشردهسكيد

70.................................................................................................................منابع و مراجع

2صفحه

Page 8: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

پيشگفتار

ر تو خوشنود باشي و ما رستگا خدايا چنان كن كه فرجام كار

ايده اصلي . باشد مشخص ميياي كه در مقابل شما قرار گرفته، حاصل چندين ماه تالش مستمر در راستاي رسيدن به هدف رسالهاين پروژه مدتي . بوجود آمدي روبوكاپ و آزمايشگاه تحقيقاتي مكاترونيك الملل اين پروژه در راستاي نيازمندي در مسابقات بين

فراوان، قرار بر تحويل و اجراي اين پروژه كرد، سرانجام پس از بحث و تبادل نظر نيرو طلب مي،بود كه براي تحقيق و طراحيساله و يك عدد ديسك فشرده براي ماه در قالب يك جلد رينچنداين نتيجه مجموعه فعاليت و كار . نفر شد بدست ما دو

كه ،اين مجموعه همان طور كه در ابتدا نوشته شده است تحت مجوز گنو منتشر شده است. باشد مندان در دسترس مي عالقه ها در ديسك همچنين متن كامل اين پروانه.شود براي اطالع از قوانين و اختيارات به پيوست مراجعه شود ميجدي توصيه باشد اين رساله براي افراد كثيري مفيد و مناسب مي .باشد به زبان انگليسي و فارسي موجود ميو بطور كامل ضميمهفشرده :همانند

يك و رباتعالقمندان به ترسيم نقشه و ابزارهاي سخت افزاري )1

هاي كاربري نويسي و طراحان رابط دوستداران برنامه )2

ها روشهاي الگوريتم نويسي و تحليل داده )3

اي پيمانهگرا و نويسي شئ برنامه )4

ها نويسي تحت شبكه و انتقال داده برنامه )5

....مندان ديگر قعالاز يو بسيار )6

در كه اميد است . قرار گيردبه هر شكل اميدواريم كه اين نتايج براي عالقمندان مفيد بوده و در كاربردهاي عملي مورد استفاده اي بوده كه براي افرادي نحوه نوشتار نيز به گونه. باشيمبيان كردهح و شفاف و مختصر مطالب را واضهاين رساله هر چند كوتا

در صورت . باشد نويسي قابل فهم است و به هيچ وجه اين رساله براي افراد تازه كار مفيد نمي با آگاهي و تجربه قبلي در برنامه . ارتباط باشيدهاي پست الكترونيك با ما در توانيد با آدرس نياز به اطالعات بيشتر مي

اميرحسين ماندگار com.gmail@amandegar

افروز كتانباف نصب com.yahoo@afnaanfa

3صفحه

Page 9: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

آشنايي و معرفي - فصل اول

4صفحه

Page 10: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ربات امدادگر)1-1بخش

ها اين ربات،ندا هتفات به كمك و ياري آنها ش،ها نكنار انسادرهاي مختلف دها و كاربر ها در شكل ت كه رباتساليان سال استجربگي و يادگيري تدريجي انسان باعث وليكن بي. شوند توليد مي و طراحي،ها هستند و بنا به نياز هاي دست خود انسان ساخته

داشته وجود اي براي توسعه و پيشرفت وع به تكميل نموده و هميشه نقاط پوشيدهآن شده كه هر گونه نوآوري به مرور زمان شر .باشد

شروع به خودنمايي نمودند و سپس به آهستگي خود را وارد صنعت و هاي علمي و تخيلي در داستانها و فيلمها سالها ربات كه مسابقات بين المللي روبوكاپ رسماً شروع به 1997از سال . اند نمودهافراد ها و حريم شخصي حتي تا به امروز وارد خانه

و تا همكنون نيز به اين نمودعلوم رباتيك و مرتبط با رباتيك ايجاد هدف توسعه و پيشرفت اهاي متنوعي ب شاخه،فعاليت نمود .ها تنوع و موارد بيشتري نيز اضافه گرديده است شاخه

هدف ياري و امداد در شرايط سانحه و نجات مصدومين به منظور و به است كهواقعي ها روبات امدادگر يكي از اين شاخه شاخه ، و تلفات ناشي از آن، بنا به نياز2001پس از فاجعه سپتامبر . باشد ميهمراه جمع آوري اطالعات مفيد براي امدادگر فعال

.ر شدبرخوردانيز هاي شديد دولتي و شركتي نمود و از پشتيبانيپيشرفت امدادگر به سرعت

ها در حال اين ربات. دنگرد ميتر نسبت به دوره قبل ظاهر هاي گسترده هاي متنوع با عملكردهاي برتر و قابليت در هر دوره ربات محيط، دماي مصدوم، يآوري اطالعات محيطي همچون دما هايي همانند عبور از موانع سخت و ناهموار، جمع حاضر از قابليت

مانوري، حمل قدرت باالي ، شناسايي تصويري موانع و مصدومين، ديد در شب و تاريكي، كربن محيط اكسيد ميزان ديرسم و ذخيره نشانه مصدومين و عاليم با اهميت، به همراه تكميل تدريجي نقشه محيط،كمك هاي اوليهضرروري و تجهيزات

بسياري ز كنترل، سيستم موقعيت يابي جهاني و ارتباط راديويي و مخابراتي با مرك به نقطه شروع،حفظ مسير و قابليت بازگشت .گردد به اين مشخصات اضافه مينيز كه هر ساله ،موارد با اهميت

.پردازند هاي امدادگر در مسابقات بين المللي در سايزها و اشكال مختلف همراه با نرم افزارهاي متفاوت به رقابت مي ربات

را در مسابقات حاضر نموده كه در يهاي بسيار توانمند ربات،هاي قدرتمند مكانيكافزارهاي متنوع در كنار افزارها و نرم سخت .روند مي اخير به سمت خودكار و خودمختار شدن با قابليت يادگيري هاي سال

طراحي و ساخته ، كه از راه دورو با كنترل انساني خودمختار و ناجي هاي بعد به توضيح كامل دو ربات امدادي ناجي در بخش .پردازيم باشد مي قزوين مي دانشگاه آزاد اسالمي ،تحقيقاتي مكاترونيكشده در آزمايشگاه

رسمي آدرس سايت در اين مراجعه نمايد org.robocup.wwwبراي آشنايي با مسابقات روبوكاپ مي توانيد به سايت مرجع توانيد آزمايشگاه تحقيقاتي مكاترونيك ميهاي همچنين براي اطالع از فعاليت. است گرديده نيز ثبتواقعي ليگ روبات امدادگر

.مراجعه فرماييد ir.mrl.wwwسايت به

5صفحه

Page 11: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ربات خودمختار)2-1بخش

كنترل ربات بصورت خودكار و ،دادگرها و همچنين ربات ام ربات و شاخهترين مبحث در بخش ترين و با اهميت يكي از جالب .شوند به چندين روش كلي هدايت ميمعموال ها ربات. باشد خودمختار مي

. و ابزارهاي كنترليهاي فشاري كنترل، دكمههاي همانند دسته، و ابزارهاي كنترلي در اختيارتربا با كنترل با كاربر آشنا) 1با قرار دادن ابزارهايي . باشد در حال استفاده مينيز مرسوم بوده و تا همكنون ،ها اينگونه كنترل از ابتداء خلق و تكامل ربات

.شود رسيدن به هدف مورد نظر كاربر ميسر مي ،در اختيار كاربر ،نمايشگر و قابليت كنترلهمچون

براي انجام كارهايي با دقت و ها معموالً اينگونه ربات. باشد ميريزي از قبل و قابليت برنامهيپذير بصورت برنامهروش ديگر ) 2شود و ريزي مي يكبار برنامه.كنند ها استفاده مي اينگونه رباتها اغلب از خط توليد كارخانه. تكرار بسيار باال كاربرد دارند

.گردد نامحدود استفاده مي

ها اين گونه كنترل با روش.دنباش ميها ها در جهان ربات خودمختار بحث انگيزترين و مهمترين نوع كنترل فعلي رباتروش ) 3هايي همچون هدف از اين روش افزودن توانايي .افزايد به ربات ميچشمگيري گيري هاي متنوعي هوشمندي و تصميم و الگوريتم

كنند و با وقايع و موانع غير قابل هاي نامشخص حركت مي ها معموالً در محيط اينگونه ربات.باشد انسان به يك ربات ميگيري وجه بايست مسائل را تحليل نموده و بهترين تصميم را بگيرند كه همين تصميم در نتيجه مي،ني مواجه خواهند شدبي پيش

.باشد ها مي تتمايز اينگونه ربا

روش براي ترين ر حال حاضر پر استفادهاين روش د .باشد مورد استفاده ميهمكنون نيمه خودمختار به نام زروشي تركيبي ني) 4ها به دلخواه اينگونه ربات. باشد سوم مينوع كنترل آنها متشكل از نوع اول و روش .باشد كاربردي مي،قيقاتيهاي تح باتر

اين روش تقريباً به سمت . دهند كاربر بصورت خودكار، دستي و يا هر دو همزمان تغيير كنترل داده و كار خود را انجام ميروند هاي دروني خويش پيش مي ها به سمت پنهان نمودن پيچيدگي ت زيرا ابزارها و ربا.رود جايگزيني كامل روش اول پيش مي

نيز اجازه كار كاربر غير متخصص روش به اين .باشد ميهاي آنها قابليتو هاي كنترلي، نمايشي و سعي طراحان در سادگي رابط .دهد ميها را ه رباتناينگو و كنترل

.باشد نيز استفاده شده است مي3ايي بيشتر با كنترل نوع سوم و چهارم كه در ربات ناجي در اين قسمت هدف ما شرح و آشن

ها باشند كه وظيفه اين حلقه افزاري مي هاي كنترلي نرم اي با حلقه ترين شكل خود حامل برنامه هاي خودمختار در ساده رباتمقصد و يا انجام كار رسيدن به همراه طي مسير بمنظور به خسارت م و ايجادبررسي محيط اطراف خود براي جلوگيري از تصاد

.باشد هدف نهايي ربات مي كه امداد

حال اين .كنند هدف حركت مي سوي دوري و بهراز خط، نمايند هاي غير ارادي انسان عمل مي ها همانند احتياط اين ربات .سوق دادن نتيجه به مقصد باشديا تواند به صورت فيزيكي و حركت مي

6صفحه

Page 12: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

به اين كه براي طراحي ربات در نظر گرفته شده است قابليت نگهداري وقايع قبل را نيز ي هدفغير ازبايست مراحل بعد ميدر .كند اين قابليت امكان برگشت به عقب و همچنين بازيابي اعمال گذشته را امكان پذير مي. اضافه نمودمجموعه

قابل توسعه طراحي نمود بايست از همان ابتدا يك ساختار قدرتمند ميپس ،كنند اين اطالعات به مرور افزايش حجمي پيدا مي آتي از آن هايدر نيازبتوان همچنينلحظه به لحظه وقايع را در حافظه خود ضبط و نگهداري كند انجام وظايف در راستاي تا

.كافي نموداستفاده

در همين راستا مي توان از اين قابليت حافظه . با اهميت باقي استوار از اين اطالعات راه بسيار زيادي تا استفاده انسانوننهمك شبكه وهاي هوش مصنوعي البته اين كار نيازمند روشهاي خاصي از شاخه. در يادگيري و تجربه نمودن ربات استفاده نمود

بررسي و در نتيجه هاي مجربي را براي تحقيق، تيم،هاي بزرگ براي سوق به اين اهداف همكنون شركت .باشد عصبي ميسازي رسيده و با اطالعات قبلي، قابليت خود كم به حالت بهينه به اين ترتيب ربات كم.اند هاي مختلف گمارده سازي روش پياده

.رساند اهداف كاربر نهايي را با كيفيت بهتري به نتيجه مي در نتيجه،برد را باال مي

هاي بسيار تر از اين اعمال، با تيم بسيار گستردهبايست ميسازي شروع شود زماني كه به هدف پياده،البته اين شرح مختصرسازي قابليت تفكر و يادگيري انسان گونه براي ها پياده هدف نهايي در اين گونه رقابت. گردديساز ريزي و پياده برنامه،قدرتمند

. باشد همكاري در كنار انسان مي

سازان بخشي از هزينه، زمان و تفكر خود را صرف آينده جهان در برابر سندگان و فيلمهمينطور كه در حال حاضر خيلي از نويتوان ردپايي از ترس و نگراني در كنار در هر گوشه و كنار محافل علمي فلسفي مي. اند نما نموده هاي هوشمند و انسان ربات

ها را اساتيد دانشگاه،ها نما ديده و اين تفكر و تحليل سانهاي خودمختار ان ها و ربات نگري براي آينده تعامل انسان شوق و آيندههاي خود را در كنار تحقيقات و ها و نگراني قدر مسلم اين شاخه نيز احتياط .نيز به تأمل و تفكر وا داشته است

ه هدف مورد تواند ب اين مزيت كه يك ربات خودمختار بدون كمك و صرف زمان كاربر مي .طلبد هاي عظيم مي گذاري سرمايه .تواند با آزاد نمودن زمان كاربر به او كمك فراواني نمايد و همچون ابزار ديگر مينظر او برسد قابل توجه است

؛ در )به دليل طراحي فيزيكي(تواند در سطح صاف و هموار ميباشد كه يك ربات امدادگر از نوع خودمختار مي 3ربات ناجي باشند انجام كار نموده و نقشه محيط را بصورت ليت حركت در سطوح ناهموار را دارا ميهاي ديگر ناجي كه قاب كنار ربات

به حالت كنترل و توان در موقع مورد نياز اين ربات را از حالت خودمختار خارج نموده همچنين مي. خودكار توليد و تفسير كند .انساني تغيير وضعيت داد

و زمان تواند به هدف مورد نظراو برسد قابل توجه است و صرف زمان كاربر مياين مزيت كه يك ربات خودمختار بدون كمك .نمايد كاربر را براي وظايف مهتر آزاد مي

7صفحه

Page 13: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

3 ربات ناجي ) 3-1بخش

ونيك دانشگاه آزاد قزوين به مديريت جناب آقاي دكتر رهاي ناجي به همت تيم ربات امدادگر آزمايشگاه تحقيقاتي مكات رباتدر حال حاضر اين . اند زيادي در اين عرصه كسب نمودههاي بسيار شروع نموده و تا همكنون موفقيت خود را شهري فعاليت

در مناطق سانحه ديده مورد استفاده قرار رساني ربات براي شركت در مسابقات ربوكاپ كه نهايتاً براي امداد چهارتيم دارايباشد سنسور مافوق صوت ميدوازدهكه مجهز به ) 3-1شكل (3 ناجي پروژه ترسيم نقشه بر روي ربات. باشد د مينگير مي

دو عدد چرخ با دو موتور .اند دور تا دور ربات قرار گرفته، درجه نسبت به هم30 اين سنسورها در زاويه .سازي شده است پياده. باشد ميدر پشت ربات رخ هرزگرد حفظ تعادل نيز به عهده يك چ. گيرد دقيق براي كنترل حركتي ربات مورد استفاده قرار مي

، قطب نماي ديجيتال، دوربين ويديويي با فرستنده آنالوگ و سنسور 1از ديگر تجهيزات، دارا بودن كد كننده براي هر موتور .باشد حرارت و گاز مي

مركزي نيز از روكنترلميكركه اين شوند كنترل مي) Atmel ATmega128( به وسيلة ميكروكنترلرهاي مركزي از نوع 2ها گرداننده نوع طراحي بدين شكل .دارد دستورات را دريافت مي نصب شدهبر روي خود رباتكه ) PC/104 (3يك كامپيوتر تك بورد

باشد ميرهابر عهده ميكروكنترلاطالعات سطح پايين باشد كه اعمال كنترل اجراي دستورات، پيگيري اجرايي و جمع آوري ميسيم با كامپيوتر كاربر، تحليل و پردازش باز خورد اطالعات ميكروكنترلر، تضمين ارتباط شبكه بيوليكن پردازش درخواست

.گيرد هاي خودمختار ربات در كامپيوتر مستقر در روي ربات انجام مي كاربر و همچنين برخي از پردازش

باشد، ميكاربر باشد در دست ميربات الي سطح باافزار كنترل در كنار اين تجهيزات يك عدد كامپيوتر كيفي كه مجهز به نرم .باشد نيز ميافزار رسم و ثبت نقشه نرمهمچنين اين قسمت شامل

به همراه TCP وUDPسيم و پروتكل ارتباطي ارتباط امن و رمز شده ربات و كاربر از طريق كامپيوترها، بوسيله شبكه محلي بي .ورت تصويري كليات را بررسي نمودتوان بص در شكل زير مي .شود انجام ميCRCكدينگ

)شماتيك ربات ناجي (1-1شكل

1 Motor Encoder 2 Motor Drivers 3 Single Board Computer (SBC)

8صفحه

Page 14: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

هاي نامشخص و وظيفه اين ربات سركشي به تمام موقعيت. باشد براي سطوح صاف و هموار مي3طراحي ربات ناجي اصل ت و گازهاي همچنين ثبت موقعيت مصدومين و عوامل محيطي همانند حرار. باشد مبهم و ثبت موانع و مسيرهاي موجود مياين ربات با قابليت خودمختاري از زمان ارسال فرمان شروع از طرف كاربر تا . باشد خطرناك بر روي نقشه نهايي خروجي مي

.نمايد ي محيط را بررسي م،اري بررسي شدهرزمان دريافت فرمان توقف و يا رسيدن به مسير تك

.شود يل داده ميو گاز و مسير حركت ربات به كاربر تح تصوير نقشه محيط به همراه موقعيت مصدومين،،در نهايت

از قابليت ديگر آن راهنما و .باشد هدف اصلي اين ربات پويش و بررسي محيط و ثبت و ضبط عوامل طبيعي و مسيرها ميهاي ناجي تواند ديگر ربات افزار رسم نقشه مي همچنين نرم. باشد هاي ديگر در رسيدن به هدف نجات مصدومين مي مكمل ربات

كمك بسيار زيادي را به ،اين امكان. نمايش دهدخودرا در كنار اين ربات پيگيري نموده و در هر لحظه موقعيت آنرا نسبت به توان هر دو ربات با اين روش مي. كند كاربر كنترل كننده ربات جهت ترك موقعيت فعلي و جايگاه خود نسبت به ربات پايه مي

يكي خودمختار و ديگري (.تري جستجو را انجام نمود ارد نموده و با ديد گستردهوك كاربر داخل زمين را در يك لحظه و با ي )كنترل دستي

اين ربات قدرت بسيار زيادي . ساخته شده استو طراحي 4 ربات قدرتمند ديگري با عنوان ربات ناجي ،3در كنار ربات ناجي در قسمت جلو با دو بازوي قدرتمند قابليت مانورهاي اين ربات . باشد جهت طي مسيرهاي ناهموار و موانع سخت دارا مي

اطالعات مفيد را از طريق انبوهي از در هر لحظه نين چ همباشد و كاربر مي كنترلبا اين ربات كامالً . باشد زيادي را دارا ميهاي آن منتقل شده و باعث تسمه قدرتمند به نيروي محرك اين ربات از طريق دو موتور،گرداند افزار كنترل به كاربر باز مي نرم

60 زاويهدر حدودي سطح شيب داراين ربات به سادگي از . شود رانش و صعود از موانع و سطوح شيب دار با شيب تند ميمان مسابقات آلدر اين ربات بسادگي . كند ها را به فواصل مختلف طي مي كمك بازوهاي خود انواع پلهبا درجه باال مي رود و

با قدرت گذر نمود و همين نكته مهم نظر داوران مسابقات را را 1اي زمين پلهو جديد با نام يكي از موانع سخت 2005و ژاپن .به خود جلب نمود

ها نيروي ربات. كند نيروي خود را از يك موتور ديگر به همراه جعبه دنده مناسب تأمين مي،رباتاين بازوي تغيير وضعيت ها داراي يك ناجي. كنند ولت با قابليت شارژ مجدد تأمين مي12 باطري 3 از 4 از دو و ناجي 3را به ترتيب ناجي محركه خود

تور مادون قرمز مخصوص ديد در شب و حسگر حرارتي ك به همراه پروژ به چرخش به طرفينعدد دوربين بسيار قوي و مجهزاند و هميشه به سمتي كه كاربر مشاهده قابل چرخش نصب گرديدهتمامي مجموعه بر روي جعبه . باشد ليزري راه دور مي

برابر بعالوه استقامت بيشتر در ،باشد را دارا مي3اين ربات تمامي امكانات و مشخصات ربات ناجي . اند كند نشانه رفته مي . آب و هواييدهاي صنعتي، حادثه ديده و شرايط ب محيط

ند و تست خود را در مناطق و باش ها و نيازها دارا مي ص خود را در ساير محيطهاي ديگر ناجي نيز عملكردهاي خا ربات .اند هاي باز و سانحه ديده حقيقي گذرانده محيط

1 Step Field

9صفحه

Page 15: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

رسم نقشه و نيازمنديها) 4-1بخش

نجات بهتر درر وت رساني سريع براي كمكههدف ما از ترسيم نقشه در ربات امدادگر، دادن اطالعات مفيدي از محيط ناشناخت باشد نيز ميزياد انسان كه احتمال خطر برايناشناخته و هاي خطرناك توان براي محيط بعضاً مي. باشد ميديده حادثه نمصدومي

قبل از هر چيز اگر هنوز ربات ساخته نشده . اطالعات مفيد استخراج گرددها از رسم نقشه توسط اينگونه رباتاستفاده نمود و در صورتي كه . شه و نياز آن شناخته شده و طراحي فيزيكي ربات براساس هدف مورد نظر دنبال شودبايست دقت نق باشد مي

. در راستاي ترسيم نقشه از آن استفاده نمودتاهاي آن شناسايي گردد ربات آماده بهره برداري باشد بايستي امكانات و قابليتباشد ايي موانع اطراف به همراه مؤلفه مهم آنها يعني فاصله مياي براي شناس كمترين امكانات در اين راستا دانستن وسيله

افزار نهايي براساس ابزار انتخابي بايستي از فاصله مطمئن شد و آنرا براي تحليل، تصحيح در صورت وجود خطا و رسم به نرم ههاي بررسي شد در بخش بعد روش. ختتوان نرم افزار را گسترش داده و نيازهاي كاربر را برآورده سا بنا به نياز نيز مي. رساند

اين حسگرها . باشد ابزارهاي مورد استفاده در ترسيم نقشه معموالً انواعي از حسگرهاي موجود در بازار مي. دهيم را توضيح ميا به در نهايت نيز ما ر. شوند معموالً به دليل قيمت مناسب، دقت كافي قابليت اطمينان و سادگي تحليل و عملكرد انتخاب مي

تر هاي محاسبه نيز پيچيده تحليل و الگوريتم، هزينههتر شوند غير مسأل تجهيزات پيچيدههر چه . رسانند بخش اعظمي از هدف ميهاي موجود تركيبي از دو نوع يكي از بهترين راه. باشد راز مدت ميدشوند كه اين مسأله بزرگي در روند توسعه و تكامل مي

. سازي نمود اي را پياده هاي پيچيده ها و الگوريتم بايست روش افزار نيز براي بهبود تصوير مي نرماز جهت. باشد تجهيزات مي دامنه وسيعي از انتخاب را جلوي ما قرار ،مستقل از چهارچوب پايه و محيط توسعه، انتخاب روش نمايش و روش تحليل

.دهد مي

باشد در قسمت بعد نحوه پردازش اطالعات رسيده براي رسم ميهاي اصلي در كنار ترسيم دو بعدي و سه بعدي از انتخاب .شود افزاري مورد استفاده به تفصيل شرح داده مي ل بعدي روش نرمصو در ف. گيرد افزاري مورد بحث قرار مي هاي سخت روش

10صفحه

Page 16: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

روشهاي ترسيم نقشه) 5-1بخش

از وسيع و متنوعيدامنه .باشد سيم نقشه محيط ميافزارهاي بررسي شده براي تر هاي سخت هدف توضيح واسط،در اين قسمت .پردازيم عات ميط كه در زير ما به توضيح و شرح چندي از اين قباشد تجهيزات براي بررسي و ترسيم نقشه موجود مي

1 حسگرهاي مافوق صورت)1-5-1

صوتي فراتر از اين حد قابل شنيدن هرگونه موج . باشد كيلوهرتز مي20الي 20آستانه شنوايي انسان در محدوده خاصي بين كيلوهرتز ولي با همان سرعت صوت مورد 20امواج مافوق صوت خارج از شنوايي ما و باالي فركانس دليل به اين . باشد نمي

در اينگونه حسگرها ما به يكي از گاهي از سرعت صوتبا آ. باشد استفاده بسيار مفيد در حسگرهاي مافوق صوت مي اين سنسورها در مدار بصورت خازن ظاهر شده كه با .كنيم دسترسي پيدا مي ،محاسبه فاصله تا موانعيعني آن كاربردهاي مهم

شتي به صفحه حساس، مدار را گهمچنين برخورد امواج باز. ندنك توليد ميرا تحريك آن نوسان نموده و امواج مافوق صوت در نتيجه با نگهداري زمان رفت و برگشت و آگاهي از سرعت صوت .كند دريافت امواج آگاه ميزرا ا و مانمايد تحريك مي

مدل . شوند به كار برده مي) گيرنده/ فرستنده(اين نوع سنسور معموالً به صورت جفت . توان فاصله تا مانع را بدست آورد مي .باشد ميSRF04مورد استفاده در ربات امدادگر آزمايشگاه تحقيقاتي مكاترونيك

صورت I2Cباشد، ارتباط آن نيز با روش فوق صوت و يك عدد ميكروكنترلر ميماشكل از يك جفت سنسور اين ماژول متوليكن . آيد بدين طريق فاصله سنسور تا مانع بدست مي. باشد نحوه محاسبه نيز با محاسبه عرض پالس بازگشتي مي. گيرد مي

. كند و نه نقطه دقيق آنرا اي از ديد خود مشخص مي حدودهباشد اين مدل فاصله مانع را در م شكل مشخص ميرهمانطور كه د فاصله آن محاسبه شده و نتيجه بدون در نظر گرفته شدن جا و ،هرگاه مانعي در محدوده ديد اين سنسور وارد شوددر اين روش

.شود مكان مانع برگشت داده مي

)نمودار حسگر مافوق صوت (2-1شكل

1 Ultera Sonic Sensors

11صفحه

Page 17: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

1حسگرهاي مادون قرمز) 1-5-2

خارج شويم قادر به بينايي به محض آنكه از محدوده .باشد همانند محدوديت شنوايي، انسان داراي محدوديت بينايي نيز ميخاصيت . شود قرمز استفاده مي م به مادون موسواز اين خاصيت در نوعي حسگر .باشيم ديدن هيچ گونه تصوير، رنگ و شكل نمي

اين طي مسير به خط مستقيم نسبت به نوع مافوق صوت در اين فركانس نوري به همراه سرعت نور و نبود مزاحمت اطالع از اي از راه اين نوع حسگر به عنوان محاسبه فاصله، بدست آوردن دماي نقطه. كند حسگر را مورد استفاده در كاربردهاي خاص مي

اي هاي خوب براي بدست آوردن فاصله از نقطه يكي از انتخاب. استر گرفتهمورد استفاده بسيار قرا …دور، انتقال اطالعات وباشد مورد نظر ما ميها تهمه جهدر زيرا پويش باشد وليكن استفاده آن به تنهايي كافي نمي .باشد قرمز مي مادونخاص، حسگرنوع ليزري اين حسگر نيز عملكرد مشابهي . دبعنوان ابزاري مكمل كاربرد بسيار مفيدي داراين حسگر . اي مشخص و نه تنها نقطه

.باشد قطعات الكترونيكي آن مينوع قدرت سيگنال، فركانس وباشد و تنها تفاوت آن در دارا ميرا

2پويشگر ليزري) 1-5-3

ربردهاي از كايكي با توجه به قيمت باال اين نوع حسگر . باشد تر حسگر مادون قرمز ليزري، پويشگر ليزري مي نوع كاربردينيز همچنين براي نمايش بالدرنگ موانع محيط در راهبردهاي بدون ديد .باشد رسم نقشه ميتخاص آن ثبت موانع محيط براي

از كاربردهاي معروف راهبردي بدون ديد، استفاده اين مكانيزم در راهبري ربات، اتومبيل و ساير ادوات در . كاربرد فروان دارد .باشد نور ميكمتاريكي مطلق و

اي در حال گردش تمام صفحه يا قرمز و يا ليزري درون محفظه باشد كه يك حسگر مادون مكانيزم پويشگر ليزري بدين شكل مي .كند هاي اطالعاتي به كاربر ارسال مي و تمامي اطالعات محيط را در بستهباشد نيم صفحه مي

د آنگاه با يآ آن زاويه بدست ميدر فاصله در بازگشت اين پالس و شده در هر درجه پالسي فرستاده ،بسته به دقت مورد نياز ما پويشگر مورد استفاده ما. ترسيم نمود رااين اطالعات مي توان نقشه بسيار دقيق از محيط حول پويشگراز پردازش مجموعه

URGشركتAUTOMATIC HOKUYOاب را ه درج270 اين پويشگر همانطور كه در شكل مشخص است زاويه .باشد مي آورد و با ارتباط سريال به مقصد بدست مي بين هر نقطه با دقت كمتر از يك درجهو از هر طرف ) محدوده مرگ (17اختالف ْ

كه در راهنماي آن بطور كامل شرح داده نحوه كار با آن نيز به وسيله دستورات استاندارد اين پويشگر . كند مورد نظر ارسال مي)محدوده پويشگر ليزري (3-1شكل .دباش شده مي

1 Infrared Sensors 2 Laser Scanner

12صفحه

Page 18: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

پردازش تصوير) 1-5-4اين . باشد هاي محبوب در عرصه علوم رباتيك در حال توسعه و كاربرد مي پردازش تصوير چندي است بعنوان يكي از روش

اساس اين روش بر مبناي پردازش .باشد يم نيزجايگاه خود در علوم ديگر و حتي كاربردهاي روزمره در حال گسترش روش آناليزي در حد چشم انسان ف اين روش رسيدن به پردازش و اهد يكي از ا.باشد فريم به فريم تصاوير دريافتي از دوربين مي

.باشد م تصوير مييهايي جهت استخراج اطالعات مفيد و مورد نياز كاربر از يك فر ها و الگوريتم و در صدد ارائه روشباشد مي

يا جسمي محاسبه فاصله تا مانع. كند ات بنا به نياز كاربر اين روش وسعت فراواني پيدا ميبا قابليت استخراج هر نوع اطالعتصوير دريافتي بصورت در اين روش . باشد از كاربردهاي اين روش مي…، شناسايي اجسام، رنگ، شكل، تطابق الگو وخاص

شود، حال هاي متفاوت دريافت مي با داده) بسته به روش و تك رنگ يا رنگي بودن(ماتريس دو بعدي يك در يك يا بيشترا استخراج مگيرد و اطالعات درخواستي ها و محاسبات بر رويش انجام مي تصوير دريافتي بنا به نياز ما انواع فيلترها، الگوريتم

.گردد مي

ربات امدادگر در . دباش هاي متفاوت، الگوريتم فراوان و استخراج انواع اطالعات مي وسعت اين روش نيز به دليل قابلتنما در حال هاي آتي خود از اين روش استفاده خواهد نمود وليكن در ربات فوتباليست سايز كوچك، متوسط و انسان برنامه .شود استفاده ميبه كثرت از انواع اين روش ،حاضر

بينايي استريو) 1-5-5در روش قبل معموالً تصوير يك . باشد بينايي استريو ميازبا استفاده مرحله جديد از روش پردازش تصوير، پردازش تصاوير

گردد وليكن در اين روش با پردازش تصوير دو دوربين هم راستا و با آگاهي از فاصله كانوني دو دوربين از دوربين پردازش ميدر انسان . گيرد يبدين شكل فواصل و پردازش اطالعات با دقت و سرعت بيشتري انجام م. گيرد هم بررسي تصاوير صورت مي

وليكن راه البته پردازش با بيش از دو دوربين نيز در حال بررسي و توسعه مي باشد .شود استفاده مياين مدل پردازش از عمالً .بسياري تا نتايج عملي آن مانده است

البته توضيحات بيشتر از .گيرد در روش هاي بيش از يك دوربين محاسبه فواصل و درك تصاوير با توانايي باالتري انجام مي .توان استفاده نمود از منابع اين فصل و يا اينترنت مي،حوصله اين بحث خارج است ولي براي اطالعات بيشتر

13صفحه

Page 19: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

سازي طراحي و پياده–فصل دوم

14صفحه

Page 20: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

تجهيزات و امكانات) 1-2بخش

به 1جريان مستقيمين دو عدد موتور همچن. باشد ژول حسگر مافوق صوت مي ما12مجهز به خودمختار ربات امدادگر ناجي نماي ديجيتال نيز براي تصحيح خطاي چرخشي يك عدد قطب. كنند نيروي محركه را تامين مي ،همراه كد كننده براي بازخورد

كنترل نصب شده در روبات نصب گرديده است، تمامي اين تجهيزات توسط ميكروكنترلرهاي در باالي ربات ها ننده كدر كد .شوند مي

نصب شده بر روي ربات ارسال PC/104به يك كامپيوتر تك بورد افزاري مجموعه اطالعات الكترونيكي و سختدر نهايت در اين كامپيوتر اعمال ارتباط با خارج، پردازش . مجهز استسازي شده لينوكس بهينهاين كامپيوتر به سيستم عامل . شوند مي

.گردند بررسي مياطالعات تصميم گيري، امنيت و شروط حركت

كامپيوتر كيفي واحد كنترل و رسم با IEEE 802.11aاستاندارد و سيم روبات از طريق شبكه بيدرارتباط كامپيوتر نصب شده يابي و جلوگيري از براي مسير پردازش منطق فازي جهت MathLabافزار مردر ضمن به دليل نياز به ن. باشد ميبرقرارنقشه

.گيرد دمختار، اين مجموعه پردازش در كامپيوتر واحد كنترل صورت ميخوتصادم در ربات

را بصورت اطالعات پردازش شده زاويه و حركتUDP/IPافزار ترسيم نقشه با استفاده از سوكت شبكه و پروتكل نرمهمچنين . كند افزار واحد كنترل دريافت مي مختصات قطبي و موانع تشخيص داده شده را از نرم

با اتكا به همين قابليت همچنين. افزار بدليل افزايش استقالل و قابليت استفاده در شبكه انجام گرفته است ي اين دو نرمجداساز .مي توان با توزيع بر روي بيش از يك كامپيوتر بازده را افزايش دادبراي جلوگيري از افزايش بار

به قرار داده و همورد توجن امكانات را ادامه ايكنيم و در ور ميافزار را بصورت كلي مر در بخش بعد طراحي و امكانات نرم .كنيم بررسي ميشرح داده و تفكيك

1 Direct Current (DC)

15صفحه

Page 21: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

افزار تئوري طراحي نرم) 2-2بخش

سپس با تغيير نقطه مرجع . باشد ثبت گردد اي ثابت كه محل استقرار فعلي روبات مي بايست موانع از نقطه در ترسيم نقشه ميدر . رسم گردنداز ديدگاه موقعيت جديدموانع شناسايي شده مجدداً موقعيت جديد محاسبه شده و آنگاه ،يعني حركت ربات

.دشبا مي موانع اطراف كه شاملشود اي از محيط رسم مي اثر تكرار اين روند تدريجاً نقشه

به ،محيط كاربر استفاده مي شودسازي اين روش براي واقعيت بخشيدن به هاي اكشن و استراتژيك چندي است از شبيه يدر باز بعا مني همچنين با پيدا كردن هر جسم ،گردد اين شكل كه با گردش شخصيت بازيكن در محيط به تدريج نقشه محيط نمايان مي

.گردد عالمت يا پرچم بر روي نقشه عالمتگذاري ميو قراردادن

همچنين در .باشد ه بطور كلي و قابل درك براي خواننده ميافزار ترسيم نقش ح عملكرد نرمي آشنايي و توض، هدف،در اين قسمتشود و فصل آخر اين بخش نيز به توضيح دقيق اين رفتار بر توضيح داده ميو مشخصات هاي بعد نيز اصطالحات ناآشنا فصل

ترسيم با .رديده استنرم افزار ترسيم نقشه در دو مدل براي دو نوع حسگر موجود طراحي گ.افزار تأكيد دارد روي كد منبع نرم .حسگرهاي مافوق صوت و ترسيم با پويشگر ليزري

افزار كنترل ربات دريافت نرمرا از ) دو نوع پاكت اطالعاتي(هاي ترسيمي اطالعاتي محتوي دادهاين نرم افزار در ابتدا بسته ،گردد، سپس بر روي نقشه محاسبه مي در ابتدا نقطه مرجع يا همان موقعيت جديد ربات ،پس از دريافت اطالعات خام. كند مي

همكنون زمان آن رسيده كه اطالعات حسگرها را مورد ارزيابي قرار داده و به تكامل .گردد ربات به موقعيت جديد منتقل ميكه باشد باشد اولي يك صفحه گرافيكي از نوع نقشه بيتي مي افزار دو آرايه اطالعاتي موجود مي در اين نرم. نقشه كمك نماييم

باشد كه وظيفه ميعدد صحيحز نوع ادو بعدي دومي يك آرايه . باشد بصورت بالدرنگ وظيفه نمايش نقشه به كاربر را دارا ميدر صفحه و اين اطالعات در مرحله آخر براي نمايش .باشد را دارا ميو پس از پردازش ذخيره اطالعات پتانسيل داده شده

شكل زير نمايي از رابط .شود دهي در بخش بعدي به شرح توضيح داده مي روش پتانسيلن در ضم .شوند ميآماده تحليل نهايي .دهد افزار ترسيم نقشه را نشان مي گرافيكي كاربر نرم

)افزار ترسيم نقشه و پخش كننده نماي نرم (1-2شكل

16صفحه

Page 22: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

پس از توقف . باشد ي بصورت همزمان ميده دهيم اين پتانسيل پس در ابتدا براي ذخيره در آرايه پردازشي به نقاط پتانسيل مي بر در اين زمان به درخواست كار.رسد در نتيجه زمان پردازش نهايي فرا مي،شود اطالعات جديد ارسال نميديگر ربات

ز به محدوده مجا را و محدوده آنمي نمايدنرمال را ه پردازشي ي آرانهايي در ابتداپردازش . دشو ميآرايه شروعپردازش نهايي ساده بسيار روش اين .گردد اعمال مياييي هاي پردازش تصوير بنام لبه پس از نرمال سازي يكي از الگوريتم،دهد تغيير مقدار مي

.گردد ها و كاهش نويز ناشي از خطا اعمال مي براي تقويت ديوارهولي موثر

تواند كه با اين فيلتر ميباشد اختيار كاربر مي پردازش نهايي يك عدد فيلتر با قابليت كاهش نويز و بصورت دستي درپس ازبايست تعادل بين نويز و كيفيت را در اصل در اين قسمت مي. يير داده تا به مقصود نهايي خود برسدغبدلخواه تصوير را ت

ده شده و از قبيل حداكثر فاصله مشاهاي كنندهمحدودهاي شرط ،همچنين در ضمن رسم همزمان. بصورت دستي برقرار نمايدشود هر زمان ربات نيز توضيح داده ميعدهمانگونه كه در بخش ب. شود كاهش خطاي چرخشي نيز براي بهبود تصوير اعمال مي

همچنين در هر لحظه و كند ميگسترش پيدا پويش در حركت باشد بصورت خودكار محيط پويشبه سمت خروج از صفحه .شود داشته ميش نگه مايافزار ن متمركز نرمكادر مركز ربات در

17صفحه

Page 23: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ها و بهبود تصوير پردازش داده) 3-2 بخش

.شود افزار به شرح توضيح داده مي هاي مورد استفاده در نرم ها و الگوريتم در اين بخش روش

دهي به نقاط پتانسيل) 2-3-1 البته اين مشكل در باشد كه فضاي ديد مخروطي شكل ميها، كاربردگونهاز مشكالت عمده حسگرهاي مافوق صوت در اين

. شود محسوب ميآنها مزيت و قابليت ءاطراف اتومبيل جزموانع ي همچون سيستم كمك پارك اتومبيل و اخطار يكاربردهاشي و مانعي كه در اين مخروط قرار گيرد مستقل از موقعيت آن فقط مقدار فاصله آن ر شود ه همانطور كه در شكل مشاهده مي

گيرد قابليت شناسايي موقعيت بر روي ر قرايشكمتر آنست كه اگر جسمي بر روي كمربند دقيق،ستاز حسگر قابل شناسايي ا .اين كمربند قابل دسترسي مي باشدتا باشد بلكه فقط فاصله نمي كمربند

)بازه مخروطي حسگر مافوق صوت: چپ–دهي نمودار پتانسيل: راست (2-2شكل

وزن اين . دنشو داردهي ميق، تمامي نقاط كمربند مشكي م باالهمانند شكلباشد كه شكل ميدهي به نقاط بدين روش پتانسيلن بصورت پيش ي همچن.يابد كاهش ميبه خارج مركز اين كمربند مشكي ازاللي حكمربند يك به شكل اده شده د مقدارنقاط

در ،سگرها و همپوشاني حسگرهاي مجاوراين ربات بدليل تعدد ح. باشد شكي ميمدر مركز كمربند ديده شده فرض نقطه پس .شود اي بين دو حسگر مي نقطه،دهي هر دو نقطه، نتيجه افزايش حالتي كه جسمي در ديد دو حسگر قرار گيرد با پتانسيل

ر دو اين ه. اي از اثر آن در محيط را رسم نماييم فاصله دقيق آن محاسبه كرده و هالهبه همراه را جسم موقعيت قريباً تتوانستيم تدريجاً اين مقادير افزايش مي يابند تا قطعيت ديوار يا با حس كردن مجدد مانع، حال.همزمان انجام داديمرا در يك روش كار

افزايش نقاط حداكثر به بعد پس از رسيدن به يك حداكثر از پيش تعيين شده ديگر نيازي به از آن .جسم مشخص گردد .گيريم مانع در نظر ميباشد و آنها را بطور قطع نمي

18صفحه

Page 24: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

هر چه فاصله دورتر شود يعني . گيريم در نظر ميفاصله ا نسبت عكس را بدهي پتانسيل و اثر خطاي حسگرها،براي كاهش نويزبا افزايش درضمن . يابد زيرا با افزايش فاصله امكان خطا باال رفته بازه ديد نيز افزايش مي شود مي ط كمترانقضريب پتانسيل

)طبق شكل مخروط. (گردد بازتر مينيز كمربند مشكي يا همان كمربند پتانسيل ،فاصله

سازي پياده. ايم دهي هنگام چرخش را بسيار كم نموده در اين كاربرد به دليل ايجاد خطا در هنگام چرخش ربات، وزن پتانسيل سادگي و سرعت آن درسازي ونه پياده مزيت اين گ. استاين روش بوسيله تكه كد زير با دو حلقه تو در تو انجام گرفته

همانطور كه در . باشد آن مي صحيحسازي نموداري اين تكه كد براي اطمينان از عملكرد نتيجه شبيهصفحه قبل شكل .باشد مي باالترين ارتفاع را دارد يعني وزن باالي پتانسيل، از آن نقطه به اطراف ،شكل نيز مشخص است نقطه مركز در مستطيل سطح

كند حال كه نقطه اوج و حداكثر مقدار نيز برحسب فاصله از حسگر و چرخش ربات متغير است، اضالع تانسيل كاهش پيدا ميپ .كند مستطيل نيز بسته به فاصله از حسگر تغيير مي

void __fastcall TFormMain::DrawInObject(int x, int y ,int d, float Teta)

{

// Set Potential of each points in MapTable array

int X,Y,Potential,DistanceTolerance;

int Pt,Pd;

DistanceTolerance = d/20+1;

Teta -= (AngleTolerance/2)*M_PI/180;

d -= DistanceTolerance/2;

for( int i=1; i<=AngleTolerance; i++)

for( int j=1; j<=DistanceTolerance; j++)

{

X = ((d+j) * cos(Teta + i*0.017453292)) + x;

Y = ((d+j) * sin(Teta + i*0.017453292)) + y;

// ----

Potential = (i < (AngleTolerance/2) ? i % (AngleTolerance/2) : AngleTolerance -i) *

(j < (DistanceTolerance/2) ? j % (DistanceTolerance/2) : DistanceTolerance -j);

Potential *= (10-(d/15));

// ----

MapTable->Set(X, Y, (MapTable->Get(X,Y))+Potential);

}

}

19صفحه

Page 25: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ماتريس نقشهنرمال نمودن) 2-3-2افزار مقادير پتانسيل را نرم،براي نمايش. باشد ميبهينه و مفيد نقشه و نمايش رسم ،هدف پس از اتمام پويش و ذخيره اطالعات

در ، براي رسم داريم255 الي 0ي بين عدديعني نياز به محدوده . دكن مستقيماً به شدت نور در هر نقطه تبديل نموده و رسم مي. به رنگ سفيد نمايش داده خواهد شد 255با مقدار به رنگ مشكي و حداكثر پتانسيل 0 با مقدار اقل پتانسيلاين حالت حد

باشد پس نياز به نرمال نمودن آرايه ميليارد مي2 الي 0 ، بيناي از اعداد صحيح آرايهانتصاب وليكن محدوده مجاز پتانسيل بنا به .باشد مورد نظر ميهبه محدود

متغير .نماييم محدوده پتانسيل را به محدوده قابل قبول براي رسم تبديل مي) Point / Max (255*ساده رياضي مقابل با رابطه Point وليكن مقدار . باشد ها مي در آرايه پتانسيل مقدار نقطة مورد نظرMaxگيري است از دو روش قابل اندازه.

براي تحليل هر پنجره وشوند تقسيم مي انديسي40 در 40 هاي به پنجرهيل پتانسايهردر اين روش كل آ: روش پنجره لغزان) 1اعمال گرديده و بر آن پنجره فرمول دهيم، حال را برابر آن قرار مي Max مقدار دار حداكثر همان پنجره استفاده كرده وقاز م

.شود سپس به پنجره بعدي منتقل مي

در كل آرايه بدست آمده Maxير غباشد سپس ابتدا مت يك پنجره بزرگ مينند به مادر اين روش كل آرايه : روش كل صفحه) 2 .بر كل آرايه اعمال مي نماييمرا فرمول بعد از آنو

يك پنجره بخش اعظم آن در نويز باشد اگر . روشي مستقل و خوب است وليكن يك عيب بزرگ داردبطور مختصر روش اول ما در .شود ميمنتهي نمايان شدن نويز و به شود باعث تقويت نويز محيط ميدرنتيجه شود، دار بااليي نميق م،مقدار حداكثر

.ايم كردهافزار از روش دوم استفاده نرم

خطاي چرخش ربات)2-3-3شوند، اين اي مواجه مي با افزايش سرعت زاويهحسگرهاي مافوق صوت بدليل ديد مخروطي شكل در هنگام چرخش ربات

آل مسير ربات هيچگاه ايده.شود توليد نويز ميو در نتيجه منجر به افزايش وگردد ناشي از ديد موانع ميباعث خطاهايمساله گردشزمان در توقف پردازش ،اولين راه. حل شودمورد توجه قرار گرفته و اين مشكل بايست باشد پس مي و مستقيم نمي

ر صورت چرخش زياد يا چرخش در حال حركت بخشي از نمايد وليكن د حل ميبسادگي مشكل را باشد كه ميربات در هنگام راه بهتر اين است كه نتيجه بررسي پس از. كند وضوح كمتري پيدا ميقسمت اطالعات از بين رفته و نقشه در آن

اين . شودθΔيل تقسيم بر وزن پتانسيل به شدت كاهش پيدا كند و به نوعي وزن پتانسθΔچرخش و اختالف باالي مقدار در اين حالت هم رسم نقشه ادامه دارد و هم شدت توليد . ي كردباسناساس تجربه و آزمايش مقداردهي م بايست بر متغير را مي

.دنماي با هم حل ميهمزمان در اصل اين روش هر دو مورد را .نويز با افزايش زاويه چرخش به شدت كاهش مي يابد

20صفحه

Page 26: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

يابي تصوير نهايي لبه) 2-3-4بهبود كيفيت ما در آخرين مرحله هدف .اند بعدي نقشه مشخص شدهدو تصوير تا حد زيادي تكميل شده و موانع در صفحه

در اختيار ، كهيك نوع فيلتر دستيبا طراحي قبل اشاره شد در همانگونه كه . باشد تصوير، همچنين حذف نويز تا حد امكان مي .كند نيز تغيير ميحداقل پتانسيل مقدار مولفه فيلتر مقدار با تغيير . تصوير را بهبود بخشيدتوان مجدداً قرار گرفته است مي كاربر

، در نتيجه بعضي از نقاط كه بطور اشتباه يا بخشي از نقاط كم پتانسيل حذف مي شوند،با افزايش حداقل پتانسيل در محدودهالبته و اين فيلتر با سعي و خطا كاربر به نقطه مطلوب خواهد رسيد. شوند ند بسادگي حذف ميا بعنوان نويز تقويت كمي شده

ايم كه به افزار استفاده نموده در نرم و موثرتري را وليكن فيلتر مفيدتر. هوشمندي و بازده آن كامال به تجربه كاربر وابسته است .باشد ميمعروف ي در پردازش تصوير باي الگوريتم لبه

دور پنجره را با كادر بايست ارقام در هر قسمت مي. كنيم پويش ميانديسي سه در سهاي در اين الگوريتم كل آرايه را با پنجرههاي تعداد خانه11كه عدد . نماييم 11تقسيم بردار نهايي را قآنگاه م برابر مقدار مركز پنجره نموده 3هم جمع كرده به اضافه

.دهيم قرار ميمركزي حال مقدار بدست آمده را در خانه .باشد مي3كناري پنجره به اضافه

113 AX × +

=

كه يحالتدر .شود ميمركزي ف نقطه يضعتباعث تقويت و يا مركزي نقاط دور يك نقطه كليه اين روش با در نظر گرفتن شده و نويزهاي معلق در تقويتها هها و ديوار نتيجه لبهدر .يابد افزايش ميXباال باشند مقدار ول مركز حهاي خانهمقادير

پايينهاي حول مركز خانه مقادير كه حالتيدر وليكن .شوند حذف ميكاربر و تا حدي از ديد روند ميصفحه رو به كاهش .نمايند ها شروع به محو شدن مي مقدار نقطه مركزي كم شده و اين ناحيهدر نتيجه .يابد ميكاهش Xباشند مقدار

در اين حالت اطالعات دريافت شده، پردازش الزم .تا به اينجا رسم نقشه محيط بوسيله تعدادي حسگر مافوق صوت را ديديموليكن در صورت تغيير ابزار . گرفت در اختيار كاربر قرار ميو محيط گرفت و در نهايت تصويري از موانع بر روي آنها انجام مي

اين . باشد مي1 بنام پويشگر ليزرياي وسيله بسيار مناسب براي اينكار ابزار ي ازيك. تري رسم نمود دقيقتوان تصاوير بهتر و مي سرعت بوسيله چرخش وحسگراين . باشد اي با قابليت چرخش نصب مي كه بر روي صفحهاستابزار يك حسگر مادون قرمز

اص حسگر تغيير خاي در اين وسيله پس از بدست آوردن نقطه. ديا موقعيت هر مانع را به سرعت شناسايي نمدتوان باالي نور مياين روال مجدداً تكرار . آورد بدست ميبل قدر نزديكي نقطه اي ديگر را وضعيت داده و با چرخش بسيار كوچكي موقعيت نقطه

تكرار دداً بنا به نياز كاربر مجاين كار . كند پس از آن در جهت عكس تا حد نهايي حركت ميو شود تا به زاويه نهايي برسيم مي .شود مي

USBاه سريال و يا درگت كه با ارتباط ربدين صو. باشد پردازشي باال ميي،وسيله كامل با قابليت عملياتيك پويشگر ليزري ريافت درا ها با همين بستر انتقال دادهآوري اطالعات جمعارسال نمود و پس ازاين وسيله مناسب را به دستورات توان مي .رار گرفته است قاين وسيلهاطالعات 2 فني بخش مشخصات،در قسمت ضمايم .درك

1 Laser Scanner 2 Data Sheet

21صفحه

Page 27: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

حسگر مافوق صوت و پويشگر ليزري)4-2بخش

افزار در دو نسخه براي كار با حسگرهاي مافوق صوت و كار با هاي گذشته توضيح داده شد، اين نرم ر بخشدهمانطور كه افزار براي استفاده گرا و استفاده از مهندسي نرم البته به دليل طراحي كامالً شئ. رديده استسازي گ پويشگر ليزري طراحي و پياده

مجدد از كدهاي توليد شده، فقط در اليه زيرين كه همان ترجمه اطالعات دريافتي و انتصاب آنها به متغيرهاي مورد استفاده آخر كه همان ترسيم و نمايش به كاربر است نيز بدليل افزايش همچنين در قسمت نهايي و اليه . برنامه تغيير اعمال شده است

در اين اليه فرق بين حسگرهاي مافوق صوت و پويشگر . اويه بين پرتوهاي شناسايي تغييراتي اعمال شده استزنقاط و كاهش ها به ها و پردازش تمدر نتيجه ساير الگوري. بين پرتوهاي آنها فرض شده استيليزري، فقط بصورت تفاوت در تعداد و زوايا

.صورت كامال مشابه انجام گرفته است

توانيد شما مي. باشد بطور كامل كد منبع و روش طراحي شرح داده شده است ترين بخش نيز مي در بخش بعد كه مفصل .ها را بصورت مجزا بررسي نموده و در صورت نياز از آنها استفاده نماييد الگوريتم

منتشر شده است و تمامي بندها و قوانين آن بطور 1يه كدهاي منبع تحت مجوز پروانه جامع همگاني گنو قابل توجه است كه كلطبق اين پروانه هرگونه . توانيد به ديسك ضميمه مراجعه فرماييد براي اطالع از محتوي اين پروانه مي. كامل پذيرفته شده است

.كر نام نويسنده بالمانع استكپي برداري، انتشار، توزيع و تغيير در كد اصلي با ذ

1 GNU General Public License (GPL)

22صفحه

Page 28: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

شرح كامل كد منبع) 5-2بخش

برنامه ترسيم نقشه با حسگرهاي مافوق صوت ساختار و روال ابتدا . در اين بخش كد منبع بطور كامل توضيح داده خواهد شدپردازيم و در انتها زري مي حسگر مافوق صوت و پويشگر لي باهاي بين برنامه ترسيم نقشه دامه به تفاوتشود، در ا شرح داده مي

ل نيز قسمت ي پتانسفرمولبرنامه رسم نمودار . نيز توضيح مختصري در مورد برنامه پخش كننده فايلهاي ثبتي داده خواهد شد .كوچكي را به خود اختصاص خواهد داد

ترسيم نقشه با حسگر مافوق صوت) 2-5-1در اين همچنين . گرا براي وضوح و شفافيت كد استفاده نماييم هاي شي ايم از روش ما سعي كرده افزار براي طراحي اين نرم

، قابليت انعطاف در تغيير پارامترهاي هاي تعريف شده ا استفاده از ثابتب. توانايي استفاده مجدد از كد را نيز دارا مي باشيمروش .زير تعريف شده استهسته اصلي كد در قالب يك كالس مستقل به شكل .كليدي كد نيز بوجود آمده است

class Map_Table

{

public:

Map_Table(int, int); // Constructor

~Map_Table(); // Destructor

void Clear(void); // Clear Array of Map potential

void Set(int, int, int); // Set Point of Array

int Get(int, int); // Get Data of Specific Point

void RangeCalc(void); // Calculate Maximum and Minimum of Array

void Normalize(void); // Filter with Power

void SquareNormalize(void); // Square Filtering

void EdgeDetection(void); // Edge Detection for Image Proccessing

bool Expand(char, int); // Virtual expand array

int Height; // Virtual X

int Width; // Virtual Y

int MAX_X; // Maximum X Length

int MAX_Y; // Maximum Y Length

int Max; // Maximum Value in Array

int Min; // Minimum Value in Array

private:

int **Table; // Pointer to Array Data

};

23صفحه

Page 29: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ين كالس ذخيره شده و پردازش بر روي آنها انجام هاي نقاط در ا داده. باشد و نقاط ميهاي اصلي اين كالس براي نگهداري داده .دهيم را توضيح مي2ها و صفت1 متدها اين بحثدر ادامه. شود گيرد، در مواقع نياز نيز از آنها استفاده مي مي

اده از ها عمومي هستند و اجازه استف كليه متدها و صفت. باشد براي شروع و خاتمه هر كالس نياز به سازنده و تخريب كننده مي. باشد سازي شده و فقط با متدها قابل دسترسي مي گر آرايه بصورت خصوصي پياده ولي صفت اشاره،باشند بيرون را دارا مي

. تعريف شده است را داردخصوصي آن در فضاي گر صفت اشاره اي كه به آرايهاين برنامه وظيفه تخصيص فضادر سازنده همانطور كه در كد مشخص است، با دريافت تعداد .ظه را از اين تخصيص آزاد مي كند در آخر حاف،همچنين تخريب كننده نيز

بعد.شود اختصاص داده ميTableگر اي با همان مقدار به صفت اشاره آرايهسازنده، سطر و ستون در قالب پارامترهاي ورودي كنيم و در صورت مواجه شدن با خطا پس از صحت اين عمل اطمينان حاصل ميTry, Catchاز اين تخصيص با زوج دستور

اين متد وطيفه . شود فراخواني مي()Clear در انتهاي سازنده نيز براي اطمينان بيشتر متد .كنيم اطالع كاربر، برنامه را متوقف ميكل آرايه و روش آن پويش . باشد در ديسك فشرده ضميمه موجود ميمتدكد اين . هاي درون آرايه را دارد پاكسازي كامل داده

تخريب كننده نيز در نهايت عملي عكس سازنده را انجام داده و فضاي .باشد آنها ميهاي خانهقرار دادن مقدار صفر در .نمايد تخصيص داده شده را بطور كل از حافظه آزاد مي

Map_Table::Map_Table(int X, int Y)

{

MAX_X = X; // Value of the Maximum X

MAX_Y = Y; // Value of the Maximum Y

try

{

Table = new int*[MAX_X]; // STEP 1: SET UP THE ROWS.

for (int j = 0; j < MAX_X; j++)

Table[j] = new int[MAX_Y]; // STEP 2: SET UP THE COLUMNS

}

catch (std::bad_alloc) // Catch the error when accure occure

{

MessageDlg("Error: Clould not assign array in Memory.",mtError,

TMsgDlgButtons()<<mbOK,0);

exit(-1);

}

Clear(); // Clear the array

} // ---------------------------------------------------------------------------------------------------------------- Map_Table::~Map_Table()

{

for (int i = 0; i < MAX_X; i++)

1 Methods 2 Attributes

24صفحه

Page 30: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

delete[] Table[i]; // STEP 1: DELETE THE COLUMNS

delete[] Table; // STEP 2: DELETE THE ROWS

}

قبل اشاره درهمانطور كه. پردازيم متدها مي توضيحعد از آن به ادامهبدهيم و ها توضيح مي در اين بين مختصري درباره صفت نيز طول سطر MAX_X, MAX_Yهاي صفت. باشد وظيفه ذخيره آرايه محيط و داده نقاط را دارا ميTableگر شده صفت اشاره

شود، پس براي تخريب، چون اين آرايه بنا به نياز كاربر و بصورت كامالً پويا ساخته مي. در خود دارند و ستوني اين آرايه رادر روش ما ابتدا فضاي كوچكي در كل آرايه اصلي در دسترس ترسيم نقشه قرار . نياز به داشتن طول فيزيكي آن خواهيم داشت

در اين كالس وظيفه Height, Widthهاي يابد، صفت ميدارد، به مرور اگر نياز به افزايش ابعاد داشته باشيم محدوده گسترشمحيط را در پارامترهاي ورودي براي حقيقي ما در ابتدا حداكثر ابعاد . نگهداري ابعاد مجازي صفحه ترسيم را دارا مي باشند

در صورت نياز اين در راه طي مسير . ابتدا محدوده كوچكي در اختيار كاربر استهمان ولي از . كنيم ساخت آرايه منتقل ميدر آينده هدف اصلي اين است كه اين گسترش مستقيماً در . باشد كه اين همان فضاي مجازي مييابد محدوده افزايش مي

Max, Min هاي دو صفت ديگر نيز به نام. تخصيص فضاي حافظه انجام گيرد و از ابتدا فضاي كوچكي را تخصيص نماييمگيرند و وظيفه نگهداري مقدار حداكثر و مورد استفاده قرار ميSquareNormalize, Normalizeاند كه در متدهاي تعريف شده

از در جاي خود بطوركامل در مورد متد و نحوه استفاده . باشند را در هر الگوريتم دارا ميدر كل آرايه با پنجره مشخص حداقل .شود ن دو صفت توضيح داده مييا

اين دو متد . مورداستفاده قرار گرفته استSet, Getها دو متد با نام سازي داده ته و خصوصيبدليل جلوگيري از خطاهاي ناخواستوانيد و مقداردهي سه پارامتر ورودي ميSetبا متد . اند هاي آرايه نوشته شده فقط و فقط براي مقدار دهي و خواندن مقدار خانه

بالعكس مي توانيد مقداري را با مقداردهي دو پارامتر Getدر و . در سطر و ستون مورد نظر مقدار مشخصي را قرار دهيد .شود بصورت خروجي متد نمايان ميدرخواستي مقدار . ورودي از سطر و ستون خاصي دريافت نماييد

Normalizeمتد . باشد اي در كل آرايه مي براي محاسبه مقدار حداكثر و حداقل دادهNormalize مورد نياز متد RectCalcمتد توان با اين كار به سادگي مي.اي به محدوده مجاز براي نمايش را دارد نيز همانطور كه قبل اشاره شد وظيفه تغيير مقادير داده

.ترسيم نمودو طيف رنگي سفيد و سياه مقادير را در صفحه نمايش

void Map_Table::RangeCalc(void)

{

Max =Min =0;

for(int i = 0; i<MAX_X ; i++)

for(int j = 0; j<MAX_Y ; j++)

if (Table[i][j]>Max)

Max = Table[i][j];

else if(Table[i][j]<Min && Table[i][j] != 0)

Min = Table[i][j];

}

25صفحه

Page 31: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

و حداكثر اي مشخص نقطهنقاط،ر حداكثر يدااشتن مقو د )Point / Max (255* با استفاده از فرمول رياضي ،براي اين منظور در اين كاربرد ما مقدار حداكثر نقاط را پس از .تغيير مقدار دادكليه نقاط را به محدوده جديد توان ميمقدار محدوده جديد ا باال برده و به نوعي مقدار نهايي را كمتر با اين كار دقت ر. كنيم مي سازيرسانيم و سپس نقاط را نرمال محاسبه به توان دو مي

دهند كه اين خود باعث خطاي چشم ريبا همگي رنگ مشكي را نشان ميق در زمان رسم ت255را اعداد نزديك به يز. كنيم مي .شود مي

void Map_Table::Normalize(void)

{

#define Power 2

RangeCalc();

int NewMax = pow(Max,Power);

for(int i = 0; i<MAX_X ; i++)

for(int j = 0; j<MAX_Y ; j++)

Table[i][j] = (pow(Table[i][j],Power) / NewMax) * 255 ;

} هيم خوا دهد ولي متد بعد كه مي سازي را در كل آرايه به مقدار حداكثر و حداقلي كه از كل بدست آمده انجام مي نرمال،اين متد

كند و با جابجايي يك پنجره در ابعاد مشخص بر روي آرايه و محاسبه مقدار توضيح دهيم بر اساس روش پنجره لغزان عمل مي روش فوق را SquareNormalizeمتد . كند سازي مي آرايه را نرمال،حداكثر و حداقل بطور محلي و اعمال آن بصورت محلي

.كند يسازي م درون خود بر روي آرايه پياده

void Map_Table::SquareNormalize(void)

{

#define Part 40

#define Power 2

int X1,Y1,i,j;

short Max,Min,NewMax;

for(X1=0 ; X1<MAX_X;X1+=Part)

for(Y1=0 ; Y1<MAX_Y; Y1+=Part)

{

// ------------

for(i = X1; i< X1+Part; i++)

for(j = Y1; j< Y1+Part; j++)

if (Table[i][j]>Max)

Max = Table[i][j];

else if(Table[i][j]<Min && Table[i][j] != 0)

Min = Table[i][j];

// ------------

NewMax = pow(Max,Power);

26صفحه

Page 32: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

for(i = X1; i< X1+Part; i++)

for(j = Y1; j< Y1+Part; j++)

Table[i][j] = (pow(Table[i][j],Power) / NewMax) * 255 ;

}

}

:شده كد مشخص اين روش همانطور كه در تقسيم بندي

.كند كل آرايه را پيمايش مي -1

.كند را استخراج مي جديدپنجره لغزان را حركت داده و مقدار حداكثر و حداقل در چهارچوب پنجره -2

.كند ميو مقداردهي در نهايت فرمول رياضي را براي تك تك نقاط اين پنجره محاسبه -3

فقط محدوده آن متفاوت است كه اين مساله از ديد فرمول كامال ،باشد ميNormalizeه نيز عيناً مثل متد فرمول رياضي محاسب .باشد پنهان مي

بالً گفته شد يكي از قباشد و همانطور كه ميEdgeDetectionديگر متد مورد استفاده در تصحيح نمايش و فيلترينگ متدي بنام .باشد ها و كاهش نويز اطراف لبه و محيط مي نتيجه آن بر روي تصوير، تقويت لبهكهشد با هاي پردازش تصوير مي الگوريتم

با قرار دادن دو حلقه تودرتو كل آرايه را پويش كرده و براي هر نقطه طبق الگوريتمي كه در قبل توضيح داده شده در اين متد مشخص با هم جمع شده، به مجموع سه برابر مركز اي ورت كه مقادير حول نقطهصبدين . گيرد محاسبه مفدار جديد انجام مي

.شود نقطه مركزي با اين مقدار جديد پر مي، حالشود شود، در نهايت تقسيم بر يازده مي اضافه مي

void Map_Table::EdgeDetection(void)

{

int i,j,sum;

for(i=1 ; i<MAX_X -3;i++)

for(j=1 ; j<MAX_Y -3;j++)

{

sum = 0;

sum += Table[i][j];

sum += Table[i][j+1];

sum += Table[i][j+2];

sum += Table[i+1][j];

sum += Table[i+1][j+1] * 3;

sum += Table[i+1][j+2];

sum += Table[i+2][j];

sum += Table[i+2][j+1];

sum += Table[i+2][j+2];

27صفحه

Page 33: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

Table[i+1][j+1] = sum / 11;

}

}

. باشد كاراكتر و عددي مي با دو پارامتر ورودي از نوعExpand متد است،متد بعدي، كه يكي از مهمترين متدهاي عملياتي ورودي وظيفه اين متد گسترش ابعاد مجازي در چهار جهت باال، چپ، پايين و راست در مقداري مشخص كه بصورت پارامتر

يك آرايه در جهت راست و پايين با فرضي كه ما نقطه شروع و صفر آرايه را در براي افزايش .باشد شود مي به متد منتقل ميفقط الزم است كه مقدار مورد نياز براي گسترش را به مقدار . ايم بسيار ساده است گرفتهدر نظر گوشه باال، سمت چپ

جلوگيري از افزايش حد مجازي ل ي قبل گسترش بدليبراي اطمينان نيز شرط كوچك . اضافه نماييمHeight, Widthهاي صفت، غير از افزايش حدود مي بايست داده به همان مقدار وليكن براي گسترش در جهت باال و چپ.ايم از حد واقعي قرار داده

هاي آرايه در لبهاي دادهيدليل اين كار نداشتن فضا. جابجا شوند و اين عملياتي اضافه بر گسترش در دو حالت قبل است .است

if (Height+Vlu < MAX_Y) // Compare Virtual length and Real length

{

for (int i=Width;i>0;i--) // Shift all data with Vlu parameter

for(int j=Height;j>0;j--)

{

Table[i][j+Vlu] = Table[i][j];

Table[i][j] = 0;

}

Height += Vlu; // Increase the Virtual length space

}

else // Prevent change if the Comparison false

return false;

باشد ميTable.cppباشد و كد منبع آن نيز در فايل ميTable.hكه تعريف آن در فايل تا اينجا ما به توضيح كالس اصلي برنامه هايي و نمونه كالسها، بخشي از اجزا.پردازيم ميكند اصلي برنامه كه از كالس اصلي استفاده مي همكنون به قسمت،يما هپرداخت

(C++ Builder). شركت بورلند مي باشد1مجتمع به دليل استفاده از اجزاء محيط توسعه ،كه در كد منبع خواهيد ديد

از اين اجزاء در رابط گرافيكي . به تفكيك و فهرست اجزاء مورد استفاده در پنجره اصلي برنامه نمايان استMain.hدر فايل در كارايي و راحتي استفاده بسياري در طراحي اين رابط سعي .شود ش و ارتباط دوطرفه با كاربر استفاده مي و براي نماي2كاربر

.هاي مختلف توضيحات كوتاه و مختصري آورده شده است بينيد در مورد قسمت همانطور كه در شكل مي. شده است

1 Integrated Development Environment (IDE) 2 Graphic User Interface (GUI)

28صفحه

Page 34: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

)افزار ترسيم نفشه در حال كار نماي نرم (3-2شكل

TMainFormپنجره اصلي برنامه به نام . دهد گرا بوده و همه چيز را در اين قالب توسعه مي بورلند كامال شيمحيط توسعه .باشد سازنده و تخريب كننده آن در زير مشخص مي. باشد، كه تمامي كدهاي آن نيز در كالسي با همين نام نوشته شده است مي

__fastcall TFormMain::TFormMain(TComponent* Owner)

: TForm(Owner)

{

pBitmap = new Graphics::TBitmap();

TmpImage = new Graphics::TBitmap();

MapImage = new Graphics::TBitmap;

MapImage->Height = Image->Height;

MapImage->Width = Image->Width;

ScrollBar1->Max = MapImage->Height - Image->Height;

ScrollBar2->Max = MapImage->Width - Image->Width;

XRobot = 320 ;//+ Image->Height;

YRobot = 268 ;//+ Image->Width;

ClearMap();

ScrollUser = true;

/* if (mrYes == MessageDlg("Do you want save log file.",

mtConfirmation,

TMsgDlgButtons() << mbYes <<mbNo,

0))

CheckBox2->Checked = true;*/

29صفحه

Page 35: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ofpos = new ofstream("logpos.txt",ios::binary);

ofobj = new ofstream("logobj.txt",ios::binary);

// -------------------

RR_Object = new RRObject [50];

MapTable = new Map_Table(2000,2000);

MapTable->Height = Image->Height;

MapTable->Width = Image->Width;

XRef = YRef = Count =0;

}

.سازيم كه يك كالس گرافيكي با متدهاي مفيد مي باشد ميGraphics::TBitmapمتد سازنده، ابتدا ما سه نمونه از كالس در

.شود كه براي نگهداري برچسب مصدوم و گاز بر روي نقشه استفاده ميpBitmapنمونه -1

.كنيم ي كه بعنوان چرك نويس در هنگام توسعه نقشه از آن استفاده مTmpImageنمونه -2

.باشد ميMapTable كه فضاي اصلي نگهداري نقشه بعد از كالس MapImageو نمونه -3

را با اندازه صفحه نمايش رابط MapImageبايست تنضيمات اوليه را انجام دهيم، ابتدا طول و عرض ها مي بعد از ساخت نمونهشويم، مختصات ربات را و باعث رسم دوباره تصوير ميكنيم، نوار لغزنده كنار صفحه نمايش را بروز كرده كاربري يكسان مي

.كنيم را كامال پاك ميMapImageنمونه كنيم و به وسط صفحه منتقل مي

مقدار درست به خود گرفته و معني آن اجازه مرور تصوير است و در اين حالت روبات بر روي تصوير ScrollUserحال صفت ما در اين دو فايل كليه اطالعات دريافتي را ،شود ايجاد ميبراي ثبت اطالعات خروجي ل فاي جريان ازدو نمونه . باشد مخفي مي .سازي نمود شبيهنامحدود را ربات توان مجدداً كليه رفتار افزار پخش كننده مي بدين شكل با نرم. كنيم ذخيره مي

ساختار اي از ديگري آرايه و 2000دي ه با دو ورو از كالس اصلي در قبل توضيح داده شد كه يكي، نيزديگردو نمونه RRObjectدر اين ساختار ما چهار متغير . شود ساخته مي،شود و نوع اشياء ديده شده استفاده مي كه براي نگهداري مختصات

شناسايي هر شي يكي از اين ز داريم و پس اY و مختصات X نوع خود، مختصات ربراي ذخيره نوع شي، شماره تكرار د .شوند بطور كامل پر ميساختارها

زمينه شطرنجي در صفحه نمايش كاربر مورد استفاده قرار سه صفتي كه در انتها برابر صفر قرار داده شدند براي رسم پيش . موقتاً غير فعال شدندExpandگرفتند ولي بدليل مشكالت در متد مي

افزار ربات از نرمهاي ارسال داده،لي براي فعاليتدهد، ولي روش اص اين برنامه با دستورات كاربر عكس العمل نشان ميها به ترتيب شامل ارسال كليه نقاط، جابجايي داده.باشد ميUDP/IP با پروتكل 868افزار از طريق درگاه كنترلي به اين نرم

نسبت به شمال ربات اصلي، تغيير زاويه ربات اصلي، تغيير زاويه ربات دوم، جابجايي ربات دوم و جهت سر روبات دوم .ايم استفاده نمودهTNMUDPبراي ارتباط شبكه ما از جزء آماده و پركاربرد شركت بورلند بنام همچنين .باشند مي

30صفحه

Page 36: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

void __fastcall TFormMain::NMUDP1DataReceived(TComponent *Sender,

int NumberBytes, AnsiString FromIP, int Port)

{

int Buff[14];

NMUDP1->ReadBuffer((char *)Buff,56,NumberBytes);

ListBox1->Items->Add(IntToStr(NumberBytes)+" Byte Received.");

ListBox1->Selected[ListBox1->Count-1] = true;

// Delete Delta Angle greater than DeltaAngle Parameter

if ( abs(StrToInt(EditAngl->Text) - Buff[13]) < DeltaAngle)

for (int i=0; i<12; i++)

Sen[i+4] = Buff[i]/10;

else

for (int i=0; i<12; i++)

Sen[i+4] = 0;

Sen[2] = Buff[12]/10; //Distance of 1st Robot

Sen[3] = Buff[13]; //Angle of 1st Robot

if (Sen[17] != 0) //2nd Robot Available cheking

{

CheckBox3->Enabled = true;

Shape->Visible = true;

Sen[16] = Buff[14];//Angle of 2nd Robot

Sen[17] = Buff[15];//Distance of 2nd Robot

Sen[18] = Buff[16];//Head of 2nd Robot

}

// Put Sensors data in log file

if (CheckBox2->Checked)

if (oflog != NULL)

oflog->write((char *)Buff,56);

else

oflog = new ofstream("log.txt",ios::binary);

if( Sen[2] >= 100)

{

Sen[2] = 0;

ListBox1->Items->Add("!!!!.Error in Distance number.!!!!!!");

31صفحه

Page 37: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ListBox1->Selected[ListBox1->Count-1] = true;

}

Draw();

فراخواني NMUDP1DataReceivedبه محض دريافت هرگونه داده بر روي درگاه مشخص شده با پروتكل مشخصه متد گيرد، پس از آن كاربر از رسيد اين اطالعات ها از درگاه خوانده شده و در داخل بافر ما قرار مي در ابتداي اين متد داده. شود مي

.شود با خبر مي

بودن شود كه آيا ميزان چرخش ربات بيشتر از مقداري مشخص است يا خير، در صورت بيشتر بررسي ميدر اين هنگام به همين ترتيب ساير . شوند ميدر نظر گرفته اي صفر همانطور كه قبالً اشاره شد براي جلوگيري از افزايش نويز مقادير داده

كه وظيفه ()Drawشوند و در نهايت متد هاي دريافتي در فايل ثبت ذخيره مي در ادامه داده. شوند دهي مي دارقمتغيرها نيز م .شود ها را دارد فراخواني مي اين دادهاستفاده، تحليل و ترسيم

كه اي براي اين منظور فاصله و زاويه. اولين قدم محاسبه موقعيت فيزيكي ربات براساس مختصات دكارتي استDrawدر متد ت سپس به موقعيت قبلي ربات اضافه كرده و موقعي. كنيم دكارتي ميمختصات در مختصات قطبي است را گرفته و آنرا تبديل به

.شود گيري، مسير ربات با خط قرمز در صفحه نمايش داده ميرددر صورت تمايل نيز با فعال كردن . كنيم جديد را پيدا مي

int x,y,r;

// Calculate position of Robot

ARobot = (Sen[3] * M_PI) / 180 ;

y = Sen[2] * sin(ARobot);

x = Sen[2] * cos(ARobot);

// Draw Robot path with red line

if ( CheckBox1->Checked)

{

MapImage->Canvas->MoveTo(XRobot,YRobot);

XRobot += x;

YRobot += y;

MapImage->Canvas->Pen->Color = clRed;

MapImage->Canvas->LineTo(XRobot,YRobot);

MapImage->Canvas->Pen->Color = clBlack;

}else

{

XRobot += x;

YRobot += y;

}

32صفحه

Page 38: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

شود كه آيا از محدوده مجاز ترسيم و زمين در حال خارج شدن هستيم يا خير، پس از انتقال ربات به موقعيت جديد بررسي ميه نزديك باشيم محدودزمين مجازي متر به خروج از لبه سانتي150 مشخص نموده در زماني كه كمتر از Edgeهمانطور كه ثابت

. كند ا جلوگيري ميكند و از خروج م توسعه پيدا ميزمين

if ( XRobot < Edge)

{

Expand('L',Edge - XRobot);

XRobot += Edge - XRobot;

}

if ( XRobot > (MapImage->Width) - Edge)

{

Expand('R',Edge);

}

if ( YRobot < Edge)

{

Expand('U',Edge - YRobot);

YRobot += Edge-YRobot;

}

if ( YRobot > (MapImage->Height) - Edge)

{

Expand('D',Edge);

}

البته اين ترسيم . هاي دريافتي همانند مكان ربات محاسبه شده و در صفحه نمايش ترسيم شود حال زمان آن رسيده است كه دادهبينيد مقدار كليه حسگرها به همانطور كه در كد زير مي. رسيدهمراه با وزن دهي و پتانسيل دهي است كه جلوتر به آن خواهيم

نوبت در يك حلقه تحليل شده و پس از بررسي حد حداكثر و حداقل مقدار آنها، تبديل به مختصات دكارتي شده و در صفحه اين . شود ارسال ميDrawInObjectپس از آن مختصات ربات، فاصله و زاويه به متد . گردد اي نمايان مي نمايش كاربر با نقطه

اين مقادير مستقيماً در .باشد ميدارا را متد وظيفه محاسبه اوزان نقاط اطراف نقطه شناسايي شده بر اساس الگوريتم پتانسيل .شوند نهايي نگهداري مي و ترسيم شود و براي پردازش ذخيره ميMapTableنمونه كالس

// Calculate position of each sensor detected wall

for (int i=0;i<12;i++) // i<12

{

if ((Sen[i+4] > MinRange) && (Sen[i+4] <= MaxRange))

{

r = R + Sen[i+4];

y = r * sin(-(M_PI/6)*i + ARobot);

x = r * cos(-(M_PI/6)*i + ARobot);

33صفحه

Page 39: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

MapImage->Canvas->Pixels[x+XRobot][y+YRobot] = clNavy;

DrawInObject(XRobot,YRobot,r,-(M_PI/6)*i + ARobot);

}

}

دو حلقه تودرتو توسط ،دهي پس از محاسبه نقطه شروع پتانسيل.توانيد ببينيد را ميDrawInObjectدر زير متن كد منبع متد پس از اجراي اين .شوند قرار داده ميهمان نقطه ها محاسبه شده و در نقاط مشخص پس از جمع با مقدار قبلي مقدار پتانسيل

.دهيم ار را انجام ميكاط نيز اين نقراي ساير ب و گرديم بل برميقسمت مجددا به ادامه كد در متد ق

void __fastcall TFormMain::DrawInObject(int x, int y ,int d, float Teta)

{

// Set Potential of each points in MapTable array

int X,Y,Potential,DistanceTolerance;

int Pt,Pd;

DistanceTolerance = d/20+1;

Teta -= (AngleTolerance/2)*M_PI/180;

d -= DistanceTolerance/2;

for( int i=1; i<=AngleTolerance; i++)

for( int j=1; j<=DistanceTolerance; j++)

{

X = ((d+j) * cos(Teta + i*0.017453292)) + x;

Y = ((d+j) * sin(Teta + i*0.017453292)) + y;

// ----

Potential = (i < (AngleTolerance/2) ? i % (AngleTolerance/2) : AngleTolerance -i) *

(j < (DistanceTolerance/2) ? j % (DistanceTolerance/2) : DistanceTolerance -j);

Potential *= (10-(d/15));

// ----

MapTable->Set(X, Y, (MapTable->Get(X,Y))+Potential);

}

}

در انتها نيز با ،كنيم ها را به مختصات جديد منتقل مي رباتودهيم تمام مقادير دريافتي را به كاربر نمايش مي در ادامه كد سپس صفحه نمايش كاربر در اصل قسمت كوچك و .نماييم رهاي لغزش آنها را اجبار به ترسيم مجدد صفحه كاربر مينواتحريك متد

در دو طرف صفحه نمايش ديد موجود هاي لغزنده رتوانيد با نوا باشد و به اين ترتيب شما مي متمركزي از كل صفحه نمايش مي

34صفحه

Page 40: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

در كادر دلخواه ما دريافت و در MapImageها از صفحه نوارها داده با تحريك اين.خود را در كل صفحه اصلي جابجا نماييد .شوند صفحه نمايش كاربر نمايش داده مي

تفاوت اين متد با متد موجود در كالس . داريمExpandنكته جالب توجه اين است كه ما در اين كالس نيز متدي با نام MapTable اين است كه اين متد ابتدا صفحه MapImage كند دهد و سپس متد پشت صفحه را فراخواني مي ا گسترش مي ر.

مسايلي همچون تفاوت گسترش باال و چپ با گسترش پايين و راست وجود دارد، واگر ،همچنين همانند گسترش در روش قبلن در اين قسمت همچني.دهد اي از گسترش باال را نشان مي كد زير نمونه. كند نه بقيه روش از يك ايده و تفكر استفاده مي

.نيز توجه كافي مبذول گردددر ساختار بايست به نقاط ثبت شده براي اشياء مي

case 'U':

RectSource = Rect(0, 0, MapImage->Width, MapImage->Height);

RectDest = Rect(0, 0, MapImage->Width, MapImage->Height);

TmpImage->Height = MapImage->Height;

TmpImage->Width = MapImage->Width;

TmpImage->Canvas->CopyRect(RectDest, MapImage->Canvas, RectSource);

MapImage->Height += Vlu;

for (int i = 0;i<GCount+VCount;i++)

RR_Object[i].Y += Vlu;

ClearMap();

RectDest = Rect(0, Vlu, MapImage->Width, MapImage->Height);

MapImage->Canvas->CopyRect(RectDest, TmpImage->Canvas, RectSource);

if (!MapTable->Expand('U',Vlu))

{

ListBox1->Items->Add("Error to expand potential map !!!");

ListBox1->Selected[ListBox1->Count-1] = true;

}

break; روي نقشه قرار داد تا در كل نقشه هايي بر توان عالمت افزار با شناسايي مصدوم و يا محيط با گازهاي خطرناك، مي در اين نرم

كليد را با فشردن افزار البته در حال حاضر بصورت دستي كاربر پس از شناسايي بايد نرم. موقعيت اين نقاط مشخص باشدتحريك كند ولي اين قابليت وجود دارد كه در صورت خودكار شدن ربات در شناسايي مصدومين، با تحريك ربات اين عمل

.داتفاق بيافت

. اولين قدم در ثبت مصدوم ديده شده ذخيره نوع شي، مختصات و شماره آن در ساختاري است كه بدين منظور آماده شده استشود و يك عدد اضافه ميVCountاي از اين ساختار ساخته شد و در هر زمان نيز با شناسايي مصدوم صفت آرايه،در سازنده

همكنون زمان آن رسيده كه تصوير كوچكي را كه نماينده . شود اضافه ميGCountت با شناسايي گاز در محيط يك عدد به صف

35صفحه

Page 41: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

نويسيم، در حافظه بارگزاري كنيم، آنگاه رنگ قلم را انتخاب نموده و شماره اين شي را بر روي آن ميكه ديده شده شي است تواند مكان مثاالً ين به بعد به سادگي ميكاربر از ا. دهيم طه مشخص شده قرار ميقاين عالمت آماده شده را در نهمكنون

دقيقاً براي گاز نيز همين كد صادقاست با فرق آن كه . مصدوم را ديده و از شماره آن بداند چندمين مصدوم شناسايي شده است .بينيد در زير كد منبع متد ترسيم جاي مصدوم را مي.نوع تصوير نمايش داده شده متفاوت است

void __fastcall TFormMain::suiButtonVictimClick(TObject *Sender)

{

RR_Object[VCount+GCount].Type = 'V';

RR_Object[VCount+GCount].X = XRobot;

RR_Object[VCount+GCount].Y = YRobot;

RR_Object[VCount+GCount].Count = (VCount+1);

VCount++;

pBitmap->LoadFromFile("victim.bmp");

pBitmap->Canvas->Brush->Color = clRed;

pBitmap->Canvas->TextOutA(1,1,IntToStr(RR_Object[VCount+GCount-1].Count));

MapImage->Canvas->Draw(XRobot, YRobot, pBitmap);

}

اين پنجره زماني كه كاربر به انتهاي . باشد رسيديم ميDraw.cpp, Draw.hو باالخره به پنجره سوم كه كد آن در دو فايل برنامه قابل توجه است كه در هر بار اجرا . شود پويش خود رسيده باشد و نياز به اصالح و ثبت نتيجه نهايي باشد فراخواني مي

آن غيرفعال خواهد شد، دليل اينكار اينست كه تحريك ره را فراخواني نمود و پس از آن كليد توان اين پنج فقط يكبار مياصلي شود كه ديگر اين اطالعات از آن در زمان فراخواني اين پنجره تغييراتي اعمال ميي ذخيره شده در كالس پايه،ها بر روي داده

سازي و نرمال، در قسمت نهايي مهمترين كار.اندازي گردد دوباره راه براي ترسيمافزار باشند و بايد نرم به بعد مورد استفاده نميپس از تنظيم تصوير نهايي راتواند كاربر ميهاي بسيار مفيداين است كه از قابليتهمچنين يكي فيلترينگ تصوير نهايي است،

.فايل تصويري با برچسب تاريخ و زمان ذخيره نمايديك بصورت پارامترهاي فيلترينگ،

پس از آن . دهد كار را انجام مين ايNormalizeباشد، متد ها مي سازي بر كل داده پس از تحريك پنجره، اولين كار اعمال نرمال بر اساس مقدار فيلتر استاتيك DrawMapشود و با فراخواني متد كشي مي خطDrawLinesتصوير گرافيكي با استفاده از متد

.يابي فرمان اجراي اين متد را نيز صادر نمود توان با فشردن كليد لبه در ضمن مي. ندشو هاي ذخيره شده رسم مي داده

.توانيد با دريافت ديسك فشرده به منبع كد دسترسي كامل داشته باشيد شما مي. باشد كد اين قسمت بسيار خوانا و قابل فهم مي

.يدكن در شكل بعدي نمايي از پنجره ترسيم را در لحظه نهايي مشاهد مي

36صفحه

Page 42: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

)نماي پنجره ترسيم و پردازش نهايي (4-2شكل

37صفحه

Page 43: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ترسيم نقشه با پويشگر ليزري) 2-5-2هاي مشتركي دارند، تنها فرق اين دو روش در ترسيم نقشه با پويشگر ليزري و ترسيم نقشه با حسگر مافوق صوت نيازمندي

بر روي ربات دوازده عدد حسگر در محيط ربات نصب در روش حسگر مافوق صوت ما . باشد اط و زواياي بين آنها ميقتعداد نولي در روش پويشگر ليزري بسته به . پس در نتيجه هر حسگر سي درجه با حسگر كناري اختالف زاويه دارد. ايم نموده

را در بايست اين تفاوت نقطه را داريم، پس مي768 درجه با 270اي در حدود تنظيمات پويشگر توانايي شناسايي حداكثر زاويه در ضمن پويشگر ليزري مسير كامالً .از اين به بعد ساير مسائل همانند همديگر هستند. دهي رعايت كنيم نقطه گذاري و پتانسيل

توان اين الگوريتم را حذف يا زاويه شود و مي دهي كم مي كند پس نياز به استفاده از الگوريتم پتانسيل را شناسايي مييمسقيماگر بتوان خطاهاي ديگر مانند خطاي چرخش و سرعت را در ربات كم كرد بسادگي با رسم نقاط . كردمقداردهي آنرا كم تحت ، كد منبع اين برنامه نيز بطور كامل در ديسك فشرده همراه.نمودم يستر اي با وضوح باال توان نقشه شناسايي شده مي

.باشد موجود ميمنتشر شده و گنو و پروانه مجوز

ه پخش كننده فايلهاي ثبت شدهبرنام) 2-5-3 اين قابليت امكان پخش مجدد اتفاقات و به ،كند هاي دريافتي را در فايل ثبت مي افزار ترسيم نقشه در هر لحظه كليه داده نرم

با استفاده . دهد سازي حركت ربات در هر لحظه را به طراح سيستم و كاربر مي نوعي شبيهباشد، بلكه ربات نميمجدد اندازي از به راهيافزار ن بهبود نرماز اين قابليت در هر بار تغيير و

توانيم حركت را تكرار و بررسي با يك بار ثبت حركت روبات به تعداد نامحدودي مي .داريمنياز به يك برنامه مجزا هاي ثبت شده نيز ما وليكن براي پخش فايل. نماييم

. دهد دازيم اين كار را براي ما انجام ميپر اي كه در اين قسمت به توضيح آن مي برنامهافزار اصلي ارسال براي نرم868و از طريق درگاه اطالعات را از فايل ثبت شده خوانده

افزار ترسيم نقشه در اين حالت هيچ تفاوتي با حالت ارسال از ربات براي نرم. كند مي .دهد العمل را نشان مي اً همان عكسنكند و عي نمي

در شكل مشخص است پس از مشخص نمودن نام فايل و تنظيم سرعت همانطور كه در هر لحظه گزارش بالدرنگ . شود ارسال، با فشردن كليد شروع ارسال اطالعات شروع مي

.شوند نمايش داده ميهاي ارسالي نيز به كاربر داده شده و تمامي داده1در جعبه فهرست

به Startع ارسال، كليد شروع از حالت روند اجرا به اين شكل است كه با درخواست شروStopشود گير داخلي فعال مي تغيير وضعيت داده، زمان بين هر ارسال تنظيم شده و زمان .

.شود فراخواني ميTimer1Timerبه زمان تحريك، متد زمانبند رسيدن هر بار با

)افزار پخش كننده نرم (5-2شكل 1 List Box

38صفحه

Page 44: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

void __fastcall TForm1::suiButton1Click(TObject *Sender)

{

if (Button2->Caption == "Start")

{

Button2->Caption = "Stop";

ifs = new ifstream();

ifs->open(Edit3->Text.c_str(),ios::binary);

// ifs->seekg(0, ios::beg);

Timer1->Interval = StrToInt(EditTI->Text);

ListBox1->Items->Add("Start play file "+EditTI->Text +

" with interval " + IntToStr(Timer1->Interval));

ListBox1->Selected[ListBox1->Count-1] = true;

Edit3->Enabled = false;

EditTI->Enabled = false;

Timer1->Enabled = true;

}

else

{

ifs->close();

delete ifs;

ListBox1->Items->Add("Stop log player...");

ListBox1->Selected[ListBox1->Count-1] = true;

Button2->Caption = "Start";

Edit3->Enabled = true;

EditTI->Enabled = true;

Timer1->Enabled = false;

}

}

خاتمه را /شويم، در صورت رسيدن به انتها متد كليد شروع اين متد ابتدا از نرسيدن به انتهاي فايل مطمئن ميبا فراخوانير اين صورت يك بسته اطالعاتي از فايل خوانده شده و يدر غ. كند كنيم، پس طبق كد عمل ارسال خاتمه پيدا مي فراخواني مي

افزار به اطالع كاربر رسيده و در ليست گزارش در اين نرم،هاي ارسالي دادهچنينهم. شود يارسال مترسيم نقشه برنامه دبه مقصخاتمه فراخواني مجدد شده و منجر به توقف ارسال /در صورت برخورد با خطا در فايل ثبت نيز كليد شروع. شود نيز ثبت مي

.با مطالعه كد به وضوع طرز كار اين متد را خواهيد فهميد. شود مي

39صفحه

Page 45: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

if ( ifs->eof() )

suiButton1Click(this);

else

{

int Buff[14];

if (ifs->read((char *)Buff, 56))

{

NMUDP1->SendBuffer((char *)Buff,56,56);

Edit4->Text = IntToStr(Buff[0]);

Edit5->Text = IntToStr(Buff[1]);

Edit6->Text = IntToStr(Buff[2]);

Edit7->Text = IntToStr(Buff[3]);

Edit8->Text = IntToStr(Buff[4]);

Edit9->Text = IntToStr(Buff[5]);

Edit10->Text = IntToStr(Buff[6]);

Edit11->Text = IntToStr(Buff[7]);

Edit12->Text = IntToStr(Buff[8]);

Edit13->Text = IntToStr(Buff[9]);

Edit14->Text = IntToStr(Buff[10]);

Edit15->Text = IntToStr(Buff[11]);

Edit16->Text = IntToStr(Buff[12]);

Edit17->Text = IntToStr(Buff[13]);

}

else

{

suiButton1Click(this);

ListBox1->Items->Add("Error log file name...");

ListBox1->Selected[ListBox1->Count-1] = true;

}

}

}

40صفحه

Page 46: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ترسيم نمودار پتانسيلي) 2-5-4دهي پتانسيلي، هيچ راه حلي جز بررسي تصويري اين فرمول وجود براي اطمينان از عملكرد درست فرمول الگوريتم وزن

بايست توان انجام داد، بلكه فقط مي ونه تست و آزمايشي بر روي آن نمي در برنامه اصلي هيچ گهزيرا در هنگام محاسب. نداشت .قبل از استفاده از صحت آن مطمئن بود

)افزار ترسيم نمودار پتانسيل نرم (6-2شكل

و اعمال فرمولSDLSuit از مجموعه TPlot3Dباشد كه با استفاده از جزء مورد استفاده ما ميتصوير فوق نمايي از برنامه در ابتداي كد ما مختصات نمودار را تنظيم نموده و براي اطمينان كليه .كشيده شده استنموداري سه بعدي ،پتانسيل به آن

همكنون زمان محاسبه مقدار پتانسيل رسيده است، با محاسبه هر نقطه در دو حلقه تودرتو و رسم هر . كنيم محتوي را پاك مي براي TPlot3D در انتها با تحريك جزء نمودار .شود ن اندكي نمودار شكل باال نمايان ميرف زماصنقطه در نمودار سه بعدي با

توانيد حالت مخروطي حال با بررسي شكل مي.كنيم ترسيم مجدد، كليه تغييرات را به يكباره در فضاي نمايش كاربر نمايان ميند مشكي كه در فصل قبل اشاره شد باشد، نقطه اوج، شكل آن را مشاهده كنيد، يعني اگر محيط زيرين اين مخروط همان كمرب

.باشد مركز اين كمربند است كه بيشترين مقدا ر را دارا مي

void __fastcall TFormMain::BitBtn1Click(TObject *Sender)

{

int Potential,P1,P2;

const int AngleTolerance=44,DistanceTolerance=6;

Plot3D1->RangeXHigh = AngleTolerance;

Plot3D1->RangeYHigh = DistanceTolerance;

Plot3D1->CentX = Plot3D1->Width /2;

Plot3D1->CentY = Plot3D1->Height /2;

Plot3D1->ScaleFactX = AngleTolerance / DistanceTolerance /2;

41صفحه

Page 47: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

Plot3D1->GridMat->Resize (AngleTolerance, DistanceTolerance);

Plot3D1->Clear();

for( int i=1; i<=AngleTolerance; i++)

for( int j=1; j<=DistanceTolerance; j++)

{

// -------------- Formula of filling points with potential

P1 = (i < (AngleTolerance/2) ? (i % (AngleTolerance/2)) : (AngleTolerance -i));

P2 = (j < (DistanceTolerance/2) ? (j % (DistanceTolerance/2)) : (DistanceTolerance -j));

Potential = P1 * P2;

// --------------

Plot3D1->RangeZHigh = (Potential > Plot3D1->RangeZHigh ? Potential : Plot3D1->RangeZHigh);

Plot3D1->GridMat->Elem[i][j] = Potential;

}

Plot3D1->ScaleFactZ = Plot3D1->RangeXHigh/ Plot3D1->RangeYHigh;

Plot3D1->Refresh();

}

42صفحه

Page 48: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

نتايج- فصل سوم

43صفحه

Page 49: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

گيري نتيجه) 1-3بخش

براي. باشد و همكنون نيز در ابتداي راه خود است هاي جديد و پركاربرد در عرصه علوم كامپيوتر مي شاخهترسيم نقشه محيط ازهاي عظيمي براي افزايش توانايي خود در اين هاي بزرگي در سراسر دنيا بودجه وجود دارد، شركتبسيار فضاي كار و توسعه سعي ما در اين پروژه كار بر روي يك . فراوان است،پا جاي توسعه نودر نتيجه در اين شاخه. اند گذاري كرده راستا سرمايهافزار مراحل اوليه خود را با اين نرم. رساني در كنار ربات امدادگر بوده است افزاري كاربردي براي اهداف كمك مجموعه نرم

فته نماند كه جاي پيشرفت و ناگ. در محيط حقيقي آزمايش شد2005ژاپن موفقيت گذراند و در شكل موجود در مسابقات افزار بنا به نياز كاربر، ربات توسعه براي اين مجموعه بسيار است و تا آخرين نسخه منتشر شده هدف ما در بهبود و گسترش نرم

توان استفاده هاي موجود آن مي از اين مجموعه در راستاي گسترش ترسيم نقشه و الگوريتم. و موفقيت در مسابقات بوده استبه هدف نجات مصدومين ربات امدادگر . درج شده استرسالههمچنين منابع و مĤخذ نيز براي مطالعه بيشتر در . ار بردبسي

نقش موثر و كاربردي دارد، همچنين در صورت توانايي نيز جلوگيري از به خطر انداختن جان امدادگران در وشود طراحي ميني از محيط سانحه، جايگاه مصدومين، وضعيت مصدوم و موقعيتش در كل در رسم يك نقشه مناسب و مفيد با اطالعاتي غ

.تواند ما را ياري نمايد بسيار ميرساني در نتيجه در كمكشود، ميهمراه مسلم است كه سرعت و دقت با كاهش خطا ،نقشهكاربردي كردن اين ابزار پس شايسته است كه با صرف هزينه مناسب و گماردن افراد متخصص در اين راه، كمك به بهبود و

ها در حال حاضر در جايگاه خاصي در جهان قرار گرفته است و در اين رقابت سنگين ايران با داشتن منابع اين مجموعه.نمودصادر ها نيز به ساير كشورعلمي و افراد متخصص فعال، شايسته است سربلند به موفقيت رسيده و چه بسا نتايج علمي خود را

.اين پروژه ما بخوبي نتايج را ديديم و در حد توان سعي در بهبود و مستند نمودن آن نموديم در .نمايد

پيشنهادات) 2-3بخش

. ها نيز رسيديم به كاربردهاي متنوعي از اين مجموعه در ساير شاخه،سازي آوري نتايج بدست آمده از اين تحقيق و پياده با جمعبازارهاي صنعتي در كنار فعلي درك نيازهاي ،بهترين روش. شود توسعه اين سيستم ميو يت فعال،پيشنهاد جدي براي ادامه كار

هاي عملي و كاربردي براي درك نتايج و شناسايي سازي آن بر روي ربات و بهترين انتخاب پيادهتتوسعه موارد ذكر شده اسهاي ديگر نيز مورد توجه و جه كافي شود و ديدگاه بهتر است كه به كاربردهاي ديگر اين مجموعه نيز تو.اشدب نقاط ضعف مي

.ارزيابي قرار گيرد

اي پيچيده و گسترده همچون ترسيم هاي مجموعه ابليتملي ناخودآگاه پيشنهادات مفيد و قهمانطور كه مشخص است با كار عقاالت ساير محققين را خوانده و از سازي و تحليل، م شود قبل از شروع به هرگونه پياده پيشنهاد مي. شود نقشه محيط نمايان مي

توان با جستجو در شبكه جهاني اينترنت اطالعات مفيد و با اهميتي را همچنين مي. ها و نتايج زحمات آنان استفاده گردد ايده

44صفحه

Page 50: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

باشد و در صورت در ديسك فشرده ضميمه، تعدادي مقاله كه مورد استفاده در اين پروژه بوده است موجود مي. بدست آورد . اميدواريم كه اين مجموعه نيز براي خوانندگان محترم مفيد بوده باشد.ودمندي توصيه به مطالعه آنها ش القهع

قابليت توسعه در آينده) 3-3بخش

گيري توان بهبودهاي چشم در ضمن براي اين مجموعه نيز مي. ترسيم نقشه جاي كار و توسعه در آينده را با دامنه وسيعي داردهاي هاي ترسيم شده در راستاي توسعه داده اهداف آتي توسعه و اصالح نقشه. ر، عملكرد و يا مكانيزم آن ايجاد نموددر ساختا

هاي هاي توسعه در آينده، سعي در توليد نقشه از ديگر قابليت. اين حسگر استهال كامل كارايي مجموعه بقپويشگر ليزري و انتهمچنين به . هاي پردازش تصوير مي باشد ها و اشياء شناخته شده با كمك الگوريتم ارهسه بعدي و توانايي اصالح و ترميم ديو

موقعيت فيزيكي يابي و آگاهي از اي موقعيت گيرنده ماهوارهبه ربات تجهيز با ،دليل حركت ربات ها در سه بعد و نه در دو بعد .از كل محيط را توليد نمودت جغرافيايي دقيق با مختصاخروجي سه بعدي يك در محيط و پويش توان با گردش مي

.وار در زير نوشته شده است گردد، فهرست اي كه در آينده هدف قرار دارد و نيز به عالقمندان پيشنهاد مي هاي توسعه قابليت

افزار براي عملكرد خوب با پويشگر ليزري نرمسازي بهينه

افزاري افزايش دقت تصوير و ترميم نرم

ر به يادگيري و هوشمندي براي تكميل و تصحيحافزا تجهيز نرم

بعدي عدي در صفحه سهب توانايي ذخير و رسم اطالعات سه

اي ياب ماهواره اضافه نمودن قابليت كار با موقعيت

...و بسياري ديگر

45صفحه

Page 51: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

پيوست

46صفحه

Page 52: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

كد منبع

.نماييد واقع در ديسك فشرده بطور كامل مطالعه Source توانيد كد منبع را در شاخه شما مي

.باشد اين شاخه شامل چهار زيرشاخه مي

Chart : كد منبع اين مجموعه در فايلmain.cppقابل توجه است كه براي ايجاد نسخه اجرايي به . باشد موجود مي .باشيد باشد نيازمند مي كه در ديسك فشرده همراه موجود ميSDLSuit 1جزء

Mapping : در ادامه .باشد حسگرهاي مافوق صوت مياز با استفاده ،فزار ترسيم نقشها كد منبع نرمشامل اين زيرشاخه , Draw.cpp. باشد هاي اصلي مي شامل كد و روالMain.cpp ,main.h. شوند ها توضيح داده مي بطور مختصر فايل

draw.hو پردازشي اصلي و اما هسته اطالعاتي. باشد كد و روالهاي مربوط به پنجره ترسيم و پردازش نهايي مي شامل كليه پس از ورود و در زمان پردازش يا قبل . باشد ميMap_Table و طراحي كالس table.cpp, table.hدر قالب

.شوند اي از اين كالس ذخيره و پردازش مي خروج در نمونه

Mapping-Laser: اين .باشد ميزري پويشگر لي با استفاده از ،افزار ترسيم نقشه كد منبع نرمشامل اين زيرشاخه .هاي مشابه ولي با محتواي متفاوت استفاده مي كند مجموعه نيز همانند باال از فايل

SendUDP: ذخيره شده، در اين زيرشاخه از قبل هاي اطالعاتي افزار ارسال كننده و يا پخش كننده فايل كد منبع نرم .شود نگهداري مي

1 Component

47صفحه

Page 53: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

مشخصات فني

SRF04 - Ultra-Sonic Ranger by Devantech

Technical Specification

This project started after I looked at the Polaroid Ultrasonic Ranging module. It has a number of disadvantages for use in small robots etc .

The maximum range of 10.7 metre is far more than is normally required, and as a result

The current consumption, at 2.5Ampsduring the sonic burst is truly horrendous.

The 150mA quiescent current is also far too high.

The minimum range of 26cm is useless. 1-2cm is more like it.

The module is quite large to fit in to small systems, and

It’s EXPENSIVE.

The SRF04 was designed to be just as easy to use as the Polaroid sonar, requiring a short trigger pulse and providing an echo pulse. Your controller only has to time the length of this pulse to find the range. The connections to the SRF04 are shown below:

The SRF04 Timing diagram is shown below. You only need to supply a short 10uS pulse to the trigger input to start the ranging. The SRF04will send out an 8 cycle burst of ultrasound at 40khz and raise its echo line high. It

48صفحه

Page 54: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

then listens for an echo, and as soon as it detects one it lowers the echo line again. The echo line is therefore a pulse whose width is proportional to the distance to the object. By timing the pulse it is possible to calculate the range in inches/centimetres or anything else. If nothing is detected then the SRF04 will lower its echo line anyway after about 36mS.

Here is the schematic.

The circuit is designed to be low cost. It uses a PIC12C508 to perform the control functions and standard 40khz piezo transducers. The drive to the transmitting transducer could be simplest driven directly from the PIC. \The 5v drive can give a useful range for large objects, but can be problematic detecting smaller objects. The

49صفحه

Page 55: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

transducer can handle 20v of drive, so I decided to get up close to this leve. A MAX232IC, usually used for RS232 communication makes and ideal driver, providing about 16v of drive.

The receiver is a classic two stage op-amp circuit. The input capacitor C8 blocks some residual DC which always seems to be present. Each gain stage is set to 24 for a total gain of 576-ish. This is close the 25 maximum gain available using the LM1458. The gain bandwidth product for the LM1458 is 1Mhz. The maximum gain at 40khz is 1000000/40000 = 25. The output of the amplifier is fed into an LM311 comparator. A small amount of positive feedback provides some hysteris is to give a clean stable output.

The problem of getting operation down to 1-2cm is that the receiver will pick up direct coupling from the transmitter, which is right next to it. To make matters worse the piezo transducer is a mechanical object that keeps resonating sometime after the drive has been removed. Up to 1mS depending on when you decide it has stopped. It is much harder to tell the difference between this direct coupled ringing and a returning echo, which is why many designs, including the Polaroid module, simply blank out this period. Looking at the returning echo on an oscilloscope shows that it is much larger in magnitude at close quarters than the cross-coupled signal. I therefore adjust the detection threshold during this time so that only the echo is detectable. The 100n capacitor C10 is charged to about–6v during the burst. This discharges quite quickly through the 10k resistor R6 to restore sensitivity for more distant echo’s.

A convenient negative voltage for the op-amp and comparator is generated by the MAX232. Unfortunately, this also generates quite a bit of high frequency noise. It here fore shut it down whilst listening for the echo. The 10Uf capacitor C9 holds the negative rail just long enough to do this.

In operation, the processor waits for an active low trigger pulse to come in. It then generates just eight cycles of 40khz. The echo line is then raised to signal the host processor to start timing. The raising of the echo line also shuts of the MAX232. After a while– no more than 10-12mS normally, the returning echo will be detected and the PIC will lower the echo line. The width of this pulse represents the flight time of the sonic burst. If no echo is detected then it will automatically time out after about 30mS (Its two times the WDT period of the PIC). Because the MAX232 is shut down during echo detection, you must wait at least 10mS between measurement cycles for the +/ - 10v to recharge.

Performance of this design is, It hink, quite good. It will reliably measure down to 3cm and will continue detecting down to 1cm or less but after 2-3cm the pulse width doesn’t get any smaller.

Maximum range is a little over 3m. As and example of the sensitivity of this design, it will detect a 1 inch thick plastic broom handle at 2.4m. Average current consumption is reasonable at less than 50mA and typically about 30mA.

Calculating the Distance

The SRF04 provides an echo pulse proportional to distance. If the width of the pulse is measured in uS, then dividing by 58 will give you the distance in cm, or dividing by 148 will give the distance in inches. uS/58=cmoruS/148=inches.

Changing beam pattern and beam width

You can't! This is a question which crops up regularly, how ever there is no easy way to reduce or change the beam width that I'm aware of. The beam pattern of the SRF04 is conical with the width of the beam being a function of the surface area of the transducers and is fixed. The beam pattern of the transducers used on the SRF04, taken from the manufacturers data sheet, is shown below.

50صفحه

Page 56: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

Update -May 2003 Since the original design of the SRF04was published, there have been incremental improvements to improve performance and manufacturing reliability. The op-amp is now an LMC6032 and the comparator is an LP311. The 10uF capacitor is now 22uF and a few resistor values have been tweaked. These changes have happened over a period of time.

All SRF04's manufactured after May 2003 have new software implementing an optional timing control input using the "do not connect" pin. This connection is the PIC's Vpp line used to program the chip after assembly. After programming its just an unused input with a pull-up resistor. When left unconnected the SRF04 behaves exactly as it always has and is described above. When the "do not connect" pin is connected to ground (0v), the timing is changed slightly to allow the SRF04to work with the slower controllers such as the Picaxe. The SRF04's "do not connect" pin now acts as a timing control. This pin is pulled high by default and when left unconnected, the timing remains exactly as before. With the timing pin pulled low (grounded) a 300uS delay is added between the end of the trigger pulse and transmitting the sonic burst. Since the echo output is not raised until the burst is completed, there is no change to the range timing, but the 300uS delay gives the Picaxe time to sort out which pinto look at and start doing so. The new code has shipped in all SRF04's since the end of April 2003.The new code is also useful when connecting the SRF04 to the slower Stamps such as the BS2. Although the SRF04 works with the BS2, the echo line needs to be connected to the lower numbered input pins. This is because the Stamps take progressively longer to look at the higher numbered pins and can miss the rising edge of the echo signal. In this case you can connect the "do not connect" pin to ground and give it an extra 300uS to get there.

51صفحه

Page 57: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

52صفحه

Page 58: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

اد آزاد گنونپروانه اسThis is an unofficial translation of the GNU Free Documentation License into Persian. It was not published by the Free Software Foundation, and does not legally state the distribution terms for documentation that uses the GNU FDL--only the original English text of the GNU FDL does that. However, we hope that this translation will help Persian speakers understand the GNU FDL better.

اين ترجمه توسط بنياد نرم . باشد به زبان فارسي ميGNU Free Documentation Licenseاين يك ترجمه غير رسمي از فقط متن –باشد نميGNUو از لحاظ قانوني مرجعي براي مقررات توزيع مستندات تحت پروانه افزارهاي آزاد انتشار نيافته

به هر ترتيب، ما اميدواريم اين ترجمه به آشنايي فارسي زبانان با پروانه . شود پروانه به زبان انگليسي چنين مرجعي برشمرده ميGNUكمك كند .

1381 آذر – 2.1نسخه

,Temple Place – Suite 330, Boston, MA 02111-1307 59 به آدرس.Free Software Foundation, Incحق تاليف براي

USAباشد محفوظ مي.

.هيچكس مجاز به تغيير آن نيست باشد، اما هركسي مجاز به تكثير و يا توزيع لفظ به لفظ و دست نخورده اين پروانه مي

ديباچه

ارايه يك راهنما، كتاب درسي و يا هر مستند سودمند ديگر بصورت آزاد؛ آزاد به همان مفهوم كه هدف اين پروانه ايجاد امكان در كلمه آزادي بكار مي رود؛ براي مطمئن بودن از آزادي هركس در تكثير و توزيع آن به همراه امكان ايجاد تغييرات و يا بدون

ر اين پروانه حق مولف و ناشر در مورد مالكيت مستند را حفظ از طرف ديگ. باشد مي آن، چه بصورت تجاري و يا غير تجاري .كند ول شمرده شدن آنها در برابر تغييراتي كه توسط ديگران اعمال شده جلوگيري ميئنموده و در عين حال از مس

ي خودشان شود، كه بدين معني است كه اسناد مشتق شده از مستند اصل محسوب مي) Copyleft(اين پروانه نوعي سهو تاليف باشد كه سهو تاليف ديگري براي ميGPL به نام GNUاين پروانه مكمل پروانه ديگر . بايست به همان اندازه آزاد باشند نيز مي

.باشد نرم افزارهاي آزاد مي

ست، يك برنامه افزارهاي آزاد طراحي كرديم چون نرم افزار آزاد نيازمند مستندات آزاد نير ه ما اين پروانه را براي مستندات نرمشود، افزاري نمي آزاد بايد با مستنداتي همراه باشد كه به اندازه خود نرم افزار آزاد باشند؛ اما اين پروانه محدود به مستندات نرم

توصيه ما استفاده . بكار برد- جداي از عنوان آن و يا اينكه بصورت كتاب منتشر شده است يا خير-توان آن را براي هر متني مي .ز اين پروانه براي كارهايي است كه بطور خاص هدف آنها آموزش و يا ايجاد يك مرجع استا

كاربرد و تعاريف

كه شامل اعالني مبني بر توافق صاحب حق امتياز آن با توزيع ) منتشر شده روي هر بستري(اين پروانه بر هر راهنما و يا كاري نين اعالني مجوز جهاني نامحدودي براي استفاده از آن كار طبق قوانين اين چ. گردد آن بر اساس اين پروانه باشد اعمال مي

. خطاب خواهد شد"شما"هركسي يك دارنده مجوز خواهد بود و از اين پس . پروانه و بدون دريافت حق تاليف خواهد بود

53صفحه

Page 59: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

Copyright) قانون حقوق مولف در صورتي كه شما كار را به نحوي تكثير كنيد، تغيير دهيد و يا توزيع نماييد كه بر اساس

Law)ايد نياز به كسب مجوزي باشد مفاد اين پروانه را پذيرفته.

از مستند به معني هر كاري شامل خود مستند و يا قسمتي از آن، تكثير شده بصورت حرف به حرف و يا با "نسخه تغيير يافته" .باشد تغييرات و يا ترجمه شده به زبان ديگري مي

و ( يك مقدمه و يا موخره از مستند است كه به طور خاص به بررسي رابطه ناشر و يا مولف مستند با مطلب كلي "بخش ثاني"در نتيجه براي مثال . (پردازد و شامل هيچ چيزي كه بطور مستقيم در ارتباط با موضع كلي كار باشد نيست مي) يا مسايل مشابه

رابطه مذكور ممكن .) ش ثاني شامل توضيحاني در مورد رياضي نيستاگر مستند يك كتاب درسي رياضيات باشد، يك بخ .است رابطه تاريخي، قانوني، تجاري، فلسفي، اخالقي و يا سياسي با موضوع مورد بحث باشد

دهد آن دسته از بخشهاي ثاني هستند كه بطور خاص در اعالني كه مستند را تحت پوشش اين پروانه قرار مي"بخشهاي ثابت"گنجد آنگاه امكان نام گذاري آن به عنوان بخش ثابت وجود نخواهد اگر بخشي در تعريف باال از ثاني نمي. اند عالم شدهثابت ا . بخش ثابت باشد، در اين صورت مستند بخش ثابت ندارد"صفر"يك مستند ممكن است حاوي تعداد . داشت

دهد براي روي جلد و يا ا تحت پوشش اين پروانه قرار مي قسمتهايي از متن است كه در اعالني كه مستند ر"متن روي جلد" 25 كلمه و براي پشت جلد حداكثر حاوي 5تواند حاوي يك متن براي روي جلد حداكثر مي .پشت جلد مجزا گرديده است

.كلمه باشد

د در دسترس اي خوانا براي ماشين است كه به فرمي كه مشخصات آن به صورت آزا از مستند، نسخه"شفاف"يك نسخه براي تصويرهاي متشكل از (افزارهاي عمومي ويرايش متن قابل بازبيني است و يا همگان موجود است تهيه شده است و با نرم

هاي رايج طراحي قابل ويرايش با برنامه) ها و طرحها براي نقشه(با برنامه هاي عمومي تصوير قابل مشاهده است و يا ) نقاطافزارهاي رايج قابليت تبديل به نگارشي مناسب باشد و يا توسط نرم سط يك فرم دهنده رايج متن مياست و مناسب استفاده تواي كه به طريق ديگري ايجاد شده باشد و يا به نحوي باشد كه بخاطر نسخه. باشد افزاري را دارا مي براي استفاده در چنين نرم

ييرات بعدي توسط خوانندگان را محدود نمايد و يا بعلت پيچيدگي گذاري تغ گذاري خاص و يا عدم وجود نشانه فرم و نشانه .شود خوانده مي"مات" نباشد "شفاف"نسخه اي كه . نيست"شفاف"باعث انصراف آنها از ايجاد تغييرات گردد

، Texinfo گذاري، فرم ورودي ساده و بدون نشانهASCII عبارتند از "شفاف"هاي مناسب براي نسخه هاي نمونه هايي از فرم استاندارد و HTML عمومي، DTD در صورت استفاده از يك XML يا SGML، )و در نتيجه فارسي تك (Latexفرم ورودي

JPG و يا PNG ،XCF تصوير عبارتند از هاي فرم شفاف نمونه. با امكان ويرايش توسط كاربرPDF و يا PostScriptدر نهايت هايي هستند كه فقط توسط ويرايشگرهاي خاصي قابل خواندن و يا ويرايش هستند، فرمهاي مات شامل هايي از فرم نمونه.

SGML و يا XML در حالتي كه DTD ،مرتبط و يا ابزار پردازش آنها در دسترس همگان نباشد HTML توليد شده توسط .گردد افزارها فقط به منظور خروجي توليد مي كه توسط بعضي نرمPDF و يا PostScriptماشين و

- در صورت نياز به آنها -هاي بعدي براي يك كتاب چاپي عبارت است از خود صفحه عنوان به همراه صفحه"صفحه عنوان"براي كارهايي كه در فرمي هستند كه صفحه عنواني . دهند داند نمايش مي كه بطور شفاف مواردي را كه اين پروانه الزم مي

.باشد ترين اعالن نام كار مي ي است كه مقدم بر متن اصلي كار، در اطراف برجسته به معني متن"صفحه عنوان"ندارند،

54صفحه

Page 60: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

بوده و يا پس از ترجمه در پرانتز "الف ب جيم"گردد كه اسم آن بطور دقيق به بخشي از مستند اطالق مي"نام الف ب جيم" خاص از مستند بكار رفته است، به عنوان به عنوان نام يك بخش"الف ب جيم"در اينجا ( اشاره شده است "الف ب جيم"به

چنين بخشي، وقتي كه "حفظ عنوان".) باشد"تاريخچه" و يا "امضا"، "تقديم"، "قدرداني"نمونه نام آن بخش ممكن است . باقي مانده باشد"نام الف ب جيم"در حال ايجاد تغييرات در مستند هستيد، به اين معني است كه پس از تغييرات نيز

ممكن است در خود . ممكن است حاوي اعالن عدم تعهد نسبت به مندرجات، بعد از اعالن پيروي از اين پروانه باشدمستندپروانه به چنين اعالني ارجاع داده شود اما چنين ارجاعي فقط در صورتي كه در ارتباط با عدم تعهد نسبت به مندرجات مستند

.برخوردار نيستباشد معتبر است و در غير اينصورت از ارزشي

نسخه برداري كلمه به كلمه

توانيد مستند را از طريق هر بستر انتشار، چه به صورت تجاري و يا غير تجاري تكثير و يا توزيع نماييد به شرطي كه اين شما مياست را به تمامي كند مستند با رعايت قوانين اين پروانه منتشر گرديده پروانه، اعالنهاي حق تاليف و اعالني كه مشخص مي

شما مجاز نيستيد تا از . ها الحاق نماييد و روشن نماييد كه هيچگونه شرايط ديگري جز آنچه در اين پروانه آمده نداريد نسخهدر هر صورت، شما مجازيد . ايد محدود نماييد طريق تكنولوژيك دسترسي به خواندن و يا تكثير مجدد از آنچه را توزيع نموده

نماييد الزم است تا عالوه بر اگر شما مستند را در حجم انبوه توزيع مي. ها حق الزحمه دريافت نماييد نسخهدر عوض ارسال .نيز پيروي نماييد) 3(اين مقررات از قوانين بند

.هايي از مستند را امانت داده و يا به عموم نمايش بگذارد توانيد نسخه با پايبندي به قوانين باال شما مي

حجم انبوهتكثير در

شوند به هايي كه به طور مكرر تجديد چاپ مي و يا در رسانه(نماييد اگر شما بيش از صد نسخه چاپي از مستند را منتشر ميبايست جلدهايي منتشر كنيد و اعالن پروانه مستند شما را موظف به انتشار متن روي جلد نموده است، شما مي )رسانيد طبع مي

ن تمام اطالعات زير را منتشر نمايد، متون روي جلد براي روي جلد و متون پشت جلد براي پشت جلد، كه بطور واضح و روشبايست عنوان روشن شما را به عنوان ناشر مشخص نمايند؛ عالوه بر اين روي جلد ميدر ضمن هر دو جلد مي بايست كامالً

توانيد به جلد چيزهاي ديگري نيز اضافه نماييد، تكثير با شما مي. كامل با حروف يكسان و بصورت واضح و برجسته درج گردد .ايجاد تغيير در جلد، تا وقتي كه عنوان حفظ گرديده و شرايط باال رعايت گردند، تكثير كلمه به كلمه محسوب خواهد گرديد

ولويت، متون باالتر را تا بايست به ترتيب ا اگر متون الزم براي جلد بيش از حدي هستند كه امكان چاپ آنها روي جلد باشد مي .جاي ممكن روي جلد و باقيمانده را در صفحه يا صفحات مجاور به طبع برسانيد

نماييد شما مي بايست يا يك نسخه شفاف و خوانا براي ماشين اگر شما بيش از صد نسخه مات از مستند را منتشر و يا توزيع ميات آدرس شبكه اي براي دريافت نسخه شفاف توسط عموم را اعالم نماييد، را همراه هر نسخه ضميمه نموده و يا در هر نسخه م

اي باشد كه مصرف كننده عمومي با دسترسي عادي به شبكه و از طريق پروتكلهاي شناخته شده بتواند اين آدرس بايد بگونهبايست نهايت تالش خود نماييد مي اگر از اين راه حل استفاده مي. نسخه شفاف كاملي از مستند را بدون اضافات دريافت نمايد

چه مستقيم و يا از طريق (كنيد را بكنيد تا مطمئن شويد كه حداقل تا يكسال پس از تاريخي كه آخرين نسخه مات را توزيع مي . امكان دريافت اين نسخه شفاف وجود خواهد داشت) شعب و فروشندگان

55صفحه

Page 61: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ز انجام هر توزيع انبوه با مولفين اصلي مستند تماس حاصل نماييد تا در شود قبل ا با اينكه اجباري وجود ندارد اما تقاضا مي .اي از مستند را در اختيار شما قرار دهند صورت امكان نسخه به روز رسيده

تغييرات

نسخه تغيير باال، تكثير و توزيع نماييد به شرطي كه ) 3(و ) 2(اي از مستند را مطابق با بندهاي شما مجازيد كه نسخه تغيير يافتهاي براي يافته را بطور دقيق بر اساس اين پروانه و به نحوي كه نسخه تغيير يافته نقش مستند را ايفا نموده و در نتيجه پروانه

عالوه بر آنچه گفته شد شما . دارد صادر گردد توزيع و تغيير نسخه تغيير يافته، براي هر كسي كه رونوشتي از آن را دريافت مي :ارد زير را در مورد نسخه تغيير يافته رعايت نماييدمي بايست مو

كه (عنواني دور از عنوان مستند، و دور از عنوانهاي قبلي آن ) و اگر مستند مجلد است، روي جلدها(در صفحه عنوان ) الفاي كه تغيير در صورتي كه ناشر نسخه . انتخاب نماييد) بايست در صورت وجود در بخش تاريخچه مستند ليست شده باشند مي

.مي دهيد اجازه دهد، مي توانيد از عنوان اصلي و يا مشابه آن استفاده نماييد

ول ايجاد تغييرات در نسخه تغيير يافته به ئدر صفحه عنوان نسخه تغيير يافته، يك يا چند شخص يا نهاد را به عنوان مس) ب را به عنوان مولف معرفي ) نفر هستند5 آنها اگر كمتر از همه از مولفين كليدي و تمام( تن از مولفين اصلي 5همراه حداقل

.اي مبني بر عدم الزام به چنين تغييري بدهند نماييد، مگر اينكه مولفين اصلي به شما اجازه

.در صفحه عنوان نام ناشر نسخه تغيير يافته را به عنوان ناشر اعالم نماييد) ج

.ورده باقي بگذاريدتمام اعالنهاي حق تاليف مستند را دست نخ) د

.ايد را به طبع برسانيد مجاور با اعالنهاي اصلي حق تاليف، اعالن حق تاليف مرتبط با تغييراتي كه خودتان ايجاد نموده) ه

بالفاصله پس از اعالن حق تاليف به عموم اجازه استفاده از نسخه تغيير يافته بر اساس مقررات اين پروانه را، به نحوي كه در ) و .ه خواهد آمد، بدهيدضميم

.بخشهاي ثابت و متون روي جلدي كه در پروانه مستند اصلي آمده است را دست نخورده باقي گذاريد) ز

.اي از اين مستند را ضميمه نماييد نسخه تغيير نيافته) ح

و ناشر متن تغيير قسمت تاريخچه مستند اصلي را حفظ كرده و متني كه حداقل شامل عنوان، سال انتشار، مولفين جديد ) طبايست آن را اضافه اگر قسمتي به نام تاريخچه وجود ندارد مي. يافته، همچنان كه در صفحه عنوان آمده است را اضافه نماييد

نموده و پس از افزودن عنوان، سال انتشار، مولفين و ناشر مستند اصلي همين اطالعات در مورد نسخه تغيير يافته را نيز به آن .داضافه كني

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

اي توانيد از درج آدرس شبكه اي صادر نمايد، مي يا ناشر نسخه اصلي چنين اجازهسال قبل از نسخه جديد منتشر شده است و .خودداري نمايد

56صفحه

Page 62: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ها و نام گرفته را حفظ نموده و سعي نماييد لحن و جوهر هريك از قدرداني"تقديم" و يا "قدرداني"عنوان هر قسمتي كه ) ك .تقديمات صورت گرفته را حفظ نماييد

گزاري قسمتها و يا موارد مشابه جزو شماره. مستند را بدون تغيير در متن يا عنوان آنها حفظ نماييد"ثابت"تمام بخشهاي ) ل .گردند عنوان بخش محسوب نمي

. دارند را حذف نماييد، اين بخشها در نسخه تغيير يافته نخواهند آمد"امضا"تمام بخشهايي كه عنوان ) م

.اني مشابه بخشهاي ثابت انتخاب نكنيد و يا عنو"امضا"براي هيچ بخشي عنوان ) ن

.تمام اعالنهاي عدم تعهد را حفظ نماييد) س

گنجند و در ضمن حاوي باشد كه در تعريف بخش ثاني مي هاي جديدي مي اگر نسخه تغيير يافته حاوي ضمايم و يا پيشنويسبراي انجام . چنين بخشهايي را ثابت اعالم نماييدتوانيد مطابق ميل خودتان يك يا تمام هيچ متني از مستند اصلي نيستند، شما مي

بايست مجزا از عنوان اين عنوانها مي. اينكار، عنوان آنها را در بخش قسمتهاي ثابت اعالن پروانه نسخه تغيير يافته ليست نماييد .تمام قسمتهاي ديگر باشند

هر نويسي فقط براي نسخه تغيير يافته شما باشد، براي اضافه نماييد، به شرطي كه ظ"امضا"توانيد يك قسمت به عنوان شما مي .مثال اظهار نظر بازبيني و يا تاييد شدن متن توسط يك موسسه مسوول به عنوان تعريف يك استاندارد

كلمه به عنوان متن پشت جلد به انتهاي ليست 25 كلمه به عنوان متن روي جلد و يا تا 5توانيد نقل قولي، حداكثر تا شما ميفقط امكان افزودن يك نقل قول براي روي جلد و يك نقل قول براي پشت جلد . قل قولهاي متن نسخه تغيير يافته اضافه نماييدن

در صورتي كه مستند از قبل داراي متن روي جلد اضافه شده از طرف شما و يا هماهنگ . توسط هر شخص يا نهاد وجود داردتوانيد متني اضافه كنيد، باشد، ديگر نمي كنيد براي يك طرف جلد مي ا براي وي مي اين كار رشده توسط كسي كه شما وكالتاً

.توانيد متن جديد را جايگزين متن قديم كنيد اما با اجازه اختصاصي ناشري كه متن قبلي را اضافه نموده، مي

يت و يا رسميت بخشيدن به نسخه تغيير دهند تا از شهرت آنها براي حما بر اساس اين پروانه مولفين و ناشرين مستند اجازه نمي .يافته استفاده گردد

تركيب مستندات

باال تركيب نماييد، به ) 4(اند با رعايت قوانين بند توانيد مستند را با ديگر مستنداتي كه بر اساس اين پروانه منتشر شده شما مي نموده و آنها را به عنوان قسمتهاي ثابت كار تركيبي شرطي كه تركيب تمام قسمتهاي ثابت همه متون اصلي را بدون تغيير قيد

.خود در اعالن پروانه ليست كنيد، همچنين الزم است تا تمامي اعالنهاي عدم تعهد را حفظ نماييد

. بايست با يك قسمت تعويض گردند بايست فقط حاوي يك نسخه از اين اعالن بوده و قسمتهاي ثابت مشابه مي كار تركيبي ميدر (قسمت ثابت با نامهاي مشابه اما محتوي متفاوت وجود دارند با اضافه كرد يك جفت پرانتز و نام مولف اصلي اگر چند

همين تغييرات . در بين آنها، اسامي را متفاوت سازيد) صورتي كه شناخته شده است، در غير اينصورت يك عدد منحصر به فرد . نير اعمال نماييدرا در قسمت ليست عنوانهاي ثابت در اعالن پروانه

57صفحه

Page 63: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

را تحت عنوان يك تاريخچه آورده و همين كار را براي هر بخشي "تاريخچه"در هر تركيب، شما مي بايست تمام بخشها با نام . را حذف نماييد"امضا"شما بايد همه قسمتهاي . با عنوان قدرداني و تقديمات انجام دهيد

گردآوري مستندات

هاي اند را گردآوري نموده و نسخه مستند و ديگر مستنداتي كه بر اساس اين پروانه منتشر شدهاي شامل شما مجازيد مجموعهديگر از اين پروانه را با يك نسخه از آن در مجموعه جايگزين نماييد، به شرطي كه قوانين اين پروانه در رابطه با نسخه كلمه به

.كلمه هر مستند را از هر نظر اجرا نماييد

اي يك مستند واحد استخراج نماييد و آن را بصورت منحصر به فرد تحت اين پروانه توزيع نيد از چنين مجموعهتوا شما مينماييد به شرطي كه يك نسخه از اين پروانه را در مستند استخراج شده قرار داده و تمامي شرايط نسخه برداري كلمه به كلمه را

.بر اساس اين پروانه اجرا نماييد

با كارهاي مستقلگردآوري

ناميده "تراكم"گردآوري مستند يا مشتقات آن با ديگر مستندات و يا كارهاي مجزا و مستقل روي يك بستر انتشار يا توزيع . شود به شرطي كه در نتيجه اين گردآوري حقوق كاربر محدودتر از آنچه در هر مستند مستقل به آن اشاره شده است نگردد مي

منتشر شده است اين پروانه تاثيري بر ديگر كارهاي مجموعه كه جزيي از مستند "تراكم"وعه اي بصورت وقتي مستند در مجم .يا خود آن نيستند ندارد

هاي مستند الزامي است، آنگاه اگر مستند كمتر از نصف كل مجموعه انتشار متن روي جلد براي نسخه) 3(اگر طبق قوانين بند در صورتي كه مستند (كند قرار گيرد وي جلدي كه مستند را از ديگر مستندات مجزا ميتوانند ر باشد اطالعات متن مي

.بايست روي جلد كل مجموعه به طبع برسند در غير اين صورت آنها مي.) الكترونيك است، معادل الكترونيك جلد

ترجمه

باال ) 4(ي از مستند را بر اساس قوانين بند هاي گردد و در نتيجه شما مجازيد ترجمه ترجمه كردن نوعي تغيير دادن محسوب ميتوانيد باشد، اما شما مي تعويض قسمتهاي ثابت با معادل آنها نيازمند كسب مجوز از صاحبان اصلي حق امتياز مي. توزيع نماييد

توانيد شما مي.نماييد منتشر كنيد ترجمه تمام يا قسمتي از آن قسمتها در صورتي كه نسخه اصلي متن را درون مستند حفظ ميهاي درون مستند را به همراه اعالنهاي عدم تعهد منتشر كنيد به شرطي كه اصل اين پروانه ترجمه اي از اين پروانه و تمام پروانه

در صورتي كه تفاوتي بين ترجمه و نسخه اصلي . ها به زبان اصلي آنها را نيز ضميمه نماييد به زبان انگليسي و ديگر پروانه .د، نسخه اصلي مبناي قضاوت قرار خواهد گرفتموجود باش

حفظ عنوان آن )) 4(بخش ( نامگذاري شده است نياز به "تاريخچه" و "تقديم"، "قدرداني"اگر بخشي از مستند با عنوان .به طور معمول نيازمند تغيير عنوان حقيقي است)) 1(بخش (

فسخ

توزيع كنيد و يا حق مالكيت آن را به ديگري واگذار نماييد مگر طبق آنچه توانيد مستند را تغيير داده، تكثير نموده، شما نميهر تالش ديگري براي تكثير، تغيير، واگذاري امتياز و يا توزيع مستند از درجه اعتبار . در اين پروانه به آن اشاره گرديدصريحاً

58صفحه

Page 64: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

اي كه اعتبار پروانه گيرنده به هر ترتيب،. ودش ساقط است و بطور خودكار منجر به فسخ حقوق شما به موجب اين پروانه مي .نسخه و يا حقوقي مطابق اين پروانه را دريافت داشته است تا وقتي كه آنها به اين پروانه پايبند باشند ساقط نخواهد گرديد

هاي بعدي اين پروانه نسخه

چنين . را منتشر نمايدGNU پروانه مستندسازي آزاد اي از افزارهاي آزاد نسخه جديد و بازبيني شده گاه گاه ممكن است بنياد نرمهاي جديدي در ديد كلي مشابه اين پروانه خواهند بود اما ممكن است تغييراتي جهت همخواني آنها با مشكالت و مسايل نسخه

. مراجعه نماييدcopyleft/org.gnu.www://http/براي اطالعات بيشتر به آدرس . جديد ايجاد شود

هر نسخه پس از "اگر مستند به يك نسخه خاص اين پروانه و يا . هر نسخه پروانه حاوي يك شماره نسخه مجزا خواهد بودآزاد اشاره كند شما آزاديد تا قوانين و مقرارت نسخه نام برده شده و يا هر نسخه پس از آن را كه توسط بنياد نرم افزارهاي "آن

اي كه تاكنون توسط بنياد توانيد هر نسخه اگر مستند به نسخه خاصي اشاره نكرده است شما مي. انتشار يافته است را اجرا نماييد .را برگزينيد) هاي پيش نويس به غير از نسخه(افزارهاي آزاد منتشر شده است نرم

چگونه اين پروانه را بر مستندات خود اعمال كنيد

را به مستند الحاق ) به زبان انگليسي(اي از اين پروانه ايد نسخه ده از اين پروانه براي مستندي كه خودتان نوشتهبراي استفا :نموده و اعالن حق تاليف زير را درست بعد از صفحه عنوان اضافه نماييد

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

: را با نام آنها تعويض نماييد”.with…Texts“اگر قسمتهاي ثابت، متن روي جلد و يا متن پشت جلد داريد قسمت with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

)نمونه فارسي(

متون " و با متون پشت جلد به شرح "متون روي جلد"، با متون روي جلد به شرح "نام عنوانها"با قسمتهاي ثابت با عنوانهاي ."پشت جلد

داراي قسمتهاي ثابت بدون متون روي جلد و يا تركيب ديگري از اين سه مي باشد، فقط دو گزينه ديگر را اگر مستند شما فقط .با هم تركيب نماييد

59صفحه

Page 65: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

باشد، توصيه مي كنيم بصورت موازي اين كدها را تحت يك اگر مستند شما حاوي حجم قابل توجهي از كد اصلي برنامه مي منتشر نماييد تا اجازه استفاده آنها در نرم افزارهاي آزاد GNU General Public Licenseل پروانه آزاد نرم افزاري، به عنوان مثا

.را صادر كرده باشيد

-- پايان

اين ترجمه در مرداد ماه يكهزار و سيصد و هشتاد و سه شمسي توسط كاوه رنجبر انجام شده است، خواهشمند است نظرات و . ارسال نماييدkaveh at kaveh period orgپيشنهادات خود را به آدرس

This translation has been done by Kaveh Ranjbar at August 2004, Please send your comments to kaveh at kaveh period org .

60صفحه

Page 66: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

GNU FDL GNU Free Documentation License

Version 1.2, November 2002

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies

of this license document, but changing it is not allowed.

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying

it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject )or to

related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document 61صفحه

Page 67: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial,

philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts,

in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose

specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque ".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple

HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold,

legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements ",

62صفحه

Page 68: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

"Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has

no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition.Copying with changes limited to the covers, as long as they

preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material.

If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

63صفحه

Page 69: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions) which should, if there were any, be listed in the History section of the Document). You may

use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five ,unless they release you from this requirement.

C. State on the Title page the name of the publisher of the Modified Version, as the publisher.

D. Preserve all the copyright notices of the Document.

E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.

H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

K. For any section Entitled "Acknowledgements" or "Dedications " , Preserve the Title of the section, and

preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.

L. Preserve all the Invariant Sections of the Document,unaltered in their text and in their titles. Section

numbers or the equivalent are not considered part of the section titles.

64صفحه

Page 70: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

65صفحه

M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.

N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.

O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice.

These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on

explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements ", and any

sections Entitled "Dedications". You must delete all sections Entitled "Endorsements ".

6. COLLECTIONS OF DOCUMENTS

Page 71: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the

aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their

copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements ", "Dedications", or "History", the requirement

(section 4) to Preserve its Title (section 1) will typically require changing the actual title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights,

from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

66صفحه

Page 72: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft./

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.2

or any later version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU

Free Documentation License ".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with

this: with the Invariant Sections being LIST THEIR TITLES, with the

Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other

combination of the three, merge those two alternatives to suit the

situation.

If your document contains nontrivial examples of program code, we

recommend releasing these examples in parallel under your choice of

free software license, such as the GNU General Public License,

to permit their use in free software.

67صفحه

Page 73: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

ديسك فشرده

. محتواي آن در زير شرح داده شده است .باشد يضميمه مك فشرده همراه اين مجموعه يك عدد ديسREADME.txt

.باشد به زبان انگليسي ميهمضميديسك فشرده ي امحتواطالعات راهنما براي اي از خالصه شاملاين فايل

LICENCE.txt

تواي ديسك فشردهحمجوز و پروانه گنو براي استفاده از م

/Article

استفاده شده در ترسيم نقشه و رباتيكبع منااالت متنوع و قم

/Component

C++ Builderاجزاي مورد استفاده در محيط برنامه نويسي

/Document

Adobe PDF, OpenOffice, Microsoft Office متن كامل پايان نامه به فرمت

/Execute

پويااز كتابخانه ها و فايلهاي پيونديقابل اجرا بصورت كامال مستقل . اجرايي براي سيستم عامل ويندوزهاي فايل

/GNU_License

). منتشر شده استFDL, GPLكليه كدهاي منبع و متون ارائه شده تحت مجوز گنو ( وز گنو جمتن انگليسي و فارسي پروانه و م

/Log_file

.فايل هاي ثبت شده از حركات ربات واقعي

/Presentation

OpenOffice, Microsoft Officeمت فايل ارائه شده در جلسه دفاع به فر

/ScreenShot

هاي مختلف تصاويري از برنامه در حاالت و وضعيت

/Source

ها كد منبع برنامه

/Chart

68صفحه

Page 74: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

پتانسيل و تست الگوريتمكد منبع برنامه ترسيم

/Mapping

كد منبع برنامه ترسيم نقشه توسط حسگر مافوق صوت

/Mapping_Laser

رسيم نقشه توسط پويشگر ليزريكد منبع برنامه ت

/SendUDP

)پخش كننده فايل هاي ثبت شده( كد منبع برنامه شبيه ساز

69صفحه

Page 75: Autonomous rescue robot mapping

دانشگاه آزاد اسالمي قزوين ترسيم نقشه محيط توسط ربات امدادگر خودمختار

منابع و مراجع

1- Varveropoulos, Vassilis. ”The Rossum Project”. http://rossum.sourceforge.net.

2- Varveropoulos, Vassilis. “Robot Localization and Map Construction Using Sonar Data”. The Rossum Project. Sourceforge: 2004.

3- Tard´os, Juan D, Neira, Jos´e, Newman, Paul M, Leonard, John J. ” Robust Mapping

and Localization in Indoor Environments using Sonar Data”. 2002.

4- Thrun, Sebastian, Burgard, Wolfram, Fox, Dieter. “A Real-Time Algorithm for Mobile Robot MappingWith Applications to Multi-Robot and 3D Mapping“.San Francisco. IEEE International Conference on Robotics and Automation: 2000.

5- Jefferies, M.E, Yeap, W.-K, Smith, L, Ferguson, D. “Building a Map for Robot

Navigation Using a Theory of Cognitive Maps“. New Zealand.

6- Hollingworth, Jarrod, Butterfield, Dan, Swart, Bob, Allsop, Jamie. “C++Builder 5 Developers Guide”. USA. Sams Publishing: 2001.

7- Stallman, Richard. “The GNU Project”. http://www.gnu.org/.

70صفحه

Page 76: Autonomous rescue robot mapping

Abstract Today the mapping of the accidental environments for detecting victims, paths and environment form and style with autonomous rescue robot or manual robot is very useful. This project is researching and implementing the autonomous rescue robot mapping by using the NAJI-3 and NAJI-4 robots. These robots are deigned and made in Mechatronics Research Laboratory of Islamic Azad University of Qazvin. Now lets describe the consequences in the document.

Page 77: Autonomous rescue robot mapping

Islamic Azad University Qazvin Branch

Final Project of B.S.

Computer Engineering

Project Title Autonomous Rescue Robot Mapping

(NAJI 3)

Computer and Electronic Department Mechatronics Research Laboratory

Aَdvisor: Dr. Abolfazl Toroghi Haghighat

Students: Amir Hossein Mandegar (7894130) Hardware Afrooz Katanbaf Nasab (7992031) Software

Project Code: K2-1133 First Semester of 2004-2005

Page 78: Autonomous rescue robot mapping

Copyright (c) 2005 ;Amir Hossein Mandegar,Afrooz Katanbaf Nasab Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being “Acquaintance and Introduction”, “Design and Implementation”, “Conclusion” and “Attachment”, with the Front-Cover being “Autonomous Rescue Robot Mapping”, and no Back- Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License."