خانه - راهرو
حرکت Lego ev3 در امتداد خط. در علم شروع کنید. حسگر رنگ - حالت شدت نور محیط

اینگونه است که شخص خط را می بیند:

ربات آن را اینگونه می بیند:


ما از این قابلیت در هنگام طراحی و برنامه نویسی یک ربات برای دسته مسابقه "Trajectory" استفاده خواهیم کرد.

راه های زیادی برای آموزش دیدن یک خط و حرکت در امتداد آن به ربات وجود دارد. برنامه های پیچیده و بسیار ساده وجود دارد.

من می خواهم در مورد روشی از برنامه نویسی صحبت کنم که حتی بچه های کلاس 2-3 به آن مسلط هستند. در این سن، مونتاژ سازه ها طبق دستورالعمل برای آنها بسیار راحت تر است و برنامه نویسی ربات برای آنها مناسب است. کار دشوار. اما این روش به کودک امکان می دهد ربات را در هر مسیری از مسیر در 15-30 دقیقه برنامه ریزی کند (با در نظر گرفتن تأیید مرحله ای و تنظیم برخی از ویژگی های مسیر).

این روش در مسابقات شهری و منطقه ای در رباتیک در منطقه سورگوت و Khanty-Mansi خودمختار Okrug-Yugra آزمایش شد و رتبه های اول را برای مدرسه ما به ارمغان آورد. آنجا متقاعد شدم که این موضوع برای بسیاری از تیم ها بسیار مرتبط است.

خوب، بیایید شروع کنیم.

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

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

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

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


1. دو بلوک سنسور نور.
2. چهار بلوک "ریاضیات";
3. دو بلوک موتور.

این ربات توسط دو موتور کنترل می شود. توان هر کدام 100 واحد است. برای طرح ما، مقدار متوسط ​​توان موتور را برابر با 50 در نظر می گیریم. یعنی سرعت متوسط ​​هنگام حرکت در یک خط مستقیم برابر با 50 واحد خواهد بود. هنگام انحراف از حرکت مستطیلی، توان موتورها بسته به زاویه انحراف به طور متناسب افزایش یا کاهش می یابد.

حالا بیایید بفهمیم که چگونه همه بلوک ها را به هم متصل کنیم، برنامه را راه اندازی کنیم و چه اتفاقی در آن خواهد افتاد.
بیایید دو سنسور نور را در معرض دید قرار دهیم و پورت های 2 و 3 را به آنها اختصاص دهیم.
یک بلوک از ریاضیات را می گیریم و "تفریق" را انتخاب می کنیم.
بیایید سنسورهای نور را از خروجی‌های "Intensity" با لاستیک‌ها به بلوک ریاضی به ورودی‌های "A" و "B" متصل کنیم.
اگر سنسورهای ربات به طور متقارن از مرکز خط مسیر نصب شوند، مقادیر هر دو سنسور برابر خواهد بود. پس از تفریق، مقدار - 0 را می گیریم.
بلوک بعدی ریاضیات به عنوان یک ضریب استفاده می شود و باید "ضرب" را در آن تنظیم کنید.
برای محاسبه ضریب، باید سطح "سفید" و "سیاه" را با استفاده از واحد NXT اندازه گیری کنید.
فرض کنید: سفید -70، سیاه -50.
بعد محاسبه می کنیم: 70-50=20 (تفاوت بین سفید و سیاه)، 50/20=2.5 ​​(مقدار توان متوسط ​​را هنگام حرکت در یک خط مستقیم در بلوک های ریاضی 50 قرار می دهیم. این مقدار به اضافه توان اضافه شده هنگام تنظیم حرکت باید برابر با 100 باشد)
سعی کنید مقدار را روی 2.5 در ورودی "A" تنظیم کنید و سپس آن را با دقت بیشتری انتخاب کنید.
خروجی "نتیجه" بلوک ریاضی قبلی "تفریق" را به ورودی "B" بلوک ریاضی "ضرب" وصل کنید.
بعد یک جفت می آید - یک بلوک از ریاضیات (افزودن) و موتور B.
راه اندازی بلوک ریاضی:
ورودی "A" روی 50 (نصف توان موتور) تنظیم شده است.
خروجی بلوک "نتیجه" توسط یک اتوبوس به ورودی "Power" موتور B متصل می شود.
به دنبال بخار بلوک ریاضی (تفریق) و موتور C قرار دارد.
راه اندازی بلوک ریاضی:
ورودی "A" روی 50 تنظیم شده است.
ورودی "B" توسط یک اتوبوس به خروجی "نتیجه" بلوک ریاضی "ضرب" متصل می شود.
خروجی بلوک "نتیجه" توسط یک اتوبوس به ورودی "Power" موتور C متصل می شود.

