نوشته شده در دیدگاه‌تان را بنویسید

طراحی و ساخت روبات هوشمند پردازش تصویر

طراحی و ساخت روبات هوشمند پردازش تصویر به منظور رهگیری و دنبال کردن یک شئ خاص

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

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

دركل دو روش كلي براي نگاشت از تصاوير ورودي به حركت روبات وجود دارد. يكي سينماتيك محاسباتي و ديگري visual servoing مي باشد.

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

در visual servoing خطاي بين وضعيت تصوير گرفته شده و آنچه كه مورد دلخواه است توسط يك قانون كنترلي به سمت صفر سوق داده مي شود. روشvisual servoing به دو حالت تقسيم مي شود. حالت اول feature-based و حالت دوم position-based مي باشد.

 در برنامه شبيه سازي شده براي كنترل روبات توسط بينائي از روش visual servoing – feature based استفاده شده است.

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

نوشته شده در دیدگاه‌تان را بنویسید

آموزش و برنامه – قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

 

موضوع :  آموزش قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

گردآورنده: آقای مهندس ابراهیم عشوری

رشته : کارشناسی ارشد مهندسی مکاترونیک

دانشگاه : آزاد اسلامی واحد کاشان

نوع فایل: PDF

زبان : فارسی
حجم فایل آموزشی:258کیلوبایت

حجم برنامه : 2.23 کیلوبایت

نوشته شده در دیدگاه‌تان را بنویسید

آموزش متنی قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

 

موضوع :  آموزش قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

گردآورنده: سرکار خانم مهندس هدی قاسمی

رشته : کارشناسی ارشد مهندسی مکاترونیک

دانشگاه : آزاد اسلامی واحد کاشان

نوع فایل: PDF

زبان : فارسی

حجم : 267 کیلوبایت

نوشته شده در دیدگاه‌تان را بنویسید

آموزش تصویری قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

 

موضوع :  آموزش تصویری قسمت برنامه نویسی matlab پروژه ساخت ربات تعقیب چهره – مکاترونیک

گردآورنده: آقای مهندس کوروش خلیلی

رشته : کارشناسی ارشد مهندسی مکاترونیک

دانشگاه : آزاد اسلامی واحد کاشان

نوع فایل: فایل تصویری

زبان : فارسی

حجم : 401,510 KB

نوشته شده در دیدگاه‌تان را بنویسید

دانلود پروژه شبیه سازی حرکت پنجه ربات دو درجه آزادی با matlab

 

موضوع :پروژه شبیه سازی حرکت پنجه ربات دو درجه آزادی با نرم افزار متلب

گردآورنده: آقای مهندس امین آهویی

رشته : کارشناسی ارشد مهندسی مکاترونیک

دانشگاه : آزاد اسلامی واحد کاشان

نوع فایل: zip

زبان : فارسی
حجم فایل آموزشی:400کیلوبایت

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

 

دانلود

نوشته شده در دیدگاه‌تان را بنویسید

پورت های سریال در نرم افزار -matlab – جهت ارتباط با میکروکنترلر ربات

 

اتصال دو دستگاه توسط RS-232

درگاه RS-232 آشنا ترین مدار واسط کامپیوتری است. این واسط بر روی همه PC ها قرار دارد و همچنین میکروکنترکرهای مختلفی از این واسط بهره می برند. بیشترین کاربرد RS-232 اتصـال یک مودم است، اما از دستگاههای دیگری که از این درگاه استفاده می کنند می توان از چاپگر ها واحدهای اکتساب داده، تجهیزات تست و مدارات کنترلی نام برد. می توان از RS-232 برای اتصال

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

یک پروژه ساده برای شروع کار با پورت سریال:

برای شروع کار با پورت سریال بهتر است با یک آزمایش ساده شروع به کار کنیم فرض کنید می خواهیم داده ای را روی پورت بنویسیم برای این کار بهتر است که یک پورت نری سریال و یک دیود نورانی را آماده کنید.
حال به این صورت عمل کنید: پایه ۵ سریال را به پایه منفی دیود نوری و پایه ۳ سریال را به پایه دیگر دیود نوری متصل کنید حال پورت سریال را به کامپیوتر متصل کنید و در ادامه دستورات زیر را وارد کنید:
دستور serial:
شئ پورت سریال را ایجاد می کند. مثلا می توان نوشت:

