اجزای روبات هوشمند
Actuators
عملگر
Perception
ادراک
External World
محیط خارجی
Sensors
حسگر
Cognition
شناخت
اجزای روبات هوشمند
اجزای روبات هوشمند
Perception
حس کردن، ساخت مدلی از دنیای اطراف
Cognition
رفتارها، انتخاب عمل، طرح ریزی، یادگیری
همکاری بین چند روبات، کار تیمی
پاسخ به محیط، یادگیری چند عاملی
Action
حرکت، ناوبری، پرهیز از موانع
دریافت دانش از محیط
یکی از مهمترین وظایف هر سیستم خودکار دریافت دانش از محیطش میباشد.
اینکار از طریق بکار گیری سنسورهای مختلف و استخراج اطلاعات مفید از داده های اندازه گیری شده میباشد.
رنج وسیعی از سنسورها در روباتهای خودکار مورد استفاده قرار میگیرد. در این فصل سنسورهائی مورد توجه قرار خواهند گرفت که برای دریافت اطلاعات از محیط بکار میروند.
مثالی از روبات
مثالی از روبات
7
Solar Cell
Digital Infrared Ranging
Compass
Touch Switch
Pressure Switch
Limit Switch
Magnetic Reed Switch
Magnetic Sensor
Miniature Polaroid Sensor
Polaroid Sensor Board
Piezo Ultrasonic Transducers
Pyroelectric Detector
Thyristor
Gas Sensor
Gieger-Muller
Radiation Sensor
Piezo Bend Sensor
Resistive Bend Sensors
Mechanical Tilt Sensors
Pendulum Resistive
Tilt Sensors
CDS Cell
Resistive Light Sensor
Hall Effect
Magnetic Field
Sensors
Compass
IRDA Transceiver
IR Amplifier Sensor
IR Modulator
Receiver
Lite-On IR
Remote Receiver
Radio Shack
Remote Receiver
IR Sensor w/lens
Gyro
Accelerometer
IR Reflection
Sensor
IR Pin
Diode
UV Detector
Metal Detector
برخی سنسور های متداول
Tactile sensors
contact switch, bumpers…
Infrared sensors
Reflective, proximity, distance sensors…
Ultrasonic Distance Sensor
Inertial Sensors (measure the second derivatives of position)
Accelerometer, Gyroscopes,
Orientation Sensors
Compass, Inclinometer
Laser range sensors
Vision, GPS, …
Sensor Fusion
در روباتهای سیار معمولا از تعداد زیادی سنسور استفاده میشود زیرا یک سنسور ممکن است کافی نباشد:
سنسورها در عمل دارای نویز زیادی هستند
دقت آنها محدود است
خراب میشوند ( قابل اعتماد نیستند)
قسمت محدودی از محیط را تحت پوشش قرار میدهند
قادر به توصیف دقیق محیط نیستند
سنسور مورد علاقه ممکن است گران باشد لذا ممکن است با ترکیب چند سنسور ارزان به هدف مورد نظر رسید
10
تکنیک های ترکیب اطاعات سنسور ها
داده ها از چندین منبع مختلف جمع آوری میشوند
از طریق چند سنسور مختلف اندازه گیری میشوند
از چند موقعیت مختلف اندازه گیری میشوند
در زمانهای مختلف اندازه گیری میشوند
با استفاده از یک روش ریاضی عدم قطعیت موجود در منابع داده درنظر گرفته میشود.
روشهای بیزین
شبکه های عصبی
فیلتر کالمن
دسته بندی سنسورها
داخلی:
اطلاعاتی را از داخل روبات اندازه گیری میکنند. مثل: سرعت موتور، زاویه مفصل ها، ولتاژ باتری وغیره
خارجی:
اطلاعاتی را از محیط روبات جمع آوری میکنند: اندازه گیری مسافت، شدت نور، دامنه صدا
Passive:
سنسور انرژی را از محیط دریافت میکند مثل سنسور حرارتی، CCD ، و میکروفن
Active:
انرژی را به محیط فرستاده وعکس العمل محیط در مقابل آنرا اندازه گیری میکند.
اندازه گیری کارائی سنسورها
Dynamic Range
عبارت است از دامنه حد بالا و پائین مقادیر ورودی به سنسور به نحویکه سنسور قادر به عملکرد عادی خود باشد.
DR= Maximum Input/Minimum Input
معمولا بر حسب دسیبل بیان میشود.
اندازه گیری کارائی سنسورها
Range :حد بالای مقادیر ورودی به سنسور
Resolution:
حداقل اختلاف بین دو مقداری که توسط سنسور قابل دریافت است
Linearity
نحوه رفتار خروجی یک سنسور نسبت به تغییرات سیگنال ورودی را مشخص میکند
یک رفتار خطی با رابطه زیر مشخص میشود.
F(ax+by)= aF(x)+ bF(y)
اندازه گیری کارائی سنسورها
Bandwidth or Frequency
برای اندازه گیری سرعت یک سنسور در آماده کردن دنباله ای از خروجی ها بکار میرود. بعبارت دیگر تعداد اندازه گیری های سنسور در ثانیه را به فرکانس تعبیر میکنند.
Sensitivity
عبارت است از معیاری از میزان تغییرات جزئی در سیگنال ورودی که میتواند باعث تغییر در خروجی شود:
Output change / Input change
اندازه گیری کارائی سنسورها
Cross Sensitivity
عبارت است از حساسیت به پارامترهای محیطی که متعامد با سیگنال اصلی هستند.
یک قطب نما میتواند در جهت یابی روبات بر اساس میدان مغناطیسی زمین بسیار مفید باشد. اما این وسیله علاوه بر میدان مغناطیسی زمین به مصالح ساختمانی فلزی نیز حساسیت دارد. در نتیجه استفاده از آن برای روبات که در محیط اتاق حرکت میکند چندان مفید نخواهد بود.
اندازه گیری کارائی سنسورها
error
عبارت است از تفاضل مقدار اندازه گیری شده و مقدار واقعی
error = m – v
Accuracy
accuracy =1-error/v
Precision
سنسوری دارای Precision بالاست که بتواند در اندازه گیری های متفاوت از یک کمیت واحدخروجی یکسانی تولید نماید.
precision= range/σ
مشکلات کار در محیط واقعی
روبات متحرک باید وضعیت محیط اطرافش را درک کرده، آنالیز نموده و بنحو قابل استفاده ای بازگو نماید. اما اندازه گیری در محیط واقعی که همواره در معرض تغییر است کاری است مشکل و دارای خطا خواهد بود.
مثالی از تغییرات و خطاهای محیطی:
تغییرات شدت نور
جذب نور یا صدا توسط سطوح
انعکاس توسط سطوح
در نتیجه روبات همواره در معرض حساست تعامدی نسبت به موقعیت و دینامیک روبات و محیط خواهد بود.
مدل کردن خطاهای تصادفی کار سختی است
تعریف خطای سیستماتیک و تصادفی برای محیط های کنترل شده امکان پذیر است ولی برای روبات متحرک بسیار سخت است.
مدل کردن خطا
مدل کردن خطا
میتوان رفتار سنسورها را با استفاده از یک تابع احتمال مدل نمود. از آنجائیکه معمولا دانش کمی در مورد علت بوجود آمدن خطا وجود دارد در اغلب موارد توزیع احتمال خطا بصورت متقارن در نظر گرفته میشود. این فرض میتواند در مورد مثالهای زیر ناصحیح باشد:
بسته به شکل محیط و نوع اشیا قرار گرفته در آن سنسور اولتراسونیک فاصله را بیش از حد واقعی نشان میدهد. لذا برای حالتی که سیگنال برگستی صحیح بوده و حالتی که سگنل از محیط بدرستی برنگردد به دو مدل مختلف نیاز خواهیم داشت.
در مورد بینائی استریو کارولیشن صحیح برای همه پیکسلها اتفاق نمی افتد و نتایج ناصحیح بدست می آید.
مکان یابی
Localization
مکان یابی روبات در محیط
یکی از قابلیت های اساسی برای یک روبات متحرک توانائی مکان یابی است. یعنی روبات بتواند موقعیت خود در محیط را تشخیص دهد.
روشهای مختلفی برای اینکار وجود دارد
Global Positioning System
Dead-reckoning localization
Triangulation Ranging
….
انکدرهای چرخ و یا موتورها
در اغلب روباتهای متحرک چرخدار از موتورهائی استفاده میشود که جهت کنترل سرعت موتور مجهز به انکدر میباشند. از اینرو انکدر سنسوری است که براحتی در دسترس است و میتوان با استفاده از آن میزان چرخش موتور و یا چرخها را اندازه گرفت.
در انکدر از دیسکهائی استفاده میشود که با نوارهای تیره و روشن تقسیم بندی شده اند. این نوارها با عبور دادن نور در مکان های روشن امکان اندازه گیری مقدار چرخش را میدهند.
Incremental Optical Encoders
Encoder pulse and motor direction
Absolute Optical Encoders
Gray Code
Used when loss of reference is not possible.
Gray codes: only one bit changes at a time ( less uncertainty).
• The information is transferred in parallel form (many wires are necessary).
000
001
011
010
110
111
101
100
000
001
010
011
100
101
110
111
Binary
Other Odometry Sensors
Resolver
Potentiometer
= varying resistance
It has two stator windings positioned at 90 degrees. The output voltage is proportional to the sine or cosine function of the rotor's angle. The rotor is made up of a third winding, winding C
Odometery & Dead Reckoning
برای یک روبات چرخدار میتوان مسافت طی شده توسط روبات را با اندازه گیری تعداد دورهائی که چرخ چرخیده است اندازه گرفت.
ادومتری عبارت است از تخمین فاصله و جهت از یک محل معلوم با استفاده از تعداد دورهائی که چرخهای روبات چرخیده اند.
ادومتری حالتی از Dead Reckoning است که در آن تخمین موقعیت براساس زمان، سرعت و جهت نسبت به یک نقطه معلوم اندازه گیری میشود.
Dead Reckoning برای سالیان متوالی توسط دریانوردانی چون کریستف کلمب استفاده شده است. این کار در روباتها با استفاده از انکدر ها و یا شتاب سنجها انجام میشود.
Dead-reckoning localization
این روش مبتنی بر استفاده از سنسورهای داخلی است و معمولا با استفاده از انکدرها و سایر سنسورها تغییرات موقعیت و جهت نسبت به فریم مرجع روبات اندازه گیری میشود.
معمولا فیدبکی از محیط دریافت نمیشود. لذا احتمال بروز خطا در این روش وجود دارد.
روشی ساده وسریع است.
معمولا در ترکیب با سایر روشها استفاده میشود.
مشکلات ادومتری
ادومتری برای تخمین موقعیت در فاصله های کوتاه و محاسبات نسبی مفید است اما با افزایش فاصله خطا و عدم قطعیت بدون محدودیت رشد خواهند نمود.
این عدم قطعیت ناشی از خطاهای سیستماتیک و غیر سیستماتیک است.
خطاهای ادومتری
خطاهای غیر سیستماتیک:
بندرت قابل اندازه گیری هستند از اینرو نمیتوان آنها را در مدل اعمال نمود. نظیر: سر خوردن چرخها، متفاوت بودن اصطکاک، برخورد با اشیا، و اختلاف سطح کف محیط
خطاهای سیستماتیک:
خطاهائی هستند که قابل اندازه گیری بوده و از طریق کالیبره کردن قابل جبران هستند و میتوان اثر آنها را در مدل اعمال کرد. نظیر: متفاوت بودن قطر چرخها که باعث حرکت دورانی روبات میشود، و یا عدم قطعیت در مورد پایه چرخها که باعث خطا در زاویه چرخش میشود.
Dead-Reckoning
(0,0)
Dead-Reckoning
Accumulated error can be
quite big for a period of time.
تاثیر خطای ادومتری در مسیر تخمین زده شده
مثال: روبات تفاضلی
مثال: روبات تفاضلی
سنسور جهت
برای اندازه گیری جهت روبات میتوان از سنسور داخلی مثل ژایروسکوپ یا خارجی مثل قطب نما استفاده کرد. این سنسور
مقدار چرخش روبات را اندازه گیری میکند.
در صورت داشتن اطلاعات سرعت میتوان با انتگرال گیری تخمینی از وقعیت را بدست آورد.
قطب نما
ژایرسکوپ
ژایرسکوپ سنسوری برای اندازه گیری جهت است. دارای المان چرخانی است که میتواند جهت چرخش خود را نسبت به محور مشخصی ثابت نگه دارد. از اینرو اندازه مطلقی برای جهت تولید میکند.
به دو صورت مکانیکی
و اپتیکی ساخته میشوند.
ژایرسکوپ
اصول کار ژایرسکوپ مکانیکی بر مبنای خاصیت اینرسی یک روتور دوار سریع است:
اگر سعی کنید یک روتور سریع را در جهت محور عمودی آن تغییر جهت دهید نیروی زیادی به دست شما وارد خواهد آمد که مقدار آن به سرعت چرخش بستگی دارد.
برای استفاده از ژایرو در ناوبری محور چرخش آنرا در جهت مشخصی مثلا شمال-جنوب قرار میدهند.
ژایرسکوپ
اگر به محور چرخش ژایرو نیروئی وارد شود، ژایرو با نیروئی قائم به آن عکس العمل نشان خواهد داد.
In figure 1, the gyroscope is spinning on its axis. In figure 2, a force is applied to try to rotate the spin axis. In figure 3, the gyroscope is reacting to the input force along an axis perpendicular to the input force
This mass resonates with sufficient velocity to produce a Coriolis force when the device is subjected to rotation. A capacitive sensing structure that modulates the Coriolis force is mounted orthogonal to the mass. The Coriolis force is then directly related to the rotational velocity, and internal demodulation converts the signal into an output voltage.
Ground-Based Active and Passive Beacons
Introduction to GPS
What is GPS
The Global Positioning System (GPS) is a worldwide radio-navigation system formed from a constellation of 24 satellites and their ground stations
GPS receivers use these satellites as reference points to calculate positions and time
Originally known as Navigation System with Timing And Ranging (NAVSTAR)
Global Positioning System (GPS)
Global Positioning System (GPS)
Global Positioning System (GPS)
GPS Error Budget
Source Uncorrected Error Level Ionosphere 0-30 meters
Troposphere 0-30 meters
Measurement Noise 0-10 meters
Ephemeris Data 1-5 meters
Clock Drift 0-1.5 meters
Multipath 0-1 meter
Selective Availability 0-70 meters
سنسور های فاصله
اندازه گیری فاصله به روش Active ranging یکی از متداولترین روشها در روباتهای متحرک است: یک موج صوتی و یا نوری از طریق فرستنده ای که روی روبات نصب است به محیط ارسال میشود و گیرنده ای که در روی روبات قرار دارد منتظر بازگشت موج منعکس شده توسط اشیا و موانع موجود در محیط میشود. با اندازه گیری زمان پرواز رفت و برگشت موج میتوان فاصله تا اشیا و وموانع را محاسبه نمود.
اغلب ارزان هستند و اندازه گیری مستقیمی از فاصله را تولید میکنند.
برای تشخیص موانع بکار میروند.
برای تهیه نقشه فضای آزاد محیط بکار میروند.
رقیب جدی آنها vision است که ممکن است از جذابیت آنها بکاهد.
اندازه گیری فاصله به روش time of flight
دو سنسور بسیار متداول که بر مبنای خاصیت time-of-flight مورد استفاده قرار میگیرند عبارتند از: Sonar و Laser
مسافتی که یک موج صوتی و یا نوری ( الکترومغناطیسی) در محیط طی میکند از رابطه زیر بدست می آید:
d =c⋅t
where
d = distance traveled (usually round-trip);
c = speed of wave propagation;
t = time of flight.
سرعت انتشار صوت در محیط 300m/s است در حالیکه سرعت نور 300000 Km/s یعنی یک میلیون بار سریعتر است. برای مثال نور 3 متر را در 10ns طی میکند از اینرو اندازه گیری زمان پرواز نور برای فواصل کوتاه کار بسیار مشکلی است.
عوامل موثر بر کیفیت اندازه گیری زمان پرواز موج
Uncertainties in determining the exact time of arrival of the reflected signal;
Inaccuracies in the time-of-flight measurement (particularly with laser range sensors);
The dispersal cone of the transmitted beam (mainly with ultrasonic range sensors);
Interaction with the target (e.g., surface absorption, specular reflections);
Variation of propagation speed;
The speed of the mobile robot and target (in the case of a dynamic target);
سنسور اولتراسونیک
سنسورهای اولتراسونیک بدلیل ارزانی و سادگی استفاده در روباتها برای اندازه گیری فاصله، پرهیز از موانع و ساخت نقشه محیط استفاده میشوند.
در این سنسور یک بسته صوتی با فرکانسی در حدود 40-180KHz توسط فرستنده ارسال میشود و سیگنالی که از محیط منعکس میشود اندازه گیری میشود. فاصله تا اشیا از طریق اندازه گیری زمان رفت و برگشت سیگنال محاسبه میشود.
سنسور اولتراسونیک
شکل موج
موج صوتی که توسط فرستنده ارسال میشود دارای پهنای تقریبی 30 درجه خواهد بود. به این معنا که هر شیئ که در داخل این پهنا قرار گیرد امکان دارد که موج ارسالی را منعکس نماید. لذا اندازه گیری با ابهام در مورد شئی منعکس کننده همراه خواهد بود.
رینگ اولتراسونیک
برخی روباتها برای تحت پوشش قرار دادن کل محیط از یک رینگ سونار که از تعدادی سنسور که با زاویه مشخص قرار گرفته اند استفاده میکنند.
اسکن محیط
برای بدست آورن اطلاعات محیط لازم است تا در زاویه های مختلف اندازه گیری انجام شود.
اندازه گیری در هر 15 درجه
برخی مشکلات اندازه گیری با سونار
(a اندازه گیری سونار دقیق است.
(b,c نزدیک ترین شئی به سنسور فاصله را مشخص خواهند نمود.
(d انعکاس باعث خواهد شد تا دیوار ناپدید شود!
(e اغلب گوشه ها سیگنالهای بازگشتی ضعیفی تولید میکنند.
در کنج ها بدلیل بازگشت ازچند نقطه اندازه گیری فاصله بیشتری را برمیگرداند.
مشکلات مربوط به نویز
سنسور اولتراسونیک
سنسور اولتراسونیک
Ultrasonic Sonar Sensor
Ultrasonic transducer
Electronic board
سنسور پولاروید یکی از مشهورترین سنسورهای سونار مورد استفاده در روباتهاست که توسط پولاروید برای اندازه گیری فاصله تا شئی مقابل دوربین ( برای تنظیم خودکار فوکاس) ساخته شده است. برخی مشخصات آن:
transmitter + receiver @ 50 KHz
Residual vibrations or ringing may be interpreted as the echo signal
Blanking signal to block any return signals for the first 2.38ms after transmission
در بسیاری روبات ها از یک جفت فرستنده و گیرنده به همراه مدار الکترونیکی لازم استفاده میشود.
اندازه گیری فاصله با استفاده از لیزر
استفاده از لیزر برای اندازه گیری فاصله برتری های زیادی نسبت به استفاده از صوت دارد.
یک باریکه نور لیزری بر روی سطح مورد نظر تابانده شده و بازتاب آن توسط آشکار ساز نوری تشخیص داده میشود.
فاصله از روی زمان لازم برای رفت و برگشت نور تخمین زده میشود.
با استفاده از یک سیستم مکانیکی که شامل آینه و موتور است میتوان محیط را بصورت 2 و یا 3 بعدی جاروب کرده ونقشه محیط را ترسیم نمود.
اندازه گیری فاصله با استفاده از لیزر
Pulsed laser
در این روش همانند اولتراسونیک یک بسته نوری به سمت هدف ارسال شده و زمان رفت و برگشت محاسبه میشود. اینکار نیازمند آن خواهد بود تا زمان با دقت PS اندازه گیری شود.
Phase Shift
در این روش اختلاف فاز بین نور ارسالی و برگشتی اندازه گیری میشود. اجرای عملی این روش ساده تر است.
اندازه گیری فاصله با استفاده از لیزر به روش Phase Shift Measurement
یک نورلیزر و یا مادون قرمز همگرا شده وبه محیط فرستاده میشود. چون زبری اغلب سطوح ازطول موج نورتابیده بیشتراست، بازتاب نور بصورت isotroical بوده وقسمتی ازآن موازی با نور تابیده شده به سمت فرستنده بازمیگردد که با نصب گیرنده مناسب میتوان آنرا دریافت کرد.
نور با فرکانس مشخصی ارسال شده و اختلاف فاز بین نور ارسالی وبازتاب آن اندازه گیری میشود.
طول موج سیگنال مودولاسیون از رابطه زیر بدست می آید:
که c سرعت نور و f فرکانس مدولاسین است.
کل مسافت طی شده توسط نور از رابطه زیر بدست می آید:
که q اختلاف فاز نور ارسالی و دریافتی است. از لحاظ تئوری این نوع اندازه گیری با ابهام مواجه است زیرا با طول موج l=60 m شئی در فاصله و 5 متری با شئی درفاصله 65 متری از هم قابل تشخیص نخواهندبود.
اندازه گیری فاصله با استفاده از لیزر Phase Shift Measurement
اندازه گیری فاصله با استفاده از لیزر
اندازه گیری فاصله با استفاده از لیزر
رزلوشن زاویه ای 0.5 درجه
رزلوشن عمق در حدود 5 سانتیمتر
و رنج قابل اندازه گیری بین 5cm , 20 m است
5 اسکن 180 درجه در ثانیه انجام میدهد.
اسکن کامل محیط توسط لیزر
معمولا در لیزرهای فاصله از آینه ای استفاده میشود که بر روی پایه ای دوار نصب شده و به کمک یک موتور میتواند تا 360 چرخیده و نور سنسور را درزوایای مختلفی به محیط بفرستد.
بدین ترتیب میتوان اطلاعات دو بعدی در مورد فضای اطراف روبات بدست آورد. میتوان با اضافه کردن یک موتور دیگر و جاروب فضا در محور عمودی، محیط را بصورت 3 بعدی اسکن نمود.
اسکن کامل محیط توسط لیزر
یک نمونه از داده های حاصل از اسکن 360 درجه محیط در شکل نشان داده شده است:
رزلوشن زاویه ای 0.5 درجه
رزلوشن عمق در حدود 5 سانتیمتر
و رنج قابل اندازه گیری بین 5cm , 20 m است
5 اسکن 180 درجه در ثانیه انجام شده است.
این سنسور برتری محسوسی نسبت به سونار دارد.
اندازه گیری فاصله با استفاده از لیزر
مشکلات
قادر به تشخیص اشیا شفاف مثل شیشه نیست
برگشت نور ازاشیا صیقلی باعث عدم دریافت نور توسط گیرنده و در نتیجه عدم تشخیص فاصله میگردد.
Triangulation Ranging
این روشها با استفاده از خواص هندسی به اندازه گیری فاصله میپردازند
معمولا یک پترن نوری به محیط فرستاده شده و انعکاس آن توسط گیرنده ای دریافت میشود و با داشتن اطلاعات هندسی مشخص فاصله اندازه گیری میشود. این عمل ممکن است بصورت یک بعدی و یا دو بعدی انجام شود.
Optical Triangulation (1D)
یک باریکه نور همگرا شده به هدف فرستاده شده و انعکاس آن توسط یک عدسی بر روی صفحه حساس به فاصله انداخته میشود. با استفاده از روابط هندسی فاصله بصورت زیر محاسبه میشود.
Optical Triangulation (1D)
این فاصله با 1/x نسبت معکوس دارد لذا رزلوشن سنسور برای اشیاء دور کمتر خواهد بود.
در روباتیک از آن برای اندازه گیری فاصله اشیا تا 2 متر استفاده میشود ولی کاربرد مهمتر این سنسور در صنایع برای اندازه گیری های دقیق در حدود 1 میکرومتر است.
سنسور ارزان قیمت ساخته شده توسط Sharp استفاده فراوانی در روباتهای متحرک برای اندازه گیری فاصله در رنج 8 تا 80 سانتیمتری دارد.
Optical Triangulation (2D)
با جایگزینی یک دوربین CCD بجای سنسور حساس به فاصله میتوان روش فوق را به دو بعد گسترش داد.
در اینحالت فرستنده یک پترن مشخص نوری (structured light) را برروی هدف می تاباند ودوربین انعکاس نور تابیده را دریافت میکند.
این روش در تاریکی و نور کم هم قابل استفاده است و مشکل Correspondence سیستم های استریو را ندارد.
Optical Triangulation (2D)
مقادیر اندازه گیری شده توسط سنسور عبارتند از زاویه a و فاصله تصویر بدست آمده یک نقطه تا مبدا تصویر.
با استفاده از روابط هندسی داریم:
Optical Triangulation (2D)
دقت سنسور در اندازه گیری را میتوان توسط روابط زیر نشان داد:
با توجه به روابط فوق داریم:
با افزایش b رزلوشن سنسور بیشتر میشود اما اندازه سنسور هم بزرگتر خواهد شد.
با افزایش فاصله کانونی f رزلوشن بیشتر میشود اما اندازه سنسور هم بزرگتر خواهد شد.
با ارزانتر شدن لیزر اسکنرها کاربرد این نوع از سنسور به موارد تحقیقاتی گسترده شده است.
سنسورهای سرعت و حرکت
سنسورهائی وجود دارند که میتوانند مستقیما حرکت نسبی بین روبات و محیط را اندازه بگیرند.
برای روباتهائی که در بزرگراه ها حرکت میکنند استفاده از سنسورهای Doppler تنها راه تشخیص اشیا میباشد.
در این سیستمها از هر دو امواج صوتی و الکترومغناطیسی استفاده میشود.
سنسورهای سرعت و حرکت
شتاب سنج
اندازه گیری فاصله با استفاده از شتاب
اندازه گیری جهت
Inertial measurement unit
An inertial measurement unit, or IMU, is an electronic device that measures and reports on a craft's velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes.
The IMU is the main component of inertial navigation systems used in aircraft, spacecraft, watercraft, and guided missiles among others.
An IMU works by detecting the current rate of acceleration using one or more accelerometers, and detects changes in rotational attributes like pitch, roll and yaw using one or more gyroscopes.
اندازه گیری فاصله با استفاده از سنسور بینائی
بینائی قویترین حس آدمی است
بینائی پیچیده ترین حس آدمی نیز بشمار میرود.
هنگامی که توسط یک دوربین از یک شیئ سه بعدی تصویر برداری میشود، اطلاعات بعد سوم یعنی عمق یا فاصله شیئ بصورت دو بعدی تصویر خواهد شد.
استخراج اطلاعات بعد سوم از یک تصویر دو بعدی کار ساده ای نیست.
از روشهائی نظیر بینائی استریو، triangulation و یا روشهای مبتنی بر فوکاس میتوان برای بدست آوردن اطلاعات بعد سوم استفاده نمود.
سنسورهای بینائی
Vision Sensors
CCD (light-sensitive, discharging capacitors of 5 to 25 micron )
CMOS (Complementary Metal Oxide Semiconductor technology )
Visual Range Sensors
اگر اطلاعاتی در مورد اندازه اشیا وجود داشته باشد امکان اندازه گیری فاصله از روی اندازه وجود خواهد داشت ولی معمولا چنین نیست.
راه حل کلی استفاه از چندین تصویر مختلف است تا اطلاعات اضافی مورد نیاز بدست آید.
دو روش مختلف:
Depth from focus/defocus از اختلاف پارامترهای دوربین ها استفاده میکند.
Stereo vision از اختلاف دید دوربین ها استفاده میکند.
اندازه گیری فاصله از طریق فوکاس/دی فوکاس
ایده اصلی در این روش استخراج فاصله از طریق اندازه گیری پارامترهای دوربین است.
در این روش برای حل مسئله اندازه گیری عمق تصویردو و یا چند تصویر از صحنه گرفته میشود. اختلاف تصاویر در فاصله کانونی و یا فاصله صفحه تصویر میباشد.
اندازه گیری فاصله از طریق فوکاس
اندازه گیری فاصله از طریق فوکاس
اندازه گیری Sharpness
برای اندازه گیری وضوح تصویر از روابط زیر استفاده میشود.
Depth from defocus
در این روش از یک صحنه دو و یا چند تصویر با پارامترهای مختلف دوربین گرفته میشود.
اطلاعات مربوط به فاصله از تصویر سه بعدی حاصل استخراج میشود.
تصویر فوکاس شده
اگر یک شی در مقابل دوربین Pineholeقرار گرفته باشد، تصویر فوکاس شده یک نقطه x,yاز تصویرآن با F(x,y) نشان داده شده و برابر است با شدت نوری که از آن نقطه به تصویر میرسد.
تابع point spread function بصورت زیر تعریف میشود:
مقدار نور تابش شده از نقطه P شی در تصویر فوکاس شده که در تصویر بدون فوکاس دخالت میکند.
Point Spread Function
با فرض اینکه blur circle دارای شدت نور یکنواختی است این تابع بصورت زیر تعریف میشود:
آزمایشات
Best reported result is 1.3% RMS error in terms of distance from the camera when the target is about 0.9 m away .
The key problems are the measurement of difference of blurring amount and the calibration of the mapping between depth and the difference of blurring.
استریو ویژن
با استفاده از دو دوربین میتوان به یک ادارک 3 بعدی از محیط دست پیدا کرد. در عمل چنین سیگنالی پیچیده و همراه با نویز خواهد بود.
هر دوربین منظره ای با تفاوتی اندک را ثبت خواهد نمود. فاصله بین نقاط متناظر در دو تصویر را stereo disparity میگویند
disparity
Stereo Vision
در حالت ساده اگر محور اپتیکی دو دوربین مطابق شکل موازی باشند برای مختصات یک نقطه در دو تصویر داریم:
Stereo Vision
فاصله نسبت معکوس با disparity دارد
اشیا نزدیکتر را با دقت بیشتری میتوان اندازه گرفت
مقدار disparity با b رابطه مستقیم دارد
برای یک مقدار خطای disparity ثابت دقت اندازه گیری عمق با افزایش b بیشتر خواهد شد.
اما این امکان وجود دارد که با افزایش b برخی اشیا فقط در یک تصویر دیده شوند.
نقطه ای که در هر دو تصویر قابل رویت باشد، تشکیل یک زوج conjugate در تصاویر حاصله خواهد داد که با دانستن محل یکی میتوانیم در خطی با نام epipolar بدنبال دیگری بگردیم. در مثال شکل قبل این خط موازی محور x است.
اندازه گیری فاصله به روش استریو
The amount of disparity is related to distance
the difficulty lies in identifying corresponding points
The general principle is
left and right images are digitized
raw images are rectified for distortion / misalignment
rectified images are filtered to enhance textures+edges
a stereo matching algorithm is applied
modern techniques search along horizontal scan lines to find the best set of matching pixels (e.g. mean-squared-error)
raw disparity map is filtered to remove noise
This can now be done on modern computers
e.g. Pentium P-4 @ GHz at interactive frame rates
Stereo Vision – the general case
در حالت کلی ممکن است فرض موازی بودن محور اپتیکی دو دوربین صحیح نباشد.
مقادیر ماتریس دوران از طریق کالیبراسیون بدست میاید.
We have 12 unknowns and require 12 equations:
we require 4 conjugate points for a complete calibration.
Note: Additionally there is a optical distortion of the image
سوال اساسی
نقاط مزدوج در دو تصویر را چگونه میتوان پیدا کرد؟
How do we solve the correspondence problem?
کدامیک از المانهای تصویر باید با هم مقایسه شوند؟
دو روش وجود دارد:
Pixel/area-based (lower-level)
Feature-based (higher-level)
مشکلات پیدا کردن نقاط مرتبط
المانهای تصویری ممکن است در دو تصویر یکسان دیده نشوند. برخی دلایل این امر عبارتند از:
مسایل مربوط به دوربینها.
وجود نویز در تصاویر، گین متفاوت دوربین ها، کنتراست متفاوت
مسایل مربوط به زاویه دید تصاویر.
اعوجاج پرسپکتیو
پوشیده شدن نقاط
انعکاس
نصب دوربین ها
سعی میشود تا دوربین های انتخاب شده از هر دو جهت یکسان باشند.
دوربین ها بصورت کاملا موازی هم نصب شوند.
انتخاب فاصله بین دو دوربین دارای ویژگی های زیر است:
فاصله کم: پیدا کردن نقاط یکسان دوتصویر ساده تر است
فاصله زیاد: درک بهتری از عمق وجود خواهد داشت
پیدا کردن نقاط یکسان
برای پیدا کردن هر نقطه یک تصویر در تصویر دیگر عمل جستجو در روی یک خط با نام Epipolar line انجام میشود.
با استفاده از پنجره های همسایه به جستجوی مشابه ترین ناحیه پرداخته میشود.
پیدا کردن نقاط یکسان
برخی از معیارهای تشابه بین ناحیه ها عبارتند از:
SAD (sum of absolute differences)
SSD (sum of squared differences)
CC (cross-correlation)
برخی از پارامترهای مهم در انتخاب اندازه پنجره عبارتند از:
Ambiguity
Noise sensitivity
Sensitivity towards viewpoint-related distortions
Expected object sizes
Frequency of depth jumps
Zero Crossing of Laplacian of Gaussian
روش Zero Crossing of Laplacian of Gaussian
یکی از تکنیک های متداول برای یافتن نقاط مزدوج میباشد.
روشی است برای یافتن نقاطی در تصاویر سمت راست و چپ که پایدار بوده و بخوبی با هم انطباق پیدا میکنند.
این روش در نرم افزار و سخت افزار پیاده شده است.
هسته این روش را لاپلاسین تصویر تشکیل میدهد:
Zero Crossing of Laplacian of Gaussian
برای اینکه بتوان رابطه فوق را برای یک تصویر دیجیتال محاسبه نمود آنرا با یک کانولوشن تقریب میزنند:
kernel
مثال
Step / Edge Detection in Noisy Image
حذف نویز
برای کاهش اثر نویز ابتدا با استفاده از اپراتور گاوسی روی تصویر هموار سازی بعمل میاید.
filtering through Gaussian smoothing
مثال
اعمال لاپلاسین بر روی تصویر هموار شده باعث بوجود آمدن spike مثبت و منفی در محل لبه ها خواهد شد.
b1 and b2: vertical edge filtered
left and right image;
filter = [1 2 4 -2 -10 -2 4 2 1]
c: confidence image:
bright = high confidence (good texture)
d: depth image:
bright = close; dark = far
left images
right images
edge filtered
confidence image
depth image
Zero Crossing of Laplacian of Gaussian
یک ویژگی بسیار موثر برای برای پیدا کردن correspondence بین تصاویر راست و چپ میتواند zero crossing لاپلاسین تصویر هموار شده باشد LoG
Zero crossing دارای عرضی برابر با یک پیکسل است و بخوبی در تصاویر قابل محاسبه است.
Color Tracking Sensors
Motion estimation of ball and robot for soccer playing using color tracking
Representing Colors in an RGB Image
How do We Segment a “Single” Color?
We need to model it mathematically a priori
Simple RGB Color Segmentation
Grouping, Clustering: Assigning Features to Features