در نتیجه تمام این اقدامات، برنامه زیر را دریافت خواهید کرد:

از آنجایی که همه اینها در یک چرخه کار می کنند، "چرخه" را اضافه می کنیم، همه آن را انتخاب کرده و به "چرخه" منتقل می کنیم.

حالا بیایید سعی کنیم بفهمیم که برنامه چگونه کار می کند و چگونه آن را پیکربندی می کند.


در حالی که ربات در یک خط مستقیم حرکت می کند، مقادیر سنسورها یکسان است، به این معنی که خروجی بلوک "Subtract" 0 خواهد بود. خروجی بلوک "Multiplication" نیز مقدار 0 را می دهد. این مقدار به صورت موازی با جفت کنترل موتور تغذیه می شود. از آنجایی که مقدار 50 در این بلوک ها تنظیم شده است، جمع یا تفریق 0 بر توان موتورها تأثیری ندارد. هر دو موتور با قدرت یکسان 50 کار می کنند و ربات در یک خط مستقیم می چرخد.

فرض کنید مسیر چرخشی می کند یا ربات از یک خط مستقیم منحرف می شود. چه اتفاقی خواهد افتاد؟

شکل نشان می دهد که روشنایی سنسور متصل به پورت 2 (از این پس به عنوان سنسورهای 2 و 3 نامیده می شود) افزایش می یابد، زیرا به یک میدان سفید حرکت می کند و روشنایی سنسور 3 کاهش می یابد. فرض کنید مقادیر این سنسورها به این صورت باشد: سنسور 2 - 55 واحد و سنسور 3 - 45 واحد.
بلوک "تفریق" تفاوت بین مقادیر دو سنسور (10) را تعیین می کند و آن را به بلوک اصلاح (ضرب در یک ضریب (10 * 2.5 = 25)) و سپس به بلوک های کنترل تغذیه می کند.
موتورها
در بلوک ریاضی (افزودن) موتور B کنترل مقدار سرعت متوسط ​​50
25 اضافه می شود و مقدار توان 75 برای موتور B اعمال می شود.
در بلوک ریاضی (تفریق) موتور کنترل C، 25 از مقدار سرعت متوسط ​​50 کم می شود و مقدار توان 25 برای موتور C اعمال می شود.
بنابراین، انحراف از یک خط مستقیم اصلاح خواهد شد.

اگر مسیر به شدت به طرف بپیچد و سنسور 2 روی سفید و سنسور 3 روی مشکی باشد. مقادیر روشنایی این سنسورها عبارتند از: سنسور 2 - 70 واحد و سنسور 3 - 50 واحد.
بلوک "تفریق" تفاوت بین مقادیر دو سنسور (20) را تعیین می کند و آن را به بلوک اصلاح (20 * 2.5 = 50) و سپس به بلوک های کنترل موتور تغذیه می کند.
اکنون در بلوک ریاضیات (افزودن) کنترل کننده موتور B، مقدار توان 50 +50 = 100 به موتور B اعمال می شود.
در بلوک ریاضی (تفریق) کنترل موتور C، مقدار توان 50 - 50 = 0 به موتور C اعمال می شود.
و ربات یک چرخش شدید انجام می دهد.

