PDA

View Full Version : هدایت ربات با کامپیوتر



faramarz_fireboy
پنج شنبه 01 اردیبهشت 1390, 12:35 عصر
با سلام خدمت اساتید گرانقدر:قلب:
بنده برای ساخت رباتی با پردازش تصویر شروع به تحقیقاتی کردم- البته در سطح مبتدی:لبخند:
برای دوربین میشه از دوربین های بیسیم استفاده کرد.
البته با میکروهای AVR دارم کار میکنم.
مشکل اینجاست که وقتی شیئ رو پیدا کردم چطور موتورها رو به اون سمت هدایت کنم؟:متفکر::گریه:
یه چیزایی در مورد ماژول ای RF پیدا کردم ولی راستش نتونستم راش بندازم.:افسرده::گیج::عصبانی:
تصمیم گرفتم فعلا با USB ارتباط رو برقرار کنم-برای هدایت ربات.
ممنون میشم اگه کسی مقاله یا نمونه یی داره اینجا بزاره:قلب::قلب:

mhsaleh
پنج شنبه 01 اردیبهشت 1390, 21:38 عصر
اینکه چطور ربات شما به سمت جسم مورد نظر حرکت کند بستگی به ساختار آن دارد.
اما برای ارسال فرمان از کامپیوتر به ربات خود می توانید از انواع بسترها استفاده نمایید که اغلب بر اساس استاندارد RS232 کار خواهند کرد سپس فرامین را در میکرو خود تحلیل نمایید. شما برای استفاده از USB می توانید از تراشه های FTDI استفاده نمایید که به دو صورت می توانند با نرم افزار شما ارتباط داشته باشند.
ماژول های فرستنده و گیرنده RF مدل های مختلفی دارند و بعضی از آنها توسط یک واسط RS232 می توانند با واحدهای دیگر مرتبط شوند.

faramarz_fireboy
جمعه 02 اردیبهشت 1390, 09:14 صبح
دوست عزیز ممنون از راهنماییت
من از rs232 نمیخوام استفاده کنم چون نه pc و نه لبتاپم این پورت رو ندارن
- اگر هم از تبدیل استفاده کنم حجم مدار زیاد میشه
usb بدون واست هم میتونه با avr ها ارتباط برقرار کند
اگه کسی یه برد نمونه از RF قرار بره ممنون میشم

Felony
جمعه 02 اردیبهشت 1390, 10:38 صبح
من از rs232 نمیخوام استفاده کنم چون نه pc و نه لبتاپم این پورت رو ندارن
- اگر هم از تبدیل استفاده کنم حجم مدار زیاد میشه
ماژول های آماده ای وجود دارند که با نصب یک درایور روی ویندوز به عنوان یک پورت rs232 مجازی شناخته میشن و کافیه ماژول رو به پورت USB متصل کنید و خروجی rs232 ازش بگیرید .

Datasheet یکی از این ماژول ها رو براتون ضمیمه کردم ، ببینید به کارتون میاد .

faramarz_fireboy
جمعه 02 اردیبهشت 1390, 21:53 عصر
ممنونم دوست گرامی خیر دنیا و اخرت رو ببینی -کارم کلی راه میفته
اساتیدی که تابحال با rf12 کار کردن یه عنایتی به ما داشته باشن :قلب::لبخندساده:

با usb دستورات رو میگیرم حالا با ماژول RF12 یا xbee (یا هرماژولی با برد حداقل 10متر)باید بفرستم به ربات:چشمک:

amirsadeghi
جمعه 02 اردیبهشت 1390, 22:17 عصر
دوست عزیز ما روی mobile robot ها کار میکنیم.
اگه میخوای کارت حرفه ای باشه، و هزینه کردن هم برات مشکلی نیست بگو راهنماییت کنم یه کار درست حسابی در بیار.
با مبدل و مبدل بازی چیزی از کار در نمیاد...

faramarz_fireboy
شنبه 03 اردیبهشت 1390, 09:39 صبح
دوست عزیز ما روی mobile robot ها کار میکنیم.
اگه میخوای کارت حرفه ای باشه، و هزینه کردن هم برات مشکلی نیست بگو راهنماییت کنم یه کار درست حسابی در بیار.
با مبدل و مبدل بازی چیزی از کار در نمیاد...

