Контроль поведінки: Вступ

Тепер, коли робот має інформацію про своє оточення (завдяки датчикам), давайте розглянемо, як ми можемо використовувати цю інформацію для керування поведінкою нашого робота..

Відкритий контур регулювання

Перш ніж включити інформацію з датчиків, давайте розглянемо простий контролер з відкритим контуром.

Це означає, що ми будемо давати роботу команду виконати певну дію, не перевіряючи, чи він її дійсно виконав.

Наприклад, духовка є контролером з відкритим контуром. Якщо ви встановите час приготування на 30 хвилин, духовка буде готувати протягом 30 хвилин незалежно від того, чи їжа вже готова.

Це корисний контролер для простіших процесів, таких як духовки, які не потребують адаптації до навколишнього середовища. Однак для більш складних процесів, таких як автономні автомобілі, ми хотіли б включити інформацію з датчиків, щоб переконатися, що автомобіль дійсно робить те, що ми від нього очікуємо.

Закритий контур управління

Закритий контур управління — це коли ми використовуємо інформацію з датчиків для управління поведінкою нашого робота.

Наприклад, безпілотний автомобіль є контролером із замкнутим контуром. Він використовує інформацію від датчиків, щоб визначити, чи знаходиться він на правильній смузі руху, чи не занадто близько до інших автомобілів тощо, і відповідно коригує свою поведінку.

У цьому уроці ми будемо використовувати замкнутий контур управління для контролю поведінки нашого робота, а саме, ми розглянемо дискретне управління.

Примітка щодо програмування на Python: Умовні оператори

Умовний оператор — це оператор у коді, за якого програма виконує певний блок коду лише за умови виконання певної умови.

У контексті контролерів увімкнення-вимкнення оператори «if» є важливим типом умовних операторів і показані в цьому прикладі:

if True:
        print("Hello World!")
../../_images/if_true.png

Вищезазначена інструкція if виведе на екран «Hello World!», оскільки її умова є істинною.

if False:
        print("Hello World!")
../../_images/if_false.png

Вищезазначена інструкція if не виведе на екран «Hello World!», оскільки її умова завжди є хибною.

int i = 3
if i < 5:
        print("Hello World!")
../../_images/condition.png

Вищезазначена умова if виведе на екран «Hello World!», оскільки змінна «i» менше 5, що задовольняє умову.

У простіших контролерах для визначення нашого «закону управління» можна використовувати оператори if. Закон управління — це набір правил, що визначають, як повинен поводитися наш робот.

Управління вмиканням-вимиканням

Регулювання типу «включено-виключено» — це простий контролер із замкнутим контуром, який використовує двійковий сигнал (включено або виключено) для керування процесом.

Наприклад, термостат є контролером увімкнення-вимкнення. Якщо температура нижча за задану, термостат вмикає нагрівач. Якщо температура вища за задану, термостат вимикає нагрівач.

У цьому уроці ми будемо використовувати управління вмиканням-вимиканням для контролю поведінки нашого робота. Зокрема, ми будемо використовувати контролер вмикання-вимикання, щоб «відсторонити» нашого робота від об’єкта.