در زمینه های سفید و سیاه، ربات باید در یک خط مستقیم حرکت کند. اگر این اتفاق نیفتاد، سعی کنید سنسورها را با همان مقادیر مطابقت دهید.

حالا بیایید یک بلوک جدید ایجاد کنیم و از آن برای حرکت ربات در هر مسیر استفاده کنیم.
چرخه را انتخاب کنید، سپس در منوی "Edit"، دستور "Create my block" را انتخاب کنید.

در کادر محاوره‌ای «Block Builder»، یک نام برای بلوک خود انتخاب کنید، به عنوان مثال «Go»، یک نماد برای بلوک انتخاب کنید و روی «DONE» کلیک کنید.

حالا ما یک بلوک داریم که در مواردی که نیاز به حرکت در طول خط داریم می توان از آن استفاده کرد.

یکی از حرکات اساسی در لگوسازی پیروی از خط مشکی است.

نظریه عمومی و نمونه های عینیایجاد برنامه در سایت wroboto.ru توضیح داده شده است

من توضیح خواهم داد که چگونه این را در محیط EV3 پیاده سازی می کنیم، زیرا تفاوت هایی وجود دارد.

اولین چیزی که ربات باید بداند ارزش "نقطه ایده آل" است که در مرز سیاه و سفید قرار دارد.

محل نقطه قرمز در شکل فقط با این موقعیت مطابقت دارد.

گزینه محاسبه ایده آل اندازه گیری مقدار سیاه و سفید و گرفتن میانگین حسابی است.

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

بنابراین می توانید یک ربات را مجبور به انجام این کار کنید.

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

مقدار محاسبه شده باید روی یک متغیر نوشته شود تا بعداً به آن دسترسی داشته باشید.

محاسبه "نقطه ایده آل"

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

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

برای راحتی، این پارامترها را می توان روی متغیرها نیز نوشت.

نسبت فرمان و قدرت پایه

منطق حرکت در امتداد خط سیاه به شرح زیر است: انحراف از نقطه ایده آل اندازه گیری می شود. هر چه بزرگتر باشد، ربات باید برای بازگشت به آن تلاش کند.

برای انجام این کار، ما دو عدد را محاسبه می کنیم - مقدار توان هر یک از موتورهای B و C به طور جداگانه.

در فرمول به صورت زیر است:

جایی که Isens مقدار خوانش سنسور نور است.

در نهایت، پیاده سازی در EV3. راحت ترین آن است که در قالب یک بلوک جداگانه صادر شود.

پیاده سازی الگوریتم

این الگوریتمی است که در ربات برای رده متوسط ​​WRO 2015 پیاده سازی شده است



برای اینکه ربات به آرامی در امتداد خط سیاه حرکت کند، باید آن را وادار کنید که سرعت حرکت را خودش محاسبه کند.

انسان خط سیاه و مرز واضح آن را می بیند. سنسور نور کمی متفاوت عمل می کند.

این ویژگی سنسور نور - عدم توانایی در تشخیص واضح مرز سفید و سیاه - است که برای محاسبه سرعت حرکت از آن استفاده خواهیم کرد.

ابتدا مفهوم "نقطه ایده آل مسیر" را معرفی می کنیم.

خوانش سنسور نور از 20 تا 80 است، اغلب در سفید، قرائت ها حدود 65، در سیاه، حدود 40 است.

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

در اینجا، مکان نقطه اساسی است - بین سفید و سیاه. تنظیم آن دقیقاً روی سفید یا سیاه به دلایل ریاضی امکان پذیر نخواهد بود - بعداً مشخص خواهد شد.

از نظر تجربی، ما محاسبه کرده ایم که نقطه ایده آل را می توان با استفاده از فرمول زیر محاسبه کرد:

ربات باید به شدت در امتداد نقطه ایده آل حرکت کند. اگر انحراف در هر دو جهت رخ دهد، ربات باید به آن نقطه بازگردد.