دوست گرامی ممنون که به این تاپیک توجه کردی:قلب::تشویق:
هزینه رو میتونم یه کاریش بکنم:لبخند:
معلومه که میخوام حرفه ای باشه(کار و زندگیم رو ول کردم تمام وقتم رو گزاشتم واسه این ربات)
اولش میخواستم از ARM استفاده کنم ولی کمتر کسی راجع بش اطلاعات در اختیار بقه قرار میده(منم الکترونیکم خوب نیست):عصبانی++::گیج:
اگه شما لطف کنید و راهنماییم کنید ممنونتون میشم:قلب::قلب:

amirsadeghi
شنبه 03 اردیبهشت 1390, 23:28 عصر
اطلاعاتت تو زمینه شبکه های وایر لس در چه حده؟

faramarz_fireboy
یک شنبه 04 اردیبهشت 1390, 19:07 عصر
یه چیزایی میدونم
ولی اگه لازم باشه میرم دنبالش و یاد میگیرم
مشکلی بابت یادگیری ندارم

amirsadeghi
یک شنبه 04 اردیبهشت 1390, 19:15 عصر
خب پس یکم روی برنامه نویسی تحت شبکه اطلاعات کسب کن و یکم هم راجع به شبکه های وایرلس.
کسب کردی بگو! :دی

faramarz_fireboy
دوشنبه 05 اردیبهشت 1390, 08:46 صبح
خب پس یکم روی برنامه نویسی تحت شبکه اطلاعات کسب کن و یکم هم راجع به شبکه های وایرلس.
کسب کردی بگو! :دی

استاد عزیز:قلب:
با C میتونم پکت هایی رو به یه سیستم دیگه بفرستم:لبخند:
درمورد وایرلس هم در کدوم بخش؟(چگونگی ارتباط-پروتوکلها-استاندارد پکتها-....):لبخندساده:
سپاسگزارم که راهنماییم میکنید:قلب:

amirsadeghi
دوشنبه 05 اردیبهشت 1390, 14:59 عصر
توی قسمت وایرلس فقط کافیه بتونی یه شبکه رو راه اندازی کنی. حالا بسته به امنیت و فاصله ای که نیاز داری
راجع به برنامه نویسی هم کافیه بتونی یه کاراکتر یا یه کلمه رو بفرستی و بگیری...
اینا رو اوکی کردی بگو مرحله بعدی رو بهت بگم...

m.soleimani
دوشنبه 05 اردیبهشت 1390, 15:32 عصر
مشکل اینجاست که وقتی شیئ رو پیدا کردم چطور موتورها رو به اون سمت هدایت کنم؟:متفکر::گریه:

نمی‌دونم هنوز هم باهاش مشکل داری یا نه ولی برای حرکت به سوی هر چیزی باید موتورهای سمت همون جسم بی‌حرکت بشن « یا اگر برات امکان داره چد دور به سمت عقب بچرخند » و متورهای جهت مخالف شروع به حرکت بکنن./

faramarz_fireboy
دوشنبه 05 اردیبهشت 1390, 17:56 عصر
نمی‌دونم هنوز هم باهاش مشکل داری یا نه ولی برای حرکت به سوی هر چیزی باید موتورهای سمت همون جسم بی‌حرکت بشن « یا اگر برات امکان داره چد دور به سمت عقب بچرخند » و موتورهای جهت مخالف شروع به حرکت بکنن./

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

ژوپیتر
دوشنبه 05 اردیبهشت 1390, 18:14 عصر
بستر USB بسیار پیچیده است، برای ارتباط با روبات شما باید Device Driver بنویسید که مشخصه این دفعه اوله که میخواهید با USB کار کنید.
من بهتون Ethernet رو پیشنهاد میکنم، بسیار کار باهاش راحته و برنامه نویسیش هم کمه، ماژولهاش هم تو جمهوری هست، در google کلمه Wiznet رو سرچ کنید، حتما پیدا میکنید.
با اتصال به میکرو، شما میتونید همزمان اطلاعات رو ارسال و دریافت کنید، با استفاده از وقفه هم میتونید با دقت و سرعت لازم روبات رو به حرکت در بیارید.
با Hyper terminal هم میتونید تست کنید تحت TCP/IP.

Amir Oveisi
سه شنبه 06 اردیبهشت 1390, 15:36 عصر
در مورد کار ربات، نوع ربات، ساختار مکانیکی ربات و ... توضیحاتی رو بدید تا بشه بهتر راهنمایی کرد.
توصیه می کنم به جای میکروکنترل های AVR از ARM استفاده کنید که قابلیت های بالاتر و سرعت بهتری داشته باشید. فکر نکنم برای پردازش تصویر AVR قابل قبول باشه، مگر اینکه از دوربین هایی استفاده کنید که خودشون پردازش های اولیه مثل color space changing و color filtering رو انجام بده.
برای مسئله حرکت هم ابتدا مشخص کنید موتور هاتون چی هست تا بشه نظر داد.