s = serial(‘COM1′);

که شئ s را ایجاد می کند.

 

دستور fopen:
شئ پورت سریال را به وسیله متصل می کند. یعنی در حقیقت پورت را باز می کند.

fopen(s)
دستور fwrite:
داده های باینری را در وسیله می نویسد.
fwrite(1)
در هنگام اجرای این دستور به دیود نوری نگاه کنید که در این هنگام روشن و سپس خاموش می شود.
دستور fclose:

شئ پورت سریال را از وسیله جدا می کند.

fclose(s)

مشخصات اجزاء پورت سریال:
مشخصات ارتباطی، خواندن، نوشتن اجزای شئ پورت سریال به طور خلاصه در زیر برحسب الفبا آمده اند:

مشخصات ارتباطی:

BaudRate:
سرعتی که بیتها فرستاده می شوند را مشخص می کند.

توضیحات:
شما BaudRate را بر حسب بیت بر ثانیه پیکربندی می کنید.بیت های ارسالی شامل بیت شروع، بیت های داده، بیت توازن،(اگر به کار روند) و بیت های توقف هستند.هر چند اگر بیت های داده ذخیره شوند.
BaudRate سرعتی است که اطلاعات در کانال ارتباطی فرستاده می شود در مفهوم پورت سریال باود ۹۶۰۰ این معنی را می دهد که پورت سریال قادر به ارسال ماکزیمم ۹۶۰۰ بیت در هر ثانیه است.اگر واحد اطلاعاتی یک باود (یک بیت) باشد،bitrate وbaudrate با هم یکی هستند اگر یک باود به عنوان ده بیت داده شود،(برای مثال،هشت پالس بیتهای داده دو چارچوب بیتی)،bitrate هنوز ۹۶۰۰ است ولی baudrate، ۹۶۰۰/۱۰یعنی ۹۶۰ است. شما همیشه baudrate را بر حسب بیت در هر
ثانیه پیکربندی می کنید.بنابرین در مثال بالا baudrate را ۹۶۰۰ تنظیم می کنید.
توجه: هم کامپیوتر و هم دستگاه جانبی باید در یک باود تنظیم شوند برای اینکه شما بخواهید خواندن و نوشتن موفقی داشته باشید.
برای این کار روی آیکون My computer کلیک راست کرده Manage را انتخاب می کنیم در صفحه باز شده Device Manager را انتخاب کرده و از سخت افزار های موجود در سمت راست Ports(Com&Lpt) را انتخاب می کنیم و روی + کلیک می نماییم، روی Communicaitions که مربوط به COM1 است دو بار کلیک کرده و در دیالوگ باز شده در تب Port Setting گزینه Bit per second را روی مقدار مورد نظر تنظیم می کنیم.

Baudrate های استاندارد شامل ۱۱۰،۳۰۰،۶۰۰،۱۲۰۰،۲۴۰۰،۴۸۰۰،۹۶۰۰،۱۴۴۰۰
،۱۹۲۰۰،۳۸۴۰۰،۵۷۶۰۰۱۱۵۲۰۰،۱۲۸۰۰۰ و۲۵۶۰۰۰ بیت در هر ثانیه است.

Databits:
تعداد بیت های داده برای ارسال را مشخص می کند.که می توانند پنج،شش،هفت و یا هشت باشند.

Parity:
نوع مقابله توازن را مشخص می کند. که خالی، زوج، فرد،علامت و یا فاصله است.

Stopbits:
تعداد بیت های بکار رفته شده را برای نمایش انتهای بایت مشخص می کند.

Terminator:
نوع کاراکتر پایان رساننده را مشخص می کند.

مشخصات نوشتن:
BytesToOutput:

شامل تعداد بایت هایی است که در بافر خروجی جریان دارند.

OutputBufferSize:
سایز بافر خروجی را برحسب بایت شخص می کند.

Timeout:
زمان نوشتن برای اینکه عملکرد خواندن و یا نوشتن کامل شود را مشخص می کند.

