Вернуться в Курс

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

0% завершено
0/0 Шагов
  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: Курсовой проект
Урок прогресс
0% завершено

Робот с ручным управлением

Робот с ручным управлением может перемещаться вперёд и назад, более того, мы можем управлять направлением его движения с помощью спрайтов со стрелками и выбирать, куда он отправится — налево, направо или прямо.

А теперь напишем скрипт для нашего управляемого робота!

Настройка сцены

  1. Добавим три спрайта Arrow (Стрелка) на рабочую панель из библиотеки спрайтов.
  2. Изменим название спрайтов Arrow (Стрелка) на Left (налево), Right (направо) и Straight (вперёд).
  3. Нажмём на спрайт Straight (вперёд) и добавим скрипт, чтобы перемещаться в положение 0,0, на 0 градусов, выберем размер 200%.
  4. Добавим блок set servo on () to () angle (установить сервопривод на () до () угла) и установим угол на 90 градусов. Это позволит роботу двигаться вперёд при включении кода.
  5. Нажмём на спрайт Left (налево) и добавим скрипт, чтобы перемещаться на в положение -150,0, на -90 градусов, выберем размер 200%.
  6. Нажмём на спрайт Left (налево) и добавим скрипт, чтобы перемещаться на в положение 150,0, на 90 градусов, выберем размер 200%.
  7. И, наконец, нажмём на зелёный флаг, чтобы настроить рабочую область.

Управление

Управляемый робот движется под следующими углами:

  1. Вперёд — 90 градусов
  2. Налево — 130 градусов
  3. Направо — 40 градусов

Напишем код!

Спрайт «Прямо»

  1. Нажмём на спрайт Straight (вперёд) и добавим блок when the sprite is clicked (при нажатии спрайта) из панели Control (Управление) . Это позволит включить скрипт при нажатии стрелки вверх.
  2. Добавим блок set servo on () to () angle (установить сервопривод на () до () угла) и установим угол на 90 градусов.

 

Спрайт «Налево»

Нажмём на спрайт Left (налево) и добавим тот же код, что и для спрайта Straight (вперёд). В этот раз изменим угол на 130 градусов.

Спрайт «Направо»

Нажмём на спрайт Right (направо) и добавим тот же код, что и для спрайта Straight (вперёд). В этот раз изменим угол на 40 градусов.

Движение Вперёд-Назад

  1. Начнём со спрайта Straight (вперёд) и основного скрипта.
  2. Возьмём блок set robot orientation as () (установить положение робота на ()) из панели Robot (Робот) . Из выпадающего меню выберем направление vertical (вертикально).
  3. Добавим блок forever (всегда) из панели Control (Управление) .
  4. Добавим блок if () else (если () то всегда) из панели Control (Управление) внутрь блока forever (всегда).
  5. Затем поместим блок key () pressed (клавиша () нажата) из панели Sensing (Датчики) в пробел в блоке if-else (если-или).
  6. Установим клавишу “стрелка вверх”. Эта часть кода будет проверять, нажата ли клавиша со стрелкой вверх.
  7. Затем возьмём и перетащим блок go () at () % speed (перемещаться () при () % скорости) внутрь ветви if (если) из панели Robot (Робот) . Установим направление вперёд со скоростью 100%.
  8. В этот раз мы проверяем, нажата ли клавиша со стрелкой вниз. Поэтому изменим клавишу на стрелку вниз в блоке key() pressed (клавиша () нажата).
  9. В этот раз мы проверяем, нажата ли клавиша со стрелкой вниз. Поэтому изменим клавишу на стрелку вниз в блоке key() pressed (клавиша () нажата).
  10. После этого изменим направление на назад в блоке go () at () % speed (перемещаться () при () % скорости).
  11. Затем поместим блок stop robot (остановить робота) из панели Robot (Робот) внутрь ветви else (или).

Скрипт готов!

Проверим код с помощью робота.

Испытание

Как мы видим, управлять направлением движения этого робота мы можем с помощью спрайтов со стрелками. Эти стрелки позволяют менять направление движения робота на следующее: направо, налево и вперёд.

Кроме того, мы можем двигать робота и по кругу, если изменим угол.