موفق باشید

faramarz_fireboy
سه شنبه 06 اردیبهشت 1390, 19:31 عصر
با تشکر از مدیر عزیز که به ما عنایت دارن
حق با شماست
ربات به این شکل کار میکنه:
مکانیکش هنوز تو طراحی اولیه هست.
یه دوربین Wireless که تصویر رو میفرسته به یه لبتاپی.
تو لبتاپ با opencv پردازش تصویر انجام میشه.
تصمیم میگیره چند درجه و به کدوم سمت حرکت کته.
با USB به یه مازول بیسیم دستور حرکت رو میدیم.
ماژول دستور رو به ربات میفرسته.
میکروی ربات با توجه به دستور حرکت میکنه.
فعلا تا اینجاش رو فکر کردم.

farzadsw
سه شنبه 06 اردیبهشت 1390, 21:07 عصر
با تشکر از مدیر عزیز که به ما عنایت دارن
حق با شماست
ربات به این شکل کار میکنه:
مکانیکش هنوز تو طراحی اولیه هست.
یه دوربین Wireless که تصویر رو میفرسته به یه لبتاپی.
تو لبتاپ با opencv پردازش تصویر انجام میشه.
تصمیم میگیره چند درجه و به کدوم سمت حرکت کته.
با USB به یه مازول بیسیم دستور حرکت رو میدیم.
ماژول دستور رو به ربات میفرسته.
میکروی ربات با توجه به دستور حرکت میکنه.
فعلا تا اینجاش رو فکر کردم.
خب الان دقیقا تو کدوم قسمتهاش مشکل دارید ؟ اگه تو این قسمتها مشکلی ندارید ، تقریبا میتونید با خیال راحت ساخت رو ربات رو شروع کنید .
در ضمن با این صورت پروژه شما ، نیازی به استفاده از میکروهای عجیب غریبی (مثل ARM ) ندارید چون قراره فرمان رو دریافت کنید و به موتورها فرمان بدید . یدونه مگا8 برای این کار زیاد هم هست.
همچنین برای ارسال دیتا بین میکرو و کامپیوتر ، استفاده از tcp/ip منطقی نیست (از لحاظ عملکرد و قیمت) . برد و فاصله مورد نظر شما چقدره ؟

faramarz_fireboy
چهارشنبه 07 اردیبهشت 1390, 09:31 صبح
با سلام
بسیار سپاسگزارم که این تاپیک رو مورد لطف و توجه قرار میدین
منم نمیخوام با ARM کار کنم(دوستمون گفت اگه پردازش رو ربات انجام میده باید ARM استفاده کنم)
الان روی ارتباط USB و بیسیم مشکل دارم
از نظر مالی زیاد محدودیت ندارم(یه جورایی اسپانسر مالی دارم)
فاصله زیاد مهم نیست ولی میخوام رباتم حرفه ای بشه(البته من اول راهم چیز زیادی نمیدونم-اما منبعی باشه مطالعش میکنم)

ژوپیتر
چهارشنبه 07 اردیبهشت 1390, 10:38 صبح
http://www.lirtex.com/robotics/fast-object-tracking-robot-computer-vision/

http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBoQFjAA&url=http%3A%2F%2Fwww.atmel.com%2Fdyn%2Fresources%2 Fprod_documents%2Fissue4_pg39_43_Robotics.pdf&rct=j&q=image%20processing%20robot&ei=k7e3TYeOCZHxsgbnuPHqAw&usg=AFQjCNFhGm2ztiyZx6nZJOerAf7PD8kG1w&cad=rja

faramarz_fireboy
پنج شنبه 08 اردیبهشت 1390, 09:09 صبح
http://www.lirtex.com/robotics/fast-object-tracking-robot-computer-vision/

http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBoQFjAA&url=http%3A%2F%2Fwww.atmel.com%2Fdyn%2Fresources%2 Fprod_documents%2Fissue4_pg39_43_Robotics.pdf&rct=j&q=image%20processing%20robot&ei=k7e3TYeOCZHxsgbnuPHqAw&usg=AFQjCNFhGm2ztiyZx6nZJOerAf7PD8kG1w&cad=rja

متشکرم دوست عزیز
ولی من قبلا این لینک ها رو دیدم
مشکلم اینه که چطور ارتباط بیسیم و USB رو راه بندازم

