اطلاعیه

Collapse
No announcement yet.

استفاده ازالگوریتم PID و بافر در ربات مسیریاب

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

    استفاده ازالگوریتم PID و بافر در ربات مسیریاب

    سلام بر دوستان
    2 تا سوال داشتم :
    چطوری از بافر درجهت حذف نور محیط و فیلتر سازی نور محیط استفاده میشه؟
    - مدتی پیش ربات مسیریابی رو دیدم که به گفته طراحش از بافر برای فیلتر نور محیط استفاده کرده بود -
    2- کسی هست بتونه الگوریتم PID رو واسه یک ربات مسیریاب توضیح بده ؟ ممنون میشم ...

    تشکر ویژه
    اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

    #2
    پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

    سلام
    اول اینکه تا جایی که من دیدم استفاده از بافر جهت حذف نویز نیست و صرفا واسه تشخیص سیاه از سفیده ، البته میتونه تا حدودی هم حذف نویز داشته باشه که این حد از حذف نویز با تمامی مدارهای معادل هم حاصل میشه .
    دومین مورد این که الگوریتم PID الگوریتم خیلی خوبیه ، حتی اگه از PI تنها هم استفاده کنی بازم خوبه ولی نه در سطح مسابقات داخلی ایران چون المانهای مسیر تو ایران طوری نیستن که بشه به راحتی از این الگوریتم استفاده کرد ، معمولا در مسابقات ROBO RACING این سبک روباتو میشه دید که المان های مسیر ساده هستن و سرعت حرف اولو میزنه .
    زاویه ی نگاهتو عوض کن . . .

    دیدگاه


      #3
      پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

      ممنون از پاسختون
      درمورد بافر توضیح میدین؟
      و ی چیز دیگه الگوریتم PID مگه نباید با انواع زمین ها سازگار باشه ؟ آخه من ی تیم میشناسم مسافبقات داخلی رو مرتب اول میشه به خاطر استفاده از PID
      ولی من شخصا علاقه به یادگیری و اجرای PID در این مورد دارم و درمورد تنظیم خودکار ضرایب PID هم توضیحی بدین و الگوریتمشو مورد بحث قرار بدین ممنون میشم


      تشکر ویژه
      ممنون
      اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

      دیدگاه


        #4
        پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

        آره مهندس بیا و این pid رو برای ربات به ما شیرفهم کن
        هر جا میریم میگن ربات ما pid داره
        مردیم از بس گفتیم آره چیز خوبیه :mrgreen:

        دیدگاه


          #5
          پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

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

          میتونین اینو مطالعه کینین اگه چیزی نفهمیدین کمکتون
          میکنم !

          http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html

          خودم الن دارم 1 ربات 24 سنسوره می سازم کلی رو eror های PID و ضرایبش کار کردم
          الانم دارم روز به روز بهترش می کنم (هنوز اون چیزی نیس که من میخوام)

          این مقاله کامل توضیخ داده عوض مطالعه زیاد بشینین با عددا بازی کنین جواب بهتری میگیرین !!!
          اسمم را پدرم انتخواب کرد !
          نام خوانوادگي ام را يکي از اجدادم !
          ديگه بسه راهم را خودم انتخواب خواهم کرد !
          اينم لينک من :
          http://www.eca.ir/forum2/index.php?topic=1721.msg585767#msg585767

          دیدگاه


            #6
            پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

            در کل PID مفهمومش چیز سختی نیست. بر خلاف دوستان که می گن با مسیرای ایران همخونی نداره و مال مسیرای سادس, با عرض احترام باید عرض کنم که هیچ ربطی به این موضوع نداره, همون کارایی که توی روشای معمولی انجام می دادیم اینجا هم همون کارو انجام می دیم با این تفاوت که نوع محاسبه خطای رباتمون بهینه تر شده.
            ممکنه دوستان به روش های مختلف پیاده سازی کنن ولی روش من اینه.

            ما ابتدا باید خطا رو مشخص کنیم. برای راحتی فرض کنید یک ربات 8 سنسوره داریم, خطا به معنای انحراف از ایده آلمونه که اینجا ایده آل ما اینه که خط وسط برد سنسور باشه یعنی سنسورامون به این شکل باشن 00011000 (1 به معنای زمینه ی سیاه و 0 به معنای زمینه ی سفید), در این حالت خطامون صفره (ممکنه حالت های دیگه ای هم داشته باشیم که خطامون صفر باشه).
            اما بریم سراغ خطای غیرصفر. دو خالت بیشتر نداریم, یا ربات سمت چپ خط قرار گرفته و برای اینکه به خالت ایده آل برسه باید به سمت راست بچرخه, توی این حالت فرض کنین خطامون مثبت هستش مثلا این آرایش سنسور 00000110, ویا اینکه ربات سمت راست خط هستو باید به سمت چپ بچرخه تا به ایده آلمون برسیم توی این حالت هم خطا رو منفی فرض می کنیم به عنوان مثال 01100000.
            تو حالت کنترل معمولی ممکن بود با وجود زاویه بین خط و ربات سنسورامون 00011000 باشنو خطامون صفر بشه, در حالی که می دونیم به دلیل کج بودن ربات صفر نیست. ولی توی PID ربات می تونه کج بودنش رو با توجه به حالت های قبلیش تشخیص بده.
            الآن برای حالت های مختلف ما میایمو خطاهای گوناگون رو تعریف می کنیم. در اصل هرچی میزان انحراف ربات از حالت وسط بیشتر باشه, میزان خطاش هم بیشتره. کاری که توی حالت معمولی انجام می دادیم این بود که میومدیم با توجه به این خطای لحظه ای ربات رو هدایت می کردیم, اما تفاوت عمده ی PID با روش معمولی اینه که علاوه بر خطای لحظه ای, انتگرال اون و مشتقش (عبرت گرفتن از خطای گذشته و پیش بینی خطای آینده) استفاده می کنیم.
            اگر هنوز این تاپیک رو دنبال می کنین بگین تا توضیح بیشتری در مورد محاسبه و فرمولاش بدم, در غیر اینصورت زیاد دیگه خودمو خسته نکنم. :redface:
            اي پادشه خوبان داد از غم تنهايي

            دل بي تو به جان آمد وقت است که باز آيي

            دیدگاه


              #7
              پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

              نوشته اصلی توسط The Savior
              در کل PID مفهمومش چیز سختی نیست. بر خلاف دوستان که می گن با مسیرای ایران همخونی نداره و مال مسیرای سادس, با عرض احترام باید عرض کنم که هیچ ربطی به این موضوع نداره, همون کارایی که توی روشای معمولی انجام می دادیم اینجا هم همون کارو انجام می دیم با این تفاوت که نوع محاسبه خطای رباتمون بهینه تر شده.
              ممکنه دوستان به روش های مختلف پیاده سازی کنن ولی روش من اینه.

              ما ابتدا باید خطا رو مشخص کنیم. برای راحتی فرض کنید یک ربات 8 سنسوره داریم, خطا به معنای انحراف از ایده آلمونه که اینجا ایده آل ما اینه که خط وسط برد سنسور باشه یعنی سنسورامون به این شکل باشن 00011000 (1 به معنای زمینه ی سیاه و 0 به معنای زمینه ی سفید), در این حالت خطامون صفره (ممکنه حالت های دیگه ای هم داشته باشیم که خطامون صفر باشه).
              اما بریم سراغ خطای غیرصفر. دو خالت بیشتر نداریم, یا ربات سمت چپ خط قرار گرفته و برای اینکه به خالت ایده آل برسه باید به سمت راست بچرخه, توی این حالت فرض کنین خطامون مثبت هستش مثلا این آرایش سنسور 00000110, ویا اینکه ربات سمت راست خط هستو باید به سمت چپ بچرخه تا به ایده آلمون برسیم توی این حالت هم خطا رو منفی فرض می کنیم به عنوان مثال 01100000.
              تو حالت کنترل معمولی ممکن بود با وجود زاویه بین خط و ربات سنسورامون 00011000 باشنو خطامون صفر بشه, در حالی که می دونیم به دلیل کج بودن ربات صفر نیست. ولی توی PID ربات می تونه کج بودنش رو با توجه به حالت های قبلیش تشخیص بده.
              الآن برای حالت های مختلف ما میایمو خطاهای گوناگون رو تعریف می کنیم. در اصل هرچی میزان انحراف ربات از حالت وسط بیشتر باشه, میزان خطاش هم بیشتره. کاری که توی حالت معمولی انجام می دادیم این بود که میومدیم با توجه به این خطای لحظه ای ربات رو هدایت می کردیم, اما تفاوت عمده ی PID با روش معمولی اینه که علاوه بر خطای لحظه ای, انتگرال اون و مشتقش (عبرت گرفتن از خطای گذشته و پیش بینی خطای آینده) استفاده می کنیم.
              اگر هنوز این تاپیک رو دنبال می کنین بگین تا توضیح بیشتری در مورد محاسبه و فرمولاش بدم, در غیر اینصورت زیاد دیگه خودمو خسته نکنم. :redface:
              سلام

              ممنون میشم اگر فرمول هاش و یک نمونه از برنامه رو در اختیار قرار بدید چون به نظر با این روش هم تعداد سنسور کم میشه و هم سرعت زیاد

              دیدگاه


                #8
                پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                اجازه بدین یه مقدار پایه ای تر توضیح بدم بعد برم سراغ فرمول

                PID یعنی Proportional-Integral-Derivative یا کنترلر تناسبی, انتگرالی و مشتق گیر. بر این اساس می تونیم 4 نوع کنترلر داشته باشیم. یعنی P, PI, PD , PID. نوع P همون نوع رایجیه که استفاده می شه. یعنی کنترلر تناسبی. بدین صورت که خطا رو بصورت مرتب اندازه گیری می کنیم (منظور از خطا محل قرار گیری سنسورهاست), بعد بر اساس همون خطا به موتورهای ربات دستور حرکت می دیم. اما در نوع های دیگه ما بخش انتگرالی, مشتقی و یا هر دو رو داریم.

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


                P=E مقدار تناسبی:
                (E: خطایی که همین الآن اندازه گرفتیم). مقدار تناسی در واقع همون مقدار خطامونه.

                D=E-Eo مشتق خطا:
                (Eo:خطایی که دفعه ی پیش اندازه گرفتیم). اگه خطایی که دفعه ی پیش اندازه گرفتیم رو از از خطایی که این بار اندازه گرفتیم کم کنیم, می شه مقداری مشتی مون. (به همین راحتی )

                I=I+E انتگرال خطا:
                اگه خطا هایی که هر دفعه اندازه گرفتیمو با هم جمع کنیم می شه مقدار انتگرالی. (ابتدا به ساکن مقدار انتگرالی صفر است).


                حالا ببینیم اینا به چه درد می خورن:

                مقدار تناسبی: نشان دهنده ی خطای فعلی

                مقدار مشتقی: پیش بینی کننده ی خطای آینده (طبق مفهوم مشتق که شیب تابع است و شیب به ما نشون می ده که تابع داره به چه سمتی حرکت می کنه به خاطر همین داره آینده رو پیش بینی می کنه)

                مقدار انتگرالی: عبرت گرفتن از آنچه که قبلا به سرمون اومده (با انتگرال گیری یا همون جمع کردن, خطاهای گذشته رو هم که مسلما بی تاثیر نیستن در محاسباتمون تاثیر می دیم)


                تفاوت برنامه نویسی ربات تعقیب به روش معمولی و PID اینه که توی برنامه نویسی معمولی چند تا else if داشتیم که توی هر کدوم از اونها چند تا شرط می ذاشتیم و می گفتیم اگر که مقدار سنسورها برای مثال اینجوری بود 00000001 موتور سمت چپ با تمام سرعت برو جلو و موتور سمت راست برو عقب که این نهایت خطامون به سمت چپ بود. یعنی تو روش معمولی هر جا که خطا رو تشخیص دادیم فورا دستور صادر می کردیم.
                اما تو روش PID میایم همین else if هارو می ذاریم, با این تفاوت که دیگه همون جا دستور صادر نمی کنیم, بلکه فقط یک متغیری رو تحت عنوان خطا مثلا "E" مقدار دهی می کنیم. بعد با توجه به فرمولای بالا و فرمولایی که بعدا می گم یک مقدار PID به دست می آوریم و با توجه به اون مقدار جدید دستور صادر می کنیم.

                نکته ای که باید تو این کاربرد خاص از PID باید مد نظر قرار بدیم اینه که چون سرعت میکرو بالاست, مقدار خطاهایی که توی واحد زمان بدست میاریم خیلی زیاده! ازین رو ممکنه تا ربات بیاد 1 سانتی متر حرکت کنه بیشتر از 50 بار یا حتی خیلی بیشتر ازون (بستگی به الگوریتم داره) خطا اندازهگیری بشه و جمع اینا خیلی زیاد می شه و ربات هی اینورو اون ور می ره و گیج می شه. :angry: :angry: :angry: :angry: :angry: دو تا راه حل وجود داره. یکی اینکه از خیز انتگرالی بگذریم یعنی بشه PD یا اینکه ضریبشو کم کنیم که راه حل اول توصیه می شه (در مورد ضریب توضیح داده خواهد شد)

                امیدوارم تا اینجا مطلب خسته کننده نشده باشه, چون می خوام به موضوع عمیقا پرداخته بشه برا همین به ذهنم رسید که این توضیحات پایه خالی از لطف نیست
                توی پست بعدی به محاسبات اصلی می پردازم. :job:
                اي پادشه خوبان داد از غم تنهايي

                دل بي تو به جان آمد وقت است که باز آيي

                دیدگاه


                  #9
                  پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                  اما بعد ازین صحبتا بریم سراغ محاسبات:

                  گفته شد که چند تا if else پشت سر هم داریم که تو اونا مقدار خطا رو اندازه می گیریم. الآن فرض کنید مقدار خطا یا E را اندازه گرفتیم. همچنین توی مرحله قبلی بعد از انجام محاسبات مقدار Eo=E قرار داده ایم تا الآن بتونیم از Eo به عنوان خطای قبلی استفاده کنیم. مقدار PID که بر اساس اون قراره به ربات دستور حرکت بدیم, از جمع سه تا مقدار تناسبی, انتگرالی و مشتقی بدست می آوریم. اما چون می دونیم هر کدوم تاثیر خاصی روی ربات می زارن و تاثیر هر کدوم هم با توجه به ابعاد ربات, تعداد سنسور, سرعت موتور و ... کاملا متفاوته, پس هر کدوم رو با یک ضریبی توی معادله قرار می دهیم.

                  کد:
                  PID=Kp*P + Ki*I + Kd*D;
                  همون طور که توی قسمت قبلی اشاره شد, بهتره بخش انتگرال گیر رو نداشته باشیم یا اگرم باشه حتما ضریب اون نسبت به بقیه باید خیلی خیلی کمتر باشه (مثلا 100 یا 500 برابر کمتر).
                  اینکه مقدار ضرایب چقدر باشه, همونطور که توضیح داده شد کاملا وابسته به فیزیک ربات هست و چیز ثابتی نیست. همچین متناسب با حداکثر خطا می باشد. برای مثال فرض کنید برای حداکثر انحراف به راست خطای 20 و حداکثر انحراف به سمت چپ مقدار خطای -20 را داشته باشیم. حال اگر از PWM با دقت 10 بیت استفاده کنیم که خداکثر مقدار آن 1023 می شود, در صورتی موتورهایمان فقط به سمت جلو حرکت کنند, حد اکثر میزان PID نباید از 1023 بیشتر باشد و اگر هم بخواهیم حالتی داشته باشیم که موتور ها به سمت عقب هم حرکت کنند تا حداکثر میزان چرخش را داشته باشیم, حداکثر مقدار PID نباید از 2046 بیشتر باشد (این موضوع در مورد حداقل مقدار آن یعنی -1023 و -2046 هم برقرار است).
                  پس باید ضرایب را طوری انتخاب کنیم که مقدار PID از این حدود خیلی بیشتر نباشد و در آخر هم روتینی قرار دهیم که اگر مقدار PID از این حدود تجاوز کرد آن را برابر نقطه ی مرزی قرار دهد. مثلا اگر مقدار PID 2137 بدست آمد, ان را تبدیل به 2046 بکند. یا در حالتی که -2238 بود, آن را به -2046 تبدیل بکند.
                  این موضوع در مورد بخش انتگرالی هم وجود دارد که بهتر است برای جلوگیری از overflow شدن افزایش بیش از حد مقدار آن, روتینی قرار دهیم که اگر مقدار انتگرالی از حد خاصی تجاوز کرد, مقدار آن را برابر با مقدار مرزی مشخصی مثلا 500 و-500 قرار دهد.

                  حال مقدار PID را داریم. می خواهیم ببینیم که این مقدارو چیکارش باید بکنیم, قابش بگیریم بذاریم تو تاقچه یا بذاریم دم کوزه آبشو بخوریم؟ :cry2:
                  اگر مقدار PID مثبت بود به معنای انحراف ربات به سمت راست, و اگر مقدار آن منفی بود به معنای انحراف ربات به سمت چپ می باشد. در حالت اول ربات باید به سمت چپ بچرخد تا انحراف را جبران کند و در حالت دوم برعکس. برای چرخش به راست باشد موتور سمت چپ با حداکثر سرعت به سمت جلو حرکت کند و موتور سمت راست یا با سرعتی کمتر از حداکثر سرعت به سمت حلو حرکت کند, بایستد و یا به سمت عقب حرکت کند. برای چرخش به سمت چپ نیز حالت های موتور های سمت چپ و راست برعکس می شود.

                  فرض کنید تابعی برای درایو کردن ربات تعریف کرده ایم که یک آرگومان ورودی دارد, که مربوط به خطای نهایی یا همون مقدار PID است.

                  کد:
                  drive(PID);
                  اگر PID مثبت بود یعنی ربات انحراف به راست دارد و ربات باید به سمت چپ بچرخد, پس در این حالت باید pwm مربوط به موتور سمت راست را برابر با حداکثر مقدار آن یعنی 1023 قرار دهیم و pwm مربوط به موتور سمت چپ را برابر با مقدار 1023 منهای مقدار PID قرار دهیم. اگر هم مقدار PID بیشتر از 1023 باشد, باید جهت چرخش موتور را عوض کرده و این بار مقدار PID را منهای مقدار 1023 کرده و به pwm موتور اعمال می کنیم. حالت منفی نیز مشابه همین است با این تفاوت که دستورات مربوزط به موتور سمت راست و چپ تغییر پیدا کرده و در هنگام محاسبات مقدار PID به -1 ضرب می شود. می توانید نمنه کدی را مربوط به اعمال مقادیر pwm را در زیر مشاهده کنید. (دقت بفرمایید که دستور مربوط به تعویض جهت چرخش موتور اینجا آورده نشده است, چرا که نیازمند تعریف چپارامترهای دیگری هست که در صورت نیاز می توان در پست های دیگری به آن پرداخت):

                  کد:
                  if (PID>= && PID<=1023)
                       left_pwm=1023-PID, right_pwm=1023;
                  
                  else if (PID>1023)
                       left_pwm=PID-1023, right_pwm=1023;
                  
                  else if (PID<0 && PID>=-1023)
                       left_pwm=1023, right_pwm=1023+PID;
                  
                  else if (PID<1023)
                       left_pwm=1023, right_pwm=-1023-PID;
                  اگر در هر یک از بخش ها ابهامی وجود داشته باشه من در خدمتم. :job: :job: :job: :job: :job:
                  اي پادشه خوبان داد از غم تنهايي

                  دل بي تو به جان آمد وقت است که باز آيي

                  دیدگاه


                    #10
                    پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                    سلام
                    واقعا که خوب مفهوم و ... رسوندین فقط اگه میشه برای تعوض جهت چرخش هم نمونه کد بزارین خیلی خوب میشه.
                    راستی kp و kd رو که باید بدست بیاریم در چه رنجی قرار دارن معمولا ؟؟ :job:

                    دیدگاه


                      #11
                      پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                      نوشته اصلی توسط hassan.pwutcom
                      سلام
                      واقعا که خوب مفهوم و ... رسوندین فقط اگه میشه برای تعوض جهت چرخش هم نمونه کد بزارین خیلی خوب میشه.
                      راستی kp و kd رو که باید بدست بیاریم در چه رنجی قرار دارن معمولا ؟؟ :job:
                      در مورد تغییر حهت هم توضیح داده شده. در مواردی که مقدار متغیر PID از 1023 بیشتر باشه یا از -1023 کمتر باشه مربوط به تغییر حهت می شه که توی قسمت آخر پاسخ قبلی هم تو قسمت کدی که گذاشتم این موضوع رو اعمال کردم. منتهی اونجا فقط حصئ رو مقدار دهی کردم که فقط سرعت رو نه جهت رو. برای تغییر حهت هم کافیه که توی درایور پایه های in مربوط به هر موتوری که می خواین حهتش رو تغییر بدین رو مقادیرشون رو عوض کنین. به این شکل : می دونیم که برای کنترل هر موتور عموما به 3 پایه نیاز داریم که یکیش pwm هست و دوتای دیگه مربوط به جهت می شن که اسمسون مثلن in1 و in2 هستش. اگر فرض کنیم که برای حالت حرکت به سمت جلو in1=0 و in2=1, برای حرکت به سمت عقب یا همون تغییر حهت کافیه که اینکارو انجام بدیم in1=1 و in2=0.

                      در مورد مقادیر k همون طور که گفتم مقادیرش بسته به میزان خطایی که برای هر حالت سنسورها اعمال می کنیم و همچنین رزولوشن pwm که چند بیتی باشه بستگی داره. اما اگه بخوام یه مثال بزنم, توی یه رباتی که من چند وقت پیش درست کردم بودم ضرایبم به این شکل بودن kp=150, kd=600, ki=1. که اینجا حداکثر خطای من اگر اشتباه نکرده باشم 21 و -21 بود از pwm 10 بیتی استفاده کرده بودم که در نتیجه حداکثر مقدار PID 2046 می شد. اما حتما به دو نکته توجه کنین که مقدار ضرایب کاملا وابسته به سخت افزار ربات و نرم افزاریه که براش می نویسین, و اینکه مقدار kd معمولا تاثیرش کمه یا حتی می شه گفت خیلی کمه, چون سرعت تصمیم گیری میکرو نسبت به سرعت تغییر مکان مکانیکی ربات خیلی خیلی کمتره.
                      اي پادشه خوبان داد از غم تنهايي

                      دل بي تو به جان آمد وقت است که باز آيي

                      دیدگاه


                        #12
                        پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

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

                        دیدگاه


                          #13
                          پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                          درسته که خیلی که نه عملا همه ی شرکت کننده های درجه یک در لیگ مسیریاب از PID هم به عنوان یکی از الگوریتم های رباتشون استفاده میکنن ولی به شخصه به عنوان یک طراح مسیر همیشه مسیری رو طراحی کردم که مجبوریشون کردم از چیزی غیر از PID استفاده کنن :biggrin:
                          زاویه ی نگاهتو عوض کن . . .

                          دیدگاه


                            #14
                            پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                            نوشته اصلی توسط Babak Shadkanlu
                            درسته که خیلی که نه عملا همه ی شرکت کننده های درجه یک در لیگ مسیریاب از PID هم به عنوان یکی از الگوریتم های رباتشون استفاده میکنن ولی به شخصه به عنوان یک طراح مسیر همیشه مسیری رو طراحی کردم که مجبوریشون کردم از چیزی غیر از PID استفاده کنن :biggrin:
                            شما چی پیشنهاد می کنید؟

                            دیدگاه


                              #15
                              پاسخ : استفاده ازالگوریتم PID و بافر در ربات مسیریاب

                              نوشته اصلی توسط Babak Shadkanlu
                              درسته که خیلی که نه عملا همه ی شرکت کننده های درجه یک در لیگ مسیریاب از PID هم به عنوان یکی از الگوریتم های رباتشون استفاده میکنن ولی به شخصه به عنوان یک طراح مسیر همیشه مسیری رو طراحی کردم که مجبوریشون کردم از چیزی غیر از PID استفاده کنن :biggrin:
                              میشه چند نمونه از این مسیرا ( پیست ها ) رو قرار بدین ببینیم چ طوریه ؟؟

                              دیدگاه

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