8(495)912-63-37
gmc@edu.mos.ru
FacebookВКонтактеYouTubeInstagram

Вторник, 28 Март 2017 10:44

ПО TRIK Studio для EV3: движение робота вперед-назад, энкодеры

Уважаемые коллеги!

Предлагаем вашему вниманию вторую статью, посвящённую ПО TRIK Studio для EV3. В ней мы рассмотрим элементарные действия робота на базе Lego Mindstorms Education EV3, а также познакомимся с понятием «Алгоритм». Статью о том, как начать программировать LEGO Mindstorms Education EV3 в ПО TRIK Studio вы можете посмотреть здесь.

Первое элементарное действие, которое мы рассмотрим, – это движение вперёд. Движение вперёд базовой тележки задается подачей на левый и правый моторы одинаковой скорости (мощности). В TRIK Studio для подачи мощности на мотор существует отдельный блок «Моторы вперёд». У этого блока есть два свойства: порты и мощность. У контроллера EV3 существует 4 порта для подключения моторов: A, B, C, D. В TRIK Studio по умолчанию моторы подключены на порты B, C. Левое и правое колесо – на С. Но мы их всегда можем изменить в 2D-режиме, режиме отладки, режиме реального робота, указав в программе нужные нам порты.

1

Задание для совместного решения: проехать вперед 4 секунды.

Реализация данной задачи:
1. Выносим из палитры на наше рабочее поле блок Моторы вперёд, блок Таймер, блок Конец.
2. Соединяем наши блоки. У блока Моторы вперёд есть свойства:

a. Режим (Тормозить, скользить). Если выставлено свойство тормозить, то моторы остановятся сразу после выполнения действия, если стоит свойство скользить, то моторы будут вращается по инерции, пока не остановятся;

b. Порты (выбор портов куда подключены моторы);

c. Мощность (%) задает скорость, с которой поедет робот.

3. Переходим в режим отладки и запускаем нашу программу.

2

Примечание: после любого элементарного действия выставляется всегда какой-либо блок ожидания: таймер, ожидание энкодера и т.д.

Задание для самостоятельного решения: реализовать движение назад в течение 3 секунд.

Переходим к следующей теме «Повороты».
Повороты можно разделить на три типа:

1) резкий поворот (мощность подается только на один мотор);

3

 2) плавный поворот (Мощность подается на два мотора, но на один она больше);

4

3) поворот на месте (моторы работают в разные стороны).

5

Примечание: на самом деле диапазон подаваемой мощности -100 до 100 процентов.

Таким образом для движения назад можно использовать и блок «Моторы вперёд».

Представленные выше виды поворотов можно назвать Алгоритмом поведения робота.

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

Исполнитель: робот или любое другое устройство.

Инструкции: примером может служить включить мотор, ждать 3 секунды, повернуть серводвигатель на 80 градусов, включить диод и т.д.

Все алгоритмы описываются Блок-схемой.

Блок-схема – распространённый тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.

 6

Представленные выше алгоритмы поворотов – это тайм-модели. Движение осуществляется по таймеру. Это «плохой» подход, так как в этом случае выполняемое действие зависит от заряда аккумулятора.

Правильно будет использовать ожидание значения энкодеров. Перед элементарным действием необходимо сбросить значения энкодеров.

Энкодер (датчик угла поворота) – это устройство, предназначенное для преобразования угла поворота вращающегося объекта (вала) в электрические сигналы, позволяющие определить угол его поворота.

Давайте реализуем резкий разворот с использованием энкодерной модели. Перед началом любого действия необходимо сбросить показания энкодеров.

    1. Выносим блок «Сброс показаний энкодеров» (энкодер имеет те же самые порты, что и моторы, так как он встроен в сам мотор).
    2. Выносим блоки моторов.
    3. Вместо блока

«Таймер»

    мы выносим блок «Ждать энкодер». У блока «Ждать энкодер» есть несколько свойств:
    1. порт, по которому считать значения;
    2. считанное значение энкодоров (больше, меньше, не больше, не меньше);
    3. предел оборотов (то значение на сколько должен повернутся вал двигателя).
  1. Предел оборотов в данном случае ставим 560.
  2. Запускаем нашу программу.

7

Задания для самостоятельного решения:

  1. Реализовать все виды поворотов, используя энкодерную модель.
  2. В приложенном файле объехать препятствие и вернуться в начало.
  3. Проехать по заданному маршруту в приложенном файле, используя энкодерную модель.

Ответственный за информацию: методист ГМЦ ДОгМ Солуянов Евгений Александрович.

Электронная почта: soluyanovea@mosmetod.ru