Виклик паркінгу! (Додаткове завдання)
Тепер, коли ми навчилися слідувати лініям за допомогою пропорційного контролера, спробуємо застосувати ці знання в більш складному сценарії: паркінгу!
Мета
Основна мета нашого робота — успішно знайти вільне місце та припаркуватися на ньому.
Для досягнення цієї мети ми можемо розбити проблему на 2 менші етапи:
Знайти вільне місце для паркування
Правильно паркуйтеся на порожньому паркувальному місці
Пошук вільного місця для паркування
Основний процес, який ми будемо використовувати тут, є простим:
Проїдьте довжину паркувального місця
Поверніть на 90 градусів праворуч і перевірте, чи є вільне місце для паркування.
Якщо паркувальне місце не вільне, поверніть на 180 градусів вліво і перевірте, чи вільне паркувальне місце зліва.
Якщо обидва паркувальні місця не відкриті, поверніть назад на пряму, використовуючи лінію, що слідує за understanding_the_sensor.
Щоб перевірити, чи є вільне місце для паркування, ми можемо скористатися ультразвуковим далекоміром і перевірити, чи є на місці для паркування якісь предмети.
Використання датчиків слідування лінії
У цій вправі ми можемо використовувати датчики слідування лінії для трьох основних цілей:
Слідувати лінії на землі до наступного місця для паркування
Для виявлення «кінця» паркувального місця
Повернути назад на пряму після перевірки лівого паркувального місця
Щодо дотримання лінії, ми можемо використовувати той самий пропорційний контролер, який використовували в попередніх завданнях.
Щодо виявлення кінця паркувального місця, ми можемо використовувати ту саму логіку, яку використовували для виявлення перехрестя.
Нарешті, щоб повернути назад у пряме положення, ми можемо повернути XRP за годинниковою стрілкою, поки лівий лінійний датчик не виявить лінію.
Розбивши цю складну задачу на низку невеликих кроків, ми можемо легко запрограмувати наш XRP на самостійне паркування!