Back to Курс

Уровень 2. Продвинутые автономные роботы.

0% Complete
0/0 Steps
  1. ОСНОВЫ РОБОТОТЕХНИКИ
    Урок 1: Введение в робототехнику
    3 Темы
  2. Урок 2: Знакомимся с датчиками
    4 Темы
    |
    1 Тест
  3. Урок 3: Знакомимся с приводами
    6 Темы
    |
    1 Тест
  4. Урок 4: Распознавание лиц с помощью робота
    2 Темы
  5. АВТОНОМНЫЕ РОБОТЫ
    Урок 5: Робот, избегающий препятствий
    4 Темы
    |
    1 Тест
  6. Урок 6: Робот, распознающий край и границы
    5 Темы
    |
    1 Тест
  7. Урок 7: Управляемый робот
    5 Темы
    |
    1 Тест
  8. РЕАЛЬНОЕ ПРИМЕНЕНИЕ ИИ & РОБОТОТЕХНИКА
    Урок 8: Полноприводный робот
    3 Темы
  9. Урок 9: Робот, отслеживающий положение объекта
    5 Темы
    |
    1 Тест
  10. Урок 10: Подъёмно-транспортный робот - сборка
    2 Темы
  11. Урок 11: Подъёмно-транспортный робот
    3 Темы
  12. ИТОГОВЫЙ ПРОЕКТ
    Урок 12: Курсовой проект
Урок Progress
0% Complete

В этой теме мы напишем код для робота, отслеживающего положение объекта, используя последовательность операций из предыдущей темы.

Выравнивание направления

  1. Мы начнём с файла из предыдущего урока.
  2. Удалим блок say () (произнести_).
  3. В блоке analyze image from () (анализ изображения из_) выберем вариант stage (локация).
  4. Ниже блока analyze image from () (анализ изображения из_) добавим блок if () (если_) из панели Control (Управление).
  5. В условие блока if (если) добавим блок is number () detected (число_распознано). Выберем число 1.
  6. Создадим блок под названием Adjust Angle (Регулировать угол). И вставим этот блок внутрь блока if (если).
  7. В шапку блока Adjust Angle (Регулировать угол) вставим блок if () else (если_иначе) из панели Control (Управление).
  8. Добавим блок () > () внутрь блока if () (если_). Добавим блок get () of number () (получить_числа_) в первое окошко и впишем 50 во второе окошко. В блоке get () of number () (получить_числа_) выберем параметр X position (положение Х). При этом условии знак будет находиться справа от робота, поэтому робота нужно повернуть направо.
  9. Добавим блок go () at ()% speed for () seconds (двигаться_с_% скоростью в течение _ секунд) в ветку if (если). Выберем направление left (налево), скорость 50% и время 0.3 seconds (0,3 секунды).
  10. Скопируем блок if (если) и вставим его в ветку else (иначе).
  11. Изменим условие на get () of number () < -50 (получить_числа_< -50).
  12. Изменим направление на right (направо).
  13. В ветку else (иначе) добавим блок stop-all (остановить всё) из панели Control (Управление).

Запустим программу и проверим код до этого момента.

Робот должен выровнять угол.

Приближение к знаку

  1. Создадим новый блок под названием Adjust Distance (Регулировать расстояние).
  2. Заменим блок stop-all (остановить всё) на Adjust Distance (Регулировать расстояние) в определении блока Adjust Angle (Регулировать угол).
  3. В шапку блока Adjust Distance (Регулировать расстояние) вставим блок if () else (если_иначе) из панели Control (Управление).
  4. В условие блока if () (если_) вставим блок () < (). Добавим блок get () of number () (получить_числа_) в первое окошко и впишем 120 во второе окошко. В блоке get () of number () (получить_числа_) выберем параметр width (ширина). При этом условии знак будет находиться далеко, поэтому робота нужно продвинуть вперёд.
  5. Добавим блок go () at ()% speed for () seconds (двигаться_с_% скоростью в течение _ секунд) в ветку if (если). Выберем направление forward (вперёд), скорость 50% и время 0.3 seconds (0,3 секунды).
  6. Наконец, в ветку else (иначе) вставим блок stop-all (остановить всё) из панели Control (Управление).

Запустим программу и проверим код!