Сінченг – це не метрополіс, розташований на рівнині, а величезне гірське місто. Марку та Рексу доведеться пройти через різні круті гори щоб дістатися до МАР. Їм зустрінуться сотні крутих схилів і небезпечних поворотів на шляху і навіть досвідченому гонщику потрібно бути обережним впродовж усієї подорожі.
Хаха, але це так саме просто як і водіння по шосе для Марка. Дозволь мені розповісти тобі секрет: Марк не керує власноруч…
Цілі навчання
Якщо ми хочемо щоб двоколісний пристрій зберігав рівновагу, нам потрібно додати високоточні датчики та реалізувати на машині складний алгоритм. Але коли ми додамо до неї ще одне колесо, вона зможе стояти вертикально без проблем.
Ми введемо поняття про точки, лінії та площини по ходу збірки триколісного робота. Потім ми подивимося на те, як цей робот працює і навчимося віддалено писати для нього програми.
Теоретичні знання
Як ми всі знаємо, щоб змусити об’єкт тримати рівновагу, потрібно щоб лінія, яку проведено з центру мас, не виходила за нижню грань (див. главу 3). Але якщо об’єкт тримається на підлозі лише на одній або двох точках, йому буде дуже важко втримати рівновагу без додавання системи контролю. Ось чому після додавання третього колеса роботу стає набагато легше втримати рівновагу.
В першому (точка) і другому (лінія) випадках площина опору тіла нульова, а в третьому вона больше нуля і рівна половині добутку висоти на основу.
Тож коли об’єкт має площу, він може триматися на підлозі. Чим більша площа основи, тим більша стабільінсть конструкції.
Підготовка до збірки
Побудова триколісного гоночного робота Raptor з конструктора mBot Ranger
Задачі для навчання
Задача 1 – Оновіть ПЗ, підключіть робота до комп’ютера за допомогою Bluetooth
Підготовте триколісного робота: під’єднайте плату Me Auriga до комп’ютера через USB кабель та натисніть “Оновити ПЗ” (якщо не пам’ятаєте як це зробити, поверніться до глави 2).
Перед механічним відключенням плати від комп’ютера, ми повинні відключити її програмно через mBlock задля того щоб уникнути інформаційних прорахунків та інших помилок.
[restrict]Перейдіть у вкладку “З’єднання” -> “Порт” -> “COM x” щоб від’єднати Ranger через mBlock. Як показано на малюнку нижче:
Приготуйтеся до з’єднання Ranger через Bluetooth: натисніть “Bluetooth” -> “Відкрити”
“Відкрити”” width=”501″ height=”320″ style=”height: auto; max-width: 100%; display: block; margin-left: auto; margin-right: auto;” />
Не забудьте ввімкнути Bluetooth на вашому комп’ютері, тоді система видасть вам повідомлення “Пошук Bluetooth”:
Після пошуку Bluetooth-пристроїв у списк з’явиться MAC адреса Makeblock Bluetooth. Натисніть на неї щоб ініціювати з’єднання.
Ви побачите маленьке віконце у якому написано “З’єднання Bluetooth”:
Та вікно у якому буде показаний пароль для пристроїв (що не були підключені до цього комп’ютера раніше):
Оберіть “Так” і побачите спливаюче вікно, у якому буде написано “Bluetooth з’єднано”:
Натисніть “Закрити” щоб його закрити. На верхній панелі mBlock ви побачите надпис “Bluetooth з’єднано” і колір кнопки зміниться на зелений, як показано на малюнку нижче:
Вітаємо, Ranger був успішно з’єднаний з mBlock! Тепер ми можемо управляти роботом через Bluetooth, не використовуючи USB кабелі.
Задача 2 – Накажіть роботу рухатися вперед
Поставте Ranger на підлогу і почніть дистанційно їм керувати. Ми будемо використовувати блок “рухатися вперед на швидкості 0” в розділі “Роботи“.
Швидкість робота = 0 | ||
Функція: управління переміщенням Ranger [Вперед]: Установка напрямку руху. Значення за замовчуванням (рухатися вперед), але ви можете змінити його, натиснувши на перевернутий трикутник та обравши необхідний напрямок (рухатися назад), (повернути наліво), (повернути направо). (Швидкість): Встановлює швидкість роботи мотору. Значення за замовчуванням [0], що означає що колеса робота не будуть обертатися. Ви можете встановить будь яке значення від -255 до 255, при значенні “255” мотор буде крутитись вперед з максимальною швидкістю . Від’ємне значення означає що мотор буде обертатися в іншу сторону. |
Завантажте в робота таку програму і подивіться чи зупиниться Ranger через 1 секунду.
Що буде якщо блоку, що встановлює швидкість робота рівню нулю в кінці програми не буде (як на малюнку нижче)?
Примітка: Червона кнопка, що знаходиться у правій верхній частині області зупинить усі дії робота, якщо її натиснути.
Ми знаємо що мотор не зупиниться автоматично після завершення програми, отже щоб це зробити нам необхідно використовувати команду.
Завдання
Завдання 1 – 5 хвилин дистанційного управління роботом
Для реалізації програм можуть виткористовуватись блоки в розділі “Події”. Ми вже показували вам як використовувати блок
в попередніх розділах. Звичайно, існують також інші блоки подій, які підходять для різних умов.
Коли натиснута клавіша ” “ | ||
Натисніть кнопку ” ” для запуску програми. Примітка: Якщо програма не запускається при натискання обраної клавіші, перевірте мову введення тексту, вона повинна бути англійською. Ви маєте можливість обирати клавішу з списку, який ви можете відкрити, натиснувши на перевернутий трикутник. |
При натисканні кнопок зі стрілочками (вверх, вниз, ліворуч, праворуч) робот буде рухатися у відповідні сторони. Нижче приведені функції цих кнопок:
Клавіша | Рух робота |
---|---|
вверх | Ranger рухається прямо |
вниз | Ranger рухається назад |
наліво | Ranger рухається ліворуч |
направо | Ranger рухається праворуч |
пробіл | Ranger не рухається |
Ми розробили ось таку програму:
Цей приклад не включає в себе блок що дозволяє вам побачити що існує багато способів реалізації програм.
У цій програмі ви можете натиснути пробіл або червоний кружок у верхній правій частині щоб зупинити робота:
Завдання 2 – Поліпшення дистанційного керування Ranger
У попередньому завданні Ranger продовжував рухатися навіть після відпускання кнопки “вверх”. Швидкість мотору була встановлена на 100, отже щоб встановити її на 0 нам потрібно було натиснути на Пробіл.
Але чи існує інший спосіб управління роботом? Звичайно: ми можемо використати блок
Коли клавіша не натиснута | ||
Функція: визначає коли певна клавіша не натиснута. Коли ця умова виконується, починає виконувати блоки-команди, приєднані до цього блока. |
Додайте блок “коли…не натиснута” до вашої програми. Коли ми відпустимо кнопку, швидкість моторів прийме значення 0, а отже Ranger зупиниться.
Спробуйте і переконайтеся що ваш робот діє саме так як встановлено цією програмою. Дуже зручно використовувати такий спосіб управління Ranger.
Завдання для кмітливих
Завдання 1 – Використовуйте різні кнопки для управління роботом
Спробуйте використовувати різні кнопки щоб задавати роботу різну швидкість ходу. Наприклад:
- Коли натиснута кнопка “a”, Ranger повільно повертає ліворуч.
- Додайте управління світлодіодами. Коли натиснута кнопка “b“, усі світлодіоди на Me Auriga стануть червоними.
Спробуйте розробити програму власноруч і заповніть таблицю нижче відповідно до зразка:
Клавіша | Рух робота |
---|---|
a | Ranger повертає ліворуч |
b | |
Підказка:
Завдання 2 – Використайте більше клавіш для керування роботом
Використайте більше клавіш та скомбінуйте серії блоків щоб змусити робота танцювати. Наприклад, коли ви натиснете “c” Ranger виконає таку послідовність дій:
Швидко рухається вперед → чекає 1 секунду → повільно рухається назад → чекає 2 секунди → швидко повертає ліворуч → чекає 3 секунди → зупиняється
Будь ласка, заповніть таблицю нижче
Рух робота | Відповідний блок програми в mBlock |
---|---|
швидко рухається вперед | Ranger повертає ліворуч |
чекає 1 секунду | |
повільно рухається назад | |
чекає 2 секунди | |
швидко повертає ліворуч | |
чекає 3 секунди | |
зупиняється |
Підказка:
Висновок цього розділу
Більшість машинок на дистанційному управлінні, якими ми грались у дитинстві, були куплені в магазинах іграшок. Ми можемо грати з ними просто вставивши в них батарейки. З появою роботів на кшталт Ranger ситуація радикально змінилась. Ви можете зібрати Ranger власноруч і написати різні програми для нього. Існують десятки кнопок, які можуть бути використані для управління роботом. Що ви оберете тепер?
Марк ввійшов до МАР за карткою з вищим рівнем доступу та з її допомогою добрався до директорського офісу.
“Сядь та випий чашку чаю, я знаю що ти хочеш спитати” – сказав директор. Це могло означати тільки одне: він знав що Марк прийде і чекав його. Директор намалював квадрат у повітрі, двічі плеснув долонями і з’явилася стереографічна проекція сонячної системи.
“Скільки вам років, не можу повірити що ви все ще граєтеся з цим!” – глузуючи сказав Марк, граючи вінтажним пристроєм для “об’ємного мислення”, – “Ви сказали що знаєте що я хочу спитати, тож дайте мені відповіді!”
Директор збільшив зображення за допомогою пальців і сфокусував його на довгій, вузькій тіні в північній півкулі Марса. “Ми збирали інформацію протягом 3 тижнів. Джерело сигналу знаходиться у цій тіні або неподалік від неї, ось вся інформація, яку ми отримали за цей час.” – сказав директор, приймаючи квадратний прозорий кристал з комп’ютера. Потім він поклав його на візитну карточку і простягнув Марку.[/restrict]