اطلاعیه

Collapse
No announcement yet.

ساخت ربات شست و شو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ساخت ربات شست و شو

    با سلام خدمت تمامی اساتید

    بنده در حال ساخت رباتی هستم که بتونه محیط رو بشوره به این صورت که با استفاده از یک غلتک و پمپ آب و طی کردن مسیر این کار رو انجام بده

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

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

    ابتدا به میزان طول ربات به جلو میره بعد 180 درجه دور میزنه و دوباره به میزان راه جلو رفته برمیگرده و عمل شست و شو رو انجام میده سپس 90 درجه میچرخه
    اینبار به اندازه عرض ربات به جلو میره و کار ابتدایی (یعنی همون طول و 180 واینا..) رو با این تفاوت که مقدار دوبرابر شده انجام میده (روش مارپیچ)

    اگر دوستان لطف کنن بنده رو هم در ضمینه این الگوریتم یا الگوریتم ساده و بهتر دیگه ای که به ذهنشون میرسه راهنمایی کنن

    لطفا فقط مشاهده کننده نباشید یه نظری بدید ممنون

    #2
    پاسخ : ساخت ربات شست و شو

    نوشته اصلی توسط fmohsen
    با سلام خدمت تمامی اساتید

    بنده در حال ساخت رباتی هستم که بتونه محیط رو بشوره به این صورت که با استفاده از یک غلتک و پمپ آب و طی کردن مسیر این کار رو انجام بده

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

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

    ابتدا به میزان طول ربات به جلو میره بعد 180 درجه دور میزنه و دوباره به میزان راه جلو رفته برمیگرده و عمل شست و شو رو انجام میده سپس 90 درجه میچرخه
    اینبار به اندازه عرض ربات به جلو میره و کار ابتدایی (یعنی همون طول و 180 واینا..) رو با این تفاوت که مقدار دوبرابر شده انجام میده (روش مارپیچ)

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

    موفق باشید
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : ساخت ربات شست و شو

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

      دیدگاه


        #4
        پاسخ : ساخت ربات شست و شو

        نوشته اصلی توسط fmohsen
        میشه یکم بازش کنید میخوام بدون الگو شما چطوری هست
        انکودر میدونی چیه ؟؟
        یه سرچی بزنی بد نیست ... توی گوگل بزن (shaft encoder)
        انکودر نصب میشه روی چرخها و زمانی که ربات حرکت میکنه یکسری پالسها رو تولید میکنه ...
        با این پالسها میتوانید موقعیت ربات رو تشخیص بدید ... یعنی کجای منطقه هست ...
        مختصات هم باید یه جوری بهش بدید تا ربات بفهمه کجاها را باید شستشو بده ...

        بیشتر از این هم نمیتونم راهنمایی کنم ...
        چون باید توی عمل امتحان کنید ...
        پروژه خیلی سختیه هااااا...
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #5
          پاسخ : ساخت ربات شست و شو

          بله که میدونم چیه همین الان هم رو ربات سوار هست میخواستم روش شما رو بدونم


          روش بنده :

          با شمارش پالس توسط تایمر کانتر حرکت ربات کنترل میشه

          به طور مثال:

          90 درجه 69 پالس

          عرض 65

          طول 60
          یعنی اگر ربات 40 سانتی متر طول داشته باشه این مقدار طول رو که طی کنه اینکودر 60 پالس میندازه

          اینقدر هم که دیگه ما رو دست کم نگیر دوست عزیز

          دیدگاه


            #6
            پاسخ : ساخت ربات شست و شو

            نوشته اصلی توسط fmohsen
            بله که میدونم چیه همین الان هم رو ربات سوار هست میخواستم روش شما رو بدونم


            روش بنده :

            با شمارش پالس توسط تایمر کانتر حرکت ربات کنترل میشه

            به طور مثال:

            90 درجه 69 پالس

            عرض 65

            طول 60
            یعنی اگر ربات 40 سانتی متر طول داشته باشه این مقدار طول رو که طی کنه اینکودر 60 پالس میندازه

            اینقدر هم که دیگه ما رو دست کم نگیر دوست عزیز
            بله
            تقریبا
            باید روی عمل امتحان کنید ...
            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
            معرفی نرم افزار Codewizard PWM
            با من بیشتر آشنا شوید

            دیدگاه


              #7
              پاسخ : ساخت ربات شست و شو

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

              حالا شما اگه روشی بلدی یا به ذهنت میرسه لطف کن بگو ممنون

              دیدگاه


                #8
                پاسخ : ساخت ربات شست و شو

                نوشته اصلی توسط fmohsen
                هدف اصلی من از زدن این تایپیک اینه که الگوریتم های دیگه رو هم باهاش آشنا بشم و امتحان کن

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

                لطفا فقط مشاهده کننده نباشید یه نظری بدید ممنون
                با این حرفتون موافقم ...
                دوستان نظر بدید ...
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  #9
                  پاسخ : ساخت ربات شست و شو

                  آقا این الگوریتم خعلی پیچیدس چرا
                  عاشقان را سر شوریده به پیکر عجب است

                  دیدگاه


                    #10
                    پاسخ : ساخت ربات شست و شو

                    با میکرو های AVR فکر نکنم بشه ...
                    میکروی مگا128 با 4 کیلو بایت رم و مگای 2560 با 8 کیلو بایت رم
                    به این دلیل که باید روی رم یه قسمت بزرگی مثل عکس ایجاد کنید تا اون قسمتهایی که شسته شده را معلوم کنه ...
                    شما از این طریق میتوانید که این کار را انجام دهید ...
                    مثلا هر پیکسل هم را به اندازه 100 سانتی متر مربع رو که بخواین بگیرید و یک سالن 20 در 20 متر فرض کنید میشه چقدر ؟؟
                    2000*2000=4000000 سانتی متر مربع
                    4000000/100=40000 پیکسل
                    40000/8=5000 بایت
                    5000/1024~= 4.9 کیلوبایت
                    شما دست کم 5 کیلو بایت فقط رم میخواین برای عکس ...
                    حالا این دقتش خیلی پایین هست ...
                    هر چه قدر هر پیکسل را کوچکتر بگیرید کیفیت بهتر است ...
                    برای جلوگیری از این کار شما باید هر پیکسلی را که میخواهید پاک کنید با دقت بالاتری این کار را بکنید ...
                    بعدش برای هر پیکسلی که مطمئن شوید پاک شده باید یه مقدار دور اون رو بیشتر تمیز کنید تا به طور کامل از پاک شدن اون مطمئن شوید ...

                    پیروز باشید
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : ساخت ربات شست و شو

                      این مسئله یکی از مباحث بزرگ در ناوبری ربات های سیار (ربات هایی که کل آن می تواند جا به جا شود) هست.در اینجا 2 تا مساله وجود داره.یکی موقعیت یابی ربات و دیگری الگوریتم حرکت ربات برای کاری که می خواهد انجام دهد. اصلا بهتره بگم مشکل اصلی موقعیت یابی ربات هست و من میخام فقط درباره این صحبت کنم.
                      ربات چجوری میخاد بفهمه که هر لحظه موقعیتش کجاست(Localization)؟؟؟
                      2 راه وجود داره:
                      1- با دادن نقشه محیط به ربات و سپس اعمال روش های احتمالاتی ... :read: :angry: :cry: :cry: :cry:
                      2- بدون داشتن نقشه: که ما بیشتر با این حالت سرو کار داریم.
                      فرض کنید در لحظه شروع ربات هیچ اطلاعاتی و درکی از اطرافشنداره(نقشه نداره) و ما هم دوست داریم که ربات بدونه هر لحظه کجاست...
                      برای این کار می توان از سنسورای مختلف استفاده کرد که البته هر کدومشون یک مشکل دارند: انکودر- imu- اوپتیکال فلو - دوربین -لیزر اسکنر و...
                      1- انکودر: شما میتونید انکودر رو موتور ها بزارید و مقادیرشو بدید به روابط سینماتیک مستقیم ربات(روابت بین سرعت موتور ها و موقعیت ربات) که خروجی اونا در واقع موقعیت ربات هست.به این کار میگن اودومتری(یعنی فهمیدن موقعیت ربات از روی انکودر ها).
                      مشکل ها:اگر ربات سر بخوره یا مثلا با دست اونو تکون بدید این ادومتری شما دیگه به هم میریزه -- حل کردن معادلات ادومتری خودشون حاوی خطا هستند(خطای جمع شونده ناشی از انتگرال گیری) -- برای روشن تر شدن قضیه بسرچید odometry
                      2-imu : این سنسور در واقع از ترکیب 3 سنسور شتابسنج-زیروسکوپ و کامپس تشکیل شده که در نهایت خروجیش زاویه 3 محور نسبت به زمینه که میتونه خیلی دقیق باشه.اما از خود شتاب سنج هم میشه سرعت و موقعیت خطی رو استخراج کرد( با 2 بار انتگرال گرفتن از شتاب خطی) که البته خیلی داغون میشه و مشکل دریفت یا خطای جمع شونده داره.پس روی این داده ی شتابسنجم نمیشه اعتواد کرد(منظورم گرفتن حرکت خطی از اونه)
                      3- OPTICAL FLOW: یه سنسوره که خروجیش سرعت خطی در صفحه است. که الان تو اغلب موس ها هم استفاده میشه.
                      مشکل: خودتون برید بسرچید بی زحمت :rolleyes:
                      و اما یه مبحثی هست به نام sensor fusion یعنی تلفیق داده های چند سنسور برای گرفتن داده مناسبتر از انها.
                      یکی از الگوریتم های سنسور فیوژن kalman filter هست.که مثلا در imu ها از این الگوریتم استفاده میشه.
                      اما برای حل مسئله مکانیابی ربات واقعا اگه کسی بتونه موقعیت رباتو(ربات های سیار) با چنتا سنسوری که گفتم و هر الگوریتمی که دوست داره بدست بیاره واقعا نابغه است!!!
                      ----------------------
                      یه راه تقریبا بدون مشکل ولی با پر هزینه وجود داره:
                      4-استفاده از دوربین و یا لیزر اسکنر: میشه از دوربین و یا لیزر اسکنر برای موقعیت یابی ربات استفاده کرد .مثلا دوربینو روی ربات بذاری و از اون بفهمی که ربات کجاست.که واقعا کار مشکل اما شدنیه و نیاز به یک پردازنده قوی داره و حجم مجاسباتش خیلی زیاده.اسم این کار SLAM می باشد
                      (مکانیابی و تولید نقشه همزمان توسط دوربین یا لیزر اسکنر ).که به پردازش تصویر و روش های حل احتمالاتی نیاز داره
                      که خودم دارم روش کار می کنم
                      -------------------------
                      do your best please !

                      دیدگاه


                        #12
                        پاسخ : ساخت ربات شست و شو

                        خیلی بحث تخصصی جالبی کردید واقعا ممنون به اطلاعات اضافه شد

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

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

                        ربات به میزان طول خودش به جلو حرکت میکنه بعد 90 درجه می چرخه به میزان عرض خودش پیش میره و دوباره 90 درجه میچرخه و باز به اندازه طول برمیگرده
                        و اگر این مقدار ها رو ضربدر 2 کنیم می تونه محیط رو به صورت مارپیچ بشوره
                        نظر دوستان رو دوست دارم بدونم

                        دیدگاه


                          #13
                          پاسخ : ساخت ربات شست و شو

                          خواهش میکنم دوست عزیز
                          مشکل اینجاست که این 90 درجه هایی که میخاید بچرخید هیچ وقت دقیق 90 درجه نمیشه.مثلا یه بار میشه 89 درجه و یبار 92. بدین ترتیب بعد از مثلا 8 چرخش 90 درجه ای خواهید دید که راستای ربات مثلا 10 درجه از مقداری که باید باشه اختلاف(خطا) داره.به این خطا میگن خطای جمع شونده ،چون مثلا حاصل جمع خطاهای 8 چرخش هست،که هر کدوم 2،3 درجه خطا داشته.
                          این خطا با گذشت زمان بیشتر میشه.مثلا بعد از 20 چرخش 90 درجه ایتون،خواهید دید که ربات کاملا منحرف شده.
                          این کار شما همون ادومتریه. که مشکلشو قبلا هم عرض کردم.
                          یه راه حل :برای تصحیح زاویه ربات میتونید از فیلتر کالمن (تلفیق سنسور قطبنما و زاویه ادومتری) استفاده کنید. با این کار شما هر لحظه زاویه رباتو دارین و واسه ی چرخش به اندازه دلخواه هم میتونید یه pid روی این زاویه بزنید.
                          باز اگه سوالی بود در خدمتیم

                          do your best please !

                          دیدگاه


                            #14
                            پاسخ : ساخت ربات شست و شو

                            لطفا در مورد این فیلتر کالمن بیشتر توضیح بدید و اینکه آیا یه ماژول آماده اس یا اینکه یه مدار که باید ساخته بشه


                            بازهم ممنون

                            دیدگاه


                              #15
                              پاسخ : ساخت ربات شست و شو

                              فیلتر کالمن یه الگوریتمه (چنتا فورمول).فیلتر کالمن میاد داده 2 تا سنسور که هر دو دارای خطا هستند رو تلفیق میکنه و داده تصحیح شده(که بهتر از اون دوتاست) رو میده. فیلتر کالمن علاوه بر داده 2 سنسور به واریانس اون هم نیاز داره.مثلا سنسور شتابسنج داده دقیقی میده ولی نویزیه و برای بدست آوردن واریانس اون باید شتابسنجو ساکن بذارید(طوری که بدونید سنسور باید چه عددی بهتون بده) و مثلا 50 تا دیتا از اون بگیرید و بعد واریناس خطا های اونا رو حساب کنید.
                              این کلیتش بود.
                              do your best please !

                              دیدگاه

                              لطفا صبر کنید...
                              X