بسازیم توصیف ریاضی مسئله

اطلاعات اولیه.

نقطه عالی

قرائت های فعلی سنسور نور.

نتیجه.

قدرت موتور B.

قدرت چرخش موتور C.

راه حل.

بیایید دو موقعیت را در نظر بگیریم. اول: ربات از خط سیاه به سمت سفید منحرف شد.

در این حالت ربات باید قدرت چرخش موتور B را افزایش و قدرت موتور C را کاهش دهد.

در شرایطی که ربات وارد خط سیاه می شود، برعکس است.

هر چه ربات بیشتر از نقطه ایده آل منحرف شود، سریعتر باید به آن برگردد.

اما ایجاد چنین تنظیم کننده ای کار نسبتاً دشواری است و همیشه به طور کامل مورد نیاز نیست.

بنابراین، ما تصمیم گرفتیم خود را به یک تنظیم کننده P محدود کنیم که به اندازه کافی به انحراف از خط سیاه پاسخ می دهد.

در زبان ریاضیات به صورت زیر نوشته می شود:

که در آن Hb و Hc به ترتیب مجموع توان موتورهای B و C هستند،

Hbase - قدرت پایه خاصی از موتورها، که سرعت ربات را تعیین می کند. بسته به طراحی ربات و وضوح پیچ ها به صورت آزمایشی انتخاب می شود.

Itech - خوانش های فعلی سنسور نور.

I id - نقطه ایده آل را محاسبه کردم.

k ضریب تناسب است که به صورت تجربی انتخاب شده است.

در قسمت سوم به نحوه برنامه نویسی در محیط NXT-G می پردازیم.

الگوریتم های کنترل ربات LEGO موبایل. ردیابی خط با دو سنسور نور

معلم آموزش تکمیلی

کازاکوا لیوبوف الکساندرونا


حرکت خط

  • دو سنسور نور
  • کنترلر متناسب (کنترل کننده P)

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

  • هر دو موتور با یک قدرت می چرخند
  • اگر سنسور نور سمت راست به خط سیاه برخورد کند، قدرت موتور سمت چپ (به عنوان مثال B) کاهش می یابد یا متوقف می شود.
  • اگر سنسور نور سمت چپ به خط سیاه برخورد کند، قدرت موتور دیگر (مثلاً C) کاهش می یابد (به خط برمی گردد)، کاهش می یابد یا متوقف می شود.
  • اگر هر دو سنسور روی سفید یا سیاه باشند، یک حرکت مستقیم وجود دارد

حرکت با تغییر قدرت یکی از موتورها سازماندهی می شود


نمونه ای از برنامه حرکت در امتداد خط سیاه بدون کنترلر P

حرکت با تغییر زاویه چرخش سازماندهی می شود


  • کنترلر تناسبی (P-controller) به شما این امکان را می دهد که رفتار ربات را بسته به میزان تفاوت رفتار آن با رفتار مورد نظر تنظیم کنید.
  • هر چه ربات بیشتر از هدف منحرف شود، نیروی بیشتری برای بازگشت به آن مورد نیاز است.

  • کنترلر P برای نگه داشتن ربات در یک حالت خاص استفاده می شود:
  • موقعیت دستکاری کننده را نگه دارید حرکت در امتداد یک خط (حسگر نور) حرکت در امتداد دیوار (حسگر فاصله)
  • نگه داشتن موقعیت دستکاری کننده
  • حرکت خط (حسگر نور)
  • حرکت در امتداد دیوار (حسگر فاصله)

ردیابی خط با یک سنسور

  • هدف حرکت در امتداد مرز "سفید-سیاه" است
  • فرد می تواند مرز سفید و سیاه را تشخیص دهد. ربات نمی تواند.
  • هدف ربات روی رنگ خاکستری است

گذرگاه ها

