Kitabı oxu: «Соревновательная робототехника. Программирование робота Lego «Перевозчик»», səhifə 3

Şrift:

а) прямолинейное движение робота на заданное расстояние;

б) поворот корпусом вокруг центра оси;

в) движение вдоль линии по датчикам освещенности;

г) включение среднего мотора.

Прямолинейное движение робота на заданное расстояние

Данный алгоритм позволит реализовать функции, в которых роботу необходимо преодолеть прямолинейный отрезок пути известной длины передним или задним ходом.

Известно, при прямолинейном движении за каждый оборот колеса, робот преодолевает путь, равный длине окружности колеса. Длина окружности колеса определяется по формуле S=π*D, π – постоянная, равная 3,14, D – диаметр колеса. В базовом наборе Lego EV3 45544 диаметр колеса составляет 56 мм. Тогда, длина окружности этого колеса будет 56*3,14≈176 мм. Для колеса другого диаметра длина его окружности вычисляется аналогично. Следовательно, чтобы робот преодолел отрезок пути длиной Х мм, требуется совершить (Х/S) число оборотов колес.

Составление программы начинаем с использования блока Математика в режиме Разделить. В блоке Математика делим длину отрезка пути в мм на длину окружности колеса в мм, результат отправляем на блок управления моторами, включенными в режиме Число оборотов (Рис.2.1).

Рис.2.1. Программа для движения прямо вперед/назад

на указанное расстояние


Здесь следует сразу отметить, что при программировании важным является умение структурировать программу. И учиться этому надо изначально. В данной графической среде для этих целей хорошим инструментом является Конструктор моего блока – аналог процедур и функций в традиционных языках программирования. С помощью собственных блоков диаграмму программы можно сделать компактной, функционально понятной и удобочитаемой. Поэтому с помощью пункта меню Инструменты – Конструктор моего блока создаем собственный блок для движения робота прямолинейно на указанное расстояние вперед/назад с установленной скоростью (Рис.2.2).

Для обеспечения большей точности движения, необходимо добавить блок Рулевое управление в режиме Выключить мотор. Первый параметр блока указывает расстояние в миллиметрах, второй – скорость движения. Для движения назад необходимо один из параметров ввести со знаком «—». Более подробно можно посмотреть здесь [2].


Рис. 2.2. Сборка собственного блока для прямолинейного движения

вперед/назад с установленной скоростью

Поворот корпуса робота вокруг центра осевой линии ведущих колес

Данный алгоритм поможет нам решать задачи, в которых роботу необходимо совершить произвольный поворот корпусом вокруг центральной оси. Чтобы наш робот совершил поворот на произвольный угол, надо рассчитать число оборотов, которое должны совершить большие моторы, вращая колеса робота. За каждый оборот робота вокруг своей оси, его колеса преодолевают путь, равный длине окружности, диаметром которой является колея робота. Колеей будем называть поперечное расстояние между серединами колес, закрепленных на одной оси (рис.2.3).


Рис.2.3. Определение колеи колес


При совершении роботом полного оборота вокруг своей оси (360 градусов), каждое его колесо проходит путь, равный S1=π*K, π – постоянная, равная 3,14, K – колея робота. Таким образом, чтобы найти количество оборотов, совершаемых колесами, необходимо этот путь разделить на длину окружности колеса, тогда получим: n= (π*K) / (π*D) =K/D, где D – диаметр колеса. При повороте на произвольный угол А, колеса совершают обороты равные nA= K/D*A/360.

Используя блок Математика в режиме Дополнения, составим программу для поворота корпуса робота. В параметр a впишем колею робота, b – диаметр колеса, с – значение 360. В строке формулы впишем выражение a/b/c*d, а выход блока Математика подадим на вход Обороты блока Рулевое управление как на рисунке ниже (рис.2.4). В параметр d вписываем значение угла в градусах, на который требуется совершить поворот корпусом робота.

Следует обратить внимание на следующие факторы. Точность поворота зависит от скорости, чем выше скорость, тем ниже точность. Поскольку ширина колес робота отлична от нуля, то при совершении маневра, «пятно» контакта колес с поверхностью может меняться, а измеренная «идеальная» колея может отличаться от реальной. Поэтому при тестировании значение в параметре a требуется подкорректировать исходя из эксперимента.


Рис.2.4. Программа для поворота корпуса робота вокруг центра осевой линии ведущих колес на указанный угол

Pulsuz fraqment bitdi.

Yaş həddi:
6+
Litresdə buraxılış tarixi:
09 oktyabr 2019
Həcm:
107 səh. 121 illustrasiyalar
ISBN:
9785005050267
Müəllif hüququ sahibi:
Издательские решения
Yükləmə formatı: