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

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

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


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

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

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

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

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

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

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

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

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


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

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

حالا بیایید نحوه اتصال همه بلوک ها، پیکربندی برنامه و آنچه در آن اتفاق می افتد را دریابیم.
بیایید دو سنسور نور راه اندازی کنیم و پورت های 2 و 3 را به آنها اختصاص دهیم.
بلوک ریاضی را بردارید و "Subtraction" را انتخاب کنید.
بیایید سنسورهای نور را از خروجی‌های «شدت» از طریق اتوبوس‌ها به بلوک ریاضیات به ورودی‌های «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 متصل می شود.

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

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

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


در حالی که ربات در یک خط مستقیم حرکت می کند، مقادیر سنسور منطبق هستند، به این معنی که خروجی بلوک "تفریق" 0 خواهد بود. خروجی بلوک "ضرب" نیز مقدار 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 Designer»، به بلوک خود یک نام بدهید، به عنوان مثال، «Go»، نمادی را برای بلوک انتخاب کنید و روی «DONE» کلیک کنید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نسبت چرخش و توان پایه

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

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

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

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

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

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

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



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

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

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

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

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

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

در اینجا مکان نقطه اساسی است - بین سفید و سیاه. به دلایل ریاضی دقیقاً نمی توان آن را روی سفید یا سیاه تنظیم کرد.

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

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

بیایید آهنگسازی کنیم توصیف ریاضی مسئله

داده های اولیه

نقطه ایده آل

خوانش سنسور نور فعلی

نتیجه.

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

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

راه حل.

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

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

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

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

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

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

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

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

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

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

Iid - نقطه ایده آل محاسبه شده.

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

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

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

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

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


حرکت در طول خط

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

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

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

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


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

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


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

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

حرکت خط با یک سنسور

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

رانندگی از طریق تقاطع ها

هنگام استفاده از دو حسگر نور، امکان سازماندهی حرکت در مسیرهای پیچیده تر وجود دارد



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

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


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

موقعیت سنسور

O=O1-O2


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

HC = K*(C-T)

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


15.01.2012, 18:51

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

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

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

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

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

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



 


بخوانید:



حسابداری تسویه حساب با بودجه

حسابداری تسویه حساب با بودجه

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

کیک پنیر از پنیر در یک ماهیتابه - دستور العمل های کلاسیک برای کیک پنیر کرکی کیک پنیر از 500 گرم پنیر دلمه

کیک پنیر از پنیر در یک ماهیتابه - دستور العمل های کلاسیک برای کیک پنیر کرکی کیک پنیر از 500 گرم پنیر دلمه

مواد لازم: (4 وعده) 500 گرم. پنیر دلمه 1/2 پیمانه آرد 1 تخم مرغ 3 قاشق غذاخوری. ل شکر 50 گرم کشمش (اختیاری) کمی نمک جوش شیرین...

سالاد مروارید سیاه با آلو سالاد مروارید سیاه با آلو

سالاد

روز بخیر برای همه کسانی که برای تنوع در رژیم غذایی روزانه خود تلاش می کنند. اگر از غذاهای یکنواخت خسته شده اید و می خواهید لذت ببرید...

دستور العمل لچو با رب گوجه فرنگی

دستور العمل لچو با رب گوجه فرنگی

لچوی بسیار خوشمزه با رب گوجه فرنگی مانند لچوی بلغاری که برای زمستان تهیه می شود. اینگونه است که ما 1 کیسه فلفل را در خانواده خود پردازش می کنیم (و می خوریم!). و من چه کسی ...

فید-تصویر RSS