TransferStatus:
اگر یک عملکرد خواندن و یا نوشتن آسنکرون در پروسه باشد را نمایش می دهد.

ValuesSent:
مجموع تعداد مقادیر نوشته شده در وسیله را نمایش می دهد.

مشخصات خواندن:
BytesAvailable:

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

InputBufferSize:
سایز بافر ورودی را برحسب بایت مشخص می کند.

ReadAsyncMode:
مشخص می کند که آیا یک عمل خواندن آسنکرون پیوسته است یا دستی ؟

Timeout:
در بالا توضیح داده شد.

TransferStatus:
در بالا توضیح داده شد.

ValuesReceived:
مجموع تعداد مقادیر خوانده شده از وسیله را نمایش می دهد.

 

توابع پر کاربرد برای کار با پورت سریال:

تابع fgetl:

یک خط متنی از وسیله را می خواند(با رها کردن terminator)

حالات استفاده :

tline = fgetl(obj)
[tline,count] = fgetl(obj)
[tline,count,msg] = fgetl(obj)

obj شئ پورت سریال است .
tline خواندن متن از وسیله ، بدون terminator
count تعداد مقادیر خوانده شده ، شامل terminator
msg یک پیغام نمایش داده می شود اگر عمل خواندن با موفقیت نباشد.

تابع fgets:

یک خط متنی از وسیله را می خواند(که شامل terminator می شود.)

حالات استفاده:

tline = fgets(obj)

[tline,count] = fgets(obj)

[tline,count,msg] = fgets(obj)

obj شئ پورت سریال است .
tline خواندن متن از وسیله ،با terminator
count تعداد بایتهای خوانده شده ، شامل terminator
msg یک پیغام نمایش داده می شود اگر عمل خواندن با موفقیت نباشد.

تابع fprintf:
داده متنی را در وسیله می نویسد.

حالات استفاده:

fprintf(obj,’cmd’)

fprintf(obj,’format’,’cmd’)

fprintf(obj,’cmd’,’mode’)

fprintf(obj,’format’,’cmd’,’mode’)

obj شئ پورت سریال است .
‘cmd’ رشته نوشته شده در وسیله
‘format’ تعیین تبدیل در زبان c (به راهنمای MATLAB مراجعه کنید.)
mode’ مشخص می کند که داده سنکرون یا آسنکرون نوشته شود .

تابع fread :

داده باینری را از وسیله می خواند .

حالات استفاده :

A = fread(obj,size)

A = fread(obj,size,’precision’)

[A,count] = fread(…)

[A,count,msg] = fread(…)

شئ پورت سریال است . obj
تعداد مقادیر برای خواندن size
تعداد بیت های خوانده شده برای هر مقدار ، و تفسیر بیتها به عنوان کاراکتر ، صحیح و یا مقادیر با ممیز شناور ‘precision’
داده های باینری بازگشت داده شده به وسیله A
تعداد مقادیر خوانده شده count
یک پیغام نمایش داده می شود اگر عمل خواندن با موفقیت نباشد. msg

تابع fscanf :

داده را از وسیله می خواند ، و فرمت متنی است .

شئ پورت سریال است . obj
تعیین تبدیل در زبان c (به راهنمای MATLAB مراجعه کنید.) ‘format’
تعداد مقادیر برای خواندن size
داده های خوانده شده از وسیله که فرمت آن متنی است . A
تعداد مقادیر خوانده شده count
یک پیغام نمایش داده می شود اگر عمل خواندن با موفقیت نباشد. msg

تابع length :

طول آرایه شئ پورت سریال را تعیین می کند .

Length(obj)

تابع  size:

d = size(obj)

[m,n] = size(obj)

[m1,m2,…,mn] = size(obj)

m = size(obj,dim)

شئ پورت سریال است . obj
بعد شئ پورت سریال dim
تعداد سطر ها و ستون ها در شئ d
تعداد سطر ها در شئ ، یا طول بعد مشخص شده با dim m
تعداد ستون ها در شئ n
طول اولین N بعد از شئ m1,m2,…,mn

منبع1: وبلاگ متلب هفت

 

منبع2:http://gomatlab.com