هنگام استفاده از دو سنسور نور، می توان ترافیک را در مسیرهای دشوارتر سازماندهی کرد



الگوریتم رانندگی در امتداد بزرگراه با تقاطع

  • هر دو سنسور روی سفید - ربات در یک خط مستقیم حرکت می کند (هر دو موتور با یک قدرت می چرخند)
  • اگر سنسور نور سمت راست به خط سیاه برخورد کند و سنسور سمت چپ روی خط سفید، آنگاه به سمت راست می‌چرخد
  • اگر سنسور نور سمت چپ به خط سیاه و سنسور سمت راست به خط سفید برخورد کند، سپس به سمت چپ می‌چرخد
  • اگر هر دو سنسور روی مشکی باشند، یک حرکت مستقیم رخ می دهد. می توانید تقاطع ها را بشمارید یا نوعی عمل انجام دهید


اصل عملکرد رگولاتور P

موقعیت سنسورها

O=O1-O2


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

SW \u003d K * (C-T)

  • C - مقادیر هدف (از سنسور نور در سفید و سیاه خوانش بگیرید، میانگین را محاسبه کنید)
  • T - مقدار فعلی - دریافت شده از سنسور
  • K ضریب حساسیت است. هر چه بیشتر باشد، حساسیت بالاتر است.


15.01.2012, 18:51

تا به حال، در مقاله‌هایی درباره الگوریتم‌هایی که هنگام حرکت در امتداد یک خط استفاده می‌شد، چنین روشی در نظر گرفته می‌شد که حسگر نور، همانطور که بود، از مرز چپ یا راست خود پیروی می‌کرد: به محض اینکه ربات به قسمت سفید میدان حرکت کرد، کنترلر ربات را به مرز برگرداند، حسگر شروع به حرکت به عمق خطوط سیاه کرد - تنظیم کننده آن را به عقب صاف کرد.
علیرغم اینکه تصویر بالا مربوط به یک کنترلر رله است، اصل کلی حرکت یک تناسبی (P-regulator) یکسان خواهد بود. همانطور که قبلاً ذکر شد ، میانگین سرعت چنین حرکتی خیلی زیاد نیست و چندین تلاش برای افزایش آن با کمی پیچیده کردن الگوریتم انجام شد: در یک مورد از ترمز "نرم" استفاده شد ، در مورد دیگر علاوه بر پیچ ها ، از جلو نیز استفاده شد. جنبش معرفی شد.
برای اینکه ربات بتواند در برخی از مناطق به جلو حرکت کند، یک بخش باریک در محدوده مقادیر تولید شده توسط حسگر نور اختصاص داده شد که به طور مشروط می توان آن را "حسگر در مرز خط است" نامید.
این رویکرد یک اشکال کوچک دارد - اگر ربات از مرز سمت چپ خط پیروی کند، به نظر نمی رسد در چرخش سمت راست فوراً انحنای مسیر را تعیین کند و در نتیجه زمان بیشتری را صرف جستجوی خط می کند. و چرخش علاوه بر این، به جرات می توان گفت که هر چه پیچ تندتر باشد، این جستجو بیشتر طول می کشد.
شکل زیر نشان می دهد که اگر سنسور نه در سمت چپ مرز، بلکه در سمت راست قرار داشت، آنگاه قبلاً انحنای مسیر را تشخیص داده و شروع به مانورهای چرخشی می کند.

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

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