farzadsw
جمعه 09 اردیبهشت 1390, 13:47 عصر
اول باید ببینی ارتباط بیسیمت با چی میخواد باشه ؟
WIFI : این یکی رو که همه لپتاپها دارن بنابر این نیازی به ارتباط usb نیست(نهایتش یه مودم wifi به usb وصل میشه) . ولی مشکل اصلی طرف رباته ، یا باید ماژولهای wifi ای که خروجی سریال دارن (مثل همونی که دوستمون قبلا معرفی کردن) استفاده کنید ، یا از یه میکروی ARM9 به بالا استفاده کنید تا همون مودمهای usb رو بهش وصل کنید. تا اینجای کار هزینه حداقل 200 هزار تومن میشه. یه مقدار نسبتا زیادی هم باید وقت صرف کنید تا بتونید اطلاعات رو به درستی رد و بدل کنید . برد شما در بهترین حالت 100 متر خواهد بود . در محیط مسابقات احتمال اختلال در ارتباط wifi وجود داره . وزن و اندازه ربات شما هم کمی بزرگ و سنگین میشه(+ مصرف باتری) . در ضمن در شرایط مطلوب نرخ ارسال فرمانی شما حدود 300 هرتز خواهد شد. بیشتر برای محیط خونه و اداره طراحی شده و تو محیطهای پر نویز یا کاربردهای حساس استفاده نمیشه.

ماژولهای RF آماده چینی مثل HM-TR : برای ارتباط usb کافیه یه کابل usb-serial تهیه کنید فرستنده رو بهش وصل کنید و تمام . در طرف ربات هم کافیه پینهای RXD , TXD رو به میکرو کنترلر اتصال بدید (هر میکرویی) . هزینش حدود 50 هزار تومن میشه . راه اندازی ارتباط خیلی ساده و سریع هست . برد حدود 300 متر خواهد بود . امکان اختلال در محیط مسابقات (با کدهای تعریف شده نرم افزاری) کم میشه . وزرن و اندازه و مصرف باتری کم میشه. نرخ ارسال اطلاعات حدود 2000 هرتز میتونه باشه.در صورتی که ربات شما نویز زیادی ایجاد کنه (موتورهای بزرگ و نزدیک به گیرنده) ممکنه لازم بشه اطلاعات رو به جای 1 بار چند دفعه بفرستید(نرخ ارسال اطلاعات کم میشه)

zigbee : برای ارتباط سریال کافیه از مبدل های usb-serial استفاده کنید . البته اگه به صورت کیت تهیه کنید ماژول ارتباط usb با کامپیوتر هم همراش هست. طرف میکرو هم مثل HM-TR به سادگی وصل میشه . هزینش میتونه 100 الی 900 هزار تومن بشه(بسته به برد) . راه اندازیش خیلی سریع هست. بردش بسته به ماژول شما از 100 متر تا 10 کیلومتر میتونه باشه. امکان اختلال تقریبا صفر . وزن و اندازه و مصرف خیلی کم . نرخ ارسال اطلاعات حدود 1000 هرتز. این پروتکل قابلیت شبکه شدن (با توپولوژی های مختلف از جمله مش) رو داره . همچنین الگوریتم خطا یابی و اطمینان از صحت عملکرد ارسال رو داره. مخصوص همین کارها و در محیطهای پرنویز طراحی شده.

faramarz_fireboy
جمعه 09 اردیبهشت 1390, 18:30 عصر
با سلام
متشکر که پیگیر این تاپیک هستید
من یه چیزایی راجع به Xbee خوندم
با این تو ضیحاتی که فرمودین
بهتره از zigbee استفاده کنم
حالا میمونه ارتباط با C++ و کدهای میکرو
من تاحالا با این ماژولها کار نکردم و کلا ازشون چیزی نمیدونم

farzadsw
جمعه 09 اردیبهشت 1390, 21:15 عصر
xbee ، یه جور ماژول zigbee ، ساخت شرکت digi هست . ماژولهای خوبی هستن و تو تهران هم پیدا میشه.
شما باید ارتباط سریال میکرو و کامپیوتر رو یاد بگیرید ، بعدش براحتی میتونید از ماژولهای xbee استفاده کنید. چندتا تاپیک در این زمینه هست که نگاه کنید روش کار دستتون میاد . در ضمن بهتره که خود ماژولها هم دستتون باشه تا به صورت عملی روش کار رو یاد بگیرید.