مسیریابی محلی به کمک بینایی محلی

طاها حک

کاربر فعال مهندسی IT ,
کاربر ممتاز
سلام.
امیدوارم سوالمو تو جای مناسبی پرسیده باشم.
بهترین الگوریتم برای مسیریابی محلی به کمک تصاویر دریافتی از دوربین های تعبیه شده بر روی ربات چی هست؟
یکی از شناخته شده ترین الگوریتم ها visBug هست ولی کارایی جالبی نداره. به جز این الگوریتم چه الگوریتم جدید و کاراتری میشناسید؟

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

**************************************

یک سایت یا فروم انگلیسی و قوی سراغ دارید که بشه سوالات مربوط به رباتیک رو در اونجا پرسید؟

با تشکر.
 

ROBOTICS

کاربر فعال مهندسی رباتیک
اگر مشکل سرعت پردازش و حافظه ندارید ==> D* + نقشه

دی استار + نقشه
 

طاها حک

کاربر فعال مهندسی IT ,
کاربر ممتاز
اگر مشکل سرعت پردازش و حافظه ندارید ==> D* + نقشه

دی استار + نقشه
خیلی ممنون.
مشکل سرعت و حافظه با D* lite حل میشه ولی فکر می کنم روشی که شما می فرمایید زمانی مناسب هست که محیط پویا و گسسته باشه. چون در واقع D* مدل پویای A* هست. که اون هم مناسب محیط های گسسته است.
ایجاد نقشه هم عموماً در محیطهای گسسته و با پردازش متمرکز نه محلی معنی دار هست. در محیطهای پیوسته معمولاً از میدان پتانسیل استفاده میشه که میدان پتانسیل محلی هم مشکل گیرکردن توی بهینه محلی رو داره!
 

ROBOTICS

کاربر فعال مهندسی رباتیک
به عنوان یک رباتیکی به شما می گویم: با علم وتکنولوژی امروزه ، چیزی به نام پیوسته در عمل (ربات واقعی) وجود ندارد

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

من نگفتم نقشه کامل بگذارید.

هر مقدار که رفت به نقشه اضافه می شود.

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

شما گفتین بهتزین الگوریتم ها ، اما پتانسیل جز بد ترین الگوریتم ها است.

============

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

طاها حک

کاربر فعال مهندسی IT ,
کاربر ممتاز
به عنوان یک رباتیکی به شما می گویم: با علم وتکنولوژی امروزه ، چیزی به نام پیوسته در عمل (ربات واقعی) وجود ندارد

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

من نگفتم نقشه کامل بگذارید.

هر مقدار که رفت به نقشه اضافه می شود.

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

شما گفتین بهتزین الگوریتم ها ، اما پتانسیل جز بد ترین الگوریتم ها است.

============

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

=============================================

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

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

============================================
قصد بحث کردن ندارم، فقط علت این که مثلاً تا الان سعی نکردم از این روش ها استفاده کنم رو می گم.
کارایی نقشه زمانی هست که ما قصد داشته باشیم یک وظیفه رو در محیط تکرار کنیم اما اگر کار فقط یک بار انجام شده و تمام شود، نقشه زیاد معنی دار نیست و سربار زیادی دارد. مثلاً در پایان نامه من روبات ها چسم را به مقصد می برند و تمام می شود، اگر دوباره وظیفه دیگری به آن ها تخصیص می یافت، نقشه مفید بود.
در مورد D*، معمولاً زمانی از D* در مسیریابی استفاده می شود که مسیریابی اولیه در زمان حرکت ربات به دلیل تغییر موقعیت اشیای داخل محیط قابل وصول نباشد و نیاز به برنامه ریزی دوباره باشد. در D* مشابه A* باید گره بعدی تعریف شود، در مسیریابی محیط را گسسته کرده و مثلاً می گویند گره بعدی می تواند یکی از این موارد باشد: 10 سانتی متر به سمت بالا، پایین، چپ یا راست.
حال اگر میزان گسسته سازی بسیار زیاد باشد(در حد 2-3 سانتی متر) که سربار الگوریتم بسیار زیاد می شود و همان طور که گفتید
مشکل سرعت پردازش و حافظه
به وجود می آید، اگر گسسته سازی هم در ابعاد بزرگتر صورت گیرد، دقت مساله بسیار کاهش پیدا می کند.
 

ROBOTICS

کاربر فعال مهندسی رباتیک
جدا از الگوریتم مسیریابی محلی:

۱- یا نقشه محیط دارید ==> مشکل حافظه

۲- یا نقشه مسیر دارید ==> مشکل غیر بهینه بودن در زمین های معمولی و شلوغ ؛ مانند روش های باگ

۳- یا نقشه ندارید ==> مشکل غیر بهینه بودن در زمین های شلوغ + همزمان با مشکل ماکروسکوپیک + و شاید مشکل کمینه محلی (بستگی به روش)

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

هر کس خربزه می خورد باید پای لرزش هم بشیند

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

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

انتخاب یکی از سه دسته بالا و پذیرش تمامی مشکلات ، پیامد ها ، محدوردیت ها و ... آن ، یک باید است.
 

طاها حک

کاربر فعال مهندسی IT ,
کاربر ممتاز
جدا از الگوریتم مسیریابی محلی:

۱- یا نقشه محیط دارید ==> مشکل حافظه

۲- یا نقشه مسیر دارید ==> مشکل غیر بهینه بودن در زمین های معمولی و شلوغ ؛ مانند روش های باگ

۳- یا نقشه ندارید ==> مشکل غیر بهینه بودن در زمین های شلوغ + همزمان با مشکل ماکروسکوپیک + و شاید مشکل کمینه محلی (بستگی به روش)

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

هر کس خربزه می خورد باید پای لرزش هم بشیند

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

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

انتخاب یکی از سه دسته بالا و پذیرش تمامی مشکلات ، پیامد ها ، محدوردیت ها و ... آن ، یک باید است.
ممنون از راهنمایی هاتون.
دقیقاً باید یک تریدآف بین چندمورد داشته باشم.
با تشکر - موفق باشید.
 
بالا