نمودار بالا بلافاصله نشان می دهد که دقیقاً چگونه رفتار موتورها باید در برنامه تغییر کند.حالا نوشتن برنامه نباید مشکل باشد.باید با انتخاب سنسوری که ابتدا نظرسنجی می شود شروع کنید. واقعاً مهم نیست، پس بگذارید رها شود. تعیین اینکه آیا روی سطح روشن است یا تاریک لازم است:
این عمل هنوز به شما اجازه نمی دهد که بگویید ربات باید به کدام سمت برود. اما حالت های ذکر شده در بالا را به دو گروه تقسیم می کند: (I, II) برای شاخه بالایی و (III, IV) برای شاخه پایین. اکنون هر یک از گروه ها دارای دو حالت هستند، بنابراین باید یکی از آنها را انتخاب کنید. اگر به دو حالت اول I و II دقت کنید، آنها در موقعیت سنسور سمت راست متفاوت هستند - در یک مورد بالای یک سطح روشن است، در دیگری - بالای سطح تاریک. این چیزی است که انتخاب اقدامی را که باید انجام شود تعیین می کند:
اکنون می توانید بلوک هایی را وارد کنید که رفتار موتورها را مطابق جداول بالا تعریف می کنند: شاخه بالایی وضعیت تو در تو ترکیب "هر دو سنسور در نور" را تعریف می کند ، قسمت بالایی - "چپ در روشنایی ، سمت راست در تاریکی":
شاخه پایینی شرایط اصلی مسئول گروه دیگری از حالات III و IV است. این دو حالت همچنین در سطح روشنایی که سنسور مناسب دریافت می کند با یکدیگر متفاوت هستند. بنابراین انتخاب هر یک از آنها را تعیین می کند:
دو شاخه حاصل با بلوک های حرکتی پر می شود. شاخه بالا مسئول حالت "چپ در تاریکی، راست در روشن" و شاخه پایین مسئول "هر دو سنسور در تاریکی" است.
لازم به ذکر است که این طرحاین فقط نحوه روشن کردن موتورها را بسته به قرائت سنسورها در یک مکان مشخص در میدان مشخص می کند، طبیعتاً پس از یک لحظه برنامه باید بررسی کند که آیا قرائت ها تغییر کرده است تا رفتار موتورها را مطابق با آن اصلاح کند و بعد از آن یک لحظه دوباره، دوباره و غیره بنابراین، باید در حلقه ای قرار گیرد که این بررسی مکرر را ارائه دهد:

خیلی خوشگله برنامه سادهدر صورت پیکربندی مناسب، سرعت حرکت نسبتاً بالایی را برای ربات در امتداد خط بدون خروج از آن فراهم می کند حداکثر سرعتهنگام حرکت در حالات I و IV و همچنین تنظیم بهترین راهترمز در حالت های II و III - هرچه پیچ ها در مسیر تندتر باشد، ترمز باید "سخت تر" باشد - سرعت باید سریعتر کاهش یابد و بالعکس - با پیچ های نرم ترمزگیری از طریق خاموش کردن انرژی کاملاً امکان پذیر است. یا حتی از طریق کاهش جزئی سرعت.

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



 


خواندن:



هزینه تخمینی - چیست؟

هزینه تخمینی - چیست؟

مقدمه ساخت شرکت ها، ساختمان ها، سازه ها و سایر تأسیسات بر اساس پروژه ها انجام می شود. پروژه ساختمانی مجموعه ای از گرافیک،...

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

در مجموع، در روسیه تا فوریه 2018، تقریباً 40 هزار دارنده سهام کلاهبرداری شده وجود دارد که در 836 سرمایه گذاری کرده اند.

کتاب مرجع دارویی geotar L ترئونین دستورالعمل استفاده

کتاب مرجع دارویی geotar L ترئونین دستورالعمل استفاده

L-TREONINE FEEDER نام (lat.) درجه خوراک L-threonine ترکیب و شکل انتشار این پودر کریستالی سفید رنگ حاوی...

مزایا و اهمیت هیدروآمینو اسید ترئونین برای بدن انسان دستورالعمل استفاده از ترئونین

مزایا و اهمیت هیدروآمینو اسید ترئونین برای بدن انسان دستورالعمل استفاده از ترئونین

او قوانین خود را دیکته می کند. مردم به طور فزاینده ای به اصلاح رژیم غذایی و البته ورزش متوسل می شوند که قابل درک است. از این گذشته ، در شرایط بزرگ ...

تصویر خوراک RSS