دوربین مداربسته

دسامبر 17, 2010 2 دیدگاه

دوربین های آنالوگ

 

سیستم های مداربسته در دو نوع آنالوگ و تحت شبکه می باشند .

  1. دوربین های آنالوگ :

از دوربین های آنالوگ می توان به عنوان نسل اول CCTV ها نام برد که کابل خروجی تمامی دوربین ها در دستگاه کنترل مرکزی (DVR) جمع می شوند و در آن دستگاه عملیات کنترل، نظارت، ضبط و سایر پردازش ها صورت می گیرد.

  • · دوربین ثابت :

با وضوح تصویر بالا ، ضد نویز و سایه ، قابلیت کارکرد در نور بسیار کم، مجهز به منوی روی تصویر، قابلیت علامتگذاری روی تصویر Motion Detection

  • · دوربین متحرک :

با قابلیت زوم بالا ، ضد نویز و سایه ، قابلیت دید در نورکم ، وضوح تصویر بالا ، قابلیت دید در شب ، چرخش 360 درجه افقی و 240 درجه عمودی ، مجهز به منو روی تصویر ، قابلیت علامتگذاری روی تصویر ((Motion Detection ، قابلیت اتصال به انواع شبکه، طراحی زیبا.

  • · DVR :

ضبط تصاویر به صورت زنده، قابلیت فشرده سازی تصاویر برای کمتر شدن حجم تصاویر، کیفیت بالای تصویر، دارای هارد دیسک داخلی با ظرفیت بالا، مجهز به خشاب های داخلی اضافی هارددیسک، قابلیتBackup  گیری از تصاویر ضبط شده به وسیله پورت USB و DVD-RW ، قابلیت اتصال به انواع شبکه، مجهز به Mouse ، قابلیت کنترل دوربین های متحرک (Speed Dome) ، مجهز به منو ، قابلیت اتصال به کامپیوتر از طریق پورت های RS232RS485-RS422

  • · لنز :

ü     انواع لنز با قابلیت تنظیم خودکار و دستی فاصله کانونی و همچنین لته با قابلیت زوم دستی

ü     لنزهای با قابلیت تنظیم خودکار فاصله کانونی (Varifocal) برای فاصله های مختلف

ü     لنزهای با قابلیت زوم دستی از فاصله دور بوسیله کابل کشی .

  • · مانیتور صنعتی :

مانیتورهای صنعتی LCD و CRT در اندازه های 21 ، 19، 17 و 14 اینچ ، با کیفیت تصاویر بالا، ورودی و خروجی ویدئو و صوت ، قابلیت کارکرد به مدت طولانی.

 

  1. دوربین های تحت شبکه :

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

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

مزایا مشخصات عمومی
ª     کنترل از راه دور تصاویر زنده دوربین ها در هر زمان ، از هر مکان و از طریق هر کامپیوتر متصل به شبکه

ª       بالاترين کیفیت تصاویر دیجیتالی

ª     دارای تصاویر واضح تر با تیرگی کمتر به دلیل استوار بودن بر اسکن پیشرفته تصاویر

ª     انعطاف پذیر بودن محل نصب در هر جایی که شبکه در دسترس باشد

ª     كاربردهاي متنوع و متعدد

ª     قابليت افزایش تعداد دوربین ها تا هر جایی که شبکه گسترش یابد

ª     پشتيباني شده از طرف بزرگترین شرکتهای سخت افزاری

ª     به  علت داشتن مزيت Power Over Ethernet نيازي به كابل كشي جداگانه براي برق ندارند كه اين باعث ايجاد اطمينان بيشتر به سيستم مي شود

ª      اتصال مستقیم به شبکه های استاندارد کامپیوتری

ª      كاركرد بر اساس شبکه های وب سرور بدون نیاز به هر گونه سخت افزار واسط و یا نرم افزار اضافی

ª      قابل نصب در هر محیط (مستقل از کامپیوتر)

ª      سه لایه امنیتی با استفاده از Username و Password جهت محدود کردن دسترسی غیر مجاز

ª      پشتيباني فرمتهای JPEG ، MPEG2 ، MPEG4

ª      نرم افزار کاربردی داخلی قدرتمند ، حافظه داخلی جهت اضافه کردن تنظیمات مدیریتی و به روز رسانی سیستم

ª      در طول زمان هزينه پهناي كمتري (مثل هزينه جابجايي مركز كنترل و سيم كشي مجدد، هزينه خريد تجهيزات مركز كنترل، انتقال تصاوير و فشرده سازي آنها و …) براي مالك در بر خواهد داشت

 

 

 

 

نرم افزار دوربین های تحت شبکه :

بوسیله نرم افزار در آن واحد هم می توانید تصاویر دوربین ها را ببینید ، هم آنها را با کیفیت بالای دیجیتالی به صورت دائم و یا بر طبق برنامه ای خاص ضبط کنید :

  • وجود حالتهای مختلف برای ضبط، از جمله به طور دائمی، بر طبق برنامه ای خاص، یا پس از ایجاد شدن حرکت روی تصویر (Motion Detection) و یا پس از برقراری ارتباط با سیستم های حسگر محیطی .
  • تخصیص اتوماتیک IP با استفاده از پروتکل های استاندارد
  • انجام تنظیمات لازم
  • به روز رسانی سیستم عامل مرکزی دوربین ها
  • نمایش و ضعیت ارتباط با دوربین ها
  • مدیریت تعداد نامحدودی دوربین

 

کاربردهای سیستم های حفاظتی- نظارتی

 

ادارات و ارگان های دولتی :

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

اماکن صنعتی :

در محیط های صنعتی ، مانند کارخانه ها و امکان دسترسی به خطوط تولید و انبارها را در اختیار مدیران قرار می دهد.

 

امور بانکی :

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

فروشگاه ها :

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

پایانه های مسافربری :

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

اماکن آموزشی :

سیستم های حفاظتی قابل استفاده در مدارس ، پارک ها ، کلاس های درس ، سالن های مطالعه و سایر محیط های فرهنگی نیز می باشد و این مکان ها را به محیط های امن و قابل کنترل تبدیل می کند.

 

Advertisements
دسته‌ها:Uncategorized

تكامل طراحي ديجيتال به كمك كامپيوتر

دسامبر 17, 2010 بیان دیدگاه

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

با ظهور تكنولوژي مدار مجتمع، امكان پياده‌سازي مدارات ديجيتال بر روي يك تراشه فراهم گرديد. اولين نسل مدارات‌مجتع يا IC ها، SSI سر نام Small Scale Integration نام دارد كه در اين نسل تراشه‌ها با تعداد بسيار اندكي ترانزيستور و گيت‌هاي منطقي ساخته مي‌شدند، پس از آن حجم مجتمع سازي در نسل‌هاي MSI سر نام Medium Scale Integration و LSI سر نام Large Scale Integration به سرعت گسترش يافت و به طوري كه امكان مجتمع سازي هزاران گيت منطقي، در داخل يك تراشه براي طراحان سخت‌افزار فراهم آمده بود.

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

نمايي از يك طراحي بسيار پيچيده

با پيشرفت نسل VLSI سر نام Very Large Scale Integration امكان طراحي مدارات مجتمع با ميليون‌ها ترانزيستور فراهم گشته است(مانند تصوير بالا). به دليل پيچيدگي بسيار زياد اين مدارات ،طراحي و ارزيابي عملكرد آنها به روش‌هاي سنتي ديگر ميسر نيست، به همين خاطر ايده‌اي جهت توصيف طرح به يك زبان قابل فهم براي كامپيوتر مطرح گرديد تا زمينه حضور كامپيوتر در پروسه طراحي يك مدار VLSI گسترده‌تر گشته و مسائل طراحي و ارزيابي در پروسه طراحي يك سخت‌افزار جديد، با الگوريتم‌هاي از پيش تعريف شده، پردازش شوند.

زبان توصيف سخت‌افزار چيست ؟

HDL سر نام Hardware Description Language ، به خانواده‌اي از زبان‌هاي برنامه‌نويسي گفته مي‌شود كه جهت مدل‌سازي عملكرد بخشي از يك سخت‌افزار به كار گرفته مي‌شوند. توصيف سخت‌افزار به كمك HDLها به دو شكل كلي امكان پذير است:

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

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

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

نمايي از يك سخت‌افزار مدرن، طراحي شده به كمك زبان‌هاي توصيف سخت‌افزار

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

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

شبيه سازي سخت‌افزار به كمك HDLها

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

زبان‌هاي توصيف‌سخت‌افزار  Verilog و VHDL در ميان ساير HDL‌ها محبوبيت بيشتري پيدا كرده‌اند كه در ادامه مقاله به بررسي و مقايسه‌آنها خواهيم پرداخت.

زبان توصيف سخت‌افزار VHDL

زبان VHDL سر نام Very High Speed Integrated Circuit Hardware Description Language از جمله HDLهاي پرطرفداري است كه امروزه در طراحي تراشه‌هاي با كاربرد خاص و تراشه FPGA به كار گرفته مي‌شود.

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

در طراحي زبان توصيف سخت‌افزاري VHDL از مفاهيم زبان برنامه‌نويسي Ada بهره برده شده به همين خاطر اين زبان در syntax بسيار مشابه Ada مي‌باشد. اين زبان به گونه‌اي طراحي شده كه مسائل همزماني و موازي‌سازي سخت‌افزار را به خوبي پوشش دهد.

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

جگنده F-22 يكي از اولين پروژه‌هايي بود كه تمامي مدارات و مستندات الكترونيكي آن به زبان VHDL نگاشته شده بود، موفقيت اين پروژه موجب شد تا زبان VHDL بيش از پيش توسعه يافته و مورد استفاده قرار گيرد.

در سال 1993 استاندارد IEEE-1076 ويرايش شد و در آن تمهيداتي جهت پوشش دادن به سيگنال‌هايي كه در آن واحد چند مقدار به آنها داده مي‌شود، انديشيده شد. در سال 1996 ابزار‌هاي شبيه سازي و سنتز مدارات ديجيتال توصيف شده توسط VHDL به صورت تجاري عرضه شدند تا مراحل طراحي تا پياده‌سازي كامپيوتري يك سخت‌افزار به كمك VHDL تكميل شود.

در سال 2006 كميته فني VHDL مستقر در كنسرسيوم Accellera كه توسط IEEE جهت به روز‌رساني استاندارد VHDL ايجاد شده‌ است، نسخه سوم از پيش نويس استاندارد VHDL-2006 را ارائه كرد.

يك نمونه از برنامه VHDL كه به توصيف يك گيت AND ساده بدون ملاحظات زماني پرداخته است در زير آورده شده است :

— import std_logic from the IEEE library
library IEEE;
use IEEE.std_logic_1164.all;

— this is the entity
entity name_of_entity is
port (
IN1 : in std_logic;
IN2 : in std_logic;
OUT1: out std_logic);
end entity name_of_entity;

— here comes the architecture
architecture name_of_architecture of name_of_entity is

— Internal signals and components would be defined here

begin

OUT1 <= IN1 and IN2;

end architecture name_of_architecture;

زبان توصيف سخت‌افزار Verilog

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

Syntax اين زبان بسيار مشابه به زبان C مي‌باشد و در توسعه آن از ويژگي‌هاي زبان C الگو گرفته شده است. اين زبان در سال 1981 توسط Phil Moorby در شركت Gateway Design Automation ابداع شد و در سال 1985 نرم‌افزار شبيه‌ساز اين زبان به نام Verilog-XL عرضه شد در سال 1989 اين شركت به همراه حقوق معنوي اين زبان توسط شركت ‍Cadance خريداري و سپس مستندات آنرا براي استفاده عمومي، به صورت رايگان در اختيار مردم قرار گرفت.

در سال 1993 اين زبان توسط IEEE بازنگري و استانداردسازي شد در همين سال بر اساس آمار EE Times حدود 85 درصد از طراحي‌هاي مدارات مجتمعي كه به كارخانه‌هاي توليد‌كننده ادوات نيمه‌هادي سفارش داده شدند، به زبان Verilog توصيف شده بودند.

يك نمونه از برنامه Verilog كه به توصيف يك فليپ‌فلاپ پرداخته است در زير آورده شده است :

module toplevel(clock,reset);
input clock;
input reset;

reg flop1;
reg flop2;

always @ (posedge reset or posedge clock)
if (reset)
begin
flop1 <= 0;
flop2 <= 1;
end
else
begin
flop1 <= flop2;
flop2 <= flop1;
end
endmodule

از جمله امكانات زبان Verilog محيط PLI آن سر نام Program Language Interface مي‌باشد كه به كمك آن مي‌توان كنترل برنامه را از زبان Verilog بر عهده تابعي كه به زبان C نوشته شده است قرار داد، اين قابليت موجب شده تا زبان Verilog انعطاف پذير گشته و توسعه برنامه در آن توسط زبان C نيز امكان پذير باشد.

Verilog‌در برابر VHDL

توصيف ساختاري يك سخت‌افزار با زبان Verilog هيچ گونه برتري يا كاستي نسبت به توصيف آن با زبان VHDL ندارد و تفاوت ميان اين دو زبان بيشتر در توصيف‌هاي رفتاري يك سخت‌افزار خود را نشان مي‌دهند. شكل زير نشان‌دهنده ميزان مقياس پذيري اين دو زبان در سطوح مختلف انتزاع در توصيف رفتاري مي‌باشد:
همانطور كه مشاهده مي‌كنيد، زبان Verilog توانايي مدل‌سازي سخت‌افزار تا پايين‌ترين سطح انتزاع يعني سطح ترانزيستور و سوييچ را دارا مي‌باشد در حالي كه زبان VHDL توانايي مدل‌سازي سخت‌افزار در بالاترين سطوح انتزاع (تا سطح سيستم) را دارد. علارقم اينكه به كمك قابليت PLI زبان Verilog تا حدودي مي‌توان به توصيف سيستمي يك سخت‌افزار پرداخت، اما اصولا بهره‌گيري از HDL ها جهت توصيف يك سيستم ناكارآمد است و براي اين منظور زبان‌هاي كارآمد ديگري مانند SystemC و System Verilog طراحي شده كه به كمك آنها مي‌توان سخت‌افزار را از بالاترين سطح انتزاع توصيف نمود. لذا قابليت‌هاي توصيف سيستمي VHDL را به سختي مي‌توان در زمره برتري‌هاي آن نسبت به Verilog‌ قلمداد كرد.

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

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

انتخاب يك زبان توصيف‌ سخت‌افزار

براي انتخاب يك زبان جهت توصيف مدار ديجيتال، عوامل متعددي را بايد علاوه بر برتري‌هاي ذاتي يك زبان خاص مدنظر قرار داد. برخي از اين عوامل عبارتند از:
سليقه شخصي : اصولا چون اكثر مهندسين و طراحان مدارات ديجيتال به زبان C مسلط هستند، زبان Verilog را كه خط كد مشابه C دارند ترجيح مي‌دهند، ضمن اينكه خوانايي كد‌هاي اين زبان بهتر از VHDL است.

موجوديت ابزار‌هاي شبيه‌سازي و سنتز : در حال حاضر ابزار‌هاي شبيه‌ساز رايگان متعددي براي زبان Verilog وجود دارند كه از ميان‌آنها ميتوان به كامپايلر Icarus Verilog اشاره كرد، در حالي كه ابزارهاي شبيه‌ساز متن‌باز اندكي براي VHDL موجود هستند و اقلب ابزار‌هاي شبيه‌سازي اين زبان، به صورت تجاري به فروش مي‌رسند.

عوامل تجاري و بازاريابي : بر اساس آمار‌هاي منتشر شده در سال 1998بازار ابزار‌هاي شبيه‌سازي زبان Verilog حدود 150 ميليون دلار اعتبار داشت به طوري كه اعتبار اين بازار نسبت به سال 1994 دو برابر شده بود، در سال 2003 نيز شركت Synopses يكي از بزرگترين شركت‌هاي اين بازار چند صد ميليون دلاري، اعلام كرد كه تيم توسعه و تحقيقات اين شركت تنها بر روي Verilog متمركز شده اند و در ابزار‌هاي شبيه‌سازي اين شركت از VHDL‌پشتيباني نخواهد شد.

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

تمركز وب‌سايت تخصصي سخت‌افزار ايران نيز با توجه به برتري‌هاي ذكر شده بر روي زبان توصيف سخت‌افزاري Verilog مي‌باشد. به همين منظور جهت فراگيري اين زبان خودآموز زير را به خوانندگان گرامي اهدا مي‌كنيم.

خودآموز زبان Verilog نگاشته جناب آقاي دكتر صفري استاديار دانشگاه تهران در گروه مهندسي كامپيوتر-سخت‌افزار:

جهت فراگيري زبان توصيف سخت‌افزاري VHDL نيز مراجع و كتب‌هاي متعددي وجود دارد كه بر اساس مشور‌ت‌هاي صورت گرفته Tutorial منتشر شده توسط سايت cic.org.tw به خوانندگان محترم پيشنهاد داده مي‌شود،نسخهPDF اين خودآموز را مي‌توانيد از اين آدرس دانلود كنيد. منابع :

Wayne Wolf, «Modern VLSI Design» 3rd Edition, Prentice-Hall

Samir Palnitkar, «Verilog® HDL: A Guide to Digital Design and Synthesis», Second Edition, Prentice-Hall

Douglas J.Smith, «HDL Chip Design», Doone publications

جایگاه CPU در ساختمان کامپیوتر

دسامبر 17, 2010 بیان دیدگاه

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

واحد کنترل (Control Unit): این بخش از مدارهای الکترونیکی تشکیل شده است که به وسیله‌ی آنها سیستم کامپیوتر را در جهت اجرای دستورات هدایت می‌کند. مانند یک رهبر ارکستر. توجه به این نکته ضروری است که این واحد خود دستورات را اجرا نمی‌کند بلکه دیگر اعضای سیستم را وادار به انجام آنها می‌کند. به این منظور این واحد باید با حافظه‌ی کامپیوتر و واحد محاسبه و منطق ارتباط داشته باشد.

واحد محاسبه و منطق (Arithmetic/ Logic Unit): این واحد مجموعه‌ای از مدارهای الکترونیکی است که همان طور که از نامش بر می‌آید مسئول اجرای دستورات محاسباتی و منطقی است. دستورات محاسباتی این بخش به چهار عمل اصلی ضرب، تقسیم، جمع و تفریق محدود می‌شود. دستورات منطقی نیز معمولا شامل مقایسه است. این بخش می تواند اعداد، حروف یا کاراکترهای به خصوص را با هم مقایسه کند.

عملکرد CPU

مجموعه‌ی عملکردهای CPU را می‌توان به چهار بخش اصلی تقسیم‌بندی کرد که تقریبا در همه‌ی ریزپزدازنده‌های امروزی یکسان است.

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

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

اجرا (execute): در این مرحله بخش‌های مختلف اجرایی، ورودی و خروجی و حافظه‌ای CPU در ارتباط با یکدیگر قرار می‌گیرند و سرانجام عملیات نهایی در بخش محاسبه و منطق روی داده‌ها انجام می‌گیرد.

بازگشت برای نوشتن مجدد (writeback): در این مرحله، نتایج مرحله‌ی اجرا به شکل نوعی از حافظه ذخیره می‌شوند. گاهی ممکن است لازم باشد که این نتیجه در دسترس سریع ‌CPU قرار گیرد تا برای انجام فرآیندهای بعدی CPU از آن استفاده کند. برای این منظور نوعی حافظه‌ی موقت در CPU وجود دارد که ثبّات (register) نام دارد که ‌این گونه اطلاعات روی آن ذخیره می‌شوند.

نویسندگان :

محسن مهدوی

امید رضا نظری پویا

برنامه ريزي حرکت ربات (Motion Planning)

دسامبر 10, 2010 بیان دیدگاه

معرفي

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

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

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

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

اين كتاب درباره تئوري ها و كارهاي عملي robot motion planning  با يك ديد نرم افزاري و سيستمي بحث مي كند. براي تمركز بر روي بحث و نكات مهم در motion planning ، ابتدا نگاهي به چند مثال جالب مي اندازيم.

 

 

مساله piano mover’s

مساله piano mover’s يک مساله کلاسيک در طراحي مسير است.اين مساله شامل يک سري مانع مي باشد. فرض مي شود که موانع ساکن و کاملا شناخته شده اند و اجراي مسيرهاي طراحي شده دقيق است. به اين حالت طراحي offline  مي گويند. زيرا طراحي قبل از اجرا به پايان رسيده است. گونه هاي مختلف اين مساله , مساله sofa mover’s است که در آن يک ربات روي يک سطح بين چندين مانع مسطح حرکت مي کند, مساله ديگر مساله generalized mover’s است که در آن ربات ممکن است شامل قطعات متصل به هم سخت در اتصالات مانند بازوي ربات باشد. مشکل کليدي اين است که مطمئن شويم هيچ نقطه اي روي ربات با مانع برخورد نمي کند بنابرايم ما بايد موقعيت تمام نقاط روي ربات را مشخص کنيم اين حالت يک configuration(پيکره بندي) ربات است و configuration space فضاي همه پيکره بندي هايي است که ربات مي تواند به آنها دست يابد. مجموعه زواياي اتصالات در بازوي ربات با جهتيابي روي فرش روي يک سطح نمونه اي از پيکره بندي ها هستند. فضاي پيکره بندي معمولا اقليدسي نيست به اين معني که شبيه فضاي  ،n بعدي اقليدسي نيست. ابعاد يک فضاي پيکره بندي برابر است با تعداد متغير هاي مستقل آن پيکره بندي که با درجه آزادي عمل آن (degree of freedom=DOF) نيز نشان داده مي شود. DOF مساله Piano برابر 6 است: 3 تا براي نشان دادن موقعيت (x-y-z) و 3 تا براي نشان دادن جهتيابي ( roll-pitch-yaw). هدف مساله يافتن  يک منحني در فضاي پيکره بندي است که نقاط شروع و پايان را به هم وصل مي کند و مانع همه configuration space obstacles مي شود که با وجود مانع در فضا افزايش مي يابد.

 

 

Mini AERcam

مرکز فضايي جانسون ناسا در حال توليد و توسعه Mini AERcam يا دوربين رباتيک خودگردان براي انجام وظايفي از قبيل بازرسي هاي فضايي است. اين وسيله يک ربات مجهز به 12 پشتيبان گاز سرد است که به آن اجازه فراهم کردن انرژي براي حرکت در هر جهتي را مي دهد. وقتي وسيله در حالت خودگردان ( اتوماتيک) قرار مي گيرد بايد توانايي هدايت در محيط هاي پيچيده ي 3بعدي را داشته باشد. به همين دليل اين مساله بسيار شبيه به مساله Piano mover’s است. ما نه تنها نياز به برنامه ريزي مسير حرکت براي ربات بلکه نياز به برنامه ريزي سرعت در طول مسير نيز داريم.اين موضوع trajectory (خط سير) ناميده مي شود و ورودي هاي پشتيبان به وسيله ي Dynamic ( حرکت) ربات تعيين مي

شکل 1.1

شوند. در مساله Piano mover’s نگراني ها فقط در مورد مسائل هندسه يا جنبش شناسي (Kinematic) بود.

 

 

Personal Transport Vehicle ( وسيله حمل و نقل شخصي(

يک وسيله حمل و نقل شخصي است که ممکن است به اصلي ترين وسيله براي حمل و نقل در محيط هاي شهري تبديل شود. جايي که اندازه , سرعت , آلودگي صوتي و آلودگي هوايي اتومبيل ها بسيار ناخوشايند است. يکي از اين وسيله ها CYCAB مي باشد. که يک وسيله حمل و نقل کوچک  است که توسط کنسرسيوم موسسه ها در فرانسه براي حمل و نقل حداکثر 2 نفر و سرعت 30 کيلومتر در ساعت طراحي شده است.يکي ديگر از اين وسيله ها Segway HT است که براي حمل يک شخص در سرعت 20 کيلومتر در ساعت طراحي شده است.

شکل 1.2

يکي از مسائلي که درباره ساده سازي کنترل وسايل نقليه در محيط هاي شلوغ مورد مطالعه قرار گرفته Automatic parallel parking است. راننده فرآيند parallel parking را انجام مي دهد و کامپيوتر روي دستگاه را مي توان از اين طريق کنترل کرد. سيستم هاي مشابهي به                                 زودي به طور اقتصادي در اتومبيل ها به کار خواهد رفت. در ظاهر اين مساله شبيه مساله Sofa mover’s است چون هر دو مساله شامل حرکت يک جسم روي يک سطح بين موانع است. تفاوت اين است که ماشين ها و وسايل نقليه بر خلاف Sofa (نيمکت) نمي توانند به طور لحظه اي از پهلو حرکت کنند.

 

 

(راهنماي موزه ها) Museum tour guides

شکل 1.3

در سال 1997 يک ربات متحرک به نام Rhino  به طور کاملا خودکار به عنوان يک راهنما در deutsches museum bonn  کار مي کرد. Rhino قابليت راهنمايي و هدايت بينندگان موزه را از يک غرفه به غرفه بعد با استفاده ار محاسبه مسير و با استفاده از نقشه ذخيره شده موزه فراهم مي نمود. چون يک مدل اجرايي دقيق در مساله piano movers با توجه به اين ويژگي ها غير واقعي است. Rhino مجبور بود مکان خود را با مقايسه

داده هاي دريافتي از حسگرها و نقشه ذخيره شده خود پيدا کند.

 

 

Planetary exploration(اکتشافات سياره اي)

شکل 1.4

يکي از موفق ترين و هيجان انگيز ترين دستاوردها در زمينه رباتيک, ربات متحرکي به نام sojourner بود که در 4  july 1997 در مريخ فرود آمد.sojouner  مانند پسر عموهاي موفق خود   spiri و opportunity بود که اين سيالات در ژانويه 2004 در مريخ فرود آمدند و تحول عظيمي را در علم داده ها به وجود آورده اند. در آينده ربات ها قادر خواهند بود مناطق وسيعي را زير پا گذاشته و بررسي کنند. از اين رو نياز به استقلال بيشتر خواهد داشت. علاوه بر قابليت جهت يابي بعضي ربات ها قادر خواهند بود که نقشه محيط را با استفاده از اطلاعاتي که از حسگرهاي خود به دست مي آورند توليد کنند.

بدون نقشه ربات نمي تواند موقعيت خود را تعيين کند و بدون اطلاع از موقعيت خود نمي تواند نقشه را تجزيه و تحليل کند.اين مساله اغلب با عنوان simultanecus localization & mappily يا به طور خلاصه SLAM  شناخته مي شود.

خنثي سازي مين

مناطق مين گذاري شده توسعه هاي اقتصادي را کاهش داده و صدمه و مرگ را هر ساله به دنبال دارد. در سال 1994 , 25 ميليون مين در سرتاسر جهان کاشته شد در حالي که فقط 100000 تا از آنها خنثي شده اند.

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

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

 

 

 

Fixed base robot arms in industry (بازوهاي ثابت ربات در صنعت)

شکل 1.5

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

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

 

 

ربات هايي به شکل مار براي جستجوهاي شهري و عمليات نجات

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

 

 

 

 

شکل 1.6

 

 

کاراکترهاي ديجيتال

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

طراحي دارو

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

مرور کلي مسائل مربوط به motion planning

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

اهداف و کارها

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

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

تمرکز در محلي خاص و نقشه کشي مي توانند با هم ترکيب شوند مثلSLAM .

ويژگي هاي ربات

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

در نتيجه ربات را به عنوان يک گيرنده يا فرستنده امواج در جهات مناسب فرض مي کنيم.

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

ويژگي هاي الگوريتم

بعد از اينکه هدف و سيستم ربات تعريف شد , ما مي توانيم بين الگوريتم هايي که مساله را حل مي کنند يکي را انتخاب کنيم. براي مثال آيا طراح مي تواند حرکتي را پيدا کند که در مواردي از قبيل طول , زمان اجرا و انرژي بهينه باشد؟ يا آيا يافتن يک راه حل که محدوديت ها را ارضا کند آسان است؟ علاوه بر کيفيت خروجي يک طراح , ما مي توانيم سوالاتي درباره پيچيدگي محاسبات يک طرح نيز مطرح کنيم.

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

وقتي برنامه ريزي و نقشه کشي complete(کامل) باشد به اين معني است که حتما راه حلي براي مساله motion planning پيدا مي کند.براي مساله motion planning وقتي درجه آزادي عمل افزايش مي يابد راه کامل ممکن است خود سرانه باشد. بنابراين ما مي توانيم شکل هاي ضعيف تري از کامل بودن را جستجو کنيم. يکي از اين شکل ها resolution completances است. اين بدان معني است که اگر راه حلي در يک تحليل  وجود داشته باشد طراحان آن را خواهند يافت. يکي ديگر از شکل هاي ضعيف کامل بودن probabilistic completeness است. اين بدان معنا است که احتمال يافتن يک راه حل (در صورتي که وجود داشته باشد) در بينهايت همگرا به 1 است.

کامل بودن و پيچيدگي محاسبات به طور طبيعي توسط يکديگر سبک و سنگين و مقايسه مي شوند. اگر ما خواستار motion plan بهينه يا کامل , از طراحان هستيم بايد از افزايش پيچيدگي محاسبات راضي باشيم.

ما مي گوييم يک طراح offline است اگر يک طرح را از قبل بر مبناي يک مدل شناخته شده در محيط طراحي کند و سپس اين طرح را به اجرا کننده بدهد. گوييم يک طراح online است اگر يک طرح را طراحي کند وقتي که ربات در حال اجرا است. تفاوت بين الگوريتم هاي offline و الگوريتم هاي بر مبناي سنسور online مي تواند قدري تيره باشد براي مثال اگر طراح offline بتواند به قدر کافي سريع اجرا شود مي تواند براي طراحي مداوم  وقتي داده هاي جديد حسگر, مدل محيط را بروز کند استفاده شود.

فرق اساسي در زمان محاسبه است و اغلب الگوريتم ها با اين معيار طراحي مي شوند. در اين کتاب ما درباره کنترل کننده هاي بازخوردي سطح پايين که نياز به پياده سازي واقعي  motion planningدارند بحث نخواهيم کرد اما فرض خواهيم کرد که آنها وجود دارند و در دسترسند.

مرور کلي اين کتاب

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

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

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

پايه هاي رياضي در اين فصل به ما اجازه مي دهد تا مسائل عمومي مسير يابي از قبيل يافتن يک مسيردر فضاي پيکره بندي را مرور کنيم و ببنيم. ما مواردي از قبيل بعد(درجه آزادي عمل) توپولوژي و پارامترهاي فضاي پيکره بندي غير اقليدسي را مطالعه مي کنيم.

فصل4 يک سري از الگوريتم ها را که بر مبنايartificial potential function  ( توابع بالقوه مصنوعي) هستند توصيف مي کند. براي اين منظور ما يک منطقه بالقوه مصنوعي در فضاي پيکره بندي به وجود مي آوريم تا موانع را در آن دفع کنند و هدف را در آن , براي ربات , جذاب نشان دهيم. سپس ربات به سادگي شيب مربوط به پتانسيل مصنوعي را دنبال مي کند. براي برخي مسايل هدايت و راه يابي , اين امکان وجود دارد که يک محيط بالقوه طراحي کنيم تا مطمئن شويم که حرکت روي شيبها , ربات را هميشه به مقصد و هدف مي رساند.

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

شيوه رياضي

هدف ما ارائه عناويني است که به خواننده کمک کند تا مفاهيم رياضي را عميقا درک کند. ما اغلب از سختي هاي رياضي جلوگيري مي کنيم و مطالب سخت رياضي را مطرح نمي کنيم اما در جايي که مساله به طور شهودي قابل فهم باشد. در بيشتر مسايل , اثبات تئوري در نظر گرفته نشده است براي بيشتر قسمت ها مفاهيم رياضي به همان اندازه که لازمند ارائه شده اند. در همه اين کتاب فرض شده که ربات ها در محيط هاي دو وجهييا سه بعدي  عمل مي کنند. بعضي اوقات محيط کاري را با W ذنشان مي دهيم. اين محيط کاري اغلب شامل موانعي است که با که i نشان دهنده iمين مانع است نشان مي دهيم.

Motion planning معمولا در محيط کاري اتفاق نمي افتد بلکه در در فضاي پيکره بندي Q (که فضاي C نيز ناميده ميشود) اتفاق مي افتد ما از R(q) براي نشان دادن نقاطي از فضاي محدود اشغال شده توسط ربات در پيکره بندي q استفاده مي کنيم.

در اين کتاب مابين path planning و motion planning تفاوت قائل هستيم. يکpath  يک منحني پيوسته در فضاي پيکره بندي است.

 

فصل 2

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

Bug1 و Bug2 از اولين و ساده ترين الگوريتم هايي هستند که بر پايه سنسور مي باشند. يعني در اين الگوريتم ها ربات به عنوان يک نقطه در نظر گرفته مي شود که در يک صفحه عمل مي کند و داراي يک سنسور تماسي ( سنسوري با برد صفر ) است تا موانع را تشخيص دهد. وقتي ربات يک سنسور با برد غير صفر دارد, مي توان از الگوريتم  tangent bug براي پيدا کردن کوتاه ترين مسير به هدف استفاده مي کند.  الگوريتم هاي bug يا شبيه به bug خيلي ساده پياده سازي مي شوند. علاوه بر اين مي توانيم با يک آناليز ساده نشان دهيم که اين الگوريتم ها موفق عمل مي کنند.

اين الگوريتم ها از دو رفتار تبعيت مي کنند: حرکت روي خط مستقيم و دنبال کردن موانع.

 

 

الگوريتم Bug1

در اين الگوريتم ربات به سمت هدف حرکت مي کند مگر اينکه به يک مانع برخورد کند. در اين حالت مانع را دور مي زند تا زماني که رسيدن به هدف دوباره جايز باشد. در واقع الگوريتم Bug1 ايده حرکت به سوي هدف و دور زدن را فرمول بندي مي کند.

در اين الگوريتم فرض مي شود که ربات به صورت نقطه اي در محيط با موقعيت کامل (بدون خطا) است و مي تواند با استفاده از سنسور مرز موانع را در صورت تماس با آنها کشف کند. همچنين ربات مي تواند فاصله بين هر دو نقطه x و y را محاسبه کند و فرض بر اين است که فضاي حرکت محدود است.

يک نقطه شروع و يک نقطه هدف داريم. ربات حرکت خود را از نقطه شروع آغاز مي کند و بطور مستقيم به سمت هدف حرکت مي کند. يا به مقصد مي رسد يا به مانع برخورد مي کند. اگر به مانع برخورد کرد (که به اين نقطه  hit point يا نقطه برخورد مي گويند) , کل محيط مانع را طي مي کند تا به نقطه برخورد برسد. در واقع مانع را دور مي زند. در اين مسير نقطه اي را که کوتاهترين فاصله تا هدف را دارد, پيدا مي کند. به اين نقطه leave point (نقطه ترک) مي گويند. از نقطه برخورد يک بار ديگر دور مي زند تا به اين نقطه برسد و از اين نقطه دوباره خرکت مستقيم خود را به سمت هدف آغاز مي کند. ربات همين کار را تکرار مي کند تا به مقصد برسد يا اينکه تشخيص دهد رسيدن به مقصد غير ممکن است. اگر خطي که هدف و leave point را بهم وصل مي کند, مانع را تقسيم کند هيچ راهي به سمت هدف وجود ندارد.

شکل 2.1

الگوريتم Bug2

الگوريتم bug2 نيز مانند bug1 دو رفتار دارد: حرکت روي خط مستقيم و دنبال کردن موانع.

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

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

در اين الگوريتم اگر ربات بعد از حرکت روي مرزمانع به نقطه برخورد رسيد, يعني راهي به سوي هدف وجود ندارد.

شکل 2.2

 

 

در نگاه اول به نظر مي رسد که الگوريتم bug2 از bug1 کارآمدتر است چون مسير کوتاه تري را طي مي کند ولي هميشه اينگونه نيست. با يک سري محاسبات رياضي, براي بدست آوردن مسيري که در هر يک از اين الگوريتم ربات طي مي کند, مي توان نشان داد که در برخي موارد مسافتي که براي رسيدن به هدف طي مي شود در bug2 بيشتر از bug1 است.

Bug1 يک جستجوي کامل را براي يافتن کوتاه ترين مسير انجام مي دهد ولي bug2 از يک جستجوي فرصت طلبانه يا در واقع از الگوريتم هاي حريصانه استفاده مي کند.

 

شکل 2.3

 

شکل 2.3 نشان مي دهد که در برخي موارد الگوريتم bug1 از الگوريتم bug2 بهتر عمل مي کند.

 

 

 

 

 

 

 

 

 

 

فصل 3 (فقط برای مطالعه)

فضاي وضعيت (Configuration Space)

يکي از مهمترين موارد مورد نياز در برنامه ريزي حرکت, تعيين موقعيت تمام نقاط عامل است, چرا که بايد مشخص گردد که آيا عامل با موانع برخورد دارد يا نه. اين موضوع باعث طرح سوالاتي مي گردد: به چه مقدار اطلاعات به منظور مشخص کردن کامل موقعيت تمام نقاط عامل نياز است؟ اين اطلاعات چگونه بايد نشان داده شود؟هنگام پيدا کردن مسيري براي عامل, موانع به چه صورت بابيد در نظر گرفته شوند؟ و… هدف ما در اين قسمت پاسخ دادن به چنين سوالاتي مي باشد.

 

مشخص کردن وضعيت يک عامل(Specifying a Robot`s Configuration)

محيط محصوري که عامل در آن حرکت مي کند را فضاي کار مي ناميم. براي مثال يک بازوي مکانيکي فضاي کار موقعيت تمام نقاطي در محيط بسته است که اثرکننده (End Effector) به آن دسترسي دارد.

وضعيت يک عامل توصيفي است از موقعيت تک تک آن عامل. فضاي وضعيت (C-Space) يک عامل نيز فضاي تمام وضعيت هاي ممکن آن عامل است. بنابراين يک وضعيت از يک عامل در فضاي وضعيت تنها يک نقطه در آن فضا است. در اين پايان نامه از q براي نشان دادن وضعيت و از Q براي نشان دادن فضاي وضعيت استفاده مي شود. بعد فضاي وضعيت برابر است با بعد درجه آزادي عامل که در بخش هاي بعدي بيشتر به اين موضوع خواهيم پرداخت.

اگر يک ربات دايره اي در فضاي2 R‌ بدون چرخش (rotate) را نسبت به يک محور مختصات مرجع در نظر بگيريد, يک راه ساده براي مشخص کردن وضعيت ربات در نظر گرفتن مرکز آن است. اگر مرکز ربات (x,y) و شعاع دايره (r) را داشته باشيم, مي توانيم به راحتي از فرمول زير موقعيت تمام نقاط اشغال شده توسط ربات در محيط را بيابيم:

R(x,y)={(x,y)|(x-x)2+(y-y)2≤r2}

و به اين ترتيب تنها با دانستن مختصات مرکز ربات مي توان وضعيت آن را به طور کامل مشخص نمود.

فضاي کار و فضاي وضعيت دو مفهوم کاملا متفاوت هستند. براي واضح تر شدن اين دو مفهوم مثال زير را در نظر بگيريد :

يک بازوي مکانيکي دو مفصله همانند شکل 3.1 در نظر بگيريد.

 

شکل 3.1

 

فضاي کار اين ربات تمامي نقاطي است که توسط اثرکننده قابل دسترسي است. اين فضا در شکل 3.2 مشاهده مي شود. از آنجايي که هر نقطه در فضاي کار به دو صورت قابل دسترسي است (در حالت اول اثرکننده رو به پايين و در حالت دوم رو به بالا) بنابراين مختصات اثرکننده نشان دهنده وضعيت (Configuration) ربات نيست, چرا که از روي اين مختصات نمي توان به وضعيت کليه نقاط ربات پي برد.

اما براي تعريف فضاي وضعيت از زواياي مفصلي که در شکل 3.1 مشاهده مي شود مي توان استفاده کرد. هر زاويه  را مي توان به نقطه اي بر روي دايره واحد  مرتبط نمود.

وضعيت فضاي پيکربندي

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

 

شکل 10.3    سطح ليوان قهوه و جسم هلالي به لحاظ وضعيتي معادل هستند.

توپولوژي يکي از شاخه هاي رياضي است که ويژگي هاي اجسامي را بررسي مي کند که وقتي آن اجسام در معرض تغييرشکلهاي متصل از قبيل کشش و يا خميدگي قرار مي گيرند, تغيير نمي کنند. به همين خاطر گاهي اوقات توپولوژي به عنوان «هندسه ي صفحه ي لاستيکي» خوانده مي شود. وقتي صفحه در جهات مختلف کشيده مي شود, شکل چند ضلعي تغيير مي کند, در حالي که ويژگي هاي واقعي چند ضلعي تغيير نمي کنند. به عنوان مثال نقاطي که درون چندضلعي قرار دارند, به خاطر اينکه صفحه کشيده مي شود, به بيرون چند ضلعي حرکت نمي کنند. دو فضا از نظر توپولوژي با هم متفاوتند اگر براي تبديل يکي به ديگري نياز به copy و paste باشد. چون copy و paste تغيير شکل هاي متصلي نيستند. يکي از دلايلي که ما به توپولوژي فضاي پيکربندي توجه مي کنيم اين است که اين موضوع مي توانيد بر روي نمايش ما از فضا تاثير بگذارد. دليل ديگر اين است که اگر ما بتوانيم يک الگوريتم برنامه ريزي بر مبناي مسير را براي يکي از فضاهاي توپولوژيک استنتاج کنيم, سپس آن الگوريتم ممکن است که به فضاهايي که از نظر توپولوژيکي معادل هستند, انتقال يابد.

يک نگاشت   قاعده اي است که اجزا S را با اجزا مشابه در T جايگذاري مي کند. ما به ترتيب image مربوط به S را تحت  و preimage مربوط به T را با استفاده از  تعيين مي کنيم.

 

 

شکل 11.3

اگر  , آنگاه ما مي گوييم  surjective و يا onto مي باشد. اگر  هر جز مربوط به T را با جزء مشابه آن در S به ازاي هر  که شامل جزء بشتري در S است قرار دهد, آنگاه مي گوييم  , injective است. اگر  , injective باشد آنگاه هنگامي که  باشد براي  خواهيم داشت : . نقشه هايي که هم surjective و هم injective باشند به آنها مي گوييم bijective هستند. شکل 11.3 اين تعاريف را نشان مي دهد.يک نگاشت  , smooth خوانده مي شود اگر همه ي ماخوذات جزئي  خوش تعريف باشند.

اتصالات قابل تغيير

براي همه ي فضاهاي پيکربندي که تابه حال ديده ايم توانسته ايم به طور خاص يک پيکربندي با n پارامتر مشخص کنيم که n اندازه ي فضاي پيکربندي را تعيين مي کند. دليل اين که توانستيم اين کار را انجام دهيم اين بود که  اين فضاهاي پيکربندي همگي فضاهاي n-بعدي اقليدسي بودند. اين فضاها که manifold يا اتصالات نام دارند, يک موضوع مرکزي توپولوژي محسوب مي شوند.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

دسته‌ها:روباتیک

مقاله ای جامع در باب رباتیک (6)

دسامبر 10, 2010 بیان دیدگاه

امواج Ultrasonic

امواج اولتراسونيك به دسته­ايي از امواج مكانيكي گفته مي­شود كه فركانس نوسانشان بيش از محدوده شنوايي انسان 20KHz باشد. اين امواج بدليل خواصي كه دارند كاربردهاي متنوع و بعضاً جالبي دارند. با محاسبه­ايي ساده مي­توان دريافت كه اگر نقطه­ايي با فركانس 25 كيلوهرتز و دامنه 10 ميكرومتر نوسان كند شتاب آن بالغ بر 25 هزار برابر شتاب ثقل مي­شود. اين شتاب و به طبع آن سرعت بالا در مايعات باعث ايجاد كاويتاسيون مي­شود و در هنگام انفجار حبابهاي ايجاد شده فشاري در حدود 200 بار ايجاد مي­گردد. از طرف ديگر اگر حركت نسبي با مشخصات فوق ميان دو سطح جامد برقرار شود ازدياد دما باعث جوش خوردن دو سطح به يكديگر مي­شود كه Ultrasonic Welding مي­باشد.

امواج اولتراسونيك مانند ديگر امواج دارای خاصیت شکست، انعکاس، نفوذ و پراش می­باشند. برای توليد اين امواج روشهاي متفاوتي وجود دارد.

مجموعه­هاي اولتراسونيك معمولاً از سه بخش كلي تشكيل مي­شوند:

1.       مبدل

2.       بوستر

3.       تقويت كننده يا هورن.

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

کاربرد سنسورهای Ultrasonic در رباتیک

يكي از مسائل مطرح در رباتيك ايجاد درك نسبت به محيط خارجي براي جلوگيري از برخورد نامطلوب به اشياء موجود در محيط حركت است. از سوي ديگر ممكن است نياز داشته باشيم كه ربات بتواند دركي از فاصله ها بدون تماس فيزيكي داشته باشد. براي اين منظور از سنسورهاي مافوق صوت يا Ultrasonic استفاده ميكنند.
با وجود اينكه رويكردهاي زيادي در اين زمينه وجود دارد ولي ميتوان آنها را در دو بخش تقسيم بندي كرد. دسته اول شامل ابزارهاي انفعالي ميباشند ،نظير سيستمهاي فاصله سنجي swept-focus و يا stereoscopic . دسته بعد سيستم هاي فعال يا Active ميباشند نظير سيستمهاي ماكروويو ، ليزر و مافوق صوت.
در اين مقال ما به معرفي سنسورهاي مافوق صوت خواهيم پرداخت. اين سنسورها از دو قسمت تشكيل شده است. قسمت اول مدار راه انداز آن را تشكيل ميدهد و قسمت ديگر دو قطعه (مبدل( گيرنده و فرستنده آن ، دقيقا مشابه آن قسمت از دزدگيرهايي كه در خودروها (مقابل شيشه جلو) نصب ميشود. البته دردسر اصلي كار با اينگونه سنسورها مدار راه انداز آن است.البته پكيجهاي آماده كه كار را بسيار ساده ميكنند نيز وجود دارد، مانند مدل مافوق صوت ساخت شركت Texas Instruments  كه اين سنسورها در برخي دوربينها نيز براي تشخيص فاصله و فوكوس مناسب استفاده ميشود.

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

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

نمونه ای از کاربرد سنسورهای Ultrasonic در روباتیک

ربات دوچرخه سوار

یک کمپانی ژاپنی اقدام به ساخت یک ربات کوچک نموده که به سادگی دوچرخه سواری می کند.

شرکت Murata Manufacturing در یکی از نمایشگاه های تکنولوژیهای پیشرفته در اطراف شهر توکیو در ژاپن، رباتی را معرفی کرد که قادر است دوچرخه سواری کند.

این ربات که پنجاه سانتیمتر ارتفاع و نزدیک به پنج کیلوگرم وزن دارد، «پسر موراتا» (Murata Boy) نام داشته می تواند با سرعتی حدود 79 سانتیمر در ثانیه حرکت کند.

نسخه قدیمی تر این ربات که دوچرخه سواری می کرد در سال 1990 معرفی شد اما نمی توانست بدون آنکه بیفتد، توقف کند. اما ربات اخیر با تنظیم سرعت و انحراف مرکز جرم خود می تواند تعادل خود را در موقعیت های مختلف از جمله هنگام ایستادن حفظ کند.

سنسور سونار:

خلاصه:

سونار SRF04 سنسور مسافت یاب است که می توان توسط آن ربات را هدایت کرد. شما می توانید ربات خود قادر سازید تا محیط پیرامونش را از طریق مجموعه سنسورهای سونار ببیند.(مانند چشم انسان)

نظریه عملکرد:

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

مانند تصویر زیر:

توسط اندازه گیری درست زمان، از لحظه ای که Ping شروع شده تا لحظه ای که Echo به سنسور برمیگردد، مقدار فاصله به نزدیکترین شیء را می توان محسبه کرد. حرکت صدا چیزی در حدود 1116.4 feet/second و یا 340.29 meters/second در سطح دریا، سرعت دارد. فاصله به نزدیکترین شیء را می توان با تقسیم زمان گذشته شده(elapsed time) بر دو برابر سرعت صدا محاسبه کرد.

منظور از زمان گذشته شده، زمان بین فرستادن صدا و شنیدن انعکاس(echo) است.

فرمول بدست آوردن فاصله سنسور از شیء به صورت زیر است:

Distance = ElapsedTime / (2* Speed_Of_Sound)

دلیل این که عمل تقسیم را بر دو برابر سرعت صدا ضرب می کنیم این است که فاصله از شیء فقط نصف فاصله حرکت واقعی موجی صدا است. موج صدا باید به سمت شیء حرکت کند و به سنسور برگردد برای این که سنسور، برگشت صدا یا echo را بشنود.

عملکرد سنسور:

سنسور مسافت یاب SRF04 با تولید یک پالس بر روی سیگنالی قرار است بفرستد، آن را رها می کند. این باعث می شود تا مسافت یاب یک ping ارسال کند. سنسور مسافت یاب قادر است تا 100 microsecond را بعد از عمل پینگ دریافت کند و سیگنال خروجی echo سنسور را افزایش دهد.(تأخیر در فعال سازی گیرنده باعث می شود تا گیرنده از شنیدن ping ارسال شده جلوگیری کند) وقتی که گیرنده echo را می شنود سیگنال خروجی را قطع می کند. زمان گذشته شده(Elapsed Time) بین ping و echo را می توان با اندازه گیری مدت زمان پالس روی خط echo و اضافه کردن 100 microsecond به آن بدست آورد. به صورت زیر:

elapsedTime = pulseDuration + 100


سنسور رنگ:

چکیده:

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

کلمات کلیدی:

ADC:  Analog – Digital – Converter

Sensor:  حسگر

Pixel:  پیکسل

Chip:  چیپ

مقدمه:

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

سنسورهای رنگی ساخته شده در صنعت کار تشخیص رنگ را بر عهده دارند و تقریبا تمام طیف نور مرئی را تشخیص می دهند. این سنسورها بهترین انتخاب برای کاربردهای مقیاس کوچک با عملکرد بالا هستند.

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

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

سه نوع سنسور رنگ شبیه چشم انسان مسئولیت تشخیص رنگ را بر عهده دارند . این سنسورهای رنگی نمایانگر یک طرح کوچک فیلترهایی با کیفیت بالا و خواندن هم زمان سه سطح رنگی می باشند.

سنسور فوق یکی از انواع سنسورهای JEN color ساخت کارخانه MAZET آلمان و از نوع سنسورهای سه عنصری (3 element color sensor) بوده که قابلیت شناسایی رنگ ها را به تفکیک رنگهای قرمز ، سبز و آبی دارا می باشد.

سنسور مربوط از 3*19 فتو دیود pin  سیلیکونی که بصورت حلقه وار روی چیپ فقرار گرفته اند تشکیل شده برای جلو گیری از ایجاد تداخل در بین فتو دیود ها ، هر سکتوری از قسمت دیگر جدا شده  برای شناسایی هر رنگی در هر کدام از این فتودیود ها فیلتر مربوط به طول موج رنگ مربوط در نظر گرفته شده است.

فیلترهای رنگی با کیفیت بالای تداخلی دارای این خصوصیات می باشد:

1-                بصورت micro-structure  روی چیپ قرار گرفته اند

2-                قدرت انتقال سیگنال بالایی دارند.

3-                سطح آن ها سخت می باشد.

4-                پایداری حرارتی بالایی دارند.

5-                فیلترها دارای شیب زیادی هستند

آرایه های فتو دیدهای pin  سیلیکونی:

1-                ناحیه طول موج 450mm-750mm

2-                جریان گرفته شده از هر سکتور کمتر از 50 pa  به ازای 5v   ولتاژ معکوس

3-                ظرفیت  خازن هر سکتور 50 pf  به ازای 5v ولتاژ معکوس

4-                ماکزیمم ولتاژ معکوس 30 v

5- زمان صعود (TR) کمتر 1ns

این قطعه در انواع پکیج های tos-smd-so8 با فیلتر IR  ارائه شده است .و دارای چهار پایه می باشد که شامل سه پایه آند که هر کدام مربوط به یک رنگ قرمز ، سبز و آبی و یک پایه کاتد مشترک می باشد.

: ساختار فیزیکی

سنسورهای رنگی شامل آرایه های دو بعدی(ماتریس) از سلول های تصویری می باشند که عملیات استخراج نور و اسکنینگ(Scanning) را انجام می دهد، جنس این سلول ها از مواد نیمه هادی طراحی آن به صورتی است که تشکیل یک خازن بدهد. برای تولید این سلول ها از ترکیب بایاس معکوس P-N استفاده می شود. در این تکنولوژی، ساخت دیودی با اتصال P-N

(reverse-based) مورد استفاده قرار می گیرد.

وقتی یک ولتاژ مثبت بر روی یک الکترود هادی کنار بستر القاء می شود یک ناحیه تخلیه در بستر در کنار الکترود ایجاد می شود به این منبع تخلیه چاه پتانسیلی نیز گفته می شود حال وقتی نور به ناحیه تخلیه برسد الکترون های بستر با حفره ها ترکیب مجدد می شوند ولی در ناحیه تخلیه الکترون های آزاد خواهیم داست بنابراین یک شارژ منفی از ناحیه تخلیه بوجود می آمد که نمایانگر تابش نور بر بستر می باشد برای این که نور به آسانی به محل تخلیه برسد الکترودهای از جنس پلی سیلیکون می باشد.

عامل های هوشمند

مقدمه

عامل هرچیزی است که قادر به درک محیط پیرامون خود ازطریق حس گرها(سنسور) واثرگذاری بر روی محیط از طریق اثرکننده ها  باشد.

عامل انسانی اندامهایی مانند گوشها، شمها ودیگر ارگانها برای حس کردن ودستها، پاها ، بینی ودیگر اندامها برای اثرگذاری دارند. عامل رباتیک دوربینها ویابنده های مادون قرمز را بجای حس گرها وانواع موتورها را بجای اثرکننده ها جایگزین کرده است. عامل نرم افزاری رشته های بیتی را بعنوان درک محیط وعمل ، کدگذاری می کنند. درشکل زیرنمادی ازیک عامل عمومی ترسیم شده است.

Sensors 

 

شكل ١۲:عامل هايي كه از طريق حسگر ها و اثر كننده ها با محيط ها ارتباط برقرار مي كنند.

عامل ها چگونه باید عمل کنند؟

عامل منطقی (RATIONAL AGENT) چیزیست که کاردرست انجام میدهد. آشکارا ،این بهتر ازآنست که کار نادرست انجام گیرد، اما این چه معنی می دهد؟ بعنوان اولین تخمین ، میگوییم عمل درست آنست که باعث موفق ترین شدن عامل گردد. اما این بیان مساله ، تصمیم گیری درباره چگونگی وزمان محاسبه موفقیت عامل را نادیده می گیریم .

ماواژه معیارکارآیی را (PERFORMANCE MEASURE) برای چگونگی به کار میبریم ، ملاکی که چگونگی موفقیت یک عامل را تعیین می کند. آشکارا ، تنها یک معیارثابت مناسب برای تمامی عاملها وجود ندارد . ماباید ازعامل برای عقیده ذهنی چگونگی رضایت خود از کارآیی اش را مورد پرسش قرار دهیم.

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

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

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

به طور خلاصه آن چه که در هر زمانی منطقی است به چهار چیز وابسته است:

  • معیار کارآرایی که درجه موفقیت را تعیین می کند
  • هرچیزی که تاکنون عامل ادراک نموده است.اما این تاریخچه کامل اذراکی را دنباله ادراکی می نامیم.
  • آنچه که عامل در باره ی محیط خودمی داند.

اعمالی که عامل می تواند صورت دهد.

این عوامل راهنمای تعریف ایده آل هستند:برای هردنباله ادراکی ممکن عامل منطقی ایده آل باید هر کاری را که انتظار می رودباعث حداکثرسازی معیار کارآرایی می شود انجام دهدواین عمل بر پایه شواهدی که از طریق دنباله ادراکی آماده شده وهر آنچه که دانش درونی عامل است انجام میگردد.

نگاشت ايده آل از دنباله هاي ادراكي به عمليات

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

خود مختاري (Autonomy)

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

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

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

ساختار عاملهاي هوشمند

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

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

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

برنامه + معماري = عامل

اكثريت مباحث اين كتاب درباره طراحي برنامه ها عامل است.

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

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

آزمونها،

رفتارها

علائم، 

يافته ها، پاسخهاي بيمار

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

صحيح

چاپ يك صحنه طبقه بندي شده پيكسل هاي با شدت متفاوت، 

رنگ

سيستم تحليل تصويرماهواره اي
تسمه حمل كننده اجزاء قرار دادن اجزاء در دسته 

صحيح

برداشتن اجزاء 

و مرتب سازي آنها به صورت دسته اي

پيكسلها با شدت 

متفاوت

روبات جابه جا كننده اشياء
پالايشگاه افزايش خلوص، 

محصول،ايمني

بازو بسته كردن 

سوپاپها،

تعديل دما

دما، فشارسنجها كنترل كننده 

پالايشگاه

مجموعه     دانش آموزان افزايش نمرات 

دانش آموزان در آزمونها

تمرينهاي 

چاپ شده،پيشنهادات،

اصلاحات

كلمات تايپ شده آموزش دهنده زبان انگليسي 

با ارتباط متقابل

شكل٣۲:مثالهايي از انواع عامل ها و تعاريف PAGE هاي آنها

شايد براي برخي از خوانندگان تعجب آور باشد كه ما درليست انولع عامل ها برخي برنامه ها را ذكر كرده ايم كه در محيط كاملاً مصنوعي كه به وسيله ورودي صفحه كليد و خروجي كاراكتربر روي صفحه نمايش تعريف مي شود،مطرح مي گردند مطمئناًبرخي خواهند گفت، «آيا اين يك محيط واقعي است؟» در حقيقت مسئله مهم تمايز محيط هاي    « واقعي » و «مصنوعي » نيست، بلكه مسئله اصلي پيچيدگي ما بين ارتباط رفتار عامل، دنباله ادراكي توليد شده بوسيله محيط، و اهدافي است كه عامل قصد حصول آن را دارد،مي باشند. برخي محيط هاي « واقعي » در عمل بسيار ساده هستند.براي مثال،روباتي كه براي بازرسي قطعاتي كه بر روي تسمه نقاله مي آيند، طراحي شده مي تواند فرضيات ساده كننده اي را در نظر گيرد: اين فرض كه روشنايي همواره وجود دارد،اين فرض كه فقط قطعات خاصي بر روي تسمه نقاله انتقال مي يابند و اينكه تنها دو عمل اعريف شده است،قبول قطعه يا علامت گذاري روي آن براي رد قطعه.

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

برخي محيط ها تمايز بين « واقعي » و« مصنوعي » را محو مي كنند.در محيط  ALIVE (Maes  et al.1994)، عامل هاي نرم افزاري داده شده ناد كه قادر به درك تصاوير دوربين ديجيتال اتاقي هستند كه انساني گرداگرد آن قدم ميزند. عامل، عامل تصوير دوربين را پردازش كرده و عملي را انتخاب مي كند.محيط همچنين تصوير دوربين را بر روي پرده نمايش بزرگي كه انسان قادربه ديدن آن باشد نمايش مي دهد تا بتواند بر روي تصوير افكت هاي گرافيك كامپيوتري را اضافه كند.چنين تصويري مي تواند سگكارتوني باشد كه برناوه ريزي شده تا بسوي انسان حركت كند (مگر اينكه فرد به جايي اشاره كند تا سگ دور شود) و يا دست خود را تكان داده و يا مشتاقانه بپرد زماني كه انسان اداهي خاصي از خود در آورد.

محيط ها

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

خواص محيط ها : محيط ها از چند منظر مورد توجه قرار مي گيرند. تمايز هاي پايه به قرار زير ايجاد مي شوند:

قابل دسترسي در مقابل غيرقابل دسترسي

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

قطعي در مقابل غير قطعي

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

اپيزوديك در مقابل غير اپيزوديك

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

ايستا در مقابل پويا

اگر محيط درحين سنجيدن عامل تغيير كند، مي گوئيم محيط براي عامل پويا است، در غير اين صورت پويا است. محيط هاي ايستا براي كار ساده هستند زيرا عامل نيازمند نگاه كردن به دنيا درحين تصميم گيري عملي نداشته و همچنين در مورد گذرزمان نيز نگران نمي باشد. اگر محيط با گذر زمان تغيير نيابد اما امتياز كارايي تغيير كند، مي گوئيم محيط نيمه پويا (semidynamic ) است.

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

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

برنامه محيط

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

به طور كلي، ملاك كارايي وابسته به كل دنباله وضعيت هاي محيط است كه در حين عمل برنامه توليد مي گردد. معمولاً، ملاك كارايي با يك تجمع ساده مثل جمع، ميانگين يا حداكثر كار مي كند. براي مثال، اگر ملاك كارايي براي عامل vaccum-cleaning  جئع كل زباله هايي باشد كه در يك شيفت كاري تميز كرده باشد، scores تنها مقدار زباله تميز شده تا كنون را نگهداري مي كند. RUN-EVAL – ENVIRONMENT ملاك كارايي براي محيط واحدي برمي گرداند كه به وسيله وضعيت آغازين واحد وتابع بهنگام سازي ويژه تعريف مي گردد. معمولاًعامل براي كار در يك دسته محيط (environment class) طراحي شده است، مجموعه جامعي ازانواع محيط ها. براي مثال، ما برنامه شطرنج را براي بازي در رقابت با رقباي متفاوت ماشيني و انساني طراحي مي كنيم. اگر آن را براي يك رقيب واحد طراحي كنيم، ممكن است قادر به استفاده از ضعف خاص آن رقيب باشيم، اما اين طرح نمي تواند برنامه خوبي براي نرم افزار بازي عمومي باشد. به بيان دقيق تر، براي اندازه گيري كارايي يك عامل، نيازمند توليد كننده محيطي هستيم كه محيط هاي خاص (با احتمالات كلي) را براي اجراي عامل انتخاب كند سپس ما علاقه مند به ميزان كارايي متوسط عامل بر روي كلاس محيط هستيم.

يك اشتباه رايج بين دو مفهوم متغير وضعيت درمحيط شبيه ساز و متغير در خود عامل (مراجعه شود به REFLEX-AGENT-WITH-STATE) ممكن است روي دهد. به عنوان برنامه نويسي كه هر دو محيط شبيه ساز و عامل را پياده سازي مي كند، اغوا برانگيز خواهد بود كه عانل قادر به دسترسي متغير وضعيت شبيه ساز محيط باشد. اين فريفتگي بايد به هر قيمتي سركوب شود! نسخه عامل وضعيت تنها بايد از روي ادراك آن ساخته شود، بدون آنكه دسترسي به اطلاعات كامل وضعيت داشته باشد.

امواج Ultrasonic

امواج اولتراسونيك به دسته­ايي از امواج مكانيكي گفته مي­شود كه فركانس نوسانشان بيش از محدوده شنوايي انسان 20KHz باشد. اين امواج بدليل خواصي كه دارند كاربردهاي متنوع و بعضاً جالبي دارند. با محاسبه­ايي ساده مي­توان دريافت كه اگر نقطه­ايي با فركانس 25 كيلوهرتز و دامنه 10 ميكرومتر نوسان كند شتاب آن بالغ بر 25 هزار برابر شتاب ثقل مي­شود. اين شتاب و به طبع آن سرعت بالا در مايعات باعث ايجاد كاويتاسيون مي­شود و در هنگام انفجار حبابهاي ايجاد شده فشاري در حدود 200 بار ايجاد مي­گردد. از طرف ديگر اگر حركت نسبي با مشخصات فوق ميان دو سطح جامد برقرار شود ازدياد دما باعث جوش خوردن دو سطح به يكديگر مي­شود كه Ultrasonic Welding مي­باشد.

امواج اولتراسونيك مانند ديگر امواج دارای خاصیت شکست، انعکاس، نفوذ و پراش می­باشند. برای توليد اين امواج روشهاي متفاوتي وجود دارد.

مجموعه­هاي اولتراسونيك معمولاً از سه بخش كلي تشكيل مي­شوند:

1.       مبدل

2.       بوستر

3.       تقويت كننده يا هورن.

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

کاربرد سنسورهای Ultrasonic در رباتیک

يكي از مسائل مطرح در رباتيك ايجاد درك نسبت به محيط خارجي براي جلوگيري از برخورد نامطلوب به اشياء موجود در محيط حركت است. از سوي ديگر ممكن است نياز داشته باشيم كه ربات بتواند دركي از فاصله ها بدون تماس فيزيكي داشته باشد. براي اين منظور از سنسورهاي مافوق صوت يا Ultrasonic استفاده ميكنند.
با وجود اينكه رويكردهاي زيادي در اين زمينه وجود دارد ولي ميتوان آنها را در دو بخش تقسيم بندي كرد. دسته اول شامل ابزارهاي انفعالي ميباشند ،نظير سيستمهاي فاصله سنجي swept-focus و يا stereoscopic . دسته بعد سيستم هاي فعال يا Active ميباشند نظير سيستمهاي ماكروويو ، ليزر و مافوق صوت.
در اين مقال ما به معرفي سنسورهاي مافوق صوت خواهيم پرداخت. اين سنسورها از دو قسمت تشكيل شده است. قسمت اول مدار راه انداز آن را تشكيل ميدهد و قسمت ديگر دو قطعه (مبدل( گيرنده و فرستنده آن ، دقيقا مشابه آن قسمت از دزدگيرهايي كه در خودروها (مقابل شيشه جلو) نصب ميشود. البته دردسر اصلي كار با اينگونه سنسورها مدار راه انداز آن است.البته پكيجهاي آماده كه كار را بسيار ساده ميكنند نيز وجود دارد، مانند مدل مافوق صوت ساخت شركت Texas Instruments  كه اين سنسورها در برخي دوربينها نيز براي تشخيص فاصله و فوكوس مناسب استفاده ميشود.

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

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

نمونه ای از کاربرد سنسورهای Ultrasonic در روباتیک

ربات دوچرخه سوار

یک کمپانی ژاپنی اقدام به ساخت یک ربات کوچک نموده که به سادگی دوچرخه سواری می کند.

شرکت Murata Manufacturing در یکی از نمایشگاه های تکنولوژیهای پیشرفته در اطراف شهر توکیو در ژاپن، رباتی را معرفی کرد که قادر است دوچرخه سواری کند.

این ربات که پنجاه سانتیمتر ارتفاع و نزدیک به پنج کیلوگرم وزن دارد، «پسر موراتا» (Murata Boy) نام داشته می تواند با سرعتی حدود 79 سانتیمر در ثانیه حرکت کند.

نسخه قدیمی تر این ربات که دوچرخه سواری می کرد در سال 1990 معرفی شد اما نمی توانست بدون آنکه بیفتد، توقف کند. اما ربات اخیر با تنظیم سرعت و انحراف مرکز جرم خود می تواند تعادل خود را در موقعیت های مختلف از جمله هنگام ایستادن حفظ کند.

سنسور سونار:

خلاصه:

سونار SRF04 سنسور مسافت یاب است که می توان توسط آن ربات را هدایت کرد. شما می توانید ربات خود قادر سازید تا محیط پیرامونش را از طریق مجموعه سنسورهای سونار ببیند.(مانند چشم انسان)

نظریه عملکرد:

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

مانند تصویر زیر:

توسط اندازه گیری درست زمان، از لحظه ای که Ping شروع شده تا لحظه ای که Echo به سنسور برمیگردد، مقدار فاصله به نزدیکترین شیء را می توان محسبه کرد. حرکت صدا چیزی در حدود 1116.4 feet/second و یا 340.29 meters/second در سطح دریا، سرعت دارد. فاصله به نزدیکترین شیء را می توان با تقسیم زمان گذشته شده(elapsed time) بر دو برابر سرعت صدا محاسبه کرد.

منظور از زمان گذشته شده، زمان بین فرستادن صدا و شنیدن انعکاس(echo) است.

فرمول بدست آوردن فاصله سنسور از شیء به صورت زیر است:

Distance = ElapsedTime / (2* Speed_Of_Sound)

دلیل این که عمل تقسیم را بر دو برابر سرعت صدا ضرب می کنیم این است که فاصله از شیء فقط نصف فاصله حرکت واقعی موجی صدا است. موج صدا باید به سمت شیء حرکت کند و به سنسور برگردد برای این که سنسور، برگشت صدا یا echo را بشنود.

عملکرد سنسور:

سنسور مسافت یاب SRF04 با تولید یک پالس بر روی سیگنالی قرار است بفرستد، آن را رها می کند. این باعث می شود تا مسافت یاب یک ping ارسال کند. سنسور مسافت یاب قادر است تا 100 microsecond را بعد از عمل پینگ دریافت کند و سیگنال خروجی echo سنسور را افزایش دهد.(تأخیر در فعال سازی گیرنده باعث می شود تا گیرنده از شنیدن ping ارسال شده جلوگیری کند) وقتی که گیرنده echo را می شنود سیگنال خروجی را قطع می کند. زمان گذشته شده(Elapsed Time) بین ping و echo را می توان با اندازه گیری مدت زمان پالس روی خط echo و اضافه کردن 100 microsecond به آن بدست آورد. به صورت زیر:

elapsedTime = pulseDuration + 100


سنسور رنگ:

چکیده:

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

کلمات کلیدی:

ADC:  Analog – Digital – Converter

Sensor:  حسگر

Pixel:  پیکسل

Chip:  چیپ

مقدمه:

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

سنسورهای رنگی ساخته شده در صنعت کار تشخیص رنگ را بر عهده دارند و تقریبا تمام طیف نور مرئی را تشخیص می دهند. این سنسورها بهترین انتخاب برای کاربردهای مقیاس کوچک با عملکرد بالا هستند.

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

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

سه نوع سنسور رنگ شبیه چشم انسان مسئولیت تشخیص رنگ را بر عهده دارند . این سنسورهای رنگی نمایانگر یک طرح کوچک فیلترهایی با کیفیت بالا و خواندن هم زمان سه سطح رنگی می باشند.

سنسور فوق یکی از انواع سنسورهای JEN color ساخت کارخانه MAZET آلمان و از نوع سنسورهای سه عنصری (3 element color sensor) بوده که قابلیت شناسایی رنگ ها را به تفکیک رنگهای قرمز ، سبز و آبی دارا می باشد.

سنسور مربوط از 3*19 فتو دیود pin  سیلیکونی که بصورت حلقه وار روی چیپ فقرار گرفته اند تشکیل شده برای جلو گیری از ایجاد تداخل در بین فتو دیود ها ، هر سکتوری از قسمت دیگر جدا شده  برای شناسایی هر رنگی در هر کدام از این فتودیود ها فیلتر مربوط به طول موج رنگ مربوط در نظر گرفته شده است.

فیلترهای رنگی با کیفیت بالای تداخلی دارای این خصوصیات می باشد:

1-                بصورت micro-structure  روی چیپ قرار گرفته اند

2-                قدرت انتقال سیگنال بالایی دارند.

3-                سطح آن ها سخت می باشد.

4-                پایداری حرارتی بالایی دارند.

5-                فیلترها دارای شیب زیادی هستند

آرایه های فتو دیدهای pin  سیلیکونی:

1-                ناحیه طول موج 450mm-750mm

2-                جریان گرفته شده از هر سکتور کمتر از 50 pa  به ازای 5v   ولتاژ معکوس

3-                ظرفیت  خازن هر سکتور 50 pf  به ازای 5v ولتاژ معکوس

4-                ماکزیمم ولتاژ معکوس 30 v

5- زمان صعود (TR) کمتر 1ns

این قطعه در انواع پکیج های tos-smd-so8 با فیلتر IR  ارائه شده است .و دارای چهار پایه می باشد که شامل سه پایه آند که هر کدام مربوط به یک رنگ قرمز ، سبز و آبی و یک پایه کاتد مشترک می باشد.

: ساختار فیزیکی

سنسورهای رنگی شامل آرایه های دو بعدی(ماتریس) از سلول های تصویری می باشند که عملیات استخراج نور و اسکنینگ(Scanning) را انجام می دهد، جنس این سلول ها از مواد نیمه هادی طراحی آن به صورتی است که تشکیل یک خازن بدهد. برای تولید این سلول ها از ترکیب بایاس معکوس P-N استفاده می شود. در این تکنولوژی، ساخت دیودی با اتصال P-N

(reverse-based) مورد استفاده قرار می گیرد.

وقتی یک ولتاژ مثبت بر روی یک الکترود هادی کنار بستر القاء می شود یک ناحیه تخلیه در بستر در کنار الکترود ایجاد می شود به این منبع تخلیه چاه پتانسیلی نیز گفته می شود حال وقتی نور به ناحیه تخلیه برسد الکترون های بستر با حفره ها ترکیب مجدد می شوند ولی در ناحیه تخلیه الکترون های آزاد خواهیم داست بنابراین یک شارژ منفی از ناحیه تخلیه بوجود می آمد که نمایانگر تابش نور بر بستر می باشد برای این که نور به آسانی به محل تخلیه برسد الکترودهای از جنس پلی سیلیکون می باشد.

عامل های هوشمند

مقدمه

عامل هرچیزی است که قادر به درک محیط پیرامون خود ازطریق حس گرها(سنسور) واثرگذاری بر روی محیط از طریق اثرکننده ها  باشد.

عامل انسانی اندامهایی مانند گوشها، شمها ودیگر ارگانها برای حس کردن ودستها، پاها ، بینی ودیگر اندامها برای اثرگذاری دارند. عامل رباتیک دوربینها ویابنده های مادون قرمز را بجای حس گرها وانواع موتورها را بجای اثرکننده ها جایگزین کرده است. عامل نرم افزاری رشته های بیتی را بعنوان درک محیط وعمل ، کدگذاری می کنند. درشکل زیرنمادی ازیک عامل عمومی ترسیم شده است.

Sensors 

 

شكل ١۲:عامل هايي كه از طريق حسگر ها و اثر كننده ها با محيط ها ارتباط برقرار مي كنند.

عامل ها چگونه باید عمل کنند؟

عامل منطقی (RATIONAL AGENT) چیزیست که کاردرست انجام میدهد. آشکارا ،این بهتر ازآنست که کار نادرست انجام گیرد، اما این چه معنی می دهد؟ بعنوان اولین تخمین ، میگوییم عمل درست آنست که باعث موفق ترین شدن عامل گردد. اما این بیان مساله ، تصمیم گیری درباره چگونگی وزمان محاسبه موفقیت عامل را نادیده می گیریم .

ماواژه معیارکارآیی را (PERFORMANCE MEASURE) برای چگونگی به کار میبریم ، ملاکی که چگونگی موفقیت یک عامل را تعیین می کند. آشکارا ، تنها یک معیارثابت مناسب برای تمامی عاملها وجود ندارد . ماباید ازعامل برای عقیده ذهنی چگونگی رضایت خود از کارآیی اش را مورد پرسش قرار دهیم.

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

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

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

به طور خلاصه آن چه که در هر زمانی منطقی است به چهار چیز وابسته است:

  • معیار کارآرایی که درجه موفقیت را تعیین می کند
  • هرچیزی که تاکنون عامل ادراک نموده است.اما این تاریخچه کامل اذراکی را دنباله ادراکی می نامیم.
  • آنچه که عامل در باره ی محیط خودمی داند.

اعمالی که عامل می تواند صورت دهد.

این عوامل راهنمای تعریف ایده آل هستند:برای هردنباله ادراکی ممکن عامل منطقی ایده آل باید هر کاری را که انتظار می رودباعث حداکثرسازی معیار کارآرایی می شود انجام دهدواین عمل بر پایه شواهدی که از طریق دنباله ادراکی آماده شده وهر آنچه که دانش درونی عامل است انجام میگردد.

نگاشت ايده آل از دنباله هاي ادراكي به عمليات

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

خود مختاري (Autonomy)

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

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

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

ساختار عاملهاي هوشمند

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

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

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

برنامه + معماري = عامل

اكثريت مباحث اين كتاب درباره طراحي برنامه ها عامل است.

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

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

آزمونها،

رفتارها

علائم، 

يافته ها، پاسخهاي بيمار

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

صحيح

چاپ يك صحنه طبقه بندي شده پيكسل هاي با شدت متفاوت، 

رنگ

سيستم تحليل تصويرماهواره اي
تسمه حمل كننده اجزاء قرار دادن اجزاء در دسته 

صحيح

برداشتن اجزاء 

و مرتب سازي آنها به صورت دسته اي

پيكسلها با شدت 

متفاوت

روبات جابه جا كننده اشياء
پالايشگاه افزايش خلوص، 

محصول،ايمني

بازو بسته كردن 

سوپاپها،

تعديل دما

دما، فشارسنجها كنترل كننده 

پالايشگاه

مجموعه     دانش آموزان افزايش نمرات 

دانش آموزان در آزمونها

تمرينهاي 

چاپ شده،پيشنهادات،

اصلاحات

كلمات تايپ شده آموزش دهنده زبان انگليسي 

با ارتباط متقابل

شكل٣۲:مثالهايي از انواع عامل ها و تعاريف PAGE هاي آنها

شايد براي برخي از خوانندگان تعجب آور باشد كه ما درليست انولع عامل ها برخي برنامه ها را ذكر كرده ايم كه در محيط كاملاً مصنوعي كه به وسيله ورودي صفحه كليد و خروجي كاراكتربر روي صفحه نمايش تعريف مي شود،مطرح مي گردند مطمئناًبرخي خواهند گفت، «آيا اين يك محيط واقعي است؟» در حقيقت مسئله مهم تمايز محيط هاي    « واقعي » و «مصنوعي » نيست، بلكه مسئله اصلي پيچيدگي ما بين ارتباط رفتار عامل، دنباله ادراكي توليد شده بوسيله محيط، و اهدافي است كه عامل قصد حصول آن را دارد،مي باشند. برخي محيط هاي « واقعي » در عمل بسيار ساده هستند.براي مثال،روباتي كه براي بازرسي قطعاتي كه بر روي تسمه نقاله مي آيند، طراحي شده مي تواند فرضيات ساده كننده اي را در نظر گيرد: اين فرض كه روشنايي همواره وجود دارد،اين فرض كه فقط قطعات خاصي بر روي تسمه نقاله انتقال مي يابند و اينكه تنها دو عمل اعريف شده است،قبول قطعه يا علامت گذاري روي آن براي رد قطعه.

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

برخي محيط ها تمايز بين « واقعي » و« مصنوعي » را محو مي كنند.در محيط  ALIVE (Maes  et al.1994)، عامل هاي نرم افزاري داده شده ناد كه قادر به درك تصاوير دوربين ديجيتال اتاقي هستند كه انساني گرداگرد آن قدم ميزند. عامل، عامل تصوير دوربين را پردازش كرده و عملي را انتخاب مي كند.محيط همچنين تصوير دوربين را بر روي پرده نمايش بزرگي كه انسان قادربه ديدن آن باشد نمايش مي دهد تا بتواند بر روي تصوير افكت هاي گرافيك كامپيوتري را اضافه كند.چنين تصويري مي تواند سگكارتوني باشد كه برناوه ريزي شده تا بسوي انسان حركت كند (مگر اينكه فرد به جايي اشاره كند تا سگ دور شود) و يا دست خود را تكان داده و يا مشتاقانه بپرد زماني كه انسان اداهي خاصي از خود در آورد.

محيط ها

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

خواص محيط ها : محيط ها از چند منظر مورد توجه قرار مي گيرند. تمايز هاي پايه به قرار زير ايجاد مي شوند:

قابل دسترسي در مقابل غيرقابل دسترسي

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

قطعي در مقابل غير قطعي

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

اپيزوديك در مقابل غير اپيزوديك

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

ايستا در مقابل پويا

اگر محيط درحين سنجيدن عامل تغيير كند، مي گوئيم محيط براي عامل پويا است، در غير اين صورت پويا است. محيط هاي ايستا براي كار ساده هستند زيرا عامل نيازمند نگاه كردن به دنيا درحين تصميم گيري عملي نداشته و همچنين در مورد گذرزمان نيز نگران نمي باشد. اگر محيط با گذر زمان تغيير نيابد اما امتياز كارايي تغيير كند، مي گوئيم محيط نيمه پويا (semidynamic ) است.

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

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

برنامه محيط

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

به طور كلي، ملاك كارايي وابسته به كل دنباله وضعيت هاي محيط است كه در حين عمل برنامه توليد مي گردد. معمولاً، ملاك كارايي با يك تجمع ساده مثل جمع، ميانگين يا حداكثر كار مي كند. براي مثال، اگر ملاك كارايي براي عامل vaccum-cleaning  جئع كل زباله هايي باشد كه در يك شيفت كاري تميز كرده باشد، scores تنها مقدار زباله تميز شده تا كنون را نگهداري مي كند. RUN-EVAL – ENVIRONMENT ملاك كارايي براي محيط واحدي برمي گرداند كه به وسيله وضعيت آغازين واحد وتابع بهنگام سازي ويژه تعريف مي گردد. معمولاًعامل براي كار در يك دسته محيط (environment class) طراحي شده است، مجموعه جامعي ازانواع محيط ها. براي مثال، ما برنامه شطرنج را براي بازي در رقابت با رقباي متفاوت ماشيني و انساني طراحي مي كنيم. اگر آن را براي يك رقيب واحد طراحي كنيم، ممكن است قادر به استفاده از ضعف خاص آن رقيب باشيم، اما اين طرح نمي تواند برنامه خوبي براي نرم افزار بازي عمومي باشد. به بيان دقيق تر، براي اندازه گيري كارايي يك عامل، نيازمند توليد كننده محيطي هستيم كه محيط هاي خاص (با احتمالات كلي) را براي اجراي عامل انتخاب كند سپس ما علاقه مند به ميزان كارايي متوسط عامل بر روي كلاس محيط هستيم.

يك اشتباه رايج بين دو مفهوم متغير وضعيت درمحيط شبيه ساز و متغير در خود عامل (مراجعه شود به REFLEX-AGENT-WITH-STATE) ممكن است روي دهد. به عنوان برنامه نويسي كه هر دو محيط شبيه ساز و عامل را پياده سازي مي كند، اغوا برانگيز خواهد بود كه عانل قادر به دسترسي متغير وضعيت شبيه ساز محيط باشد. اين فريفتگي بايد به هر قيمتي سركوب شود! نسخه عامل وضعيت تنها بايد از روي ادراك آن ساخته شود، بدون آنكه دسترسي به اطلاعات كامل وضعيت داشته باشد.

دسته‌ها:روباتیک

مقاله ای جامع در باب رباتیک (5)

دسامبر 10, 2010 بیان دیدگاه

 

تعریف سنسور نوري (گيرنده-فرستنده)

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

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

 

 

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

 

بسته های متفاوت سنسورنوری:

به طور کلی بسته های موجود را می توان به دو دسته تقسيم کرد؛ سنسورهايی که برای تشخيص وجود اجسام استفاده می شوند (proximity sensors) و سنسور هايی که برای تشخيص فاصله مورد استفاده قرار می گيرند .(distance sensors)

سنسورهايی که برای تشخيص وجود اجسام مورد استفاده قرار می گيرند، معمولا از يک فرستنده مثل IR LED و يک گيرنده مثل فوتوترانزيستور استفاده می شود. نمونه ی اين گونه سنسور RS 05 يا سنسور های نوع OPB است، که بررسی می  شود .

 

 

شکل ١4.يک بسته ی گيرنده و فرستنده ی IR

 

انواع سنسورهای نوری

1- سنسور GP2S04-6 :

این سنسور یک سنسور فرستنده و گیرنده در یک پک کوچک و کم حجم میباشد که دارای حساسیت بسیار خوبی است و یکی از بهترین سنسور ها برای یک ربات مسیر یاب میباشد و نور محیط تاثیر زیادی در عملکرد آن ندارد ( مادون قرمز ) که اسم این سنسور GP2S04-6 است . بهترین بازده این سنسور در فاصله 4 الی 6 میلیمتر از صطح زمین میباشد

در عکس زیر نمونه ای از این سنسور و نمونه ای از برد سنسور را میبینید .

 

این سنسور دارای 4 پایه میباشد که دوتای آن به زمین وصل میشود و دوتای دیگر هم هر کدام به یک مقاومت متصل می گردد

 

باید توجه کرد که قسمتی از سنسور که دارای یک شیار در گوشه سنسور است فرستنده می باشد.

2- مقاومت نوری : (photoresistor)

 

 

شکل ١.چند نوع photoresisto در ابعاد مختلف؛اساس کار اين

قطعات بر خواص فيزيکی سطح سولفيد کادميوم استوار است.

 

 

اساس کار مقاومت نوری بسيار ساده است؛ مقاومت اين قطعه با تغيير شدّت نور رسيده به آن تغيير می کند،امّا از آنجا که در الکترونيک داده ها به صورت ولتاژ ظاهر می شوند بايد به شکلی اين تغيير در مقاومت را به تغيير ولتاژ تبديل کنيم.

 

 

در شکل بالا ولتاژ خروجی به سادگی از رابطه ی زير به دست می آيد:

Voutput = Vcc * (R2 / ( R1 + R2 ))

فرض کنيد در يک مدار معمولی مقاومت  برابر Ω  500  و  Vcc برابر 5 V  باشد، اکنون هنگامی که مقاومت نوری در تاريکی کامل قرار دارد مقاومت آن حدود  kΩ 2  است و ولتاژ خروجی تقريبا صفر است، و هنگامی که در مقابل نور مستقيم قرار می گيرد مقاومت آن به حدود Ω20 کاهش يافته و ولتاژ خروجی تقريبا V ۵  می شود.

بدين گونه موفق شديم يک حالت فيزيکی محيط را به سيگنال الکتريکی تبديل کرده و به عبارت ديگر يک گيرنده برای سنسور خود بسازيم.

3- سنسور CNY70

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

 

4- فتوسل
یک سنسور حساس به نور مرئی و مادن قرمز که در صورت تابش نور به آن مقاومت الکتریکی آن تغییر می کند.
قيمت: 1000  ريال

 

 

5- فتوسل بزرگ
یک فتوسل(مقاومت حساس به نور) بزرگ با یک قاب پلاستیکی جهت حفاظت فتوسل از آسیب و آلودگی در صورتی که نوری که به این

فتوسل تابیده می شود زیاد شود مقاومت الکتریکی آن کاهش می یابد
قيمت: 4500  ريال

 

6 – یک جفت دیود فرستنده و گیرنده مادون قرمز
یک جفت دیود فرستنده و گیرنده مادون قرمز 5 میلی متری بسیار مناسب برای تشخیص رنگ سطوح مختلف و مناسب برای ربات های

مسیر یاب ، لابیرنت، آتش نشان و هر رباتی که نیاز به تخشیص رنگ دارد
حداقل تعداد خرید 5 جفت است.
قيمت: 2000  ريال

7 – اپتوکانتر موازی مادون قرمز
یک فرستنده و گیرنده مادون قرمز که پک شده اند. بسیار مناسب برای استفاده در ربات های مسیر یاب و لابیرنت
قيمت: 10000  ريال

 

8 – اپتوکانتر موازی مادون قرمز تایوانی
یک فرستنده و گیرنده بسیار قوی مادون قرمز که پک شده اند.
بسیار مناسب برای استفاده در ربات های مسیر یاب و لابیرنت
قیمت آن کمی گران است ولی نسبت به کیفیت آن ارزش دارد
در این محصول در اصل یک فتو ترانزیستور وجود دارد که حساسیت زیادی ایجاد می کند.
این محصول کارخانه ویشی تایوان است
قيمت: 13000  ريال

کاربرد سنسور های نوری :

1-               استفاده در کنترل از راه دور تلویزیون : سنسور های مادون قرمز (IR) زیادی در بازار موجود میباشند که در دو نوع فرستنده و گیرنده میباشد که نمونه اون رو میتونید در کنترل تلویزیون و خود تلویزیون مشاهده کنید که سنسوری که در کنترل میباشد و دارای رنگ روشنی میباشد فرستنده  و سنسوری که در جلوی تلوزیون میباشد تیره رنگ میباشد گیرنده اون به شمار میرود

2-                استفاده از سنسور نوری در ماوس : از سنسور های نوری برای تبدیل حرکت در ماوس به سیگنال های الکتریکی قابل فهم برای کامپیوتر استفاده می شود در يک طرف ديسک يک LED مادون قرمز و در طرف ديگر  يک سنسور مادون قرمز ، وجود دارد . سوراخ های موجود بر روی ديسک باعث شکست نور متصاعده شده توسط  LED می شوند، بدين ترتيب سنسور مادون قرمز ، پالس ها ی نور را مشاهده خواهد کرد . تعداد پالس ها ارتباط مستقيم با سرعت موس و مسافتی که موس حرکت می کند ، خواهد داشت .
يک تراشه پردازنده بر روی برد . پردازنده فوق پالس ها را خوانده و پس از تبديل به باينری ، آن ها را از طريق کابل مربوطه برای کامپيوتر ارسال می دارد .

مدارات مرتبط با سنسور های نوری :

مدار زیر مربوط به سنسور نوری فرستنده گیرنده GP2S04-6 است .

 

 

 

در این سنسور پایه مثبت فرستنده به مقاومت ۳۳0 اهم و پایه مثبت گیرنده به مقامت 470 کیلو اهم وصل میشن

خروجی این سنسور بین پایه گیرنده و مقاومت 470 کیلیو اهم گرفته میشود

زمانی که زیر سنسور رنگ سفید باشد مقدار خروجی حدود 2/0 –0.7   ولت میباشد و زمانی که رنگ زیر آن سیاه باشد خروجی آن حدود 3/3 – 4/3 ولت میباشد

 

 

 

دسته‌ها:روباتیک

مقاله ای جامع در باب رباتیک (4)

دسامبر 10, 2010 بیان دیدگاه

بخش مکانیکی موتور ها

این قسمت شامل  سیستم حرکتی ربات میشه. حركت روباتها با استفاده از پا، چرخ يا ريل انجام مي شود. چرخها يا پاها را مي توان با موتورها، سولنوئيدها يا آلياژهاي حافظه دار (SMA) به حركت درآورد.
که معمولا در رباتهای ابتدایی از موتور و چرخ استفاده میشه.

در یک پروژه مکاترونیک یا روبوتیک علاوه بر قطعات لازم جهت ساخت قسمتهای ذکر شده به یک یا چند منبع تغذیه هم نیاز داریم.

قسمتهاي مختلف يك روبات که نياز به منبع تغذيه دارد:

قسمتهاي الكتريكي، مكانيكي شامل: موتورها و بخشهايي كه بصورت هيدروليك و پنوماتيك كار مي كنند.
اگر روبات متحرك باشد بايد از باطري استفاده شود. اگر روبات ثابت باشد مي توان از برق AC استفاده كرد. چون تغذيه روباتها اكثرا َ، برق DC مي باشد بنابراين بايد برق AC را بوسيله يكسوساز و فيلتر به DC تبديل كرد.

یکی از مهمترین اجزای یک روبوت نیروی محرکه آن است. برای حرکت دادن سازه ای که ساخته اید نیاز به انرژی مکانیکی دارید. این انرژی معمولا توسط یک موتور الکتریکی تامین می شود. موتور الکتریکی یا اصطلاحاً آرمیچر ها در واقع مبدل های انرژی هستند. موتورهای الکتریکی می توانند انرژی الکتریکی که از ترمینالهای آن وارد می شود را به انرژی مکانیکی تبدیل کنند. انرژی مکانیکی معمولاً به صورت دوران در شافت (محور) موتور ظاهر می شود. دوران این محور (شافت) دو مشخصه اساسی دارد : یکی سرعت دوارن آن و دیگری قدرت آن. از ضرب سرعت خطی (متر بر ثانیه) در نیروی موتور می توانید توان نهایی خروجی آن را محاسبه کنید.

همان طور که گفته شد یک موتور الکتریکی ، الکتریسیته را به حرکت مکانیکی تبدیل می‌کند. عمل عکس آن که تبدیل حرکت مکانیکی به الکتریسیته است، توسط ژنراتور انجام می‌شود. این دو وسیله بجز در عملکرد ، مشابه یکدیگر هستند. اکثر موتورهای الکتریکی توسط الکترومغناطیس کار می‌کنند، اما موتورهایی که بر اساس پدیده‌های دیگری نظیر نیروی الکتروستاتیک و اثر پیزوالکتریک کار می‌کنند، هم وجود دارند.
ایده کلی این است که وقتی که یک ماده حامل جریان الکتریسیته تحت اثر یک میدان مغناطیسی قرار می‌گیرد، نیرویی بر روی آن ماده از سوی میدان اعمال می‌شود. در یک موتور استوانه‌ای ، روتور به علت گشتاوری که ناشی از نیرویی است که به فاصله‌ای معین از محور روتور به روتور اعمال می‌شود، می‌گردد.

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

. با توجه به اینکه گفتیم موتور یک مبدل است، اگر موتور شما ایده آل باشد توان خروجی که بدست می آورید با توان ورودی یعنی انرژی الکتریکی مصرف شده برابر خواهد بود. موتورهای الکتریکی انوع مختلفی دارند از جمله استپ موتورها ، سرور موتورها ، موتورهای دی سی DC  ، موتورهای AC  و …

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

توان خروجی از ضرب سرعت در قدرت و با استفاده از فرمول W=f.d بدست می آید.بسته به کارکرد ربات ، توان مصرفی ، دقت لازم و پارامترهایی از این قبیل نوع موتور ربات انتخاب می شود. بی شک یکی از مشخصه های اصلی موفقیت یک ربات انتخاب صحیح موتور محرک ربات می باشد.


هنگام انتخاب موتور باید به چه چیز هایی توجه داشت:

1- دردست بودن منبع تغذیه

2- شرط یا عوامل راه اندازی

3- مشخصه‌های راه اندازی (گشتاور – سرعت) مناسب

4- سرعت عملکرد کار مطلوب

5- قابلیت کارکردن به جلو و عقب

6- مشخصه‌هی شتاب (وابسته به بار)

7- بازده مناسب در بار اسمی

8- توانایی تحمل اضافه بار

9- اطمینان الکتریکی و حرارتی

10- قابلیت نگهداری و عمر مفید

11- ظاهر مکانیکی مناسب (اندازه، وزن،‌ میزان صدا، محیط اطراف)

12- پیچیدگی کنترل و هزینه

13-ولتاژ: 1.5-4-8 V
14-جريان: 50mA-2A

 


در یک دسته بندی کلی موتورها به انواع زیر تقسیم میشوند:
· موتور DC
· موتور AC
· موتور پله‌ای (Stepper motor)

. موتور خطی

 

 

1- موتورهای DC

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

جهت استفاده : تعويض جهت چرخش موتور DC با معكوس كردن جهت جريان امكان پذير است.
سرعت: سرعت موتور به جريان و بار موتور بستگي دارد
سرعت كمتر=توان بيشتر
سرعت بيشتر=جريان يا ولتاژ بيشتر

 

2- موتورهای AC :

1- موتورهای AC تک فاز

2- موتورهای AC سه فاز

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

 

3- موتور پله ای (Stepper Motor)

كاربرد اصلي اين موتورها در كنترل موقعيت است. اين موتورها ساختار كنترلي ساده‌اي دارند. لذا در ساخت ربات كاربرد زيادي دارند. مطابق با تعداد پالسهايي كه به يكي از پايه‌هاي راه‌انداز موتور ارسال مي‌شود موتور به چپ يا راست مي‌چرخد. اين موتور یکی از انواع موتورهای الکتریکی است که حرکت آن کاملا دقیق و از پیش تعریف شده می باشد و با ارسال بیتهای 0,1به سیم پیچهای آن می توان آنرا حرکت داد.

ساختار موتور پله ای

این موتورعموما دارای چهار قطب میباشد که سیم پیچها بر روی این چهار قطب قرار می گیرند و شما با ارسال بیتهای 0و1به این سیم پیچها در واقع میدان مغناطیسی ایجاد می کنید که این میدان باعث حرکت روتورمغناطیسی موجود در داخل موتور پله ای می شود البته میبایست این سیم پیچها را به توالی 0 و 1 کرد و گرنه موتو ر مطابق میل شما نخواهد چرخید.

نحوه کنترل :

1- نحوه کنترل 1 بیت

2- نحوه کنترل 2 بیتی

 

نحوه کنترل 1 بیتی :
در حالت یک بیتی اگر اول سیم پیچ 1 را تحریک کنیم .سیم پیچ 2و3و4 بدون تحریک باید باشند جهت حرکت موتور پله ای در سمت حرکت عقربه های ساعت بعد از سیم پیچ 1 نوبت سیم پیچ 2 است که تحریک شود.، و در این حالت نیز بقیه سیم پیچها بدون تحریک هستند بعد از آن نوبت سیم پیچ 3 و سپس نوبت سیم پیچ شماره 4 است دقت کنید که در هر لحظه یک سیم پیچ تحریک شو د اگر بعد از سیم پیچ 1 سیم پیچ 4 را تحریک کنیم و سپس به سراغ3و2 برویم موتور در جهت عکس عقربه های ساعت خواهد چرخید.

نحوه کنترل 2 بیتی :
در حالت دو بیتی در لحظه دو سیم پیچ بار دار می شو ند مثلا اگر اول سیم پیچ 1 و2 تحریک شوند بعد سیم پیچ 2و3 سپس 3و4 ودر نهایت 4و 1 برای حرکت موتور پله ای بایست همین ترتیب را تا موقعییکه می خوا هید موتور حرکت داشته باشد ادامه دهید حال اگر این ترتیب را عوض کنید موتور در خلاف جهت فعلی حرکت می کند

موتور پله کامل و نیم پله :

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

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

 

راه اندازي موتور پله‌اي :

·   تراشه L297 يك راه انداز  مناسب براي موتور پله‌اي است.

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

·   جهت کنترل موتور به قابلیت هایی همچون حرکت به عقب و جلو، کنترل سرعت، کنترل جریان و توقف آنی موتور احتیاج داریم و این نیازها را درایور مورد نظر ما یعنی L298 براحتی تامین می نمايد. L298 یک آیسی پل-H دوتایی (  DUALH-Bridge) دارای ۱۵ پایه مي‌باشد که  قادر است وظایفی چون چرخش موتور به عقب و جلو، کنترل سرعت، کنترل جریان و توقف آنی موتور را انجام دهد. كنترل موتور به اين شرح است كه پس از محاسبه ميزان چرخش موتور براي جابجايي مورد نظر با استفاده از ميكرو كنترلر به تعداد مورد نظر پالس به پايه راه انداز ارسال مي‌كنيم.

·   يك پايه براي تعيين جهت چرخش (ساعتگرد و پاد ساعتگرد) مورد استفاده قرار مي‌گيرد.

·   پايه Enableمدار راه‌انداز را فعال و غير فعال مي‌نمايد.

 

تعریف سنسور :

سنسور‌ها قطعاتی هستند متشکل از ابزارهای لامسه‌ای الکتریکی یا نوری که در کنار سایر عناصر الکترونیکی ایفای نقش می‌کنند. وظیفه این المان‌ها کسب اطلاعاتی از موقعیت مفاصل ربات و شرایط محیطی مانند نور و گرما و هدف‌های موجود در محیط می‌باشد.

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

به عبارت دیگر حسگر يك وسيله الكتريكي است كه تغييرات فيزيكي يا شيميايي را اندازه‌‌گيري مي‌كند و آن را به سيگنال الكتريكي تبديل مي‌نمايد.

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

انواع حسگر ها (سنسور ها )

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

–        فاصله

–         رنگ

–         نور

–         صدا

–        حركت و لرزش

–         دما

–         دود

–         و…

 

 

مزایای استفاده از سنسور ها :

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

–        پردازش راحتتر و ارزانتر

–         انتقال آسان

–         دقت بالا

–         سرعت بالا

و…

سنسورها در ربات(1)

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

سنسورها را می‌توان از دیدگاه‌های مختلف به دسته‌های متفاوتی تقسیم کرد که در ذیل می‌آید:

b. سنسور بازخورد: این سنسور اطلاعات وضعیت ربات، از جمله موقعیت بازوها، سرعت حرکت و شتاب آن‌ها و نیروی وارد بر درایورها را دریافت می‌نمایند.

c. سنسور فعال: این سنسورها هم گیرنده و هم فرستنده دارند و نحوه کار آن‌ها بدین ترتیب است که سیگنالی توسط سنسور ارسال و سپس دریافت می‌شود.

d. سنسور غیرفعال: این سنسورها فقط گیرنده دارند و سیگنال ارسال شده از سوی منبعی خارجی را آشکار می‌کنند، به‌ ‌همین دلیل ارزان‌تر، ساده‌تر و دارای کارایی کمتر هستند.

سنسورها از لحاظ فاصله‌ای که با هدف مورد نظر باید داشته باشند به سه قسمت تقسیم می‌شوند:

سنسورها از لحاظ فاصله‌ای

سنسور تماسی: این نوع سنسورها در اتصالات مختلف محرک‌ها مخصوصا در عوامل نهایی یافت می‌شوند و به دو بخش قابل تفکیک‌اند.

سنسورهای تشخیص تماس

سنسورهای نیرو-فشار

سنسورهای مجاورتی: این گروه مشابه سنسورهای تماسی هستند، اما در این مورد برای حس کردن لازم نیست حتما با شی در تماس باشد. عموما این سنسورها از نظر ساخت از نوع پیشین دشوارترند ولی سرعت و دقت بالاتری را در اختیار سیستم قرار می‌دهند.

دو روش عمده در استفاده از سنسورها وجود دارد:

حس کردن استاتیک: در این روش محرک‌ها ثابت‌اند و حرکت‌هایی که صورت می‌گیرد بدون مراجعه لحظه‌ای به سنسورها صورت می‌گیرد.به عنوان مثال در این روش ابتدا موقعیت شی تشخیص داده می‌شود و سپس حرکت به سوی آن نقطه صورت می‌گیرد.

حس کردن حلقه بسته: در این روش بازوهای ربات در طول حرکت با توجه به اطلاعات سنسورها کنترل می‌شوند. اغلب سنسورها در سیستم‌های بینا این‌گونه‌اند.

لحاظ کاربردی با نمونه‌هایی از انواع سنسورها در ربات آشنا می‌شویم:

a. سنسورهای بدنه (Body Sensors) : این سنسورها اطلاعاتی را درباره موقعیت و مکانی که ربات در آن قرار داردفراهم می‌کنند. این اطلاعات نیز به کمک تغییر وضعیت‌هایی که در سوییچ‌ها حاصل می‌شود، به دست می‌آیند. با دریافت و پردازش اطلاعات بدست آمده ربات می‌تواند از شیب حرکت خود و این‌که به کدام سمت در حال حرکت است آگاه شود. در نهایت هم عکس‌العملی متناسب با ورودی دریافت شده از خود بروز می‌دهد.

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

c. سنسورهای فشار و تماس (Touch and Pressure Sensors) : شبیه‌سازی حس لامسه انسان کاری دشوار به نظر می‌رسد. اما سنسورهای ساده‌ای وجود دارند که برای درک لمس و فشار مورد استفاده قرار می‌گیرند. از این سنسورها در جلوگیری از تصادفات و افتادن اتومبیل‌ها در دست‌اندازها استفاده می‌شود. این سنسورها در دست‌ها و بازوهای ربات‌ هم به منظورهای مختلفی استفاده می‌شوند.  مثلا برای متوقف کردن حرکت ربات در هنگام برخورد عامل نهایی با یک شی. همچنین این سنسورها به ربات‌ها برای اعمال نیروی کافی برای بلند کردن جسمی از روی زمین و قرار دادن آن در جایی مناسب نیز کمک می‌کند. با توجه به این توضیحات می‌توان عملکرد آن‌ها را به چهار دسته زیر تقسیم کرد: 1- رسیدن به هدف، 2- جلوگیری از برخورد، 3- تشخیص یک شی.

d. سنسورهای گرمایی (Heat Sensors):

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

e. سنسورهای بویایی (Smell Sensors):

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

بویایی حسی است که می تواند در جلوگیری از جرائم استفاده شود. از گذشته از حس بویایی سگ ها برای یافتن اجساد ، مواد مخدر یا مواد منفجره و حتی شناسایی افراد استفاده می شده است. دانشمندان و مهندسان دارند بر روی سیستمی کار می کنند که بتواند بو را احساس کند. این تکنولوژی می تواند به جای سگ ها به کار برده شود و وظایف آن ها را انجام دهد.

بو مخلوطی از مواد شیمیایی موجود در هوا است. حیوانات و ماشین ها برای بوییدن باید از چندین سنسور متفاوت استفاده کنند. هر سنسور به دسته ی خاصی از مواد شیمیایی حساس است. با اندازه گیری نتایج سنسور ها می توان بو را تشخیص داد.

در این تصویر نشان داده شده که چگونه 20 سنسور متفاوت ، نسبت به گاز آمونیاک عکس العمل نشان داده اند.

در این تصویر نیز نشان داده شده که چگونه همان 20 سنسور، نسبت به استیک اسید(جوهر سرکه) عکس العمل نشان داده اند.

با مقایسه نتایج به دست امده از سنسور ها با نتایج از قبل ثبت شده ، می توان ماده شیمیایی را تشخیص داد.

یک سنسور بویایی می تواند از یک کریستال کوارتز با اتصالات الکترونیکی و یک روکش پلاستیکی خاص درست شده باشد. کریستال کوارتز به منظور ایجاد یک لرزه منظم با یک فرکانس دقیق استفاده می شود. روکش پلاستیکی می تواند مواد شیمیایی را جذب کند .

یک سنسور بویایی

ساختمان یک QCM (Quartz Crystal Microbalance)

یک کریستال بر روی فنر

کریستال می تواند بر روی یک فنر قرار گیرد . فرکانس به دست آمده از اسیلاتور بر روی فنر از فرمول زیر به دست می آید.

K = ضریب سختی فنر(Nm-1)

m = جرم (kg)

f= فرکانس(Hz)

f. سنسورهای موقعیت مفاصل :

g. رایج‌ترین نوع این سنسورها کدگشاها (Encoders) هستند که هم از قدرت بالای تبادل اطلاعات با کامپیوتر برخوردارند و هم اینکه ساده، دقیق، مورد اعتماد و نویز ناپذیرند. این دسته انکدرها را به دو دسته می‌توان تقسیم کرد:

i. انکدرهای مطلق: در این کدگشا ها موقعیت به کد باینری یا کد خاکستری BCD (Binary Codded Decible ) تبدیل می‌شود. این انکدرها به علت سنگینی و گران‌قیمت بودن و اینکه سیگنال‌های زیادی را برای ارسال اطلاعات نیاز دارند، کاربرد وسیعی ندارند. همانطور که می‌دانیم به‌کار گیری تعداد زیادی سیگنال درصد خطای کار را افزایش می‌دهد و این اصلا مطلوب نیست. پس از این انکدرها فقط در مواردی که مطلق بودن مکان‌ها برای ما خیلی مهم است و مشکلی هم از احاظ بار فابل تحمل ربات متوجه ما نباشد، استفاده می‌شود.

ii. انکدرهای افزاینده: این کدگشا ها دارای قطار پالس و یک پالس مرجع که برای کالیبره کردن بکار می‌رود هستند، از روی شمارش قطارهای پالس نسبت به نقطه مرجع به موقعیت مورد نظر دست می‌یابند. از روی فرکانس (عرض پالس‌ها) می‌توان به سرعت چرخش و از روی محاسبه تغییرات فرکانس در واحد زمان (تغییرات عرض پالس) به شتاب حرکت دوارنی پی برد. حتی می‌توان جهت چرخش را نیز فهمید. فرض کنید سیگنال‌های A و B و C سه سیگنالی باشند که از کدگشا به  کنترل‌کننده ارسال می‌شود. B سیگنالی است که با یک چهارم پریود تاخیر نسبت به A. از روی اختلاف فاز بین این دو می‌توان به جهت چرخش پی برد.

منبع  : http://www.aoh.blogfa.com

سنسورها در ربات (2):

در اتوماسیون سخت(Hard Automation) که درآن یک ماشین وظیفه مشخص را همان‌گونه که در صنعت مورد نیاز است انجام می‌دهد، نیازی به هوشمند بودن سیستم نیست. اما برای رسیدن به اتوماسیون هوشمند (Intelligent Automation) به دو جز کلیدی نیازمندیم: هوش‌مصنوعی و سیستم سنسوری.

به کمک این دو می‌توان به ربات‌های صنعتی با کاربردهایی در نقاشی، جوشکاری، حمل‌و‌نقل و مونتاژ رسید که قدرت انجام کارهای پیچیده، تشخیص و تفکیک را دارا هستند.

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

 

دسته‌ها:روباتیک